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();
            }
        }
Example #4
0
        public static void SendRequestServerData()
        {
            r_ByteBuffer _buffer = new r_ByteBuffer();

            _buffer.WriteInteger((int)ClientPackets.RequestServerData);

            r_Client.SendData(_buffer.ToArray());

            _buffer.Dispose();
        }
        public static void SendInstantiateLocalPlayer()
        {
            r_ByteBuffer _buffer = new r_ByteBuffer();

            _buffer.WriteInteger((int)ClientPackets.InstantiateLocalPlayer);

            r_Client.SendData(_buffer.ToArray());

            _buffer.Dispose();
        }
Example #6
0
        public static void SendAuthenticationConfirmed(int _connectionID)
        {
            r_ByteBuffer _ByteBuffer = new r_ByteBuffer();

            _ByteBuffer.WriteInteger((int)ServerPackets.SendAuthenticationConfirmed);
            _ByteBuffer.WriteInteger(_connectionID);

            r_ClientManager.SendDataTo(_connectionID, _ByteBuffer.ToArray());

            _ByteBuffer.Dispose();
        }
        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();
        }
Example #8
0
        public static void SendAuthenticationToServer(string _clientVersion)
        {
            r_ByteBuffer _buffer = new r_ByteBuffer();

            _buffer.WriteInteger((int)ClientPackets.Authentication);
            _buffer.WriteString(_clientVersion);

            r_Client.SendData(_buffer.ToArray());

            _buffer.Dispose();
        }
        public static void SendDestoryNetworkPlayer(int _index)
        {
            r_ByteBuffer _buffer = new r_ByteBuffer();

            _buffer.WriteInteger((int)ServerPackets.DestoryPlayer);
            _buffer.WriteInteger(_index);

            r_ClientManager.SendDataToAllExcept(_index, _buffer.ToArray());

            _buffer.Dispose();
        }
Example #10
0
        public static void SendNetworkName(string _networkName)
        {
            r_ByteBuffer _buffer = new r_ByteBuffer();

            _buffer.WriteInteger((int)ClientPackets.SetNetworkName);
            _buffer.WriteString(_networkName);

            r_Client.SendData(_buffer.ToArray());

            _buffer.Dispose();
        }
        public static void SendInstantiateRemotePlayer(int _index, int _connectionID, string _networkName)
        {
            r_ByteBuffer _buffer = new r_ByteBuffer();

            _buffer.WriteInteger((int)ServerPackets.InstantiateRemotePlayer);
            _buffer.WriteInteger(_index);
            _buffer.WriteString(_networkName);

            r_ClientManager.SendDataTo(_connectionID, _buffer.ToArray());

            _buffer.Dispose();
        }
        public static void SendNetworkName(int _index, string _networkName)
        {
            r_ByteBuffer _buffer = new r_ByteBuffer();

            _buffer.WriteInteger((int)ServerPackets.SetNetworkName);
            _buffer.WriteInteger(_index);
            _buffer.WriteString(_networkName);

            r_ClientManager.SendDataToAll(_buffer.ToArray());

            _buffer.Dispose();
        }
        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 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 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);
        }
        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);
        }
Example #17
0
        public static void SendAnimatorValue(string _paramaterName, bool _value)
        {
            r_ByteBuffer _buffer = new r_ByteBuffer();

            _buffer.WriteInteger((int)ClientPackets.UpdatePlayerAnimator);

            _buffer.WriteInteger((int)AnimatorValueType.Bool);
            _buffer.WriteString(_paramaterName);
            _buffer.WriteBool(_value);

            r_Client.SendData(_buffer.ToArray());

            _buffer.Dispose();
        }
Example #18
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 #19
0
        public static void SendAnimatorValue(string _paramaterName, float _value)
        {
            r_ByteBuffer _buffer = new r_ByteBuffer();

            _buffer.WriteInteger((int)ClientPackets.UpdatePlayerAnimator);

            _buffer.WriteInteger((int)AnimatorValueType.Float);
            _buffer.WriteString(_paramaterName);
            _buffer.WriteFloat(_value);

            UnityEngine.Debug.Log($"[SENDING][FLOAT] ({_value}) to server");
            r_Client.SendData(_buffer.ToArray());

            _buffer.Dispose();
        }
Example #20
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;
            }
        }
        public static void SendEntityUpdate(string _guid, Vector3 _position)
        {
            r_ByteBuffer _buffer = new r_ByteBuffer();

            _buffer.WriteInteger((int)ClientPackets.UpdateEntity);

            _buffer.WriteString(_guid);

            _buffer.WriteFloat(_position.x);
            _buffer.WriteFloat(_position.y);
            _buffer.WriteFloat(_position.z);

            r_Client.SendData(_buffer.ToArray());

            _buffer.Dispose();
        }
Example #24
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 #25
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);
        }
        public static void HandlePlayerAnimatorUpdate(int _index, string _paramaterName, float _value)
        {
            r_ByteBuffer _buffer = new r_ByteBuffer();

            _buffer.WriteInteger((int)ServerPackets.UpdatePlayerAnimator);
            _buffer.WriteInteger(_index);

            //send to clients
            _buffer.WriteInteger((int)AnimatorValueType.Float);
            _buffer.WriteString(_paramaterName);
            _buffer.WriteFloat(_value);

            r_ClientManager.SendDataToAll(_buffer.ToArray());

            _buffer.Dispose();
        }
Example #27
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 #28
0
        public static void SendPlayerUpdate(float _pX, float _pY, float _pZ, float _rX, float _rY, float _rZ, float _rW)
        {
            r_ByteBuffer _buffer = new r_ByteBuffer();

            _buffer.WriteInteger((int)ClientPackets.UpdatePlayer);

            _buffer.WriteFloat(_pX);
            _buffer.WriteFloat(_pY);
            _buffer.WriteFloat(_pZ);

            _buffer.WriteFloat(_rX);
            _buffer.WriteFloat(_rY);
            _buffer.WriteFloat(_rZ);
            _buffer.WriteFloat(_rW);

            r_Client.SendData(_buffer.ToArray());

            _buffer.Dispose();
        }
Example #29
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);
            }
        }
        /// <summary>
        /// Handles the player's position and rotation update
        /// </summary>
        public static void HandlePlayerUpdate(int _index, r_Vector3 _position, r_Quaternion _rotation)
        {
            r_ByteBuffer _buffer = new r_ByteBuffer();

            _buffer.WriteInteger((int)ServerPackets.UpdatePlayer);
            _buffer.WriteInteger(_index);

            _buffer.WriteFloat(_position.x);
            _buffer.WriteFloat(_position.y);
            _buffer.WriteFloat(_position.z);

            _buffer.WriteFloat(_rotation.x);
            _buffer.WriteFloat(_rotation.y);
            _buffer.WriteFloat(_rotation.z);
            _buffer.WriteFloat(_rotation.w);

            r_ClientManager.SendDataToAll(_buffer.ToArray());

            _buffer.Dispose();
        }