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

            ReleaseTerrain();
        }