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 Environment(SerializationInputStream Stream) { UniqueKey = Stream.ReadString(); TileRuleSet = new TileRuleSet(Stream); MovementMultiplier = Stream.ReadFloat(); _RestrictRoadMovement = Stream.ReadEnumerable(i => i.ReadBoolean()).ToArray(); }
public UnitConfigurationLock(SerializationInputStream Stream) : this( Stream.ReadString(), Stream.ReadFloat(), Stream.ReadEnumerable(i => GameData.UnitConfigurationLinks[i.ReadString()])) { }
public MovementRule(SerializationInputStream Stream) { if (Stream.ReadBoolean()) { Cost = Stream.ReadFloat(); BlockType = BlockType.NONE; } else { Cost = 0; BlockType = (BlockType)Stream.ReadByte(); } }
public Polygon(SerializationInputStream Stream) : this(Stream.ReadEnumerable(i => new Vector2f(Stream.ReadFloat(), Stream.ReadFloat())).ToArray()) { }