private void buildBuilding(BUILDINGS buildingId, uint i, uint j) { BuildingsManager buildingsMan = BuildingsManager.GetInstance(); Building building = buildingsMan.getBuilding(buildingId); buildingsMan.build(buildingId, i, j); WorldTerrain worldTerrain = WorldTerrain.GetInstance(); worldTerrain.createBuilding(i, j, building.getVerticalTiles(), building.getHorizontalTiles()); if (buildingId == BUILDINGS.PLANTA) { Building_Trill trill = (Building_Trill)buildingsMan.getBuilding(BUILDINGS.TRILL); Building_Silo silo = (Building_Silo)buildingsMan.getBuilding(BUILDINGS.SILO); Building_Era era = (Building_Era)buildingsMan.getBuilding(BUILDINGS.ERA); trill.stopProduction(); silo.stopProduction(); era.stopProduction(); uint rice = trill.getAllTheRice(); rice += silo.getAllTheRice(); rice += era.getAllTheRice(); ((Building_Planta)building).sendRice(rice); destroyBuilding(BUILDINGS.TRILL); destroyBuilding(BUILDINGS.SILO); destroyBuilding(BUILDINGS.ERA); } }
public void save(BuildingManagerData buildingManagerData) { foreach (KeyValuePair <BUILDINGS, bool> builded in IsBuilded) { if (builded.Value) { BuildingData buildingData = new BuildingData(); buildingData.ID = builded.Key; switch (builded.Key) { case BUILDINGS.CASA: { Building_Home b = (Building_Home)getBuilding(builded.Key); buildingData.i = b.getRow(); buildingData.j = b.getCol(); buildingData.Level = b.getCurrentLevel(); } break; case BUILDINGS.ESTABLO: { Building_Stable b = (Building_Stable)getBuilding(builded.Key); buildingData.i = b.getRow(); buildingData.j = b.getCol(); buildingData.Level = b.getCurrentLevel(); } break; //case BUILDINGS.GARAJE: { // Building_Garage b = (Building_Garage)getBuilding(builded.Key); // buildingData.i = b.getRow(); // buildingData.j = b.getCol(); // buildingData.Level = b.getCurrentLevel(); // } // break; case BUILDINGS.PLANTER: { Building_Planter b = (Building_Planter)getBuilding(builded.Key); buildingData.i = b.getRow(); buildingData.j = b.getCol(); buildingData.Level = b.getCurrentLevel(); buildingData.SpecialSlot1 = b.estaSembrat() ? 1 : 0; buildingData.SpecialSlot2 = (int)b.DiesSembrat; buildingData.SpecialSlot3 = (int)b.Plantes; } break; case BUILDINGS.TRILL: { Building_Trill b = (Building_Trill)getBuilding(builded.Key); buildingData.i = b.getRow(); buildingData.j = b.getCol(); buildingData.Level = b.getCurrentLevel(); buildingData.SpecialSlot1 = (int)b.getRiceUnprepared(); buildingData.SpecialSlot2 = (int)b.getRicePrepared(); } break; case BUILDINGS.ERA: { Building_Era b = (Building_Era)getBuilding(builded.Key); buildingData.i = b.getRow(); buildingData.j = b.getCol(); buildingData.Level = b.getCurrentLevel(); buildingData.SpecialSlot1 = (int)b.getRiceUnprepared(); buildingData.SpecialSlot2 = (int)b.getRicePrepared(); } break; case BUILDINGS.SILO: { Building_Silo b = (Building_Silo)getBuilding(builded.Key); buildingData.i = b.getRow(); buildingData.j = b.getCol(); buildingData.Level = b.getCurrentLevel(); buildingData.SpecialSlot1 = (int)b.getAllTheRice(); } break; case BUILDINGS.PLANTA: { Building_Planta b = (Building_Planta)getBuilding(builded.Key); buildingData.i = b.getRow(); buildingData.j = b.getCol(); buildingData.Level = b.getCurrentLevel(); buildingData.SpecialSlot1 = (int)b.getRiceUnprepared(); } break; } buildingManagerData.BuildingsBuilded.Add(buildingData); } } }