private void RegisterSpawner(float probability, InstancedSpawnerConfiguration configuration) { if (!CachedRenderers.ContainsKey(configuration.GetHashCode())) { // webgl instancing broken on 2013.x #if UNITY_WEBGL && !UNITY_EDITOR var renderer = new SortedRenderer(MainCamera, MinimapCamera, (int)(probability * ChunkSize * ChunkSize * ActiveTilemaps), configuration.PackedTexture, SortedShader, configuration.MeshSize); CachedRenderers.Add(configuration.GetHashCode(), renderer); #else if (RendererType == RendererType.Sorted) { var renderer = new SortedRenderer(MainCamera, MinimapCamera, (int)(probability * ChunkSize * ChunkSize * ActiveTilemaps), configuration.PackedTexture, SortedShader, configuration.MeshSize); CachedRenderers.Add(configuration.GetHashCode(), renderer); } else { var renderer = new InstancedIndirectRenderer(MainCamera, MinimapCamera, (int)(probability * ChunkSize * ChunkSize * ActiveTilemaps), configuration.PackedTexture, IndirectShader, configuration.MeshSize); CachedRenderers.Add(configuration.GetHashCode(), renderer); } #endif } }
private void OnEnable() { instance = (InstancedSpawnerConfiguration)target; }