コード例 #1
0
        private void OnMessage(Session client, MessageBuffer msg)
        {
            MessageID messageId = (MessageID)msg.id();

            switch (messageId)
            {
            case MessageID.GM_ACCEPT_CS:
            {
                GM_Accept recvData = JsonSerializerUtil.FromJsonByte <GM_Accept>(msg.body());
                //ProtoTransfer.DeserializeProtoBuf<GM_Accept>(msg);
                if (recvData.conv == client.id)
                {
                    OnConnect(client, recvData.roleId);
                }
            }
            break;

            case MessageID.GM_READY_CS:
            {
                GM_Ready recvData = JsonSerializerUtil.FromJsonByte <GM_Ready>(msg.body());
                //ProtoTransfer.DeserializeProtoBuf<GM_Ready>(msg);
                OnReceiveReady(client, recvData);
            }
            break;

            case MessageID.GM_FRAME_CS:
            {
                GM_Frame recvData = JsonSerializerUtil.FromJsonByte <GM_Frame>(msg.body());
                //ProtoTransfer.DeserializeProtoBuf<GM_Frame>(msg);
                if (mMode == Mode.LockStep)
                {
                    OnLockStepFrame(client, recvData);
                }
                else
                {
                    OnOptimisticFrame(client, recvData);
                }
            }
            break;

            case MessageID.GM_PING_CS:
            {
                GM_Request recvData = JsonSerializerUtil.FromJsonByte <GM_Request>(msg.body());
                //ProtoTransfer.DeserializeProtoBuf<GM_Request>(msg);
                User u = GetUser(recvData.id);
                if (u != null)
                {
                    GM_Return sendData = new GM_Return();
                    sendData.id = recvData.id;
                    u.SendTcp(MessageID.GM_PING_SC, sendData);
                }
            }
            break;
            }
        }
コード例 #2
0
ファイル: FrameScene.cs プロジェクト: tuita520/Frame
    public override void OnUpdate()
    {
        base.OnUpdate();

        if (Time.frameCount % 30 == 0 && PlayerManager.GetSingleton().mReady)
        {
            GM_Request sendData = SharedValue <GM_Request> .sData;
            sendData.id = PlayerManager.GetSingleton().mRoleId;
            mPingTime   = DateTime.Now.Ticks;
            ClientService.GetSingleton().SendUdp(ClientID.Frame, MessageID.GM_PING_CS, sendData);
        }
    }