コード例 #1
0
        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;
 }