public static Unit ReadFrom(System.IO.BinaryReader reader) { var result = new Unit(); result.PlayerId = reader.ReadInt32(); result.Id = reader.ReadInt32(); result.Health = reader.ReadInt32(); result.Position = Vec2Double.ReadFrom(reader); result.Size = Vec2Double.ReadFrom(reader); result.JumpState = JumpState.ReadFrom(reader); result.WalkedRight = reader.ReadBoolean(); result.Stand = reader.ReadBoolean(); result.OnGround = reader.ReadBoolean(); result.OnLadder = reader.ReadBoolean(); result.Mines = reader.ReadInt32(); if (reader.ReadBoolean()) { result.Weapon = Model.Weapon.ReadFrom(reader); } else { result.Weapon = null; } return(result); }
public static LootBox ReadFrom(System.IO.BinaryReader reader) { var result = new LootBox(); result.Position = Vec2Double.ReadFrom(reader); result.Size = Vec2Double.ReadFrom(reader); result.Item = Item.ReadFrom(reader); return(result); }
public static Properties ReadFrom(System.IO.BinaryReader reader) { var result = new Properties(); result.MaxTickCount = reader.ReadInt32(); result.TeamSize = reader.ReadInt32(); result.TicksPerSecond = reader.ReadDouble(); result.UpdatesPerTick = reader.ReadInt32(); result.LootBoxSize = Vec2Double.ReadFrom(reader); result.UnitSize = Vec2Double.ReadFrom(reader); result.UnitMaxHorizontalSpeed = reader.ReadDouble(); result.UnitFallSpeed = reader.ReadDouble(); result.UnitJumpTime = reader.ReadDouble(); result.UnitJumpSpeed = reader.ReadDouble(); result.JumpPadJumpTime = reader.ReadDouble(); result.JumpPadJumpSpeed = reader.ReadDouble(); result.UnitMaxHealth = reader.ReadInt32(); result.HealthPackHealth = reader.ReadInt32(); int WeaponParametersSize = reader.ReadInt32(); result.WeaponParameters = new System.Collections.Generic.Dictionary <WeaponType, WeaponParameters>(WeaponParametersSize); for (int i = 0; i < WeaponParametersSize; i++) { WeaponType WeaponParametersKey; switch (reader.ReadInt32()) { case 0: WeaponParametersKey = WeaponType.Pistol; break; case 1: WeaponParametersKey = WeaponType.AssaultRifle; break; case 2: WeaponParametersKey = WeaponType.RocketLauncher; break; default: throw new System.Exception("Unexpected discriminant value"); } WeaponParameters WeaponParametersValue; WeaponParametersValue = Model.WeaponParameters.ReadFrom(reader); result.WeaponParameters.Add(WeaponParametersKey, WeaponParametersValue); } result.MineSize = Vec2Double.ReadFrom(reader); result.MineExplosionParameters = ExplosionParameters.ReadFrom(reader); result.MinePrepareTime = reader.ReadDouble(); result.MineTriggerTime = reader.ReadDouble(); result.MineTriggerRadius = reader.ReadDouble(); result.KillScore = reader.ReadInt32(); return(result); }
public static UnitAction ReadFrom(System.IO.BinaryReader reader) { var result = new UnitAction(); result.Velocity = reader.ReadDouble(); result.Jump = reader.ReadBoolean(); result.JumpDown = reader.ReadBoolean(); result.Aim = Vec2Double.ReadFrom(reader); result.Shoot = reader.ReadBoolean(); result.Reload = reader.ReadBoolean(); result.SwapWeapon = reader.ReadBoolean(); result.PlantMine = reader.ReadBoolean(); return(result); }
public static UnitAction ReadFrom(System.IO.BinaryReader reader) { if (reader == null) { throw new System.ArgumentNullException(nameof(reader)); } return(new UnitAction( reader.ReadDouble(), reader.ReadBoolean(), reader.ReadBoolean(), Vec2Double.ReadFrom(reader), reader.ReadBoolean(), reader.ReadBoolean(), reader.ReadBoolean(), reader.ReadBoolean())); }
public static Unit ReadFrom(System.IO.BinaryReader reader) { if (reader == null) throw new System.ArgumentNullException(nameof(reader)); var playerId = reader.ReadInt32(); var id = reader.ReadInt32(); var health = reader.ReadInt32(); var position = Vec2Double.ReadFrom(reader); var size = Vec2Double.ReadFrom(reader); var jumpState = JumpState.ReadFrom(reader); var walkedRight = reader.ReadBoolean(); var stand = reader.ReadBoolean(); var onGround = reader.ReadBoolean(); var onLadder = reader.ReadBoolean(); var mines = reader.ReadInt32(); var weapon = reader.ReadBoolean() ? Weapon.ReadFrom(reader) : null; return new Unit(playerId, id, health, position, size, jumpState, walkedRight, stand, onGround, onLadder, mines, weapon); }
public static Mine ReadFrom(System.IO.BinaryReader reader) { if (reader == null) { throw new System.ArgumentNullException(nameof(reader)); } var playerId = reader.ReadInt32(); var position = Vec2Double.ReadFrom(reader); var size = Vec2Double.ReadFrom(reader); MineState state; switch (reader.ReadInt32()) { case 0: state = MineState.Preparing; break; case 1: state = MineState.Idle; break; case 2: state = MineState.Triggered; break; case 3: state = MineState.Exploded; break; default: throw new System.Exception("Unexpected discriminant value"); } var timer = reader.ReadBoolean() ? reader.ReadDouble() : (double?)null; var triggerRadius = reader.ReadDouble(); var explosionParameters = ExplosionParameters.ReadFrom(reader); return(new Mine(playerId, position, size, state, timer, triggerRadius, explosionParameters)); }
public static Mine ReadFrom(System.IO.BinaryReader reader) { var result = new Mine(); result.PlayerId = reader.ReadInt32(); result.Position = Vec2Double.ReadFrom(reader); result.Size = Vec2Double.ReadFrom(reader); switch (reader.ReadInt32()) { case 0: result.State = MineState.Preparing; break; case 1: result.State = MineState.Idle; break; case 2: result.State = MineState.Triggered; break; case 3: result.State = MineState.Exploded; break; default: throw new System.Exception("Unexpected discriminant value"); } if (reader.ReadBoolean()) { result.Timer = reader.ReadDouble(); } else { result.Timer = null; } result.TriggerRadius = reader.ReadDouble(); result.ExplosionParameters = ExplosionParameters.ReadFrom(reader); return(result); }
public static Bullet ReadFrom(System.IO.BinaryReader reader) { var result = new Bullet(); switch (reader.ReadInt32()) { case 0: result.WeaponType = WeaponType.Pistol; break; case 1: result.WeaponType = WeaponType.AssaultRifle; break; case 2: result.WeaponType = WeaponType.RocketLauncher; break; default: throw new System.Exception("Unexpected discriminant value"); } result.UnitId = reader.ReadInt32(); result.PlayerId = reader.ReadInt32(); result.Position = Vec2Double.ReadFrom(reader); result.Velocity = Vec2Double.ReadFrom(reader); result.Damage = reader.ReadInt32(); result.Size = reader.ReadDouble(); if (reader.ReadBoolean()) { result.ExplosionParameters = Model.ExplosionParameters.ReadFrom(reader); } else { result.ExplosionParameters = null; } return(result); }
public static Bullet ReadFrom(System.IO.BinaryReader reader) { if (reader == null) { throw new System.ArgumentNullException(nameof(reader)); } WeaponType weaponType; switch (reader.ReadInt32()) { case 0: weaponType = WeaponType.Pistol; break; case 1: weaponType = WeaponType.AssaultRifle; break; case 2: weaponType = WeaponType.RocketLauncher; break; default: throw new System.Exception("Unexpected discriminant value"); } var unitId = reader.ReadInt32(); var playerId = reader.ReadInt32(); var position = Vec2Double.ReadFrom(reader); var velocity = Vec2Double.ReadFrom(reader); var damage = reader.ReadInt32(); var size = reader.ReadDouble(); var explosionParameters = reader.ReadBoolean() ? ExplosionParameters.ReadFrom(reader) : null; return(new Bullet(weaponType, unitId, playerId, position, velocity, damage, size, explosionParameters)); }
public static LootBox ReadFrom(System.IO.BinaryReader reader) { return(new LootBox(Vec2Double.ReadFrom(reader), Vec2Double.ReadFrom(reader), Items.Item.ReadFrom(reader))); }
public static Properties ReadFrom(System.IO.BinaryReader reader) { if (reader == null) { throw new System.ArgumentNullException(nameof(reader)); } var maxTickCount = reader.ReadInt32(); var teamSize = reader.ReadInt32(); var ticksPerSecond = reader.ReadDouble(); var updatesPerTick = reader.ReadInt32(); var lootBoxSize = Vec2Double.ReadFrom(reader); var unitSize = Vec2Double.ReadFrom(reader); var unitMaxHorizontalSpeed = reader.ReadDouble(); var unitFallSpeed = reader.ReadDouble(); var unitJumpTime = reader.ReadDouble(); var unitJumpSpeed = reader.ReadDouble(); var jumpPadJumpTime = reader.ReadDouble(); var jumpPadJumpSpeed = reader.ReadDouble(); var unitMaxHealth = reader.ReadInt32(); var healthPackHealth = reader.ReadInt32(); var weaponParametersSize = reader.ReadInt32(); var weaponParameters = new System.Collections.Generic.Dictionary <WeaponType, WeaponParameters>(weaponParametersSize); for (var i = 0; i < weaponParametersSize; i++) { WeaponType weaponParametersKey; switch (reader.ReadInt32()) { case 0: weaponParametersKey = WeaponType.Pistol; break; case 1: weaponParametersKey = WeaponType.AssaultRifle; break; case 2: weaponParametersKey = WeaponType.RocketLauncher; break; default: throw new System.Exception("Unexpected discriminant value"); } WeaponParameters weaponParametersValue; weaponParametersValue = Model.WeaponParameters.ReadFrom(reader); weaponParameters.Add(weaponParametersKey, weaponParametersValue); } var mineSize = Vec2Double.ReadFrom(reader); var mineExplosionParameters = ExplosionParameters.ReadFrom(reader); var minePrepareTime = reader.ReadDouble(); var mineTriggerTime = reader.ReadDouble(); var mineTriggerRadius = reader.ReadDouble(); var killScore = reader.ReadInt32(); return(new Properties( maxTickCount, teamSize, ticksPerSecond, updatesPerTick, lootBoxSize, unitSize, unitMaxHorizontalSpeed, unitFallSpeed, unitJumpTime, unitJumpSpeed, jumpPadJumpTime, jumpPadJumpSpeed, unitMaxHealth, healthPackHealth, weaponParameters, mineSize, mineExplosionParameters, minePrepareTime, mineTriggerTime, mineTriggerRadius, killScore)); }