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();
                    int    MaxPlayer          = Sender.ReadInt32();
                    int    CurrentClientCount = Sender.ReadInt32();

                    ListRoomUpdates.Add(new ServerRoomInformations(RoomID, Name, RoomType, RoomSubtype, IsPlaying, MaxPlayer, CurrentClientCount));
                }
            }
        }
        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);
            }
        }
예제 #3
0
 protected override void Read(OnlineReader Sender)
 {
     MapName           = Sender.ReadString();
     MapType           = Sender.ReadString();
     MapPath           = Sender.ReadString();
     MinNumberOfPlayer = Sender.ReadByte();
     MaxNumberOfPlayer = Sender.ReadByte();
 }
예제 #4
0
        protected override void Read(OnlineReader Sender)
        {
            int ListJoiningPlayerInfoCount = Sender.ReadInt32();

            for (int P = 0; P < ListJoiningPlayerInfoCount; P++)
            {
                Player JoiningPlayer = new Player(Sender.ReadString(), Sender.ReadString(), Player.PlayerTypes.Player, true, 0);
                JoiningPlayer.Equipment.CharacterType = Sender.ReadString();
                ListJoiningPlayer.Add(JoiningPlayer);
            }
        }
        protected override void Read(OnlineReader Sender)
        {
            RoomID = Sender.ReadString();

            using (MemoryStream MS = new MemoryStream(Sender.ReadByteArray()))
            {
                using (BinaryReader BR = new BinaryReader(MS))
                {
                    int NumberOfPlayers = BR.ReadInt32();
                    for (int P = 0; P < NumberOfPlayers; ++P)
                    {
                        Player NewPlayer = new Player();
                        NewPlayer.ID   = BR.ReadString();
                        NewPlayer.Name = BR.ReadString();
                        ListPlayer.Add(NewPlayer);
                    }
                }
            }

            HasGame = Sender.ReadBoolean();

            if (HasGame)
            {
                PlayerID      = Sender.ReadUInt32();
                ArrayGameData = Sender.ReadByteArray();
            }
        }
        protected override void Read(OnlineReader Sender)
        {
            int ListOtherMasterCount = Sender.ReadInt32();

            for (int M = 0; M < ListOtherMasterCount; ++M)
            {
                ListOtherMasterIP.Add(Sender.ReadString());
            }
        }
        protected override void Read(OnlineReader Sender)
        {
            PlayerID   = Sender.ReadUInt32();
            LayerIndex = Sender.ReadInt32();

            Team      = Sender.ReadInt32();
            AIPath    = Sender.ReadString();
            EnemyPath = Sender.ReadString();
            Position  = new Vector2(Sender.ReadFloat(), Sender.ReadFloat());

            int ListWeaponsCount = Sender.ReadInt32();

            ListWeapons = new List <string>(ListWeaponsCount);
            for (int W = 0; W < ListWeaponsCount; ++W)
            {
                ListWeapons.Add(Sender.ReadString());
            }
        }
        protected override void Read(OnlineReader Sender)
        {
            int ListLocalCharacterIDCount = Sender.ReadInt32();

            for (int i = 0; i < ListLocalCharacterIDCount; ++i)
            {
                ListLocalCharacterID.Add(Sender.ReadUInt32());
            }

            int ListAllCharacterIDCount = Sender.ReadInt32();

            for (int i = 0; i < ListAllCharacterIDCount; ++i)
            {
                uint   RobotID   = Sender.ReadUInt32();
                Player NewPlayer = new Player(Sender.ReadString(), Sender.ReadString(), Player.PlayerTypes.Online, true, Sender.ReadInt32());
                DicAllPlayer.Add(RobotID, NewPlayer);
            }

            ArrayGameData = Sender.ReadByteArray();
        }
        protected override void Read(OnlineReader Sender)
        {
            RoomID    = Sender.ReadString();
            RoomExist = Sender.ReadBoolean();

            if (RoomExist)
            {
                CurrentPlayerCount = Sender.ReadInt32();
                MaxNumberOfPlayer  = Sender.ReadInt32();
            }
        }
예제 #10
0
        protected override void Read(OnlineReader Sender)
        {
            int ListJoiningPlayerInfoCount = Sender.ReadInt32();

            for (int P = 0; P < ListJoiningPlayerInfoCount; P++)
            {
                BattleMapPlayer JoiningPlayer = new BattleMapPlayer(Sender.ReadString(), Sender.ReadString(), BattleMapPlayer.PlayerTypes.Player, true, 0, true, Color.Blue);

                ListJoiningPlayer.Add(JoiningPlayer);
            }
        }
        protected override void Read(OnlineReader Host)
        {
            OwnerID    = Host.ReadUInt32();
            LayerIndex = Host.ReadInt32();
            WeaponName = Host.ReadString();

            GunNozzlePosition = new Vector2(Host.ReadFloat(), Host.ReadFloat());

            int NumberOfBullets = Host.ReadInt32();

            ListSpeed = new List <Vector2>(NumberOfBullets);
            for (int B = 0; B < NumberOfBullets; ++B)
            {
                ListSpeed.Add(new Vector2(Host.ReadFloat(), Host.ReadFloat()));
            }
        }
        public static GamePlayer ReadGamePlayer(OnlineReader Sender)
        {
            uint    GamePlayerID   = Sender.ReadUInt32();
            int     LayerIndex     = Sender.ReadInt32();
            Vector2 PlayerPosition = new Vector2(Sender.ReadFloat(), Sender.ReadFloat());

            string PlayerID   = Sender.ReadString();
            string PlayerName = Sender.ReadString();
            string PlayerType = Sender.ReadString();
            int    PlayerTeam = Sender.ReadInt32();

            Player PlayerInfo = new Player(PlayerID, PlayerName, PlayerType, PlayerTeam);

            PlayerInfo.Equipment.CharacterType = Sender.ReadString();
            /*PlayerInfo.Equipment.EquipedBooster =*/ Sender.ReadString();
            PlayerInfo.Equipment.GrenadeType = Sender.ReadString();
            /*PlayerInfo.Equipment.EquipedSecondaryWeapon = */ Sender.ReadString();
            /*PlayerInfo.Equipment.EquipedWeaponOption =*/ Sender.ReadString();
            /*PlayerInfo.Equipment.EquipedArmor =*/ Sender.ReadString();

            return(new GamePlayer(GamePlayerID, null, LayerIndex, PlayerPosition, PlayerInfo));
        }
        protected override void Read(OnlineReader Sender)
        {
            int ListPlayerNameCount = Sender.ReadInt32();

            ArrayLobbyFriend = new Player[ListPlayerNameCount];
            for (int P = 0; P < ListPlayerNameCount; ++P)
            {
                string     PlayerID        = Sender.ReadString();
                byte[]     ArrayPlayerInfo = Sender.ReadByteArray();
                ByteReader BR = new ByteReader(ArrayPlayerInfo);

                ArrayLobbyFriend[P]       = new Player(PlayerID, BR.ReadString(), Player.PlayerTypes.Online, 0);
                ArrayLobbyFriend[P].Level = BR.ReadInt32();

                BR.Clear();
            }
        }
        protected override void Read(OnlineReader Host)
        {
            LayerIndex = Host.ReadInt32();
            PlayerID   = Host.ReadUInt32();

            PositionX            = Host.ReadFloat();
            PositionY            = Host.ReadFloat();
            SpeedX               = Host.ReadFloat();
            SpeedY               = Host.ReadFloat();
            ActiveMovementStance = Host.ReadString();

            WeaponCount     = Host.ReadInt32();
            ListWeaponAngle = new List <float>(WeaponCount);
            for (int W = 0; W < WeaponCount; W++)
            {
                ListWeaponAngle.Add(Host.ReadFloat());
            }
        }
예제 #15
0
        protected override void Read(OnlineReader Sender)
        {
            RoomID            = Sender.ReadString();
            RoomName          = Sender.ReadString();
            MapPath           = Sender.ReadString();
            RoomType          = Sender.ReadString();
            RoomSubtype       = Sender.ReadString();
            CurrentDifficulty = Sender.ReadString();

            int ListJoiningPlayerCount = Sender.ReadInt32();

            for (int P = 0; P < ListJoiningPlayerCount; ++P)
            {
                ListJoiningPlayerID.Add(Sender.ReadString());
            }

            RoomData = Sender.ReadByteArray();

            HasGame = Sender.ReadBoolean();
        }
 protected override void Read(OnlineReader Sender)
 {
     PlayerID   = Sender.ReadString();
     PlayerInfo = Sender.ReadByteArray();
 }
            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);
            }
예제 #18
0
 protected override void Read(OnlineReader Sender)
 {
     CurrentDifficulty = Sender.ReadString();
     MissionPath       = Sender.ReadString();
 }
예제 #19
0
 protected override void Read(OnlineReader Sender)
 {
     PlayerID = Sender.ReadString();
     Team     = Sender.ReadInt32();
 }
예제 #20
0
 protected override void Read(OnlineReader Host)
 {
     PlayerID = Host.ReadUInt32();
     Input    = Host.ReadString();
 }
 protected override void Read(OnlineReader Sender)
 {
     PlayerID      = Sender.ReadString();
     CharacterType = Sender.ReadString();
 }
예제 #22
0
 protected override void Read(OnlineReader Sender)
 {
     NewPlayerType = Sender.ReadString();
 }
 protected override void Read(OnlineReader Sender)
 {
     RoomPlayerID   = Sender.ReadString();
     InGamePlayerID = Sender.ReadUInt32();
 }
 protected override void Read(OnlineReader Sender)
 {
     NextLevelPath = Sender.ReadString();
 }
예제 #25
0
 protected override void Read(OnlineReader Sender)
 {
     RoomSubtype = Sender.ReadString();
 }
 protected override void Read(OnlineReader Sender)
 {
     RoomID        = Sender.ReadString();
     ArrayGameData = Sender.ReadByteArray();
 }
 protected override void Read(OnlineReader Sender)
 {
     PlayerID   = Sender.ReadString();
     PlayerName = Sender.ReadString();
 }
예제 #28
0
 protected override void Read(OnlineReader Sender)
 {
     Text = Sender.ReadString();
 }