public static void HandlePlayerAnimatorUpdate(byte[] _data)
        {
            r_ByteBuffer _buffer = new r_ByteBuffer();

            _buffer.WriteBytes(_data);

            int _packetID = _buffer.ReadInteger();
            int _index    = _buffer.ReadInteger();

            int _animatorType = _buffer.ReadInteger();

            switch (_animatorType)
            {
            case (int)AnimatorValueType.Int:
                r_NetworkManager.instance.SetRemoteAnimatorValues(_index, _buffer.ReadString(), _buffer.ReadInteger());
                break;

            case (int)AnimatorValueType.Bool:
                r_NetworkManager.instance.SetRemoteAnimatorValues(_index, _buffer.ReadString(), _buffer.ReadBool());
                break;

            case (int)AnimatorValueType.Float:
                r_NetworkManager.instance.SetRemoteAnimatorValues(_index, _buffer.ReadString(), _buffer.ReadFloat());
                break;
            }

            _buffer.Dispose();
        }
        public static void HandlePlayerAnimatorUpdate(int _connectionID, byte[] _data)
        {
            r_ByteBuffer _buffer = new r_ByteBuffer();

            _buffer.WriteBytes(_data);

            int _packetID     = _buffer.ReadInteger();
            int _animatorType = _buffer.ReadInteger();

            switch ((int)_animatorType)
            {
            case (int)AnimatorValueType.Int:
                r_ClientManager.UpdatePlayerAnimator(_connectionID, _buffer.ReadString(), _buffer.ReadInteger());
                break;

            case (int)AnimatorValueType.Bool:
                r_ClientManager.UpdatePlayerAnimator(_connectionID, _buffer.ReadString(), _buffer.ReadBool());
                break;

            case (int)AnimatorValueType.Float:
                r_ClientManager.UpdatePlayerAnimator(_connectionID, _buffer.ReadString(), _buffer.ReadFloat());
                break;
            }

            _buffer.Dispose();
        }
        public static void HandlePacketData(byte[] _data)
        {
            byte[] _buffer       = (byte[])_data.Clone();
            int    _packetLength = 0;

            if (m_Buffer == null)
            {
                m_Buffer = new r_ByteBuffer();
            }

            m_Buffer.WriteBytes(_buffer);

            if (m_Buffer.Count() == 0)
            {
                m_Buffer.Clear();
                return;
            }

            if (m_Buffer.Length() >= 4)
            {
                _packetLength = m_Buffer.ReadInteger(false);

                if (_packetLength <= 0)
                {
                    m_Buffer.Clear();
                    return;
                }
            }

            while (_packetLength > 0 & _packetLength <= m_Buffer.Length() - 4)
            {
                if (_packetLength <= m_Buffer.Length() - 4)
                {
                    m_Buffer.ReadInteger();
                    _data = m_Buffer.ReadBytes(_packetLength);

                    HandlePacket(_data);
                }

                _packetLength = 0;

                if (m_Buffer.Length() >= 4)
                {
                    _packetLength = m_Buffer.ReadInteger(false);

                    if (_packetLength <= 0)
                    {
                        m_Buffer.Clear();
                        return;
                    }
                }
            }

            if (_packetLength <= 1)
            {
                m_Buffer.Clear();
            }
        }
        public static void SendData(byte[] _data)
        {
            r_ByteBuffer _buffer = new r_ByteBuffer();

            _buffer.WriteInteger((_data.GetUpperBound(0) - _data.GetLowerBound(0)) + 1);
            _buffer.WriteBytes(_data);

            m_Stream.BeginWrite(_buffer.ToArray(), 0, _buffer.ToArray().Length, null, null);

            _buffer.Dispose();
        }
        public static void HandleDestroyPlayer(byte[] _data)
        {
            r_ByteBuffer _buffer = new r_ByteBuffer();

            _buffer.WriteBytes(_data);

            int _packetID = _buffer.ReadInteger();
            int _index    = _buffer.ReadInteger();

            _buffer.Dispose();

            r_NetworkManager.instance.DestoryPlayer(_index);
        }
        public static void HandleInstantiateLocalPlayerPacket(int _connectionID, byte[] _data)
        {
            r_ByteBuffer _buffer = new r_ByteBuffer();

            _buffer.WriteBytes(_data);

            int _packetID = _buffer.ReadInteger();

            _buffer.Dispose();

            r_ClientManager.InstantiateLocalPlayer(_connectionID);
            r_ClientManager.UpdateNetworkName(_connectionID);
        }
        public static void HandleRequestServerData(int _connectionID, byte[] _data)
        {
            r_ByteBuffer _buffer = new r_ByteBuffer();

            _buffer.WriteBytes(_data);

            int _packetID = _buffer.ReadInteger();

            _buffer.Dispose();

            r_ClientManager.InstantiateRemotePlayers(_connectionID);
            r_ClientManager.InstantiateWorldObjects(_connectionID);
            r_ClientManager.UpdateNetworkName(_connectionID);
        }
        public static void HandleSetNetworkName(byte[] _data)
        {
            r_ByteBuffer _buffer = new r_ByteBuffer();

            _buffer.WriteBytes(_data);

            int    _packetID    = _buffer.ReadInteger();
            int    _index       = _buffer.ReadInteger();
            string _networkName = _buffer.ReadString();

            _buffer.Dispose();

            r_NetworkManager.instance.SetNetworkName(_index, _networkName);
        }
Example #9
0
        public static void HandleInstantiatePlayer(byte[] _data)
        {
            r_ByteBuffer _buffer = new r_ByteBuffer();

            _buffer.WriteBytes(_data);

            int    _packetID    = _buffer.ReadInteger();
            int    _index       = _buffer.ReadInteger();
            string _networkName = _buffer.ReadString();

            _buffer.Dispose();

            r_NetworkInstantiate.InstantiatePlayer(_index, _networkName);
        }
Example #10
0
        public static void HandleEntityUpdate(int _connectionID, byte[] _data)
        {
            r_ByteBuffer _buffer = new r_ByteBuffer();

            _buffer.WriteBytes(_data);

            int    _packetID = _buffer.ReadInteger();
            string _guid     = _buffer.ReadString();

            r_Vector3 _position = new r_Vector3(_buffer.ReadFloat(), _buffer.ReadFloat(), _buffer.ReadFloat());

            _buffer.Dispose();

            r_WorldManager.UpdateEntityPosition(_guid, _position);
        }
        private static void HandlePacket(int _connectionID, byte[] _data)
        {
            r_ByteBuffer _buffer = new r_ByteBuffer();

            _buffer.WriteBytes(_data);

            int _packetID = _buffer.ReadInteger();

            _buffer.Dispose();

            if (m_Packets.TryGetValue(_packetID, out Packet _packet))
            {
                _packet.Invoke(_connectionID, _data);
            }
        }
        public static void HandleSetNetworkName(int _connectionID, byte[] _data)
        {
            r_ByteBuffer _buffer = new r_ByteBuffer();

            _buffer.WriteBytes(_data);

            int    _packetID = _buffer.ReadInteger();
            string _nickName = _buffer.ReadString();

            _buffer.Dispose();

            if (r_ClientManager.m_Clients.ContainsKey(_connectionID))
            {
                r_ClientManager.m_Clients[_connectionID].m_NetworkName = _nickName;
            }
        }
Example #13
0
        public static void HandleAuthenticationConfirmed(byte[] _data)
        {
            r_ByteBuffer _buffer = new r_ByteBuffer();

            _buffer.WriteBytes(_data);

            int _packetID     = _buffer.ReadInteger();
            int _connectionID = _buffer.ReadInteger();

            _buffer.Dispose();

            //set it
            r_NetworkManager.instance.m_ConnectionID = _connectionID;

            r_SceneManager.instance.LoadSceneAsync("GameScene");
        }
Example #14
0
        public static void HandleAuthentication(byte[] _data)
        {
            r_ByteBuffer _buffer = new r_ByteBuffer();

            _buffer.WriteBytes(_data);

            int _packetID     = _buffer.ReadInteger();
            int _connectionID = _buffer.ReadInteger();

            _buffer.Dispose();

            //we save the connection id, even if the client get's kicked.
            r_NetworkManager.instance.m_ConnectionID = _connectionID;

            r_SendAuthenticationPacket.SendAuthenticationToServer(r_ClientConfiguration.m_ClientVersion);
        }
Example #15
0
        public static void HandleEntityUpdatePacket(byte[] _data)
        {
            r_ByteBuffer _buffer = new r_ByteBuffer();

            _buffer.WriteBytes(_data);

            int    _packetID = _buffer.ReadInteger();
            string _guid     = _buffer.ReadString();

            Vector3    _position = new Vector3(_buffer.ReadFloat(), _buffer.ReadFloat(), _buffer.ReadFloat());
            Quaternion _rotation = new Quaternion(_buffer.ReadFloat(), _buffer.ReadFloat(), _buffer.ReadFloat(), _buffer.ReadFloat());

            EntityType _entityType = (EntityType)_buffer.ReadInteger();

            _buffer.Dispose();

            r_WorldObjectManager.UpdateObjectPosition(_guid, _position, _rotation, _entityType);
        }
Example #16
0
        public static void HandleAuthenticationPacket(int _connectionID, byte[] _data)
        {
            r_ByteBuffer _buffer = new r_ByteBuffer();

            _buffer.WriteBytes(_data);

            int    _packetID      = _buffer.ReadInteger();
            string _clientVersion = _buffer.ReadString();

            _buffer.Dispose();

            if (r_General.CheckVersionMatch(_clientVersion))
            {
                r_SendAuthenticationPacket.SendAuthenticationConfirmed(_connectionID);
            }
            else
            {
                r_ClientManager.m_Clients[_connectionID].CloseConnection(false);
            }
        }
        public static void HandleWorldObjects(byte[] _data)
        {
            r_ByteBuffer _buffer = new r_ByteBuffer();

            _buffer.WriteBytes(_data);

            int _packetID = _buffer.ReadInteger();

            string _prefab = _buffer.ReadString();
            string _guid   = _buffer.ReadString();

            Vector3    _position = new Vector3(_buffer.ReadFloat(), _buffer.ReadFloat(), _buffer.ReadFloat());
            Quaternion _rotation = new Quaternion(_buffer.ReadFloat(), _buffer.ReadFloat(), _buffer.ReadFloat(), _buffer.ReadFloat());

            EntityType _entityType = (EntityType)_buffer.ReadInteger();

            _buffer.Dispose();

            r_NetworkInstantiate.InstantiateWorldObject(_prefab, _guid, _position, _rotation, _entityType);
        }
        public static void HandlePlayerUpdate(int _connectionID, byte[] _data)
        {
            r_ByteBuffer _buffer = new r_ByteBuffer();

            _buffer.WriteBytes(_data);

            int _packetID = _buffer.ReadInteger();

            r_Vector3    _position = new r_Vector3(_buffer.ReadFloat(), _buffer.ReadFloat(), _buffer.ReadFloat());
            r_Quaternion _rotation = new r_Quaternion(_buffer.ReadFloat(), _buffer.ReadFloat(), _buffer.ReadFloat(), _buffer.ReadFloat());

            _buffer.Dispose();

            if (r_ClientManager.m_Clients.ContainsKey(_connectionID))
            {
                r_ClientManager.m_Clients[_connectionID].m_Position = _position;
                r_ClientManager.m_Clients[_connectionID].m_Rotation = _rotation;
            }

            r_ClientManager.UpdateNetworkPlayer(_connectionID, _position, _rotation);
        }
        public static void HandlePlayerUpdate(byte[] _data)
        {
            r_ByteBuffer _buffer = new r_ByteBuffer();

            _buffer.WriteBytes(_data);

            int _packetID = _buffer.ReadInteger();
            int _index    = _buffer.ReadInteger();

            float _pX = _buffer.ReadFloat();
            float _pY = _buffer.ReadFloat();
            float _pZ = _buffer.ReadFloat();


            float _rX = _buffer.ReadFloat();
            float _rY = _buffer.ReadFloat();
            float _rZ = _buffer.ReadFloat();
            float _rW = _buffer.ReadFloat();

            _buffer.Dispose();

            r_NetworkManager.instance.UpdateRemotePlayer(_index, _pX, _pY, _pZ, _rX, _rY, _rZ, _rW);
        }
        public static void SendDataToAll(byte[] _data)
        {
            r_ByteBuffer _buffer = new r_ByteBuffer();

            _buffer.WriteInteger((_data.GetUpperBound(0) - _data.GetLowerBound(0)) + 1);
            _buffer.WriteBytes(_data);

            if (m_Clients.Count == 0)
            {
                _buffer.Dispose();
                return;
            }

            if (m_Clients.Count > 0)
            {
                foreach (var _client in m_Clients)
                {
                    _client.Value.m_Stream.BeginWrite(_buffer.ToArray(), 0, _buffer.ToArray().Length, null, null);
                }
            }

            _buffer.Dispose();
        }