Exemple #1
0
        private static void Place(Tile[,] tiles, bool further_placement = false)
        {
            EntranceBuilding eb = building as EntranceBuilding;

            for (int i = 0; i < building.countZ; i++)
            {
                for (int j = 0; j < building.countX; j++)
                {
                    Road road = Extract(tiles[i, j]);
                    if (road != null && eb != null)
                    {
                        if (road.north != null)
                        {
                            eb.entrance.north = road.north; road.north.south = eb.entrance;
                        }
                        if (road.south != null)
                        {
                            eb.entrance.south = road.south; road.south.north = eb.entrance;
                        }
                        if (road.east != null)
                        {
                            eb.entrance.east = road.east;  road.east.west = eb.entrance;
                        }
                        if (road.west != null)
                        {
                            eb.entrance.west = road.west;  road.west.east = eb.entrance;
                        }

                        Object.Destroy(road.gameObject);
                    }

                    tiles[i, j].Owner = building;
                }
            }

            if (building.GetType() == typeof(Depot))
            {
                building.transform.position = new Vector3(building.transform.position.x, -0.0825f, building.transform.position.z);
            }

            building = null;
            rotated  = false;

            //Debug.Log("MTPos = " + mouseTilePosition);

            if (!further_placement)
            {
                Enabled = false;
                ToolBar.Components.EnableButtons();
            }
        }
Exemple #2
0
        private static void DestroyBuilding(Building building)
        {
            if (building.GetType().IsSubclassOf(typeof(EntranceBuilding)))
            {
                EntranceBuilding entrBuilding = building as EntranceBuilding;

                Road entrance = entrBuilding.entrance;

                if (entrance.north != null || entrance.south != null || entrance.east != null || entrance.west != null)
                {
                    DestroyRoad(entrance);
                }
            }

            WorldMap.ClearArea(building.UpLeft, building.countX, building.countZ);
            Object.Destroy(building.gameObject);
        }