public void AddBuilding(BuildingInstanceData building) { switch (building.BuildingType) { case "Army Holder": ArmyHolderService.Add(building as ArmyHolderData); break; case "Bunker": BunkerService.Add(building as BunkerData); break; case "Lab": LabService.Add(building as LabData); break; case "Main Hall": MainHallService.Add(building as MainHallData); break; case "Mine": MineService.Add(building as MineData); break; case "Storage": StorageService.Add(building as StorageData); break; case "Training Zone": TrainingZoneService.Add(building as TrainingZoneData); break; case "Turret": TurretService.Add(building as TurretData); break; } }
public void Write(BuildingInstanceData value) { bool empty = value == null; Write(empty); if (empty) { return; } Write(value.ID); //Write(value.Base.ID); //for checking Write(value.DataName); Write(value.Level); Write(value.TileX); Write(value.TileY); Write(value.Destroyed); Write(value.BuildingType); switch (value.BuildingType) { case "Army Holder": break; case "Bunker": var bunker = value as BunkerData; Write(bunker.StoredUnits.Count); foreach (var unit in bunker.StoredUnits) { Write(unit); } break; case "Lab": var lab = value as LabData; Write(lab.WorkingOnUnit); Write(lab.HoursLeft); Write(lab.MinutesLeft); Write(lab.SecondsLeft); break; case "Main Hall": var hall = value as MainHallData; Write(hall.StoredGold); Write(hall.StoredElixir); break; case "Mine": var mine = value as MineData; Write(mine.Stored); break; case "Storage": var storage = value as StorageData; Write(storage.Stored); break; case "Training Zone": var zone = value as TrainingZoneData; Write(zone.CurrentUnitName); Write(zone.HoursLeft); Write(zone.MinutesLeft); Write(zone.SecondsLeft); Write(zone.Slots.Count); foreach (var slot in zone.Slots) { Write(slot); } break; case "Turret": break; case "Wall": break; case "Trap": break; case "Decoration": break; } }