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 UnitConfigurationLink(SerializationInputStream Stream) { UniqueKey = Stream.ReadString(); Faction = Stream.ReadObject(i => new Faction(i), false, true); UnitConfiguration = Stream.ReadObject(i => new UnitConfiguration(i), false, true); Constraints = new UnitConstraints(Stream); }
public MapGeneratorConfiguration(SerializationInputStream Stream) : this( Stream.ReadString(), Stream.ReadObject(i => new MarkovGenerator <char>(i), false, true), Stream.ReadObject(i => new TerrainGeneratorConfiguration(i), false, true)) { }
public static void Load(string Module, SerializationInputStream Stream) { LoadedModule = Module; string Path = "./Modules/" + Module; ClassLibrary.Instance.ReadBlock(new ParseBlock(new ParseBlock[] { ParseBlock.FromFile(Path + "/Theme/Fonts.blk"), new ParseBlock( "class<>", "classes", Enumerable.Repeat(Path + "/Theme/Base.blk", 1) .Concat(Directory.EnumerateFiles( Path + "/Theme/Components", "*", SearchOption.AllDirectories)) .SelectMany(i => ParseBlock.FromFile(i).Break())) })); UnitMovementRules = Stream.ReadEnumerable( i => i.ReadObject(j => new UnitMovementRules(j), false, true)).ToDictionary(i => i.UniqueKey); TileComponentRules = Stream.ReadEnumerable( i => i.ReadObject(j => new TileComponentRules(j), false, true)).ToDictionary(i => i.UniqueKey); Environments = Stream.ReadEnumerable( i => i.ReadObject(j => new Environment(j), false, true)).ToDictionary(i => i.UniqueKey); Factions = Stream.ReadEnumerable( i => i.ReadObject(j => new Faction(j), false, true)).ToDictionary(i => i.UniqueKey); FactionRenderDetails = Stream.ReadEnumerable( i => new KeyValuePair <string, FactionRenderDetails>( i.ReadString(), new FactionRenderDetails(i, Path + "/FactionSymbols/"))).ToDictionary(i => i.Key, i => i.Value); UnitConfigurations = Stream.ReadEnumerable( i => i.ReadObject(j => new UnitConfiguration(j), false, true)).ToDictionary(i => i.UniqueKey); UnitRenderDetails = Stream.ReadEnumerable( i => new KeyValuePair <string, UnitRenderDetails>( i.ReadString(), new UnitRenderDetails(i, Path + "/UnitSprites/"))).ToDictionary(i => i.Key, i => i.Value); UnitConfigurationLinks = Stream.ReadEnumerable(i => new UnitConfigurationLink(i)).ToDictionary(i => i.UniqueKey); UnitConfigurationLocks = Stream.ReadEnumerable(i => new UnitConfigurationLock(i)).ToDictionary(i => i.UniqueKey); Scenarios = Stream.ReadEnumerable(i => new Scenario(i)).ToList(); TileRenderers = Stream.ReadEnumerable(i => new TileRenderer(i)).ToDictionary(i => i.UniqueKey); NameGenerators = Stream.ReadEnumerable( i => new KeyValuePair <string, MarkovGenerator <char> >( Stream.ReadString(), Stream.ReadObject(j => new MarkovGenerator <char>(j)))) .ToDictionary(i => i.Key, i => i.Value); TerrainGenerators = Stream.ReadEnumerable( i => new KeyValuePair <string, TerrainGeneratorConfiguration>( Stream.ReadString(), Stream.ReadObject(j => new TerrainGeneratorConfiguration(j)))) .ToDictionary(i => i.Key, i => i.Value); MatchSettings = Stream.ReadEnumerable(i => new MatchSetting(i)).ToDictionary(i => i.UniqueKey); }
public ObjectiveSuccessTrigger(SerializationInputStream Stream) : this( (ObjectiveSuccessLevel)Stream.ReadByte(), Stream.ReadInt32(), Stream.ReadBoolean(), (Objective)Stream.ReadObject(i => ObjectiveSerializer.Instance.Deserialize(Stream), false, true)) { }
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(); }
public ConvoyDeploymentConfiguration(SerializationInputStream Stream) : this( new UnitGroup(Stream), Stream.ReadBoolean(), (Matcher <Tile>)MatcherSerializer.Instance.Deserialize(Stream), Stream.ReadObject(i => new ConvoyMovementAutomator(Stream), true), Stream.ReadByte()) { }
public FeatureGenerator(SerializationInputStream Stream) : this( Stream.ReadObject(FunctionFactory.Read, false, true), Stream.ReadObject(FunctionFactory.Read, false, true)) { }
public LogInPlayerResponse(SerializationInputStream Stream) : base(Stream) { Player = Stream.ReadObject(i => new Player(Stream), true); }