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--; }
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); }
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); }
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); } } }
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); }