public void MissionReq(byte handleCode, ushort arg1, ushort arg2, string arg3)
        {
            switch (handleCode)
            {
            case (byte)MissionHandleCode.ENTER_MISSION:
                EnterMission((int)arg1, (int)arg2);
                break;

            case (byte)MissionHandleCode.START_MISSION:
                List <int> pos = LocalServerResManager.GetEnterXY(sceneId);
                if (pos.Count == 0)
                {
                    LoggerHelper.Error(string.Format("sceneId {0} is enter xy is error", sceneId));
                    return;
                }
                var info = new Mogo.RPC.CellAttachedInfo();
                info.x = (short)pos[0];
                info.y = (short)pos[1];
                MogoWorld.thePlayer.SetEntityCellInfo(info);
                MogoWorld.thePlayer.UpdatePosition();

                CheckSpawnPointDefaultSpawn();
                break;

            case (byte)MissionHandleCode.EXIT_MISSION:
                ServerProxy.SomeToLocal = false;
                ExitMission();
                MogoWorld.thePlayer.RpcCall("MissionReq", (byte)MissionHandleCode.EXIT_MISSION, (ushort)1, (ushort)1, String.Empty);
                break;

            case (byte)MissionHandleCode.QUIT_MISSION:
                ServerProxy.SomeToLocal = false;
                ExitMission();
                MogoWorld.thePlayer.RpcCall("MissionReq", (byte)MissionHandleCode.QUIT_MISSION, (ushort)1, (ushort)1, String.Empty);
                break;

            case (byte)MissionHandleCode.GO_TO_INIT_MAP:
                ServerProxy.SomeToLocal = false;
                ExitMission();
                MogoWorld.thePlayer.RpcCall("MissionReq", (byte)MissionHandleCode.GO_TO_INIT_MAP, (ushort)1, (ushort)1, String.Empty);
                break;

            case (byte)MissionHandleCode.SPAWNPOINT_START:
                TriggerSpawnPoint((int)arg1);
                break;

            case (byte)MissionHandleCode.CREATE_CLIENT_DROP:
                CreateClientDrop(arg1, arg3);
                break;

            case (byte)MissionHandleCode.GET_REVIVE_TIMES:
                LoggerHelper.Debug("GET_REVIVE_TIMES");
                NotifyReviveTime();
                break;

            case (byte)MissionHandleCode.REVIVE:
                LoggerHelper.Debug("REVIVE");
                AvatarRevive();
                break;

            case (byte)MissionHandleCode.UPLOAD_COMBO:
                SetCombo(arg1);
                NotifyClientMissionWon();
                break;

            case (byte)MissionHandleCode.GET_MISSION_REWARDS:
                ServerProxy.SomeToLocal = false;
                SendClientMissionMessage();
                GetMissionReward();
                break;
            }
        }
        public void MissionReq(byte handleCode, ushort arg1, ushort arg2, string arg3)
        {
            switch (handleCode)
            {
                case (byte)MissionHandleCode.ENTER_MISSION:
                    EnterMission((int)arg1, (int)arg2);
                    break;

                case (byte)MissionHandleCode.START_MISSION:
                    List<int> pos = LocalServerResManager.GetEnterXY(sceneId);
                    if (pos.Count == 0)
                    {
                        LoggerHelper.Error(string.Format("sceneId {0} is enter xy is error", sceneId));
                        return;
                    }
                    var info = new Mogo.RPC.CellAttachedInfo();
                    info.x = (short)pos[0];
                    info.y = (short)pos[1];
                    MogoWorld.thePlayer.SetEntityCellInfo(info);
                    MogoWorld.thePlayer.UpdatePosition();

                    CheckSpawnPointDefaultSpawn();
                    break;

                case (byte)MissionHandleCode.EXIT_MISSION:
                    ServerProxy.SomeToLocal = false;
                    ExitMission();
                    MogoWorld.thePlayer.RpcCall("MissionReq", (byte)MissionHandleCode.EXIT_MISSION, (ushort)1, (ushort)1, String.Empty);
                    break;

                case (byte)MissionHandleCode.QUIT_MISSION:
                    ServerProxy.SomeToLocal = false;
                    ExitMission();
                    MogoWorld.thePlayer.RpcCall("MissionReq", (byte)MissionHandleCode.QUIT_MISSION, (ushort)1, (ushort)1, String.Empty);
                    break;

                case (byte)MissionHandleCode.GO_TO_INIT_MAP:
                    ServerProxy.SomeToLocal = false;
                    ExitMission();
                    MogoWorld.thePlayer.RpcCall("MissionReq", (byte)MissionHandleCode.GO_TO_INIT_MAP, (ushort)1, (ushort)1, String.Empty);
                    break;

                case (byte)MissionHandleCode.SPAWNPOINT_START:
                    TriggerSpawnPoint((int)arg1);
                    break;

                case (byte)MissionHandleCode.CREATE_CLIENT_DROP:
                    CreateClientDrop(arg1, arg3);
                    break;

                case (byte)MissionHandleCode.GET_REVIVE_TIMES:
                    LoggerHelper.Debug("GET_REVIVE_TIMES");
                    NotifyReviveTime();
                    break;

                case (byte)MissionHandleCode.REVIVE:
                    LoggerHelper.Debug("REVIVE");
                    AvatarRevive();
                    break;

                case (byte)MissionHandleCode.UPLOAD_COMBO:
                    SetCombo(arg1);
                    NotifyClientMissionWon();
                    break;

                case (byte)MissionHandleCode.GET_MISSION_REWARDS:
                    ServerProxy.SomeToLocal = false;
                    SendClientMissionMessage();
                    GetMissionReward();
                    break;
            }
        }