public void CopyRoomObjects(RoomObj room) { foreach (var current in room.TerrainObjList) { TerrainObjList.Add(current.Clone() as TerrainObj); } foreach (var current2 in room.GameObjList) { GameObjList.Add(current2.Clone() as GameObj); } foreach (var current3 in room.DoorList) { var doorObj = current3.Clone() as DoorObj; doorObj.Room = this; DoorList.Add(doorObj); } foreach (var current4 in room.EnemyList) { EnemyList.Add(current4.Clone() as EnemyObj); } foreach (var current5 in room.BorderList) { BorderList.Add(current5.Clone() as BorderObj); } }
public override void Dispose() { if (!IsDisposed) { foreach (var current in DoorList) { current.Dispose(); } DoorList.Clear(); DoorList = null; foreach (var current2 in TerrainObjList) { current2.Dispose(); } TerrainObjList.Clear(); TerrainObjList = null; foreach (var current3 in GameObjList) { current3.Dispose(); } GameObjList.Clear(); GameObjList = null; foreach (var current4 in EnemyList) { current4.Dispose(); } EnemyList.Clear(); EnemyList = null; foreach (var current5 in BorderList) { current5.Dispose(); } BorderList.Clear(); BorderList = null; BGRender = null; LinkedRoom = null; foreach (var current6 in TempEnemyList) { current6.Dispose(); } TempEnemyList.Clear(); TempEnemyList = null; Player = null; m_fairyChestText.Dispose(); m_fairyChestText = null; m_pauseBG.Dispose(); m_pauseBG = null; m_indexText.Dispose(); m_indexText = null; m_roomInfoText.Dispose(); m_roomInfoText = null; base.Dispose(); } }