protected override void Read(OnlineReader Sender) { int ListRoomUpdatesCount = Sender.ReadInt32(); for (int i = 0; i < ListRoomUpdatesCount; ++i) { string RoomID = Sender.ReadString(); bool IsDead = Sender.ReadBoolean(); if (IsDead) { ListRoomUpdates.Add(new ServerRoomInformations(RoomID, IsDead)); } else { string Name = Sender.ReadString(); string RoomType = Sender.ReadString(); string RoomSubtype = Sender.ReadString(); bool IsPlaying = Sender.ReadBoolean(); byte MinPlayer = Sender.ReadByte(); byte MaxPlayer = Sender.ReadByte(); byte CurrentClientCount = Sender.ReadByte(); ListRoomUpdates.Add(new ServerRoomInformations(RoomID, Name, RoomType, RoomSubtype, IsPlaying, MinPlayer, MaxPlayer, CurrentClientCount)); } } }
protected override void Read(OnlineReader Sender) { MapName = Sender.ReadString(); MapType = Sender.ReadString(); MapPath = Sender.ReadString(); MinNumberOfPlayer = Sender.ReadByte(); MaxNumberOfPlayer = Sender.ReadByte(); }
protected override void Read(OnlineReader Sender) { RoomID = Sender.ReadString(); RoomExist = Sender.ReadBoolean(); if (RoomExist) { CurrentPlayerCount = Sender.ReadByte(); MinNumberOfPlayer = Sender.ReadByte(); MaxNumberOfPlayer = Sender.ReadByte(); } }
protected override void Read(OnlineReader Sender) { LocalPlayerIndex = Sender.ReadByte(); int ArraySquadLength = Sender.ReadInt32(); ArrayNewSquad = new SquadLoadout[ArraySquadLength]; for (int S = 0; S < ArraySquadLength; ++S) { int UnitsInSquad = Sender.ReadInt32(); UnitLoadout[] ArrayNewUnit = new UnitLoadout[UnitsInSquad]; for (int U = 0; U < UnitsInSquad; ++U) { string UnitTypeName = Sender.ReadString(); string RelativePath = Sender.ReadString(); int ArrayCharacterLength = Sender.ReadInt32(); string[] ArrayNewCharacter = new string[UnitsInSquad]; for (int C = 0; C < ArrayCharacterLength; ++C) { ArrayNewCharacter[C] = Sender.ReadString(); } ArrayNewUnit[S] = new UnitLoadout(UnitTypeName, RelativePath, ArrayNewCharacter); } ArrayNewSquad[S] = new SquadLoadout(ArrayNewUnit); } }
protected override void Read(OnlineReader Sender) { WeaponCount = Sender.ReadByte(); ArrayCanAttack = new bool[WeaponCount]; for (int W = 0; W < WeaponCount; W++) { ArrayCanAttack[W] = Sender.ReadBoolean(); } }
public Squad GetOnlineSquad(OnlineReader ActivePlayer, out int SquadPlayerIndex) { SquadPlayerIndex = ActivePlayer.ReadInt32(); float SquadPositionX = ActivePlayer.ReadFloat(); float SquadPositionY = ActivePlayer.ReadFloat(); float SquadPositionZ = ActivePlayer.ReadFloat(); string ActiveSquadSquadName = ActivePlayer.ReadString(); byte UnitsInSquad = ActivePlayer.ReadByte(); Unit NewLeader = null, NewWingmanA = null, NewWingmanB = null; if (UnitsInSquad >= 1) { string UnitTypeName = ActivePlayer.ReadString(); string UnitName = ActivePlayer.ReadString(); int CharacterCount = ActivePlayer.ReadInt32(); NewLeader = Unit.FromType(UnitTypeName, UnitName, Map.Content, Map.DicUnitType, Map.DicRequirement, Map.DicEffect); NewLeader.ArrayCharacterActive = new Character[CharacterCount]; for (int C = 0; C < CharacterCount; C++) { NewLeader.ArrayCharacterActive[C] = new Character(ActivePlayer.ReadString(), Map.Content, Map.DicRequirement, Map.DicEffect); } //Initialise the Unit stats. NewLeader.Init(); } if (UnitsInSquad >= 2) { string UnitTypeName = ActivePlayer.ReadString(); string UnitName = ActivePlayer.ReadString(); int CharacterCount = ActivePlayer.ReadInt32(); NewWingmanA = Unit.FromType(UnitTypeName, UnitName, Map.Content, Map.DicUnitType, Map.DicRequirement, Map.DicEffect); NewWingmanA.ArrayCharacterActive = new Character[CharacterCount]; for (int C = 0; C < CharacterCount; C++) { NewWingmanA.ArrayCharacterActive[C] = new Character(ActivePlayer.ReadString(), Map.Content, Map.DicRequirement, Map.DicEffect); } //Initialise the Unit stats. NewWingmanA.Init(); } if (UnitsInSquad >= 3) { string UnitTypeName = ActivePlayer.ReadString(); string UnitName = ActivePlayer.ReadString(); int CharacterCount = ActivePlayer.ReadInt32(); NewWingmanB = Unit.FromType(UnitTypeName, UnitName, Map.Content, Map.DicUnitType, Map.DicRequirement, Map.DicEffect); NewWingmanB.ArrayCharacterActive = new Character[CharacterCount]; for (int C = 0; C < CharacterCount; C++) { NewWingmanB.ArrayCharacterActive[C] = new Character(ActivePlayer.ReadString(), Map.Content, Map.DicRequirement, Map.DicEffect); } //Initialise the Unit stats. NewWingmanB.Init(); } Squad NewSquad = new Squad(ActiveSquadSquadName, NewLeader, NewWingmanA, NewWingmanB); Map.SpawnSquad(SquadPlayerIndex, NewSquad, 0, new Vector3(SquadPositionX, SquadPositionY, SquadPositionZ)); return(NewSquad); }
protected override void Read(OnlineReader Sender) { Position = new Vector2(Sender.ReadFloat(), Sender.ReadFloat()); Speed = new Vector2(Sender.ReadFloat(), Sender.ReadFloat()); VFXType = Sender.ReadByte(); }
protected override void Read(OnlineReader Host) { Position = new Vector2(Host.ReadFloat(), Host.ReadFloat()); Speed = new Vector2(Host.ReadFloat(), Host.ReadFloat()); VFXType = (VFXTypes)Host.ReadByte(); }