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(); } }
public override void Initialize() { TerrainObj terrainObj = null; TerrainObj terrainObj2 = null; TerrainObj terrainObj3 = null; TerrainObj terrainObj4 = null; foreach (var current in TerrainObjList) { if (current.Name == "BlacksmithBlock") { terrainObj = current; } if (current.Name == "EnchantressBlock") { terrainObj2 = current; } if (current.Name == "ArchitectBlock") { terrainObj3 = current; } if (current.Name == "SignBlock") { terrainObj4 = current; } } if (terrainObj != null) { TerrainObjList.Remove(terrainObj); } if (terrainObj2 != null) { TerrainObjList.Remove(terrainObj2); } if (terrainObj3 != null) { TerrainObjList.Remove(terrainObj3); } if (terrainObj4 != null) { TerrainObjList.Remove(terrainObj4); } if (m_tree1 == null) { foreach (var current2 in GameObjList) { if (current2.Name == "Mountains 1") { m_mountain1 = (current2 as SpriteObj); } else if (current2.Name == "Mountains 2") { m_mountain2 = (current2 as SpriteObj); } else if (current2.Name == "Sign") { current2.Visible = false; } if (current2.Name == "Tree1") { m_tree1 = current2; } else if (current2.Name == "Tree2") { m_tree2 = current2; } else if (current2.Name == "Tree3") { m_tree3 = current2; } else if (current2.Name == "Fern1") { m_fern1 = current2; } else if (current2.Name == "Fern2") { m_fern2 = current2; } else if (current2.Name == "Fern3") { m_fern3 = current2; } } } EnemyList.Clear(); base.Initialize(); }