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 ArmyConfiguration(SerializationInputStream Stream) { UniqueKey = Stream.ReadString(); Faction = GameData.Factions[Stream.ReadString()]; Team = Stream.ReadByte(); DeploymentConfigurations = Stream.ReadEnumerable(DeploymentConfigurationSerializer.Deserialize).ToList(); VictoryCondition = new VictoryCondition(Stream); }
public MatchSetting(SerializationInputStream Stream) : this( Stream.ReadString(), GameData.Environments[Stream.ReadString()], (Front)Stream.ReadByte(), new MapGeneratorConfiguration(Stream)) { }
public Faction(SerializationInputStream Stream) : this( Stream.ReadString(), Stream.ReadString(), Stream.ReadEnumerable(FileUtils.DeserializeColor).ToArray(), Stream.ReadByte(), Stream.ReadBoolean()) { }
public Scenario(SerializationInputStream Stream) : this( Stream.ReadString(), Stream.ReadEnumerable(i => new ArmyConfiguration(Stream)).ToList(), new TurnConfiguration(Stream), GameData.Environments[Stream.ReadString()], (MapConfiguration)MapConfigurationSerializer.Instance.Deserialize(Stream), new ScenarioRules(Stream)) { }
public UnitRenderDetails(SerializationInputStream Stream, string Path) { _RootPath = Path; if (Stream.ReadBoolean()) { OverrideDisplayName = Stream.ReadString(); } OverrideColor = FileUtils.DeserializeColor(Stream); _ImagePath = Stream.ReadString(); }
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 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 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 TileRenderer(SerializationInputStream Stream) : this( Stream.ReadString(), Stream.ReadString(), FileUtils.DeserializeColor(Stream), FileUtils.DeserializeColor(Stream), Stream.ReadEnumerable(i => FileUtils.DeserializeColor(i)).ToArray(), Stream.ReadEnumerable(i => FileUtils.DeserializeColor(i)).ToArray(), Stream.ReadEnumerable(i => FileUtils.DeserializeColor(i)).ToArray(), Stream.ReadEnumerable(i => FileUtils.DeserializeColor(i)).ToArray(), Stream.ReadEnumerable(i => FileUtils.DeserializeColor(i)).ToArray(), Stream.ReadEnumerable(i => FileUtils.DeserializeColor(i)).ToArray(), Stream.ReadEnumerable(i => i.ReadFloat()).ToArray(), Stream.ReadEnumerable(i => i.ReadFloat()).ToArray()) { }
public UnitConfigurationPack(SerializationInputStream Stream) : this( Stream.ReadInt32(), Stream.ReadString(), Stream.ReadInt32(), Stream.ReadEnumerable(i => new UnitConfigurationLock(i))) { }
public TileRuleSet(SerializationInputStream Stream) : this( Stream.ReadString(), Stream.ReadEnumerable(PARSER).ToArray(), Stream.ReadEnumerable(PARSER).ToArray(), Stream.ReadEnumerable(PARSER).ToArray()) { }
public ScenarioParameters(SerializationInputStream Stream) : this( Stream.ReadUInt32(), GameData.MatchSettings[Stream.ReadString()], Stream.ReadByte(), new Coordinate(Stream), Stream.ReadBoolean()) { }
public TerrainGeneratorConfiguration(SerializationInputStream Stream) : this( Stream.ReadString(), new FeatureGenerator(Stream), new FeatureGenerator(Stream), new FeatureGenerator(Stream), new FeatureGenerator(Stream), new FeatureGenerator(Stream)) { }
public UnitMovementRules(SerializationInputStream Stream) { UniqueKey = Stream.ReadString(); BaseCost = Stream.ReadInt32(); IgnoresEnvironmentMovement = Stream.ReadBoolean(); CannotUseRoadMovement = Stream.ReadBoolean(); MovementRules = Stream.ReadEnumerable(i => new MovementRule(i)).ToArray(); }
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(); }
public RandomMapConfiguration(SerializationInputStream Stream) : this(Stream.ReadInt32(), Stream.ReadInt32(), GameData.MatchSettings[Stream.ReadString()]) { }
public BoardConfiguration(SerializationInputStream Stream) : this(Stream.ReadString(), Stream.ReadBoolean()) { }
public FactionRenderDetails(SerializationInputStream Stream, string Path) { _RootPath = Path; _ImagePath = Stream.ReadString(); }
public ChatMessage(SerializationInputStream Stream) { Player = new Player(Stream); Time = new DateTime(Stream.ReadInt64()); Message = Stream.ReadString(); }
public UnitGroup(SerializationInputStream Stream) { Name = Stream.ReadString(); _UnitCounts = Stream.ReadEnumerable(i => new UnitCount(i)).ToList(); }
public BoardCompositeMapConfiguration(SerializationInputStream Stream) : this(Stream.ReadEnumerable( i => Stream.ReadEnumerable( j => new BoardConfiguration(Stream.ReadString(), Stream.ReadBoolean())))) { }
public UnitCount(SerializationInputStream Stream) : this(GameData.UnitConfigurations[Stream.ReadString()], Stream.ReadInt32()) { }
public Player(SerializationInputStream Stream) : this(new OnlineId(Stream), Stream.ReadString()) { }
public MapRegion(SerializationInputStream Stream, Tile[,] Tiles) : this(Stream.ReadString(), Stream.ReadEnumerable(i => Tiles[Stream.ReadInt32(), Stream.ReadInt32()])) { }
public UnitHasConfiguration(SerializationInputStream Stream) : this(GameData.UnitConfigurations[Stream.ReadString()]) { }
public TileInRegion(SerializationInputStream Stream) : this(Stream.ReadString()) { }
public LogInPlayerRequest(SerializationInputStream Stream) : base(Stream) { Username = Stream.ReadString(); Password = Stream.ReadString(); }