public void constructionBuildingCancel() { if (logicState == LOGIC_STATE.DELETING) { deletingCancel(); } else { BUILDING_INFO.clearRepresentation(); if (BUILDING_INFO.terrainID == TileTerrainType.BUILDING) { Building building = BuildingsManager.GetInstance().getBuilding(BUILDING_INFO.buildingID); UserDataManager.GetInstance().gold.addGold(building.getInitialCost()); } else if (BUILDING_INFO.terrainID == TileTerrainType.RICE_TERRAIN) { UserDataManager.GetInstance().gold.addGold(WorldTerrain.PRICE_RiceChunk); } else if (BUILDING_INFO.terrainID == TileTerrainType.CANAL) { WorldTerrain wt = WorldTerrain.GetInstance(); wt.cancelCanalsTmp(); } } if (_buildingPanel != null) { _buildingPanel.SendMessage("kill"); } logicState = LOGIC_STATE.DEFAULT; }
public void constructionBuildingConfirm() { if (logicState == LOGIC_STATE.DELETING) { deletingConfirm(); } else { if (BUILDING_INFO.terrainID == TileTerrainType.BUILDING) { buildBuilding(BUILDING_INFO.buildingID, _tileSelectedPosition [0], _tileSelectedPosition [1]); Building building = BuildingsManager.GetInstance().getBuilding(BUILDING_INFO.buildingID); building.constructAtPos(_tileSelectedPosition [0], _tileSelectedPosition [1]); } else if (BUILDING_INFO.terrainID == TileTerrainType.RICE_TERRAIN) { WorldTerrain.GetInstance().createRiceChunk(_tileSelectedPosition [0], _tileSelectedPosition [1], false); } else if (BUILDING_INFO.terrainID == TileTerrainType.CANAL) { WorldTerrain wt = WorldTerrain.GetInstance(); wt.confirmCanalsTmp(); UserDataManager.GetInstance().gold.espendGold(_buildingPanel.GetComponent <MultipleBuildingPanel> ().getCost()); } BUILDING_INFO.clearRepresentation(); } logicState = LOGIC_STATE.DEFAULT; }
// +++ BUILDING +++ public void startBuilding(TileTerrainType terrainID, BUILDINGS buildingId = 0) { BUILDING_INFO.terrainID = terrainID; BUILDING_INFO.buildingID = buildingId; if (BUILDING_INFO.terrainID == TileTerrainType.BUILDING) { //setBuildingBuildingRepresentation (); //createSingleBuildingPanel (); createSingleBuildingFirstPanel(); } else if (BUILDING_INFO.terrainID == TileTerrainType.RICE_TERRAIN) { //setBuildingRiceChunkRepresentation (); //createSingleBuildingPanel (); createSingleBuildingFirstPanel(); } else if (BUILDING_INFO.terrainID == TileTerrainType.CANAL) { createMultipleBuildingPanel(); } if (_actionPanel != null) { _actionPanel.SendMessage("kill"); } logicState = LOGIC_STATE.BUILDING; }
public void deletingCancel() { foreach (uintPair pos in tilesToDelete) { unmarkToDelete(pos.First, pos.Second); } logicState = LOGIC_STATE.DEFAULT; }
// DELETING public void startDeleting() { tilesToDelete = new List <uintPair> (); createMultipleBuildingPanel(); if (_actionPanel != null) { _actionPanel.SendMessage("kill"); } logicState = LOGIC_STATE.DELETING; }
public void deletingConfirm() { foreach (uintPair pos in tilesToDelete) { uint i = pos.First; uint j = pos.Second; WorldTerrain wt = WorldTerrain.GetInstance(); TileTerrainType type = wt.getTypeTerrainOfTile(i, j); if (type == TileTerrainType.FREE && wt.tileContainsVegetation(i, j)) { wt.deleteVegetation(i, j); } else if (type == TileTerrainType.CANAL) { wt.deleteCanal(i, j); } else if (type == TileTerrainType.RICE_TERRAIN) { wt.deleteRiceChunk(i, j); } } UserDataManager.GetInstance().gold.espendGold(_buildingPanel.GetComponent <MultipleBuildingPanel> ().getCost()); logicState = LOGIC_STATE.DEFAULT; }