Пример #1
0
 public override void Dispose()
 {
     if (m_terrainBody.HasPhysicalBody)
     {
         m_physicsScene.PE.RemoveObjectFromWorld(m_physicsScene.World, m_terrainBody);
         // Frees both the body and the shape.
         m_physicsScene.PE.DestroyObject(m_physicsScene.World, m_terrainBody);
         m_terrainBody.Clear();
         m_terrainShape.Clear();
     }
 }
Пример #2
0
        // Release all the terrain structures we might have allocated
        public void ReleaseGroundPlaneAndTerrain()
        {
            DetailLog("{0},BSTerrainManager.ReleaseGroundPlaneAndTerrain,region={1}", BSScene.DetailLogZero, m_physicsScene.RegionName);
            if (m_groundPlane.HasPhysicalBody)
            {
                if (m_physicsScene.PE.RemoveObjectFromWorld(m_physicsScene.World, m_groundPlane))
                {
                    m_physicsScene.PE.DestroyObject(m_physicsScene.World, m_groundPlane);
                }
                m_groundPlane.Clear();
            }

            ReleaseTerrain();
        }