public GameSaveData() { ActionManagerData = new ActionManagerData(); BuildingManagerData = new BuildingManagerData(); TimeManagerData = new TimeManagerData(); CoopManagerData = new CoopManagerData(); UserDataManagerData = new UserDataManagerData(); InvestigationManagerData = new InvestigationManagerData(); LogicManagerData = new LogicManagerData(); CanalManagerData = new CanalManagerData(); PenalizationManagerData = new PenalizationManagerData(); PhaseManagerData = new PhaseManagerData(); PlagueManagerData = new PlagueManagerData(); RankingManagerData = new RankingManagerData(); RiceObjectManagerData = new RiceObjectManagerData(); WeedFactoryData = new WeedFactoryData(); WorkerManagerData = new WorkerManagerData(); WorldTerrainData = new WorldTerrainData(); tutorialManagerData = new TutorialManagerData(); }
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); } } }
public void load(BuildingManagerData buildingManagerData) { init(); foreach (BuildingData buildingData in buildingManagerData.BuildingsBuilded) { _isBuilded[buildingData.ID] = true; Building b = _buildings[buildingData.ID]; switch (buildingData.ID) { case BUILDINGS.CASA: { for (int i = 0; i < buildingData.Level; ++i) { ((Building_Home)b).upgrade(); } ((Building_Home)b).constructAtPos(buildingData.i, buildingData.j); } break; case BUILDINGS.ESTABLO: { for (int i = 0; i < buildingData.Level; ++i) { ((Building_Stable)b).upgrade(); } ((Building_Stable)b).constructAtPos(buildingData.i, buildingData.j); } break; //case BUILDINGS.GARAJE: { // for (int i = 0; i < buildingData.Level; ++i) { // ((Building_Garage)b).upgrade(); // } // ((Building_Garage)b).constructAtPos(buildingData.i, buildingData.j); // } // break; case BUILDINGS.PLANTER: { for (int i = 0; i < buildingData.Level; ++i) { ((Building_Planter)b).upgrade(); } ((Building_Planter)b).constructAtPos(buildingData.i, buildingData.j); if (buildingData.SpecialSlot1 > 0) { ((Building_Planter)b).sembrar((uint)buildingData.SpecialSlot2, (uint)buildingData.SpecialSlot3); } } break; case BUILDINGS.TRILL: { for (int i = 0; i < buildingData.Level; ++i) { ((Building_Trill)b).upgrade(); } ((Building_Trill)b).constructAtPos(buildingData.i, buildingData.j); ((Building_Trill)b).setRice((uint)buildingData.SpecialSlot1, (uint)buildingData.SpecialSlot2); } break; case BUILDINGS.ERA: { for (int i = 0; i < buildingData.Level; ++i) { ((Building_Era)b).upgrade(); } ((Building_Era)b).constructAtPos(buildingData.i, buildingData.j); ((Building_Era)b).setRice((uint)buildingData.SpecialSlot1, (uint)buildingData.SpecialSlot2); } break; case BUILDINGS.SILO: { for (int i = 0; i < buildingData.Level; ++i) { ((Building_Silo)b).upgrade(); } ((Building_Silo)b).constructAtPos(buildingData.i, buildingData.j); ((Building_Silo)b).setRice((uint)buildingData.SpecialSlot1); } break; case BUILDINGS.PLANTA: { for (int i = 0; i < buildingData.Level; ++i) { ((Building_Planta)b).upgrade(); } ((Building_Planta)b).constructAtPos(buildingData.i, buildingData.j); ((Building_Planta)b).setRice((uint)buildingData.SpecialSlot1); } break; } } }