Exemple #1
0
    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;
    }
Exemple #2
0
    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;
    }
Exemple #3
0
    // +++ 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;
    }
Exemple #4
0
 public void deletingCancel()
 {
     foreach (uintPair pos in tilesToDelete)
     {
         unmarkToDelete(pos.First, pos.Second);
     }
     logicState = LOGIC_STATE.DEFAULT;
 }
Exemple #5
0
    // DELETING
    public void startDeleting()
    {
        tilesToDelete = new List <uintPair> ();

        createMultipleBuildingPanel();

        if (_actionPanel != null)
        {
            _actionPanel.SendMessage("kill");
        }

        logicState = LOGIC_STATE.DELETING;
    }
Exemple #6
0
 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;
 }