public override void Deserialize(QNetworkReader reader)
 {
     base.Deserialize(reader);
     SocketId   = reader.ReadInt32();
     ItemId     = reader.ReadInt32();
     SocketType = (SocketEventType)reader.ReadInt32();
 }
Esempio n. 2
0
 public override void Deserialize(QNetworkReader reader)
 {
     base.Deserialize(reader);
     FactId           = reader.ReadString();
     SaveGame         = reader.ReadBoolean();
     ShowNotification = reader.ReadBoolean();
 }
        internal bool InvokeSyncListDelegate(int cmdHash, QNetworkReader reader)
        {
            bool result;

            if (!s_CmdHandlerDelegates.ContainsKey(cmdHash))
            {
                result = false;
            }
            else
            {
                var invoker = s_CmdHandlerDelegates[cmdHash];
                if (invoker.invokeType != UNetInvokeType.SyncList)
                {
                    result = false;
                }
                else if (GetType() != invoker.invokeClass)
                {
                    result = false;
                }
                else
                {
                    invoker.invokeFunction(this, reader);
                    result = true;
                }
            }
            return(result);
        }
Esempio n. 4
0
 public override void Deserialize(QNetworkReader reader)
 {
     base.Deserialize(reader);
     StateIndex   = reader.ReadInt32();
     OnUnitSphere = reader.ReadVector3();
     OrbitAngle   = reader.ReadInt32();
 }
 public override void Deserialize(QNetworkReader reader)
 {
     base.Deserialize(reader);
     PlayerPosition = reader.ReadVector3();
     PlayerRotation = reader.ReadQuaternion();
     CameraDegrees  = reader.ReadSingle();
 }
        internal bool InvokeRpcDelegate(int cmdHash, QNetworkReader reader)
        {
            bool result;

            if (!s_CmdHandlerDelegates.ContainsKey(cmdHash))
            {
                result = false;
            }
            else
            {
                var invoker = s_CmdHandlerDelegates[cmdHash];
                if (invoker.invokeType != UNetInvokeType.ClientRpc)
                {
                    result = false;
                }
                else
                {
                    if (GetType() != invoker.invokeClass)
                    {
                        if (!GetType().IsSubclassOf(invoker.invokeClass))
                        {
                            return(false);
                        }
                    }
                    invoker.invokeFunction(this, reader);
                    result = true;
                }
            }
            return(result);
        }
 public override void Deserialize(QNetworkReader reader)
 {
     base.Deserialize(reader);
     CharacterId = reader.ReadInt32();
     PlayerId    = reader.ReadUInt32();
     State       = reader.ReadBoolean();
 }
 public override void Deserialize(QNetworkReader reader)
 {
     base.Deserialize(reader);
     PlayerName  = reader.ReadString();
     PlayerReady = reader.ReadBoolean();
     PlayerState = (State)reader.ReadInt32();
 }
Esempio n. 9
0
 public override void Deserialize(QNetworkReader reader)
 {
     netId          = reader.ReadNetworkId();
     stateHash      = (int)reader.ReadPackedUInt32();
     normalizedTime = reader.ReadSingle();
     parameters     = reader.ReadBytesAndSize();
 }
Esempio n. 10
0
 public override void Deserialize(QNetworkReader reader)
 {
     NetId    = reader.ReadNetworkId();
     SceneId  = reader.ReadSceneId();
     Position = reader.ReadVector3();
     Payload  = reader.ReadBytesAndSize();
 }
Esempio n. 11
0
 protected void HandleReader(QNetworkReader reader, int receivedSize, int channelId)
 {
     while (reader.Position < receivedSize)
     {
         var num     = reader.ReadUInt16();
         var num2    = reader.ReadInt16();
         var array   = reader.ReadBytes(num);
         var reader2 = new QNetworkReader(array);
         QNetworkMessageDelegate networkMessageDelegate = null;
         if (m_MessageHandlersDict.ContainsKey(num2))
         {
             networkMessageDelegate = m_MessageHandlersDict[num2];
         }
         if (networkMessageDelegate == null)
         {
             QLog.Error($"Unknown message ID {num2} connId:{connectionId}");
             break;
         }
         m_NetMsg.MsgType    = num2;
         m_NetMsg.Reader     = reader2;
         m_NetMsg.Connection = this;
         m_NetMsg.ChannelId  = channelId;
         networkMessageDelegate(m_NetMsg);
         lastMessageTime = Time.time;
     }
 }
 public virtual void OnDeserialize(QNetworkReader reader, bool initialState)
 {
     if (!initialState)
     {
         reader.ReadPackedUInt32();
     }
 }
Esempio n. 13
0
        public bool InvokeHandler(short msgType, QNetworkReader reader, int channelId)
        {
            bool result;

            if (m_MessageHandlersDict.ContainsKey(msgType))
            {
                m_MessageInfo.MsgType    = msgType;
                m_MessageInfo.Connection = this;
                m_MessageInfo.Reader     = reader;
                m_MessageInfo.ChannelId  = channelId;
                var networkMessageDelegate = m_MessageHandlersDict[msgType];
                if (networkMessageDelegate == null)
                {
                    result = false;
                }
                else
                {
                    networkMessageDelegate(m_MessageInfo);
                    result = true;
                }
            }
            else
            {
                result = false;
            }
            return(result);
        }
Esempio n. 14
0
 public override void Deserialize(QNetworkReader reader)
 {
     base.Deserialize(reader);
     SlotId    = reader.ReadInt32();
     OrbId     = reader.ReadInt32();
     SlotState = reader.ReadBoolean();
 }
        private static float ReadAngle(QNetworkReader reader, CompressionSyncMode compression)
        {
            float result;

            if (compression != CompressionSyncMode.None)
            {
                if (compression != CompressionSyncMode.Low)
                {
                    if (compression != CompressionSyncMode.High)
                    {
                        result = 0f;
                    }
                    else
                    {
                        result = reader.ReadInt16();
                    }
                }
                else
                {
                    result = reader.ReadInt16();
                }
            }
            else
            {
                result = reader.ReadSingle();
            }
            return(result);
        }
        public override void Deserialize(QNetworkReader reader)
        {
            base.Deserialize(reader);
            ObjectId = reader.ReadInt32();
            Position = reader.ReadVector3();
            Normal   = reader.ReadVector3();
            var sectorId = reader.ReadInt32();

            Sector = QSBWorldSync.GetWorldFromId <QSBSector>(sectorId).AttachedObject;
        }
Esempio n. 17
0
 public override void Deserialize(QNetworkReader reader)
 {
     NetId    = reader.ReadNetworkId();
     assetId  = reader.ReadNetworkHash128();
     Position = reader.ReadVector3();
     Payload  = reader.ReadBytesAndSize();
     if (reader.Length - reader.Position >= 16U)
     {
         Rotation = reader.ReadQuaternion();
     }
 }
Esempio n. 18
0
        public override void Deserialize(QNetworkReader reader)
        {
            var num = (int)reader.ReadUInt16();

            scripts = new QCRCMessageEntry[num];
            for (var i = 0; i < scripts.Length; i++)
            {
                var crcmessageEntry = default(QCRCMessageEntry);
                crcmessageEntry.name    = reader.ReadString();
                crcmessageEntry.channel = reader.ReadByte();
                scripts[i] = crcmessageEntry;
            }
        }
Esempio n. 19
0
 internal void HandleFragment(QNetworkReader reader, int channelId)
 {
     if (channelId >= 0 && channelId < m_Channels.Length)
     {
         var channelBuffer = m_Channels[channelId];
         if (channelBuffer.HandleFragment(reader))
         {
             var networkReader = new QNetworkReader(channelBuffer._fragmentBuffer.AsArraySegment().Array);
             networkReader.ReadInt16();
             var msgType = networkReader.ReadInt16();
             InvokeHandler(msgType, networkReader, channelId);
         }
     }
 }
 public override void OnDeserialize(QNetworkReader reader, bool initialState)
 {
     if (!IsServer || !QNetworkServer.localClientActive)
     {
         if (!initialState)
         {
             if (reader.ReadPackedUInt32() == 0U)
             {
                 return;
             }
         }
         UnserializeModeTransform(reader, initialState);
         LastSyncTime = Time.time;
     }
 }
Esempio n. 21
0
        private void LogSend(byte[] bytes)
        {
            var networkReader = new QNetworkReader(bytes);
            var num           = networkReader.ReadUInt16();
            var num2          = networkReader.ReadUInt16();
            var stringBuilder = new StringBuilder();

            for (var i = 4; i < 4 + num; i++)
            {
                stringBuilder.AppendFormat("{0:X2}", bytes[i]);
                if (i > 150)
                {
                    break;
                }
            }
            QLog.Log(
                $"ConnectionSend con:{connectionId} bytes:{num} msgId:{num2} {stringBuilder}");
        }
        public static Quaternion UnserializeRotation3D(QNetworkReader reader, AxisSyncMode mode, CompressionSyncMode compression)
        {
            var identity = Quaternion.identity;
            var zero     = Vector3.zero;

            switch (mode)
            {
            case AxisSyncMode.AxisX:
                zero.Set(ReadAngle(reader, compression), 0f, 0f);
                identity.eulerAngles = zero;
                break;

            case AxisSyncMode.AxisY:
                zero.Set(0f, ReadAngle(reader, compression), 0f);
                identity.eulerAngles = zero;
                break;

            case AxisSyncMode.AxisZ:
                zero.Set(0f, 0f, ReadAngle(reader, compression));
                identity.eulerAngles = zero;
                break;

            case AxisSyncMode.AxisXY:
                zero.Set(ReadAngle(reader, compression), ReadAngle(reader, compression), 0f);
                identity.eulerAngles = zero;
                break;

            case AxisSyncMode.AxisXZ:
                zero.Set(ReadAngle(reader, compression), 0f, ReadAngle(reader, compression));
                identity.eulerAngles = zero;
                break;

            case AxisSyncMode.AxisYZ:
                zero.Set(0f, ReadAngle(reader, compression), ReadAngle(reader, compression));
                identity.eulerAngles = zero;
                break;

            case AxisSyncMode.AxisXYZ:
                zero.Set(ReadAngle(reader, compression), ReadAngle(reader, compression), ReadAngle(reader, compression));
                identity.eulerAngles = zero;
                break;
            }
            return(identity);
        }
 private void UnserializeModeTransform(QNetworkReader reader, bool initialState)
 {
     if (HasAuthority)
     {
         reader.ReadVector3();
         if (SyncRotationAxis != AxisSyncMode.None)
         {
             UnserializeRotation3D(reader, SyncRotationAxis, RotationSyncCompression);
         }
     }
     else if (IsServer && clientMoveCallback3D != null)
     {
         var position = reader.ReadVector3();
         var zero     = Vector3.zero;
         var rotation = Quaternion.identity;
         if (SyncRotationAxis != AxisSyncMode.None)
         {
             rotation = UnserializeRotation3D(reader, SyncRotationAxis, RotationSyncCompression);
         }
         if (clientMoveCallback3D(ref position, ref zero, ref rotation))
         {
             transform.position = position;
             if (SyncRotationAxis != AxisSyncMode.None)
             {
                 transform.rotation = rotation;
             }
         }
     }
     else
     {
         transform.position = reader.ReadVector3();
         if (SyncRotationAxis != AxisSyncMode.None)
         {
             transform.rotation = UnserializeRotation3D(reader, SyncRotationAxis, RotationSyncCompression);
         }
     }
 }
        public static Vector3 UnserializeSpin3D(QNetworkReader reader, AxisSyncMode mode, CompressionSyncMode compression)
        {
            var zero = Vector3.zero;

            switch (mode)
            {
            case AxisSyncMode.AxisX:
                zero.Set(ReadAngle(reader, compression), 0f, 0f);
                break;

            case AxisSyncMode.AxisY:
                zero.Set(0f, ReadAngle(reader, compression), 0f);
                break;

            case AxisSyncMode.AxisZ:
                zero.Set(0f, 0f, ReadAngle(reader, compression));
                break;

            case AxisSyncMode.AxisXY:
                zero.Set(ReadAngle(reader, compression), ReadAngle(reader, compression), 0f);
                break;

            case AxisSyncMode.AxisXZ:
                zero.Set(ReadAngle(reader, compression), 0f, ReadAngle(reader, compression));
                break;

            case AxisSyncMode.AxisYZ:
                zero.Set(0f, ReadAngle(reader, compression), ReadAngle(reader, compression));
                break;

            case AxisSyncMode.AxisXYZ:
                zero.Set(ReadAngle(reader, compression), ReadAngle(reader, compression), ReadAngle(reader, compression));
                break;
            }
            return(zero);
        }
Esempio n. 25
0
 private static void ApplySpawnPayload(QNetworkIdentity uv, Vector3 position, byte[] payload, NetworkInstanceId netId, GameObject newGameObject)
 {
     if (!uv.gameObject.activeSelf)
     {
         uv.gameObject.SetActive(true);
     }
     uv.transform.position = position;
     if (payload != null && payload.Length > 0)
     {
         var reader = new QNetworkReader(payload);
         uv.OnUpdateVars(reader, true);
     }
     if (newGameObject != null)
     {
         newGameObject.SetActive(true);
         uv.SetNetworkInstanceId(netId);
         SetLocalObject(netId, newGameObject);
         if (s_IsSpawnFinished)
         {
             uv.OnStartClient();
             CheckForOwner(uv);
         }
     }
 }
Esempio n. 26
0
 public override void Deserialize(QNetworkReader reader)
 {
     base.Deserialize(reader);
     StateIndex = reader.ReadInt32();
 }
Esempio n. 27
0
 public override void Deserialize(QNetworkReader reader) => PlayerControllerId = (short)reader.ReadUInt16();
 public virtual bool InvokeRPC(int cmdHash, QNetworkReader reader) => InvokeRpcDelegate(cmdHash, reader);
 public virtual bool InvokeCommand(int cmdHash, QNetworkReader reader) => InvokeCommandDelegate(cmdHash, reader);
 public virtual bool InvokeSyncList(int cmdHash, QNetworkReader reader) => InvokeSyncListDelegate(cmdHash, reader);