Exemplo n.º 1
0
        public static void DrawList(PresetLayers bufferLayers, string name, LayersList layerList, bool drawType)
        {
            bool foldout = GUIFoldout.Draw(name, bufferLayers);

            if (foldout == false)
            {
                return;
            }

            EditorGUI.indentLevel++;

            LightingLayerSetting[] layerSettings = bufferLayers.Get();

            int layerCount = EditorGUILayout.IntSlider("Count", layerSettings.Length, 0, 10);

            EditorGUILayout.Space();

            if (layerCount != layerSettings.Length)
            {
                int oldCount = layerSettings.Length;

                System.Array.Resize(ref layerSettings, layerCount);

                for (int i = oldCount; i < layerCount; i++)
                {
                    if (layerSettings[i] == null)
                    {
                        layerSettings[i]       = new LightingLayerSetting();
                        layerSettings[i].layer = i;
                    }
                }

                bufferLayers.SetArray(layerSettings);
            }

            for (int i = 0; i < layerSettings.Length; i++)
            {
                layerSettings[i].layer = EditorGUILayout.Popup("Layer", layerSettings[i].layer, layerList.GetNames());

                if (drawType)
                {
                    layerSettings[i].type = (LayerType)EditorGUILayout.EnumPopup("Type", layerSettings[i].type);
                }

                layerSettings[i].sorting = (LayerSorting)EditorGUILayout.EnumPopup("Sorting", layerSettings[i].sorting);


                EditorGUILayout.Space();
            }

            EditorGUI.indentLevel--;
        }
Exemplo n.º 2
0
        public bool Setup(LightingLayerSetting slayer, Camera camera)
        {
            if (slayer.layer < 0)
            {
                return(false);
            }
            layerId = (int)slayer.layer;
            layer   = slayer;

            this.camera = camera;
            offset      = -camera.transform.position;

            return(true);
        }
Exemplo n.º 3
0
        public static void Draw(Camera camera, BufferPreset bufferPreset)
        {
            if (Lighting2D.DayLightingSettings.alpha == 0)
            {
                return;
            }

            if (bufferPreset == null)
            {
                return;
            }

            LightingLayerSetting[] layerSettings = bufferPreset.dayLayers.Get();

            if (layerSettings.Length < 1)
            {
                return;
            }

            for (int i = 0; i < layerSettings.Length; i++)
            {
                LightingLayerSetting dayLayer = layerSettings[i];

                LayerSorting sorting = dayLayer.sorting;

                if (pass.Setup(dayLayer, camera) == false)
                {
                    continue;
                }

                if (sorting == LayerSorting.None)
                {
                    NoSort.Draw(pass);
                }
                else
                {
                    pass.SortObjects();

                    Sorted.Draw(pass);
                }
            }

            ShadowAlpha(camera);
        }
Exemplo n.º 4
0
        public static void Draw(Camera camera, BufferPreset bufferPreset)
        {
            DarknessColor(camera, bufferPreset);

            LightingLayerSetting[] layerSettings = bufferPreset.nightLayers.Get();

            if (layerSettings == null)
            {
                return;
            }

            if (layerSettings.Length < 1)
            {
                return;
            }

            for (int i = 0; i < layerSettings.Length; i++)
            {
                LightingLayerSetting nightLayer = layerSettings[i];

                if (pass.Setup(nightLayer, camera) == false)
                {
                    continue;
                }

                if (nightLayer.sorting == LayerSorting.None)
                {
                    NoSort.Draw(pass);
                }
                else
                {
                    pass.SortObjects();

                    Sorted.Draw(pass);
                }
            }
        }
Exemplo n.º 5
0
        public bool Setup(LightingLayerSetting slayer, Camera camera)
        {
            if (slayer.layer < 0)
            {
                return(false);
            }

            layerId = (int)slayer.layer;
            layer   = slayer;

            this.camera = camera;
            offset      = -camera.transform.position;

            colliderList  = DayLightCollider2D.List;
            colliderCount = colliderList.Count;

            tilemapColliderList  = DayLightTilemapCollider2D.GetList();
            tilemapColliderCount = tilemapColliderList.Count;

            drawShadows = slayer.type != LayerType.MaskOnly;
            drawMask    = slayer.type != LayerType.ShadowsOnly;

            return(true);
        }