/// <summary> /// 显示兑换物品历史记录界面 /// </summary> public void ShowExchangeItemRecordPanel() { if (ExchangeItemPanelGameObject == null) { LoadExchangeItemPanelResource(); } CurItemData = null; UnityEngine.Transform ItemPopTransform = ExchangeItemPanelGameObject.transform.Find("pop_up"); UnityEngine.Transform ItemRecordTransform = ItemPopTransform.Find("Exchange_Record"); ItemRecordTransform.gameObject.SetActive(true); ItemPopTransform.gameObject.SetActive(true); ExchangeItemPanelGameObject.SetActive(true); if (!ExChangeRecordDataFlag) { ExChangeRecordDataFlag = true; //请求兑换记录数据 UMessage recordMsg = new UMessage((uint)GameCity.EMSG_ENUM.CrazyCityMsg_PLAYERGETTRADEINFO); recordMsg.Add(GameMain.hall_.GetPlayerId()); NetWorkClient.GetInstance().SendMsg(recordMsg); CCustomDialog.OpenCustomWaitUI("正在进行兑换记录查询..."); } }
//展示排行榜界面 public void ShowCoinBankInterface() { AssetBundle bundle = AssetBundleManager.GetAssetBundle(GameDefine.HallAssetbundleName); if (bundle == null) { return; } if (null == m_ObjCoinRank) { Object tipsobj = bundle.LoadAsset("Lobby_Ranking"); m_ObjCoinRank = (GameObject)GameMain.instantiate(tipsobj); //GameObject background = GameObject.Find("Canvas/Root"); m_ObjCoinRank.transform.SetParent(CanvasObj.transform, false); XPointEvent.AutoAddListener(m_ObjCoinRank.transform.Find("ImageBG").Find("ButtonClose").gameObject, OnClickCoinRankClose, null); } m_ObjCoinRank.SetActive(true); //0没事 1需要去服务器更新数据 2等待服务器的数据 3需要把数据更新到面板上 if (m_iCoinRankState == 0) { GameObject subback = m_ObjCoinRank.transform.Find("ImageBG").Find("Ranking_List").Find("Content_RankingList").gameObject; for (int index = subback.transform.childCount - 1; index >= 0; index--) { GameMain.safeDeleteObj(subback.transform.GetChild(index).gameObject); } FillCoinRankData(); return; } else if (m_iCoinRankState == 1) { CCustomDialog.OpenCustomWaitUI(1014); SendGetCoinRankData(); m_iCoinRankState = 2; GameObject subback = m_ObjCoinRank.transform.Find("ImageBG").Find("Ranking_List").Find("Content_RankingList").gameObject; for (int index = subback.transform.childCount - 1; index >= 0; index--) { GameMain.safeDeleteObj(subback.transform.GetChild(index).gameObject); } return; } else if (m_iCoinRankState == 2) { return; } else if (m_iCoinRankState == 3) { FillCoinRankData(); m_iCoinRankState = 0; } }
void OnClickQuickMatch() { CustomAudio.GetInstance().PlayCustomAudio(1002); CCustomDialog.OpenCustomWaitUI("正在进入..."); UMessage msg = new UMessage((uint)GameCity.EMSG_ENUM.CrazyCityMsg_CM_APPLYQUITSTARTGAME); msg.Add((byte)GameMain.hall_.GameBaseObj.GetGameType()); msg.Add(GameMain.hall_.CurRoomIndex); msg.Add(GameMain.hall_.GetPlayerId()); HallMain.SendMsgToRoomSer(msg); }
void OnClickSit(ushort desk, sbyte sit) { CustomAudio.GetInstance().PlayCustomAudio(1002); DebugLog.Log("Click desk:" + desk + " sit:" + sit); CCustomDialog.OpenCustomWaitUI("正在进入..."); UMessage msg = new UMessage((uint)GameCity.EMSG_ENUM.CrazyCityMsg_CM_APPLYENTERROOMANDSIT); msg.Add((byte)GameMain.hall_.GameBaseObj.GetGameType()); msg.Add(GameMain.hall_.GetPlayerId()); msg.Add(desk); msg.Add(sit); HallMain.SendMsgToRoomSer(msg); }
//请求购买物品(奖券兑换京东卡,手机充值卡) public bool RequestBuyItem(uint itemId, string consigneePhone, string consigneeName = null, string consigneeAddr = null) { ShopItemdata itemdata = CCsvDataManager.Instance.ShopItemDataMgr.GetShopItemData(itemId); if (itemdata == null) { return(false); } if (bBuyingProcess) { Debug.LogWarning("当前正处于购买过程中。。。。"); return(false); } iBuyingItemId = itemId; bBuyingProcess = true; CCustomDialog.OpenCustomWaitUI(1107); switch (itemdata.ItemType) { case Shop.ITEMTYPE.ITEMTYPE_JINGDONG: case Shop.ITEMTYPE.ITEMTYPE_MOBILE: { //判断奖券是否足够 if (playerData.GetLottery() < itemdata.ItemPrice) { BuyEnd(); CCustomDialog.OpenCustomConfirmUI(1103); } else { SendBuyReq(itemdata.ItemID, consigneePhone, consigneeName, consigneeAddr); } } break; case Shop.ITEMTYPE.ITEMTYPE_GOODS: SendBuyReq(itemdata.ItemID, consigneePhone, consigneeName, consigneeAddr); break; } return(true); }
/// <summary> /// 请求比赛排行数据 /// </summary> /// <param name="StartIndex"></param> /// <param name="EndIndex"></param> void RequestContestRankData(ushort StartIndex, ushort EndIndex) { ushort _StartIndex = StartIndex, _EndIndex = EndIndex; if (ContestRankingDataDictionary.ContainsKey(m_ContestID)) { bool State = true; while (State && _StartIndex <= _EndIndex) { State = false; if (ContestRankingDataDictionary[m_ContestID].ContainsKey(_StartIndex)) { ++_StartIndex; State = true; } if (ContestRankingDataDictionary[m_ContestID].ContainsKey(_EndIndex)) { --_EndIndex; State = true; } } } if (_StartIndex <= _EndIndex) { RightChessScrolllRect.vertical = false; CCustomDialog.OpenCustomWaitUI("正在加载数据..."); UMessage msg = new UMessage((uint)GameCity.EMSG_ENUM.CrazyCityMsg_ReqContestRankData); msg.Add(GameMain.hall_.GetPlayerId()); msg.Add(m_ContestID); msg.Add(_StartIndex); msg.Add(_EndIndex); NetWorkClient.GetInstance().SendMsg(msg); } else { RefreshGameContestRankingPlayerPanel(StartIndex, EndIndex); } }
/// <summary> /// unionid码登陆 /// </summary> /// <param name="unionid"></param> private void UnionIdLogin(string unionid) { if (!NetWorkClient.GetInstance().IsSocketConnected) { HallMain.ConnectLoginServer(); } CCustomDialog.OpenCustomWaitUI(1008); UMessage unionLoginMsg = new UMessage((uint)GameCity.EMSG_ENUM.CrazyCityMsg_PLAYERLOGIN); MessageLogin ml_ = new MessageLogin(); ml_.smachinecode = SystemInfo.deviceUniqueIdentifier; ml_.sVersion = GameMain.Instance.GetAppVersion(); if (Application.platform == RuntimePlatform.IPhonePlayer) { ml_.nPlatform = 1; } else if (Application.platform == RuntimePlatform.Android) { ml_.nPlatform = 2; } else { ml_.nPlatform = 0; } unionLoginMsg.Add((int)0); unionLoginMsg.Add(ml_.smachinecode); unionLoginMsg.Add(ml_.sVersion); unionLoginMsg.Add(ml_.nPlatform); unionLoginMsg.Add((byte)1); unionLoginMsg.Add(unionid); //unionLoginMsg.Add(); //unionLoginMsg.Add(CWechatUserAuth.GetInstance().GetUserNickname()); NetWorkClient.GetInstance().SendMsg(unionLoginMsg); }
/// <summary> /// 请求登陆 /// </summary> public void RequestLogin(LoginType logintype = LoginType.LoginType_Guest) { if (logintype != LoginType.LoginType_LastOne) { enLoginType = logintype; } CCustomDialog.OpenCustomWaitUI(1008); if (!NetWorkClient.GetInstance().IsSocketConnected) { if (!HallMain.ConnectLoginServer()) { if (LoginNetReconnectTimer == null) { LoginNetReconnectTimer = new CTimerCirculateCall(3.0f, LoginNetReconnectCallBack); } xTimeManger.Instance.RegisterTimer(LoginNetReconnectTimer); return; } } if (bHavedGetGateServr) { if (enLoginType == LoginType.LoginType_Guest) { GuestLogin(); } else if (enLoginType == LoginType.LoginType_Wechat) { WeChatAuthLogin(); } else if (enLoginType == LoginType.LoginTyee_WechatQRCode) { WeChatAuthLogin(); } } }
public void OnClickReturn(int index)//0:离开房间 1:继续 2:分享 3:退出 { CustomAudio.GetInstance().PlayCustomAudio(1002); if (index == 0) { CCustomDialog.OpenCustomWaitUI("正在离开..."); UMessage msg = new UMessage((uint)GameCity.EMSG_ENUM.CrazyCityMsg_CM_APPLYLEAVEROOMANDSIT); msg.Add((byte)GameMain.hall_.GameBaseObj.GetGameType()); msg.Add(GameMain.hall_.GetPlayerId()); HallMain.SendMsgToRoomSer(msg); } else if (index == 1) { GameMain.hall_.GameBaseObj.OnDisconnect(false); OnClickSit(0, -1); } else if (index == 3) { UMessage msg = new UMessage((uint)GameCity.EMSG_ENUM.CrazyCityMsg_CM_PLAYERLEAVEROOMSER); msg.Add(GameMain.hall_.GetPlayerId()); HallMain.SendMsgToRoomSer(msg); } }
//请求购买物品 public bool RequestBuyItem(uint itemId, PayPlatform tradeplatform = PayPlatform.none) { ShopItemdata itemdata = CCsvDataManager.Instance.ShopItemDataMgr.GetShopItemData(itemId); if (itemdata == null) { return(false); } if (bBuyingProcess) { Debug.LogWarning("当前正处于购买过程中。。。。"); return(false); } iBuyingItemId = itemId; bBuyingProcess = true; CCustomDialog.OpenCustomWaitUI(1107); switch (itemdata.ItemType) { case Shop.ITEMTYPE.ITEMTYPE_DIAMOND: { //苹果平台 if (tradeplatform == PayPlatform.Apple) { #if UNITY_IOS ApplePay.Instance.BuyItem(itemId.ToString()); #endif } else if (tradeplatform == PayPlatform.none) { //SendBuyReq(itemdata.ItemID, PayPlatform.Wechat); //发个假的票据 Player.SendBuyReceiptToServer(tradeplatform, "this is fake receipt!"); } else { SendBuyReq(itemdata.ItemID, tradeplatform); } } break; case Shop.ITEMTYPE.ITEMTYPE_COIN: { //判断钻石是否足够 if (itemdata.CurrencyType == Shop.CURRENCYTYPE.CURRENCYTYPE_DIAMOND) { if (playerData.GetDiamond() < itemdata.ItemPrice) { BuyEnd(); CCustomDialog.OpenCustomConfirmUI(1102); } else { SendBuyReq(itemdata.ItemID); } } else if (itemdata.CurrencyType == Shop.CURRENCYTYPE.CURRENCYTYPE_LOTTERY) { //判断奖券是否足够 if (playerData.GetLottery() < itemdata.ItemPrice) { BuyEnd(); CCustomDialog.OpenCustomConfirmUI(1103); } else { SendBuyReq(itemdata.ItemID); } } } break; default: //发个假的票据 Player.SendBuyReceiptToServer(tradeplatform, "this is fake receipt!"); break; } return(true); }
/// <summary> /// 登陆成功处理 /// </summary> /// <param name="_msgType"></param> /// <param name="_ms"></param> /// <returns></returns> bool LoginSuccess(uint _msgType, UMessage _ms) { PlayerData playerdata = GameMain.hall_.GetPlayerData(); uint lastLoginPlayerId = playerdata.GetPlayerID(); playerdata.ReadPlayerData(_ms, ref CRankUI.Instance.m_fLeftCoinRankTime); //检测是否切换角色了 if (lastLoginPlayerId != 0 && lastLoginPlayerId != playerdata.GetPlayerID()) { } GameMain.hall_.IntelentType = Application.internetReachability; WriteAccountConfig(); //GameMain.hall_.SendGetCoinRankData(); //m_bIsSendMobileNum = false; CCustomDialog.CloseCustomWaitUI(); GameMain.hall_.AfterLogin(); #if ScFish GameMain.hall_.OnClickRoomIconBtn((byte)GameKind_Enum.GameKind_Fishing, 1); return(true); #endif //GameMain.hall_.LoadHallResource(); if (playerdata.nGameMode_Before >= 0) { Debug.Log("断线重连GameId:" + playerdata.nGameKind_Before + ",GameMode:" + playerdata.nGameMode_Before); string strSign = string.Empty; GameKind_Enum CurbeforeGameKind = (GameKind_Enum)playerdata.nGameKind_Before; if (playerdata.nGameMode_Before == 0) { CurbeforeGameKind = (GameKind_Enum)(Mathf.Log(playerdata.nGameKind_Before, 2)); for (GameKind_Enum gameKind = GameKind_Enum.GameKind_CarPort; gameKind < GameKind_Enum.GameKind_Max; ++gameKind) { if (gameKind != GameKind_Enum.GameKind_LandLords && gameKind != GameKind_Enum.GameKind_Mahjong && gameKind != GameKind_Enum.GameKind_GuanDan && gameKind != GameKind_Enum.GameKind_YcMahjong && gameKind != GameKind_Enum.GameKind_CzMahjong && gameKind != GameKind_Enum.GameKind_GouJi && gameKind != GameKind_Enum.GameKind_HongZhong && gameKind != GameKind_Enum.GameKind_Answer && gameKind != GameKind_Enum.GameKind_Chess) { if (GameKind.HasFlag((int)gameKind, (int)playerdata.nGameKind_Before)) { GameData gamedata = CCsvDataManager.Instance.GameDataMgr.GetGameData((byte)CurbeforeGameKind); if (gamedata != null) { strSign += gamedata.GameName; } else { strSign += "未知游戏"; } } } } } if (!string.IsNullOrEmpty(strSign)) { CCustomDialog.OpenCustomWaitUI(2014, strSign); } else { if (GameMain.hall_.contestui_) { GameMain.hall_.contestui_.SetActive(false); } GameMain.hall_.ReconnectLoadGame(CurbeforeGameKind, (GameTye_Enum)playerdata.nGameMode_Before); } } else { if (Application.platform == RuntimePlatform.Android) { #if UNITY_ANDROID && !UNITY_EDITOR AlipayWeChatPay.GetAndroidActivity().Call("GetGameRoomID"); #endif } } GameMain.hall_.ReconnectGameServer(); UMessage activemsg = new UMessage((uint)GameCity.EMSG_ENUM.CrazyCityMsg_GETTODAYREDBAGINFO); activemsg.Add(GameMain.hall_.GetPlayerId()); NetWorkClient.GetInstance().SendMsg(activemsg); BagDataManager.GetBagDataInstance(); if (GameMain.hall_.GetPlayerData().itemNumber > 0) { UMessage bagmsg = new UMessage((uint)GameCity.EMSG_ENUM.CrazyCityMsg_REQUESTPLAYERPACKETINFO); bagmsg.Add(GameMain.hall_.GetPlayerId()); NetWorkClient.GetInstance().SendMsg(bagmsg); } PlayerInfoUI.Instance.Ask4PlayerTotalData(); return(true); }