Beispiel #1
0
        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;
            }
        }
Beispiel #2
0
        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;
            }
        }