Esempio n. 1
0
 public ReconOrder(SerializationInputStream Stream, List <GameObject> Objects)
     : this((Unit)Objects[Stream.ReadInt32()], (Direction)Stream.ReadByte())
 {
     Turns           = Stream.ReadInt32();
     ExitTile        = (Tile)Objects[Stream.ReadInt32()];
     _RemainingTurns = Stream.ReadInt32();
 }
Esempio n. 2
0
 public MovementOrder(SerializationInputStream Stream, List <GameObject> Objects)
 {
     Unit   = (Unit)Objects[Stream.ReadInt32()];
     To     = (Tile)Objects[Stream.ReadInt32()];
     Combat = Stream.ReadBoolean();
     Halt   = Stream.ReadBoolean();
 }
 public PositionalDeployOrder(SerializationInputStream Stream, List <GameObject> Objects)
 {
     Unit = (Unit)Objects[Stream.ReadInt32()];
     if (Stream.ReadBoolean())
     {
         Tile = (Tile)Objects[Stream.ReadInt32()];
     }
 }
Esempio n. 4
0
 public UnitConstraints(SerializationInputStream Stream)
 {
     IntroduceYear = Stream.ReadInt32();
     ObsoleteYear  = Stream.ReadInt32();
     Front         = (Front)Stream.ReadByte();
     Environments  = Stream.ReadEnumerable(
         i => Stream.ReadObject(j => new Environment(j), false, true)).ToList();
 }
Esempio n. 5
0
 public UnitConfigurationPack(SerializationInputStream Stream)
     : this(
         Stream.ReadInt32(),
         Stream.ReadString(),
         Stream.ReadInt32(),
         Stream.ReadEnumerable(i => new UnitConfigurationLock(i)))
 {
 }
Esempio n. 6
0
 protected AttackOrderBase(SerializationInputStream Stream, List <GameObject> Objects)
     : this(
         (Army)Objects[Stream.ReadInt32()],
         (Tile)Objects[Stream.ReadInt32()])
 {
     Target   = (AttackTarget)Stream.ReadByte();
     _Results =
         Stream.ReadEnumerable(
             i => new Tuple <Unit, CombatResult>(
                 (Unit)Objects[Stream.ReadInt32()], (CombatResult)Stream.ReadByte()))
         .ToList();
 }
        public UnitConfiguration(SerializationInputStream Stream)
        {
            UniqueKey = Stream.ReadString();
            Name      = Stream.ReadString();
            UnitClass = (UnitClass)Stream.ReadByte();

            PrimaryWeapon   = new Weapon(Stream);
            SecondaryWeapon = new Weapon(Stream);
            Defense         = Stream.ReadByte();
            Movement        = Stream.ReadByte();

            CanDirectFire            = Stream.ReadBoolean();
            CanIndirectFire          = Stream.ReadBoolean();
            CanOverrun               = Stream.ReadBoolean();
            CanCloseAssault          = Stream.ReadBoolean();
            CanAirAttack             = Stream.ReadBoolean();
            CanAntiAircraft          = Stream.ReadBoolean();
            CanClearMines            = Stream.ReadBoolean();
            CanPlaceMines            = Stream.ReadBoolean();
            CanPlaceBridges          = Stream.ReadBoolean();
            InnatelyClearsMines      = Stream.ReadBoolean();
            ImmuneToMines            = Stream.ReadBoolean();
            MinimumIndirectFireRange = Stream.ReadByte();

            IsVehicle     = Stream.ReadBoolean();
            IsArmored     = Stream.ReadBoolean();
            WrecksAs      = Stream.ReadObject(i => new UnitConfiguration(i), true, true);
            UnitWeight    = (UnitWeight)Stream.ReadByte();
            IsEngineer    = Stream.ReadBoolean();
            IsParatroop   = Stream.ReadBoolean();
            IsCommando    = Stream.ReadBoolean();
            HasLowProfile = Stream.ReadBoolean();

            MovementRules = Stream.ReadObject(i => new UnitMovementRules(i), false, true);

            IsCarrier                  = Stream.ReadBoolean();
            UnloadsWhenDisrupted       = Stream.ReadBoolean();
            CanOnlyCarryInfantry       = Stream.ReadBoolean();
            CanOnlyCarryLight          = Stream.ReadBoolean();
            CanCarryInWater            = Stream.ReadBoolean();
            CanOnlyOverrunUnarmored    = Stream.ReadBoolean();
            CanOnlySupportCloseAssault = Stream.ReadBoolean();
            IsPassenger                = Stream.ReadBoolean();
            IsOversizedPassenger       = Stream.ReadBoolean();
            CannotUseRoadMovementWithOversizedPassenger = Stream.ReadBoolean();
            OversizedPassengerMovementMultiplier        = Stream.ReadFloat();
            WaterDieModifier = Stream.ReadInt32();

            CanReveal  = Stream.ReadBoolean();
            CanSpot    = Stream.ReadBoolean();
            SpotRange  = Stream.ReadByte();
            SightRange = Stream.ReadByte();

            DismountAs = Stream.ReadObject(i => new UnitConfiguration(i), true, true);
            CanRemount = Stream.ReadBoolean();

            CanSupportArmored   = Stream.ReadBoolean();
            CloseAssaultCapture = Stream.ReadBoolean();
            AreaControlCapture  = Stream.ReadBoolean();
        }
 public TriggerObjective(SerializationInputStream Stream)
     : this(
         (Objective)ObjectiveSerializer.Instance.Deserialize(Stream),
         Stream.ReadInt32(),
         Stream.ReadBoolean())
 {
 }
 public ObjectiveSuccessTrigger(SerializationInputStream Stream)
     : this(
         (ObjectiveSuccessLevel)Stream.ReadByte(),
         Stream.ReadInt32(),
         Stream.ReadBoolean(),
         (Objective)Stream.ReadObject(i => ObjectiveSerializer.Instance.Deserialize(Stream), false, true))
 {
 }
Esempio n. 10
0
        public UnitMovementRules(SerializationInputStream Stream)
        {
            UniqueKey = Stream.ReadString();

            BaseCost = Stream.ReadInt32();
            IgnoresEnvironmentMovement = Stream.ReadBoolean();
            CannotUseRoadMovement      = Stream.ReadBoolean();

            MovementRules = Stream.ReadEnumerable(i => new MovementRule(i)).ToArray();
        }
Esempio n. 11
0
        public Map(SerializationInputStream Stream, TileRuleSet RuleSet, IdGenerator IdGenerator)
        {
            var width  = Stream.ReadInt32();
            var height = Stream.ReadInt32();

            Tiles = new Tile[width, height];
            var tiles = Stream.ReadEnumerable(i => new Tile(i, this, RuleSet, IdGenerator)).GetEnumerator();

            for (int i = 0; i < width; ++i)
            {
                for (int j = 0; j < height; ++j)
                {
                    tiles.MoveNext();
                    Tiles[i, j] = tiles.Current;
                }
            }
            Regions = Stream.ReadEnumerable(i => new MapRegion(Stream, Tiles)).ToList();
            Ready();
        }
        public TileComponentRules(SerializationInputStream Stream)
            : this(
                Stream.ReadString(),

                Stream.ReadBoolean(),
                Stream.ReadInt32(),
                Stream.ReadBoolean(),
                Stream.ReadBoolean(),
                Stream.ReadBoolean(),

                Stream.ReadBoolean(),
                Stream.ReadBoolean(),
                Stream.ReadBoolean(),
                Stream.ReadBoolean(),
                Stream.ReadBoolean(),
                Enumerable.Empty <TerrainAttribute>())
        {
            _TerrainAttributes = Stream.ReadEnumerable(Stream.ReadBoolean).ToArray();
        }
Esempio n. 13
0
 public RandomMapConfiguration(SerializationInputStream Stream)
     : this(Stream.ReadInt32(), Stream.ReadInt32(), GameData.MatchSettings[Stream.ReadString()])
 {
 }
 public MinefieldSingleAttackOrder(SerializationInputStream Stream, List <GameObject> Objects)
     : this((Unit)Objects[Stream.ReadInt32()])
 {
 }
Esempio n. 15
0
 public BlankMapConfiguration(SerializationInputStream Stream)
     : this(Stream.ReadInt32(), Stream.ReadInt32())
 {
 }
Esempio n. 16
0
 public CloseAssaultSingleAttackOrder(SerializationInputStream Stream, List <GameObject> Objects)
     : this((Unit)Objects[Stream.ReadInt32()], (Tile)Objects[Stream.ReadInt32()], Stream.ReadBoolean())
 {
 }
Esempio n. 17
0
 public TurnInfo(SerializationInputStream Stream, List <GameObject> Objects)
     : this((Army)Objects[Stream.ReadInt32()], (TurnComponent)Stream.ReadByte())
 {
 }
Esempio n. 18
0
 public Coordinate(SerializationInputStream Stream)
 {
     X = Stream.ReadInt32();
     Y = Stream.ReadInt32();
 }
Esempio n. 19
0
 public AbandonOrder(SerializationInputStream Stream, List <GameObject> Objects)
     : this((Unit)Objects[Stream.ReadInt32()])
 {
 }
Esempio n. 20
0
 public UnitCount(SerializationInputStream Stream)
     : this(GameData.UnitConfigurations[Stream.ReadString()], Stream.ReadInt32())
 {
 }
 public EntryTileDeployOrder(SerializationInputStream Stream, List <GameObject> Objects)
     : this((ConvoyDeployment)Objects[Stream.ReadInt32()], (Tile)Objects[Stream.ReadInt32()])
 {
 }
Esempio n. 22
0
 public MapRegion(SerializationInputStream Stream, Tile[,] Tiles)
     : this(Stream.ReadString(), Stream.ReadEnumerable(i => Tiles[Stream.ReadInt32(), Stream.ReadInt32()]))
 {
 }
Esempio n. 23
0
 public PointsObjective(SerializationInputStream Stream)
     : this((Objective)ObjectiveSerializer.Instance.Deserialize(Stream), Stream.ReadInt32())
 {
 }
Esempio n. 24
0
 public StaticSequence(SerializationInputStream Stream)
     : this(Stream.ReadInt32(), Stream.ReadEnumerable(i => i.ReadByte()).ToArray())
 {
 }
Esempio n. 25
0
 public ResetOrder(SerializationInputStream Stream, List <GameObject> Objects)
     : this((Army)Objects[Stream.ReadInt32()], Stream.ReadBoolean())
 {
 }
Esempio n. 26
0
 public ConvoyOrderDeployOrder(SerializationInputStream Stream, List <GameObject> Objects)
     : this(
         (ConvoyDeployment)Objects[Stream.ReadInt32()],
         Stream.ReadEnumerable(i => (Unit)Objects[Stream.ReadInt32()]).ToList())
 {
 }
Esempio n. 27
0
 public TargetOrder(SerializationInputStream Stream, List <GameObject> Objects)
     : this((Unit)Objects[Stream.ReadInt32()], (Tile)Objects[Stream.ReadInt32()])
 {
 }
 public DirectFireSingleAttackOrder(SerializationInputStream Stream, List <GameObject> Objects)
     : base((Unit)Objects[Stream.ReadInt32()], (Unit)Objects[Stream.ReadInt32()], Stream.ReadBoolean())
 {
     LineOfSight = new LineOfSight((Tile)Objects[Stream.ReadInt32()], (Tile)Objects[Stream.ReadInt32()]);
 }
Esempio n. 29
0
 public EvacuateOrder(SerializationInputStream Stream, List <GameObject> Objects)
     : this((Unit)Objects[Stream.ReadInt32()], (Direction)Stream.ReadByte())
 {
 }
Esempio n. 30
0
 public UnloadOrder(SerializationInputStream Stream, List <GameObject> Objects)
     : this((Unit)Objects[Stream.ReadInt32()], Stream.ReadBoolean())
 {
 }