< 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:274
Line coverage:0% (0 of 131)
Covered branches:0
Total branches:0
Covered methods:0
Total methods:7
Method coverage:0% (0 of 7)

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 UnityEngine;
 2
 3namespace DCL.Skybox
 4{
 5    public static class TextureLayerFunctionality
 6    {
 7        public static void ApplyTextureLayer(Material selectedMat, float dayTime, float normalizedDayTime, int slotNum, 
 8        {
 09            float endTimeEdited = layer.timeSpan_End;
 010            float dayTimeEdited = dayTime;
 011            if (layer.timeSpan_End < layer.timeSpan_start)
 12            {
 013                endTimeEdited = cycleTime + layer.timeSpan_End;
 014                if (dayTime < layer.timeSpan_start)
 15                {
 016                    dayTimeEdited = cycleTime + dayTime;
 17                }
 18            }
 019            float normalizedLayerTime = Mathf.InverseLerp(layer.timeSpan_start, endTimeEdited, dayTimeEdited);
 20
 021            selectedMat.SetFloat(SkyboxShaderUtils.GetLayerProperty("_layerType_", slotNum), (int)layer.layerType);
 22
 023            bool fadeInChange = CheckFadingIn(selectedMat, dayTime, normalizedDayTime, slotNum, layer, cycleTime);
 24
 025            bool fadeOutChange = CheckFadingOut(selectedMat, dayTime, normalizedDayTime, slotNum, layer, cycleTime);
 26
 027            if (!fadeInChange && !fadeOutChange)
 28            {
 029                selectedMat.SetFloat(SkyboxShaderUtils.GetLayerProperty("_fadeTime_", slotNum), 1);
 30            }
 31
 032            switch (layer.layerType)
 33            {
 34                case LayerType.Planar:
 35                case LayerType.Radial:
 036                    ApplyPlanarTextureLayer(selectedMat, dayTime, normalizedLayerTime, slotNum, layer, true);
 037                    break;
 38                case LayerType.Satellite:
 039                    ApplySatelliteTextureLayer(selectedMat, dayTime, normalizedLayerTime, slotNum, layer, true);
 040                    break;
 41                case LayerType.Cubemap:
 042                    ApplyCubemapTextureLayer(selectedMat, dayTime, normalizedLayerTime, slotNum, layer, true);
 043                    break;
 44                case LayerType.Particles:
 045                    ApplyParticleTextureLayer(selectedMat, dayTime, normalizedLayerTime, slotNum, layer, true);
 46                    break;
 47                default:
 48                    break;
 49            }
 050        }
 51
 52        private static bool CheckFadingIn(Material selectedMat, float dayTime, float normalizedDayTime, int slotNum, Tex
 53        {
 054            bool fadeChanged = false;
 055            float fadeInCompletionTime = layer.timeSpan_start + layer.fadingInTime;
 056            float dayTimeEdited = dayTime;
 057            if (dayTime < layer.timeSpan_start)
 58            {
 059                dayTimeEdited = 24 + dayTime;
 60            }
 61
 062            if (dayTimeEdited < fadeInCompletionTime)
 63            {
 064                float percentage = Mathf.InverseLerp(layer.timeSpan_start, fadeInCompletionTime, dayTimeEdited);
 065                fadeChanged = true;
 066                selectedMat.SetFloat(SkyboxShaderUtils.GetLayerProperty("_fadeTime_", slotNum), percentage);
 67            }
 68
 069            return fadeChanged;
 70        }
 71
 72        private static bool CheckFadingOut(Material selectedMat, float dayTime, float normalizedDayTime, int slotNum, Te
 73        {
 074            bool fadeChanged = false;
 075            float endTimeEdited = layer.timeSpan_End;
 076            float dayTimeEdited = dayTime;
 77
 078            if (layer.timeSpan_End < layer.timeSpan_start)
 79            {
 080                endTimeEdited = cycleTime + layer.timeSpan_End;
 81            }
 82
 083            if (dayTime < layer.timeSpan_start)
 84            {
 085                dayTimeEdited = cycleTime + dayTime;
 86            }
 87
 88
 089            float fadeOutStartTime = endTimeEdited - layer.fadingOutTime;
 90
 091            if (dayTimeEdited > fadeOutStartTime)
 92            {
 093                float percentage = Mathf.InverseLerp(endTimeEdited, fadeOutStartTime, dayTimeEdited);
 094                fadeChanged = true;
 095                selectedMat.SetFloat(SkyboxShaderUtils.GetLayerProperty("_fadeTime_", slotNum), percentage);
 96            }
 97
 098            return fadeChanged;
 99        }
 100
 101        private static void ApplyCubemapTextureLayer(Material selectedMat, float dayTime, float normalizedLayerTime, int
 102        {
 0103            if (changeAlllValues)
 104            {
 0105                selectedMat.SetFloat(SkyboxShaderUtils.GetLayerProperty("_RenderDistance_", layerNum), 0);
 0106                selectedMat.SetTexture(SkyboxShaderUtils.GetLayerProperty("_tex_", layerNum), null);
 0107                selectedMat.SetTexture(SkyboxShaderUtils.GetLayerProperty("_cubemap_", layerNum), layer.cubemap);
 0108                selectedMat.SetTexture(SkyboxShaderUtils.GetLayerProperty("_normals_", layerNum), null);
 0109                selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_timeFrame_", layerNum), new Vector4(layer.tim
 0110                selectedMat.SetFloat(SkyboxShaderUtils.GetLayerProperty("_lightIntensity_", layerNum), layer.tintPercent
 0111                selectedMat.SetFloat(SkyboxShaderUtils.GetLayerProperty("_normalIntensity_", layerNum), 0);
 0112                selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_distortIntAndSize_", layerNum), Vector2.zero)
 0113                selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_distortSpeedAndSharp_", layerNum), Vector4.ze
 114                // Particles
 0115                selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_rowAndCollumns_", layerNum), Vector2.zero);
 0116                selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_particlesMainParameters_", layerNum), Vector4
 0117                selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_particlesSecondaryParameters_", layerNum), Ve
 118            }
 119
 120
 0121            selectedMat.SetColor(SkyboxShaderUtils.GetLayerProperty("_color_", layerNum), layer.color.Evaluate(normalize
 122
 123            // Set cubemap rotation. (Shader variable reused)
 0124            if (layer.movementTypeCubemap == MovementType.PointBased)
 125            {
 0126                Vector3 currentRotation = TransitioningValues.GetTransitionValue(layer.rotations_Vector3, normalizedLaye
 0127                selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_tilingAndOffset_", layerNum), new Vector4(cur
 0128                selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_speedAndRotation_", layerNum), new Vector4(0,
 129            }
 130            else
 131            {
 0132                selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_tilingAndOffset_", layerNum), new Vector4(0, 
 0133                selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_speedAndRotation_", layerNum), new Vector4(la
 134            }
 135
 0136        }
 137
 138        private static void ApplyPlanarTextureLayer(Material selectedMat, float dayTime, float normalizedLayerTime, int 
 139        {
 0140            selectedMat.SetFloat(SkyboxShaderUtils.GetLayerProperty("_RenderDistance_", layerNum), TransitioningValues.G
 0141            selectedMat.SetTexture(SkyboxShaderUtils.GetLayerProperty("_tex_", layerNum), layer.texture);
 0142            selectedMat.SetTexture(SkyboxShaderUtils.GetLayerProperty("_cubemap_", layerNum), null);
 143
 0144            selectedMat.SetColor(SkyboxShaderUtils.GetLayerProperty("_color_", layerNum), layer.color.Evaluate(normalize
 145
 146
 0147            if (layer.movementTypePlanar_Radial == MovementType.Speed)
 148            {
 149                // speed and Rotation
 0150                float rot = 0;
 0151                if (layer.layerType == LayerType.Planar)
 152                {
 0153                    rot = TransitioningValues.GetTransitionValue(layer.rotations_float, normalizedLayerTime * 100);
 154                }
 155
 0156                selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_speedAndRotation_", layerNum), new Vector4(la
 157
 158                // Tiling and Offset
 0159                Vector4 t = new Vector4(layer.tiling.x, layer.tiling.y, 0, 0);
 0160                selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_tilingAndOffset_", layerNum), t);
 161            }
 162            else
 163            {
 164                // speed and Rotation
 0165                float rot = 0;
 0166                if (layer.layerType == LayerType.Planar)
 167                {
 0168                    rot = TransitioningValues.GetTransitionValue(layer.rotations_float, normalizedLayerTime * 100);
 169                }
 170
 0171                selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_speedAndRotation_", layerNum), new Vector4(0,
 172
 173                // Tiling and Offset
 0174                Vector2 currentOffset = TransitioningValues.GetTransitionValue(layer.offset, normalizedLayerTime * 100);
 0175                Vector4 t = new Vector4(layer.tiling.x, layer.tiling.y, currentOffset.x, currentOffset.y);
 0176                selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_tilingAndOffset_", layerNum), t);
 177            }
 178
 179
 180            // Time frame
 0181            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_timeFrame_", layerNum), new Vector4(layer.timeSpa
 182            // Tint
 0183            selectedMat.SetFloat(SkyboxShaderUtils.GetLayerProperty("_lightIntensity_", layerNum), layer.tintPercentage 
 184
 185            // Reset Particle related Params
 0186            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_rowAndCollumns_", layerNum), layer.flipbookRowsAn
 0187            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_particlesMainParameters_", layerNum), new Vector4
 0188            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_particlesSecondaryParameters_", layerNum), Vector
 189
 190            // Apply Distortion Values
 0191            Vector2 distortIntAndSize = new Vector2(TransitioningValues.GetTransitionValue(layer.distortIntensity, norma
 0192            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_distortIntAndSize_", layerNum), distortIntAndSize
 193
 0194            Vector2 distortSpeed = TransitioningValues.GetTransitionValue(layer.distortSpeed, normalizedLayerTime * 100)
 0195            Vector2 distortSharpness = TransitioningValues.GetTransitionValue(layer.distortSharpness, normalizedLayerTim
 0196            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_distortSpeedAndSharp_", layerNum), new Vector4(di
 0197        }
 198
 199        private static void ApplySatelliteTextureLayer(Material selectedMat, float dayTime, float normalizedLayerTime, i
 200        {
 0201            selectedMat.SetTexture(SkyboxShaderUtils.GetLayerProperty("_tex_", layerNum), layer.texture);
 0202            selectedMat.SetTexture(SkyboxShaderUtils.GetLayerProperty("_cubemap_", layerNum), null);
 203
 0204            selectedMat.SetColor(SkyboxShaderUtils.GetLayerProperty("_color_", layerNum), layer.color.Evaluate(normalize
 205
 0206            if (layer.movementTypeSatellite == MovementType.Speed)
 207            {
 208                // Tiling and Offset
 0209                Vector2 currentWidthHeight = TransitioningValues.GetTransitionValue(layer.satelliteWidthHeight, normaliz
 0210                Vector4 t = new Vector4(currentWidthHeight.x, currentWidthHeight.y, 0, 0);
 0211                selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_tilingAndOffset_", layerNum), t);
 212
 213
 214                // speed and Rotation
 0215                float rot = TransitioningValues.GetTransitionValue(layer.rotations_float, normalizedLayerTime * 100);
 0216                selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_speedAndRotation_", layerNum), new Vector4(la
 217            }
 218            else
 219            {
 220                // Tiling and Offset
 0221                Vector2 currentOffset = TransitioningValues.GetTransitionValue(layer.offset, normalizedLayerTime * 100);
 0222                Vector2 currentWidthHeight = TransitioningValues.GetTransitionValue(layer.satelliteWidthHeight, normaliz
 0223                Vector4 t = new Vector4(currentWidthHeight.x, currentWidthHeight.y, currentOffset.x, currentOffset.y);
 0224                selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_tilingAndOffset_", layerNum), t);
 225
 226                // speed and Rotation
 0227                float rot = TransitioningValues.GetTransitionValue(layer.rotations_float, normalizedLayerTime * 100);
 0228                selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_speedAndRotation_", layerNum), new Vector4(0,
 229            }
 230
 231            // Time frame
 0232            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_timeFrame_", layerNum), new Vector4(layer.timeSpa
 233            // Tint
 0234            selectedMat.SetFloat(SkyboxShaderUtils.GetLayerProperty("_lightIntensity_", layerNum), layer.tintPercentage 
 235
 236            // Reset Particle related Params
 0237            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_rowAndCollumns_", layerNum), layer.flipbookRowsAn
 0238            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_particlesMainParameters_", layerNum), new Vector4
 0239            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_particlesSecondaryParameters_", layerNum), Vector
 240
 241            // Reset Distortion values
 0242            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_distortIntAndSize_", layerNum), Vector2.zero);
 0243            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_distortSpeedAndSharp_", layerNum), Vector4.zero);
 244
 0245        }
 246
 247        private static void ApplyParticleTextureLayer(Material selectedMat, float dayTime, float normalizedLayerTime, in
 248        {
 249            // Reset Unused params
 0250            selectedMat.SetFloat(SkyboxShaderUtils.GetLayerProperty("_RenderDistance_", layerNum), 0);
 0251            selectedMat.SetTexture(SkyboxShaderUtils.GetLayerProperty("_cubemap_", layerNum), null);
 0252            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_distortIntAndSize_", layerNum), Vector2.zero);
 0253            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_distortSpeedAndSharp_", layerNum), Vector4.zero);
 254
 255
 256            // Time frame
 0257            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_timeFrame_", layerNum), new Vector4(layer.timeSpa
 258            // Tint
 0259            selectedMat.SetFloat(SkyboxShaderUtils.GetLayerProperty("_lightIntensity_", layerNum), layer.tintPercentage 
 260
 261            // Particles
 0262            selectedMat.SetTexture(SkyboxShaderUtils.GetLayerProperty("_tex_", layerNum), layer.texture);
 0263            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_rowAndCollumns_", layerNum), layer.flipbookRowsAn
 0264            selectedMat.SetColor(SkyboxShaderUtils.GetLayerProperty("_color_", layerNum), layer.color.Evaluate(normalize
 0265            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_tilingAndOffset_", layerNum), new Vector4(layer.p
 0266            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_speedAndRotation_", layerNum), TransitioningValue
 0267            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_particlesMainParameters_", layerNum), new Vector4
 0268            selectedMat.SetVector(SkyboxShaderUtils.GetLayerProperty("_particlesSecondaryParameters_", layerNum), new Ve
 269
 270
 0271        }
 272
 273    }
 274}