public void OnRenderObject() { if (Camera.current != renderCamera) { return; } Destruction2DManager.DestructionDebug.bufferUpdates++; Destruction2D destruction; switch (destructible.textureType) { case Destruction2D.TextureType.Sprite: spriteBufferObject.OnRenderObject(); break; case Destruction2D.TextureType.Mesh: meshBufferObject.OnRenderObject(); break; case Destruction2D.TextureType.SpriteShape: spriteShapeBufferObject.OnRenderObject(); Destroy(destructible); Destroy(gameObject); destruction = destructible.gameObject.AddComponent <Destruction2D>(); destruction.split = destructible.split; destruction.filterMode = destructible.filterMode; break; case Destruction2D.TextureType.Tilemap: tilemapBufferObject.OnRenderObject(); Destroy(destructible); Destroy(gameObject); destruction = destructible.gameObject.AddComponent <Destruction2D>(); destruction.split = destructible.split; break; } renderCamera.enabled = false; if (destructible.textureType != Destruction2D.TextureType.SpriteShape && destructible.textureType != Destruction2D.TextureType.Tilemap) { destructible = null; timer.Reset(); renderCamera.targetTexture = null; renderCamera.orthographicSize = 1f; } }