< Summary

Class:DCL.Skybox.TextureLayerFunctionality
Assembly:ProceduralSkybox
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Rendering/ProceduralSkybox/ToolProceduralSkybox/Scripts/Functionality/TextureLayerFunctionality.cs
Covered lines:0
Uncovered lines:131
Coverable lines:131
Total lines:276
Line coverage:0% (0 of 131)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
ApplyTextureLayer(...)0%90900%
CheckFadingIn(...)0%12300%
CheckFadingOut(...)0%20400%
ApplyCubemapTextureLayer(...)0%12300%
ApplyPlanarTextureLayer(...)0%20400%
ApplySatelliteTextureLayer(...)0%6200%
ApplyParticleTextureLayer(...)0%2100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Rendering/ProceduralSkybox/ToolProceduralSkybox/Scripts/Functionality/TextureLayerFunctionality.cs

#LineLine coverage
 1using System.Collections;
 2using System.Collections.Generic;
 3using UnityEngine;
 4
 5namespace DCL.Skybox
 6{
 7    public static class TextureLayerFunctionality
 8    {
 9        public static void ApplyTextureLayer(Material selectedMat, float dayTime, float normalizedDayTime, int slotNum, 
 10        {
 011            float endTimeEdited = layer.timeSpan_End;
 012            float dayTimeEdited = dayTime;
 013            if (layer.timeSpan_End < layer.timeSpan_start)
 14            {
 015                endTimeEdited = cycleTime + layer.timeSpan_End;
 016                if (dayTime < layer.timeSpan_start)
 17                {
 018                    dayTimeEdited = cycleTime + dayTime;
 19                }
 20            }
 021            float normalizedLayerTime = Mathf.InverseLerp(layer.timeSpan_start, endTimeEdited, dayTimeEdited);
 22
 023            selectedMat.SetFloat(SkyboxShaderUtils.GetLayerProperty("_layerType_" + slotNum), (int)layer.layerType);
 24
 025            bool fadeInChange = CheckFadingIn(selectedMat, dayTime, normalizedDayTime, slotNum, layer, cycleTime);
 26
 027            bool fadeOutChange = CheckFadingOut(selectedMat, dayTime, normalizedDayTime, slotNum, layer, cycleTime);
 28
 029            if (!fadeInChange && !fadeOutChange)
 30            {
 031                selectedMat.SetFloat(SkyboxShaderUtils.GetLayerProperty("_fadeTime_" + slotNum), 1);
 32            }
 33
 034            switch (layer.layerType)
 35            {
 36                case LayerType.Planar:
 37                case LayerType.Radial:
 038                    ApplyPlanarTextureLayer(selectedMat, dayTime, normalizedLayerTime, slotNum, layer, true);
 039                    break;
 40                case LayerType.Satellite:
 041                    ApplySatelliteTextureLayer(selectedMat, dayTime, normalizedLayerTime, slotNum, layer, true);
 042                    break;
 43                case LayerType.Cubemap:
 044                    ApplyCubemapTextureLayer(selectedMat, dayTime, normalizedLayerTime, slotNum, layer, true);
 045                    break;
 46                case LayerType.Particles:
 047                    ApplyParticleTextureLayer(selectedMat, dayTime, normalizedLayerTime, slotNum, layer, true);
 48                    break;
 49                default:
 50                    break;
 51            }
 052        }
 53
 54        private static bool CheckFadingIn(Material selectedMat, float dayTime, float normalizedDayTime, int slotNum, Tex
 55        {
 056            bool fadeChanged = false;
 057            float fadeInCompletionTime = layer.timeSpan_start + layer.fadingInTime;
 058            float dayTimeEdited = dayTime;
 059            if (dayTime < layer.timeSpan_start)
 60            {
 061                dayTimeEdited = 24 + dayTime;
 62            }
 63
 064            if (dayTimeEdited < fadeInCompletionTime)
 65            {
 066                float percentage = Mathf.InverseLerp(layer.timeSpan_start, fadeInCompletionTime, dayTimeEdited);
 067                fadeChanged = true;
 068                selectedMat.SetFloat(SkyboxShaderUtils.GetLayerProperty("_fadeTime_" + slotNum), percentage);
 69            }
 70
 071            return fadeChanged;
 72        }
 73
 74        private static bool CheckFadingOut(Material selectedMat, float dayTime, float normalizedDayTime, int slotNum, Te
 75        {
 076            bool fadeChanged = false;
 077            float endTimeEdited = layer.timeSpan_End;
 078            float dayTimeEdited = dayTime;
 79
 080            if (layer.timeSpan_End < layer.timeSpan_start)
 81            {
 082                endTimeEdited = cycleTime + layer.timeSpan_End;
 83            }
 84
 085            if (dayTime < layer.timeSpan_start)
 86            {
 087                dayTimeEdited = cycleTime + dayTime;
 88            }
 89
 90
 091            float fadeOutStartTime = endTimeEdited - layer.fadingOutTime;
 92
 093            if (dayTimeEdited > fadeOutStartTime)
 94            {
 095                float percentage = Mathf.InverseLerp(endTimeEdited, fadeOutStartTime, dayTimeEdited);
 096                fadeChanged = true;
 097                selectedMat.SetFloat(SkyboxShaderUtils.GetLayerProperty("_fadeTime_" + slotNum), percentage);
 98            }
 99
 0100            return fadeChanged;
 101        }
 102
 103        private static void ApplyCubemapTextureLayer(Material selectedMat, float dayTime, float normalizedLayerTime, int
 104        {
 0105            if (changeAlllValues)
 106            {
 0107                selectedMat.SetFloat(SkyboxShaderUtils.GetLayerProperty("_RenderDistance_" + layerNum), 0);
 0108                selectedMat.SetTexture(SkyboxShaderUtils.GetLayerProperty("_tex_" + layerNum), null);
 0109                selectedMat.SetTexture(SkyboxShaderUtils.GetLayerProperty("_cubemap_" + layerNum), layer.cubemap);
 0110                selectedMat.SetTexture(SkyboxShaderUtils.GetLayerProperty("_normals_" + layerNum), null);
 0111                selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_timeFrame_" + layerNum), new Vector4(layer.ti
 0112                selectedMat.SetFloat(SkyboxShaderUtils.GetLayerProperty("_lightIntensity_" + layerNum), layer.tintPercen
 0113                selectedMat.SetFloat(SkyboxShaderUtils.GetLayerProperty("_normalIntensity_" + layerNum), 0);
 0114                selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_distortIntAndSize_" + layerNum), Vector2.zero
 0115                selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_distortSpeedAndSharp_" + layerNum), Vector4.z
 116                // Particles
 0117                selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_rowAndCollumns_" + layerNum), Vector2.zero);
 0118                selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_particlesMainParameters_" + layerNum), Vector
 0119                selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_particlesSecondaryParameters_" + layerNum), V
 120            }
 121
 122
 0123            selectedMat.SetColor(SkyboxShaderUtils.GetLayerProperty("_color_" + layerNum), layer.color.Evaluate(normaliz
 124
 125            // Set cubemap rotation. (Shader variable reused)
 0126            if (layer.movementTypeCubemap == MovementType.PointBased)
 127            {
 0128                Vector3 currentRotation = TransitioningValues.GetTransitionValue(layer.rotations_Vector3, normalizedLaye
 0129                selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_tilingAndOffset_" + layerNum), new Vector4(cu
 0130                selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_speedAndRotation_" + layerNum), new Vector4(0
 131            }
 132            else
 133            {
 0134                selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_tilingAndOffset_" + layerNum), new Vector4(0,
 0135                selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_speedAndRotation_" + layerNum), new Vector4(l
 136            }
 137
 0138        }
 139
 140        private static void ApplyPlanarTextureLayer(Material selectedMat, float dayTime, float normalizedLayerTime, int 
 141        {
 0142            selectedMat.SetFloat(SkyboxShaderUtils.GetLayerProperty("_RenderDistance_" + layerNum), TransitioningValues.
 0143            selectedMat.SetTexture(SkyboxShaderUtils.GetLayerProperty("_tex_" + layerNum), layer.texture);
 0144            selectedMat.SetTexture(SkyboxShaderUtils.GetLayerProperty("_cubemap_" + layerNum), null);
 145
 0146            selectedMat.SetColor(SkyboxShaderUtils.GetLayerProperty("_color_" + layerNum), layer.color.Evaluate(normaliz
 147
 148
 0149            if (layer.movementTypePlanar_Radial == MovementType.Speed)
 150            {
 151                // speed and Rotation
 0152                float rot = 0;
 0153                if (layer.layerType == LayerType.Planar)
 154                {
 0155                    rot = TransitioningValues.GetTransitionValue(layer.rotations_float, normalizedLayerTime * 100);
 156                }
 157
 0158                selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_speedAndRotation_" + layerNum), new Vector4(l
 159
 160                // Tiling and Offset
 0161                Vector4 t = new Vector4(layer.tiling.x, layer.tiling.y, 0, 0);
 0162                selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_tilingAndOffset_" + layerNum), t);
 163            }
 164            else
 165            {
 166                // speed and Rotation
 0167                float rot = 0;
 0168                if (layer.layerType == LayerType.Planar)
 169                {
 0170                    rot = TransitioningValues.GetTransitionValue(layer.rotations_float, normalizedLayerTime * 100);
 171                }
 172
 0173                selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_speedAndRotation_" + layerNum), new Vector4(0
 174
 175                // Tiling and Offset
 0176                Vector2 currentOffset = TransitioningValues.GetTransitionValue(layer.offset, normalizedLayerTime * 100);
 0177                Vector4 t = new Vector4(layer.tiling.x, layer.tiling.y, currentOffset.x, currentOffset.y);
 0178                selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_tilingAndOffset_" + layerNum), t);
 179            }
 180
 181
 182            // Time frame
 0183            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_timeFrame_" + layerNum), new Vector4(layer.timeSp
 184            // Tint
 0185            selectedMat.SetFloat(SkyboxShaderUtils.GetLayerProperty("_lightIntensity_" + layerNum), layer.tintPercentage
 186
 187            // Reset Particle related Params
 0188            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_rowAndCollumns_" + layerNum), layer.flipbookRowsA
 0189            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_particlesMainParameters_" + layerNum), new Vector
 0190            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_particlesSecondaryParameters_" + layerNum), Vecto
 191
 192            // Apply Distortion Values
 0193            Vector2 distortIntAndSize = new Vector2(TransitioningValues.GetTransitionValue(layer.distortIntensity, norma
 0194            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_distortIntAndSize_" + layerNum), distortIntAndSiz
 195
 0196            Vector2 distortSpeed = TransitioningValues.GetTransitionValue(layer.distortSpeed, normalizedLayerTime * 100)
 0197            Vector2 distortSharpness = TransitioningValues.GetTransitionValue(layer.distortSharpness, normalizedLayerTim
 0198            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_distortSpeedAndSharp_" + layerNum), new Vector4(d
 0199        }
 200
 201        private static void ApplySatelliteTextureLayer(Material selectedMat, float dayTime, float normalizedLayerTime, i
 202        {
 0203            selectedMat.SetTexture(SkyboxShaderUtils.GetLayerProperty("_tex_" + layerNum), layer.texture);
 0204            selectedMat.SetTexture(SkyboxShaderUtils.GetLayerProperty("_cubemap_" + layerNum), null);
 205
 0206            selectedMat.SetColor(SkyboxShaderUtils.GetLayerProperty("_color_" + layerNum), layer.color.Evaluate(normaliz
 207
 0208            if (layer.movementTypeSatellite == MovementType.Speed)
 209            {
 210                // Tiling and Offset
 0211                Vector2 currentWidthHeight = TransitioningValues.GetTransitionValue(layer.satelliteWidthHeight, normaliz
 0212                Vector4 t = new Vector4(currentWidthHeight.x, currentWidthHeight.y, 0, 0);
 0213                selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_tilingAndOffset_" + layerNum), t);
 214
 215
 216                // speed and Rotation
 0217                float rot = TransitioningValues.GetTransitionValue(layer.rotations_float, normalizedLayerTime * 100);
 0218                selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_speedAndRotation_" + layerNum), new Vector4(l
 219            }
 220            else
 221            {
 222                // Tiling and Offset
 0223                Vector2 currentOffset = TransitioningValues.GetTransitionValue(layer.offset, normalizedLayerTime * 100);
 0224                Vector2 currentWidthHeight = TransitioningValues.GetTransitionValue(layer.satelliteWidthHeight, normaliz
 0225                Vector4 t = new Vector4(currentWidthHeight.x, currentWidthHeight.y, currentOffset.x, currentOffset.y);
 0226                selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_tilingAndOffset_" + layerNum), t);
 227
 228                // speed and Rotation
 0229                float rot = TransitioningValues.GetTransitionValue(layer.rotations_float, normalizedLayerTime * 100);
 0230                selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_speedAndRotation_" + layerNum), new Vector4(0
 231            }
 232
 233            // Time frame
 0234            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_timeFrame_" + layerNum), new Vector4(layer.timeSp
 235            // Tint
 0236            selectedMat.SetFloat(SkyboxShaderUtils.GetLayerProperty("_lightIntensity_" + layerNum), layer.tintPercentage
 237
 238            // Reset Particle related Params
 0239            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_rowAndCollumns_" + layerNum), layer.flipbookRowsA
 0240            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_particlesMainParameters_" + layerNum), new Vector
 0241            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_particlesSecondaryParameters_" + layerNum), Vecto
 242
 243            // Reset Distortion values
 0244            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_distortIntAndSize_" + layerNum), Vector2.zero);
 0245            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_distortSpeedAndSharp_" + layerNum), Vector4.zero)
 246
 0247        }
 248
 249        private static void ApplyParticleTextureLayer(Material selectedMat, float dayTime, float normalizedLayerTime, in
 250        {
 251            // Reset Unused params
 0252            selectedMat.SetFloat(SkyboxShaderUtils.GetLayerProperty("_RenderDistance_" + layerNum), 0);
 0253            selectedMat.SetTexture(SkyboxShaderUtils.GetLayerProperty("_cubemap_" + layerNum), null);
 0254            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_distortIntAndSize_" + layerNum), Vector2.zero);
 0255            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_distortSpeedAndSharp_" + layerNum), Vector4.zero)
 256
 257
 258            // Time frame
 0259            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_timeFrame_" + layerNum), new Vector4(layer.timeSp
 260            // Tint
 0261            selectedMat.SetFloat(SkyboxShaderUtils.GetLayerProperty("_lightIntensity_" + layerNum), layer.tintPercentage
 262
 263            // Particles
 0264            selectedMat.SetTexture(SkyboxShaderUtils.GetLayerProperty("_tex_" + layerNum), layer.texture);
 0265            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_rowAndCollumns_" + layerNum), layer.flipbookRowsA
 0266            selectedMat.SetColor(SkyboxShaderUtils.GetLayerProperty("_color_" + layerNum), layer.color.Evaluate(normaliz
 0267            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_tilingAndOffset_" + layerNum), new Vector4(layer.
 0268            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_speedAndRotation_" + layerNum), TransitioningValu
 0269            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_particlesMainParameters_" + layerNum), new Vector
 0270            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_particlesSecondaryParameters_" + layerNum), new V
 271
 272
 0273        }
 274
 275    }
 276}