Ejemplo n.º 1
0
    /// <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("正在进行兑换记录查询...");
        }
    }
Ejemplo n.º 2
0
    //展示排行榜界面
    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;
        }
    }
Ejemplo n.º 3
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);
    }
Ejemplo n.º 4
0
    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);
    }
Ejemplo n.º 5
0
    //请求购买物品(奖券兑换京东卡,手机充值卡)
    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);
    }
Ejemplo n.º 6
0
    /// <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);
        }
    }
Ejemplo n.º 7
0
    /// <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);
    }
Ejemplo n.º 8
0
    /// <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();
            }
        }
    }
Ejemplo n.º 9
0
    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);
        }
    }
Ejemplo n.º 10
0
    //请求购买物品
    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);
    }
Ejemplo n.º 11
0
    /// <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);
    }