protected void UpdateRendererList(Tile tile) { List <RendererData> renderers; if (!rendererVisibilities.TryGetValue(tile, out renderers)) { rendererVisibilities[tile] = renderers = new List <RendererData>(); } else { renderers.Clear(); } foreach (var renderer in tile.GetComponentsInChildren <Renderer>()) { renderers.Add(new RendererData(renderer, renderer.enabled)); } if (CullLights) { List <LightData> lights; if (!lightVisibilities.TryGetValue(tile, out lights)) { lightVisibilities[tile] = lights = new List <LightData>(); } else { lights.Clear(); } foreach (var light in tile.GetComponentsInChildren <Light>()) { lights.Add(new LightData(light, light.enabled)); } } }
protected void UpdateRendererList(Tile tile) { Dictionary <Renderer, bool> renderers; if (!rendererVisibilities.TryGetValue(tile, out renderers)) { rendererVisibilities[tile] = renderers = new Dictionary <Renderer, bool>(); } #if UNITY_5 UpdateRenderersInChildren(tile.gameObject, ref renderers); #else foreach (var renderer in tile.GetComponentsInChildren <Renderer>()) { renderers[renderer] = renderer.enabled; } #endif }