private void RunResetLevelCommand() { GameObject LevelMap = GameObject.Find("Level Map"); if (LevelMap != null) { DestroyImmediate(LevelMap); } // Create Level Map LevelMap = new GameObject("Level Map"); LevelMap.AddComponent <PlatformCollisionBoxes>(); LevelMap.transform.position = new Vector3(-10.0f, 0.0f); // Create TileMap for (int x = LevelGrid.TileHorzBeginID; x < (LevelGrid.TileCountHorz); ++x) { GameObject NewRow = new GameObject("Row " + (x + 1).ToString()); NewRow.transform.parent = LevelMap.transform; NewRow.transform.position = new Vector3(-10.0f, 0.0f); for (int y = LevelGrid.TileVertzBeginID; y < (LevelGrid.TileCountVertz); ++y) { GameObject NewCol = new GameObject("Col " + (y + 1).ToString()); NewCol.tag = "Stage_Tile"; NewCol.transform.parent = NewRow.transform; float XPos = (Target.m_v2StartPos.x + (x * LevelGrid.GetTileSize().x)) + (LevelGrid.GetTileSize().x * 0.5f); float YPos = (Target.m_v2StartPos.y + (y * LevelGrid.GetTileSize().y)) + (LevelGrid.GetTileSize().y * 0.5f); NewCol.transform.position = new Vector3(XPos, YPos); TileDisplay pTileDisplay = NewCol.AddComponent <TileDisplay>(); #if UNITY_EDITOR // Assign Identities pTileDisplay.COL = x + 1; pTileDisplay.ROW = y; #endif if ((x < 0) || (y >= Target.m_iTileCountVertz) || (x >= Target.m_iTileCountHorz)) { pTileDisplay.SetAsOffscreenTile(); } } } // Add LevelMap to Object Manager GameObject ObjectManager = GameObject.Find("Level Manager"); if (ObjectManager != null) { ObjectManager.GetComponent <ImportantObjectsManager>().m_goLevelMapObject = LevelMap; } }