private bool onSubQueryInfoResult(byte[] data, int size)
        {
            if (size != Marshal.SizeOf(typeof(CMD_GP_CheckInInfo)))
            ///if (size != sizeof(CMD_GP_CheckInInfo))
            {
                ///ASSERT(false);
                return(false);
            }

            CMD_GP_CheckInInfo pNetInfo = (CMD_GP_CheckInInfo)StructConverterByteArray.BytesToStruct(data, typeof(CMD_GP_CheckInInfo));
            ///CMD_GP_CheckInInfo* pNetInfo = (CMD_GP_CheckInInfo*)data;

            GlobalUserInfo    pGlobalUserInfo = GlobalUserInfo.GetInstance();
            tagGlobalUserData pGlobalUserData = pGlobalUserInfo.GetGlobalUserData();

            pGlobalUserData.wSeriesDate   = pNetInfo.wSeriesDate;
            pGlobalUserData.bTodayChecked = (pNetInfo.bTodayChecked != 0);
            //pGlobalUserData.wSeriesDate++;//hack

            if (mIGPSignInMissionSink != null)
            {
                mIGPSignInMissionSink.onSignInQueryInfoResult(pNetInfo);
            }

            stop();


            return(true);
        }
        //////////////////////////////////////////////////////////////////////////
        // ISocketEngineSink

        public override void onEventTCPSocketLink()
        {
            //变量定义


            switch (mMissionType)
            {
            case Type.MISSION_SEND_CHAT_DATA:
            {
                CMD_GP_CHAT kNetInfo = new CMD_GP_CHAT();
                kNetInfo.Init();

                GlobalUserInfo    pGlobalUserInfo = GlobalUserInfo.GetInstance();
                tagGlobalUserData pGlobalUserData = pGlobalUserInfo.GetGlobalUserData();
                kNetInfo.dwUserID = pGlobalUserData.dwUserID;

                Buffer.BlockCopy(pGlobalUserData.szNickName, 0, kNetInfo.szNickName, 0, pGlobalUserData.szNickName.Length);

                var szChatData = Encoding.UTF8.GetBytes(m_chatText);
                Buffer.BlockCopy(szChatData, 0, kNetInfo.szChatData, 0, szChatData.Length);

                Buffer.BlockCopy(pGlobalUserData.szHeadHttp, 0, kNetInfo.szHeadHttp, 0, pGlobalUserData.szHeadHttp.Length);

                var buf = StructConverterByteArray.StructToBytes(kNetInfo);
                send(MsgDefine.MDM_GP_USER_SERVICE, MsgDefine.SUB_GP_LOBBY_CHAT, buf, buf.Length);

                break;
            }

            default:
                stop();
                break;
            }
        }
        void OnFreeScence(byte[] data, int dataSize)
        {
            var typeValue     = typeof(CMD_S_StatusFree);
            int localDataSize = Marshal.SizeOf(typeValue);

            if (dataSize != localDataSize)
            {
                Debug.LogError("OnFreeScence:localDataSize=" + localDataSize + ", serverDataSize=" + dataSize);
                return;
            }

            CMD_S_StatusFree pNetInfo = (CMD_S_StatusFree)StructConverterByteArray.BytesToStruct(data, typeValue);

            GlobalUserInfo    pGlobalUserInfo = GlobalUserInfo.GetInstance();
            tagGlobalUserData pGlobalUserData = pGlobalUserInfo.GetGlobalUserData();

            pGlobalUserData.cbMapIndexRand = pNetInfo.cbMapIndex;
            pGlobalUserData.wRandseed      = pNetInfo.wRandseed;
            pGlobalUserData.wRandseedForRandomGameObject = pNetInfo.wRandseedForRandomGameObject;
            pGlobalUserData.wRandseedForInventory        = pNetInfo.wRandseedForInventory;
            //道具同步
            Array.Copy(pNetInfo.sInventoryList, pGlobalUserData.sInventoryList, pNetInfo.sInventoryList.Length);
            //Buffer.BlockCopy(pNetInfo.sInventoryList, 0, pGlobalUserData.sInventoryList, 0, pNetInfo.sInventoryList.Length);

            Loom.QueueOnMainThread(() =>
            {
                hnManager.LoadHideSeekSceneOfWangHu();
            });
        }
Beispiel #4
0
        void modeHeadHttp()
        {
            GlobalUserInfo    pGlobalUserInfo = GlobalUserInfo.GetInstance();
            tagGlobalUserData pGlobalUserData = pGlobalUserInfo.GetGlobalUserData();

            m_kIndividualMission.modifyHeadHttp(pGlobalUserData.szHeadHttp);
        }
//登录完成
        bool onSocketSubLogonFinish(byte[] data, int size)
        {
            stop();

            if (mIGPLoginMissionSink != null)
            {
                mIGPLoginMissionSink.onGPLoginComplete();
            }

            GlobalUserInfo    pGlobalUserInfo = GlobalUserInfo.GetInstance();
            tagGlobalUserData pGlobalUserData = pGlobalUserInfo.GetGlobalUserData();

            pGlobalUserInfo.LoginSucess();
            return(true);
        }
        public void SendAwardData(uint dwAwardGlod = 10, byte cbCostType = 0)
        {
            Debug.LogWarning("------------SendAwardData");
            //变量定义
            GlobalUserInfo    pGlobalUserInfo = GlobalUserInfo.GetInstance();
            tagGlobalUserData pGlobalUserData = pGlobalUserInfo.GetGlobalUserData();

            CMD_C_AwardDone kNetInfo = new CMD_C_AwardDone();

            kNetInfo.Init();
            kNetInfo.dwUserID    = pGlobalUserData.dwUserID;
            kNetInfo.dwAwardGold = dwAwardGlod;
            kNetInfo.cbCostType  = cbCostType;
            Buffer.BlockCopy(pGlobalUserData.szPassword, 0, kNetInfo.szPassword, 0, pGlobalUserData.szPassword.Length);
            var buf = StructConverterByteArray.StructToBytes(kNetInfo);

            SendSocketData(HNMJ_Defines.SUB_C_AWARD_DONE, buf, (ushort)buf.Length);
        }
Beispiel #7
0
        /*----------------IGPLoginMissionSink------------------------*/

        public void onGPLoginSuccess()
        {
            UnityEngine.Debug.Log("--IGPLoginMissionSink----------onGPLoginSuccess call---------");
            GlobalUserInfo    pGlobalUserInfo = GlobalUserInfo.GetInstance();
            tagGlobalUserData pGlobalUserData = pGlobalUserInfo.GetGlobalUserData();

            Loom.QueueOnMainThread(() =>
            {
                if (PlayerPrefs.HasKey("LocalHumanInfo"))  //登陆成功清除之前断线位置信息
                {
                    PlayerPrefs.DeleteKey("LocalHumanInfo");
                    PlayerPrefs.Save();
                }

                //PlayerPrefs.SetString("Accounts", Encoding.Default.GetString(pGlobalUserData.szAccounts));
                //PlayerPrefs.SetString("Accounts", Encoding.Default.GetString(pGlobalUserData.szPassword));
                LogIn.ShowNickNameForRegisterWin(false);
                Debug.Log("Go to Hall Scene1");
                SceneManager.LoadScene("GameHall");
            });
        }
Beispiel #8
0
        public UserInfo()
        {
            m_kUpPlayerInfoCB       = new List <UserCallInfo>();
            m_kLoginSucessCB        = new List <UserCallInfo>();
            m_kUserInGameServerInfo =
                new CGUserInGameServerInfo(System.Text.Encoding.Default.GetBytes(LoginScene.m_strServerIP), LoginScene.m_nLogonServerPort);
            m_kIndividualMission = new CGPIndividualMission(System.Text.Encoding.Default.GetBytes(LoginScene.m_strServerIP),
                                                            LoginScene.m_nLogonServerPort);
            GlobalUserInfo.GetInstance().setSink(this);
            m_kUserInGameServerInfo.setMissionSink(this);

            m_kSignInMission = new CGPSignInMission(System.Text.Encoding.Default.GetBytes(LoginScene.m_strServerIP), LoginScene.m_nLogonServerPort);
            m_kRaffleMission = new CGPRaffleMission(System.Text.Encoding.Default.GetBytes(LoginScene.m_strServerIP), LoginScene.m_nLogonServerPort);

            if (m_hnManager == null)
            {
                Loom.QueueOnMainThread(() =>
                {
                    m_hnManager = GameObject.FindObjectOfType <HNGameManager>();
                });
            }
        }
        public void OnSubAwardData(byte[] pBuffer, ushort wDataSize)
        {
            Debug.LogWarning("------------OnSubAwardData");
            var typeValue = typeof(CMD_S_AwardResult);

            if (wDataSize != Marshal.SizeOf(typeValue))
            {
                Debug.LogError("数据长度不符合");
                return;
            }
            CMD_S_AwardResult pNetInfo = (CMD_S_AwardResult)StructConverterByteArray.BytesToStruct(pBuffer, typeValue);
            string            strLog   = GlobalUserInfo.GBToUtf8(pNetInfo.szNotifyContent);

            Debug.Log("OnSubAwardData: " + strLog);
            GlobalUserInfo    pGlobalUserInfo = GlobalUserInfo.GetInstance();
            tagGlobalUserData pGlobalUserData = pGlobalUserInfo.GetGlobalUserData();

            if (pNetInfo.bSuccessed == 0)  //成功
            {
                //Success
                if (pNetInfo.cbCostType == 0)  //奖励金币
                {
                    GlobalUserInfo.setUserScore(pNetInfo.lScore);
                    GameSceneUIHandler.ShowLog("奖励10枚金币");
                }
                else  //奖励钻石
                {
                    GlobalUserInfo.setUserInsure(pNetInfo.lScore);
                    GameSceneUIHandler.ShowLog("奖励10颗钻石");
                }
                Loom.QueueOnMainThread(() =>
                {
                    if (UIManager.GetInstance() != null)
                    {
                        UIManager.GetInstance().UpdateUIInfo();   //更新钻石金币
                    }
                });
            }
        }
        //////////////////////////////////////////////////////////////////////////
        // ISocketEngineSink

        public override void onEventTCPSocketLink()
        {
            //变量定义
            GlobalUserInfo    pGlobalUserInfo = GlobalUserInfo.GetInstance();
            tagGlobalUserData pGlobalUserData = pGlobalUserInfo.GetGlobalUserData();

            switch (mMissionType)
            {       // 查询
            case Type.MISSION_RAFFLE:
            {
                CMD_GP_RaffleDone kNetInfo = new CMD_GP_RaffleDone();
                kNetInfo.Init();

                kNetInfo.dwUserID     = pGlobalUserData.dwUserID;
                kNetInfo.dwRaffleGold = m_dwRaffleGold;

                Buffer.BlockCopy(pGlobalUserData.szPassword, 0, kNetInfo.szPassword, 0, pGlobalUserData.szPassword.Length);
                ///strncpy(kNetInfo.szPassword, pGlobalUserData->szPassword, countarray(kNetInfo.szPassword));

                var MachineID = DF.shared().GetMachineID();
                if (MachineID != null)
                {
                    Buffer.BlockCopy(MachineID, 0, kNetInfo.szMachineID, 0, MachineID.Length);
                }
                ///strncpy(kNetInfo.szMachineID, DF::shared()->GetMachineID(), countarray(kNetInfo.szMachineID));

                var buf = StructConverterByteArray.StructToBytes(kNetInfo);
                send(MsgDefine.MDM_GP_USER_SERVICE, MsgDefine.SUB_GP_RAFFLE_DONE, buf, buf.Length);
                ///send(MDM_GP_USER_SERVICE, SUB_GP_RAFFLE_DONE, &kNetInfo, sizeof(CMD_GP_CheckInDone));

                break;
            }

            default:
                stop();
                break;
            }
        }
        private bool onSubRaffleResult(byte[] data, int size)
        {
            CMD_GP_RaffleResult pNetInfo = (CMD_GP_RaffleResult)StructConverterByteArray.BytesToStruct(data, typeof(CMD_GP_RaffleResult));
            ///CMD_GP_RaffleResult* pNetInfo = (CMD_GP_RaffleResult*)data;

            string strLog = GlobalUserInfo.GBToUtf8(pNetInfo.szNotifyContent);

            //string strLog2 = Encoding.Default.GetString(pNetInfo.szNotifyContent);
            //string strLog3 = Encoding.GetEncoding(936).GetString(pNetInfo.szNotifyContent);
            //string strLog4 = Encoding.UTF8.GetString(pNetInfo.szNotifyContent);
            Debug.Log("CGPRaffleMission::onSubRaffleResult:" + strLog);
            GameSceneUIHandler.ShowLog(strLog);

            GlobalUserInfo    pGlobalUserInfo = GlobalUserInfo.GetInstance();
            tagGlobalUserData pGlobalUserData = pGlobalUserInfo.GetGlobalUserData();

            if (pNetInfo.bSuccessed != 0)
            {
                //Success

                pGlobalUserData.lUserInsure   = pNetInfo.lScore;
                pGlobalUserData.dwPlayCount   = pNetInfo.dwPlayCount;
                pGlobalUserData.dwRaffleCount = pNetInfo.dwRaffleCount;

                pGlobalUserInfo.upPlayerInfo();
            }

            stop();

            //if (mIGPSignInMissionSink != null)
            //{
            //    mIGPSignInMissionSink.onSignInDoneResult(pNetInfo);
            //}

            return(true);
        }
        void OnPlayScence(byte[] data, int dataSize)
        {
            //旁观者或者重连

            var typeValue     = typeof(CMD_S_StatusPlay);
            int localDataSize = Marshal.SizeOf(typeValue);

            if (dataSize != localDataSize)
            {
                Debug.LogError("OnPlayScence:localDataSize=" + localDataSize + ", serverDataSize=" + dataSize);
                return;
            }

            CMD_S_StatusPlay pNetInfo = (CMD_S_StatusPlay)StructConverterByteArray.BytesToStruct(data, typeValue);

            GlobalUserInfo    pGlobalUserInfo = GlobalUserInfo.GetInstance();
            tagGlobalUserData pGlobalUserData = pGlobalUserInfo.GetGlobalUserData();

            pGlobalUserData.cbMapIndexRand = pNetInfo.cbMapIndex;
            pGlobalUserData.wRandseed      = pNetInfo.wRandseed;
            pGlobalUserData.wRandseedForRandomGameObject = pNetInfo.wRandseedForRandomGameObject;
            pGlobalUserData.wRandseedForInventory        = pNetInfo.wRandseedForInventory;
            //道具同步
            Array.Copy(pNetInfo.sInventoryList, pGlobalUserData.sInventoryList, pNetInfo.sInventoryList.Length);
            //Buffer.BlockCopy(pNetInfo.sInventoryList, 0, pGlobalUserData.sInventoryList, 0, pNetInfo.sInventoryList.Length);

            //旁观者
            int             nStatus = SocketDefines.US_NULL;
            IClientUserItem pMeItem = CServerItem.get().GetMeUserItem();

            if (pMeItem != null)
            {
                nStatus = pMeItem.GetUserStatus();
            }

            if (nStatus == SocketDefines.US_LOOKON)
            {
                Loom.QueueOnMainThread(() =>
                {
                    hnManager.LoadHideSeekSceneOfWangHu();
                });
            }
            else
            {
                //mChen add, temp
                Loom.QueueOnMainThread(() =>
                {
                    hnManager.LoadHideSeekSceneOfWangHu();
                });

                if (false)//if (!hnManager.bEnteredGameScene)
                {
                    //没进入游戏场景

                    //强杀进程后进来

                    Debug.LogError("OnPlayScence : 在大厅重连?强杀进程后回来?  cbGameStatus=" + pNetInfo.cbGameStatus + " UserStatus=" + nStatus + " bEnteredGameScene=" + hnManager.bEnteredGameScene);

                    //在大厅重连?
                    Loom.QueueOnMainThread(() =>
                    {
                        //hnManager.LoadHideSeekSceneOfWangHu();
                        //hnManager.SetLoading(false);

                        hnManager.StartOrStopGameSceneHeartBeat(false);
                        hnManager.LeaveRoom();
                        hnManager.LeaveGameToHall();
                        //CServerItem.get().IntermitConnect(true);
                    });
                }
            }

            //重连

            byte cbGameStatus = pNetInfo.cbGameStatus;

            Debug.Log("OnPlayScence : cbGameStatus=" + cbGameStatus + " UserStatus=" + nStatus + " bEnteredGameScene=" + hnManager.bEnteredGameScene);

            //mChen add, for HideSeek:
            //if (nStatus != SocketDefines.US_LOOKON && !hnManager.bEnteredGameScene)
            //{
            //    //在大厅重连?
            //    StartOrStopGameSceneHeartBeat(false);
            //    CServerItem.get().IntermitConnect(true);
            //    hnManager.LeaveRoom();
            //}

            defaultState();
        }
Beispiel #13
0
 public string getUserIP()
 {
     return(Encoding.Default.GetString(GlobalUserInfo.GetInstance().GetGlobalUserData().szLogonIP));
 }
Beispiel #14
0
 public string getPhoneNumber()
 {
     return(GlobalUserInfo.GetInstance().getPhoneNumber());
 }
        private bool onSubDoneResult(byte[] data, int size)
        {
            CMD_GP_CheckInResult pNetInfo = (CMD_GP_CheckInResult)StructConverterByteArray.BytesToStruct(data, typeof(CMD_GP_CheckInResult));
            ///CMD_GP_CheckInResult* pNetInfo = (CMD_GP_CheckInResult*)data;

            string strLog = GlobalUserInfo.GBToUtf8(pNetInfo.szNotifyContent);

            Debug.Log("CGPSignInMission::onSubDoneResult:" + strLog);
            GameSceneUIHandler.ShowLog(strLog);

            GlobalUserInfo    pGlobalUserInfo = GlobalUserInfo.GetInstance();
            tagGlobalUserData pGlobalUserData = pGlobalUserInfo.GetGlobalUserData();

            if (pNetInfo.bSuccessed != 0)
            {
                //Success

                if (pNetInfo.bType == 0)
                {
                    //签到结果返回

                    pGlobalUserData.wSeriesDate = pNetInfo.wSeriesDate;
                    award();
                }
                else
                {
                    Loom.QueueOnMainThread(() => { HNGameManager.GetInstance.PlaySoundEffect(-1, (int)AudioManager.Sound_Effect_Defines.SOUND_SIGNGIN_AWARED); });
                }

                pGlobalUserData.lUserInsure = pNetInfo.lScore;
                pGlobalUserInfo.upPlayerInfo();
                //刷新UI
                Loom.QueueOnMainThread(() =>
                {
                    if (CreateOrJoinRoom.GetInstance != null)
                    {
                        CreateOrJoinRoom.GetInstance.UpdateInfo();
                    }
                });
            }
            else
            {
                stop();
            }

            if (pNetInfo.bType == 0)
            {
                //签到结果返回
            }
            else
            {
                //签到奖励返回

                stop();
            }

            if (mIGPSignInMissionSink != null)
            {
                mIGPSignInMissionSink.onSignInDoneResult(pNetInfo);
            }

            return(true);
        }
Beispiel #16
0
 public tagGlobalUserData getUserData()
 {
     return(GlobalUserInfo.GetInstance().GetGlobalUserData());
 }
Beispiel #17
0
 public tagUserInsureInfo GetUserInsureInfo()
 {
     return(GlobalUserInfo.GetInstance().GetUserInsureInfo());
 }