public void SetUpTiles() { if (HasSetUpTiles) { return; } foreach (Tile tile in GetComponentsInChildren <Tile>()) { tile.ParentBoard = this; LocalTileCollection[tile.EntityPosition] = tile; WorldTileCollection[tile.GetPosition()] = tile; } // Parse the board and look for the entities using the parser BoardEntities = GetComponentInChildren <EntityParser>(true); if (BoardEntities == null) { Debug.LogWarning("No Entities present on board. This means that the board is a pure open terrain."); return; } foreach (EnemyUnit unit in BoardEntities.GetEnemyUnits()) { unit.SetPosition(new Point(unit.GetPosition().x + (BoardDimensions.x * BoardOffset), 0, unit.GetPosition().z)); if (EnemyCollection.ContainsKey(unit.GetPosition())) { continue; } EnemyCollection.Add(unit.GetPosition(), unit); } foreach (EnviromentalUnit unit in BoardEntities.GetEntities()) { unit.SetUpPosition(BoardOffset, BoardDimensions.x); if (EntityCollection.ContainsKey(unit.GetPosition())) { continue; } EntityCollection.Add(unit.GetPosition(), unit); } HasSetUpTiles = true; }