private void ReleaseOldData() { Assert.IsTrue(m_objects.Count == m_renderers.Count); for (int i = 0; i < m_objects.Count; i++) { var go = m_objects[i]; // If the component does not exist it means nothing else has been added as well if (go == null) { continue; } #if DEBUG go.name = m_prefabName; #endif MeshFilter filter = go.GetComponent <MeshFilter>(); filter.sharedMesh.Clear(false); Globals.MemPools.MeshPool.Push(filter.sharedMesh); filter.sharedMesh = null; Renderer renderer = go.GetComponent <Renderer>(); renderer.sharedMaterial = null; GameObjectProvider.PushObject(m_prefabName, go); } m_objects.Clear(); m_renderers.Clear(); }
private void ReleaseOldData() { Assert.IsTrue(m_drawCalls.Count == m_drawCallRenderers.Count); for (int i = 0; i < m_drawCalls.Count; i++) { var go = m_drawCalls[i]; // If the component does not exist it means nothing else has been added as well if (go == null) { continue; } var filter = go.GetComponent <MeshFilter>(); filter.sharedMesh.Clear(false); Globals.Pools.MeshPool.Push(filter.sharedMesh); filter.sharedMesh = null; GameObjectProvider.PushObject(GOPChunk, go); } m_drawCalls.Clear(); m_drawCallRenderers.Clear(); }