コード例 #1
0
    // Use this for initialization
    void Awake()
    {
        if (instance == null)
        {
            instance = this;
        }
        else
        {
            return;
        }
        MapGenerator mapGenerator = GetComponent <MapGenerator>();
        int          gameLv1      = MainData.Instance().gameLv1;
        int          gameLv2      = MainData.Instance().gameLv2;

        mapGenerator.Generate(gameLv1, gameLv2);
        ballNum = mapGenerator.GoalNum;
        goals   = GameObject.FindGameObjectsWithTag("Goal");
        balls   = GameObject.FindGameObjectsWithTag("Ball");
        walls   = GameObject.FindGameObjectsWithTag("Wall");
        if (ClearTime == 0f)
        {
            ClearTime = 1f;
        }
        _ui = FindObjectOfType <GameUIManager>();
        AudioManager.Instance().GameStart();
    }
コード例 #2
0
    public void OnClickSetting(Button b)
    {
        Setting.SetActive(!Setting.activeSelf);
        Button[] buttons = GetComponentsInChildren <Button>();
        foreach (Button button in buttons)
        {
            bool isMuted;
            if (button.name.Contains("BGM"))
            {
                isMuted = MainData.Instance().BGMmute;
            }
            else
            {
                isMuted = MainData.Instance().EffectMute;
            }

            if (isMuted)
            {
                button.GetComponent <Image>().sprite = Resources.Load <Sprite>("Images/MusicImageMute");
            }
            else
            {
                button.GetComponent <Image>().sprite = Resources.Load <Sprite>("Images/MusicImagePlay");
            }
        }
    }
コード例 #3
0
    Vector3 ReducedAcceleration()
    {
        Vector3 ac = Input.acceleration;

        ac *= MainData.Instance().sensitivity;
        return(new Vector3(ac.x, 0, ac.y));
    }
コード例 #4
0
    void loadGoldView()
    {
        GameObject commonUIPrefab = Resources.Load("Prefabs/DiamondItem") as GameObject;

        diamondObjectList = new List <GameObject>();
        for (int i = 0; i < MainData.Instance().diamondList.Length; i++)
        {
            GameObject diamond = Instantiate(commonUIPrefab) as GameObject;
            float      width   = diamond.GetComponent <RectTransform>().sizeDelta.x;
            diamond.transform.parent        = GameObject.Find(gameObject.name + "/BackGround").transform;
            diamond.name                    = "" + i;
            diamond.transform.localPosition = new Vector3(-300 + i * width, -70, 0);
            diamond.transform.localScale    = new Vector3(1, 1, 0);

            Diamond goods      = MainData.Instance().diamondList[i];
            Text    DiamondNum = gameObject.Find <Text>(diamond.name + "/DiamondNum");
            Text    money      = gameObject.Find <Text>(diamond.name + "/BuyBtn/Money");
            DiamondNum.text = goods.number.ToString() + " 钻";
            money.text      = "¥ " + goods.price.ToString();

            Button buyBtn = gameObject.Find <Button>(diamond.name + "/BuyBtn");
            buyBtn.onClick.AddListener(() => {
                PurchaseToIOS.purchaseProductWithID(gameObject.name, goods.charge_goods_id);
            });

            diamondObjectList.Add(diamond);
        }
    }
コード例 #5
0
 private void Start()
 {
     if (MainData.Instance().isPlaying)
     {
         OnClickGameStart(null);
         ChangeLevelImage(MainData.Instance().gameLv1);
     }
 }
コード例 #6
0
    public void OnClickNumber(Button b)
    {
        int lv2 = int.Parse(b.transform.name);

        MainData.Instance().gameLv2   = lv2;
        MainData.Instance().isPlaying = true;
        UnityEngine.SceneManagement.SceneManager.LoadScene("Game");
    }
コード例 #7
0
        /**
         * 玩家坐下请求
         */
        public void RoomPlayerSitdownReq()
        {
            RoomPlayerSitdownReq roomPlayerSitdownReq = new RoomPlayerSitdownReq();

            roomPlayerSitdownReq.TableId = MainData.Instance().tableInfo.Id;

            NetCore.Instance.Send(Api.ENetMsgId.room_player_sitdown_req, roomPlayerSitdownReq);
        }
コード例 #8
0
        /**
         * 玩家下注请求
         */
        public void RoomPlayerBetReq(int betNum)
        {
            RoomPlayerBetReq roomPlayerBetReq = new RoomPlayerBetReq();

            roomPlayerBetReq.TableId = MainData.Instance().tableInfo.Id;
            roomPlayerBetReq.Bet     = betNum;

            NetCore.Instance.Send(Api.ENetMsgId.room_player_bet_req, roomPlayerBetReq);
        }
コード例 #9
0
        /**
         * 请求牌桌信息
         */
        public void RoomGetTableReq()
        {
            RoomGetTableReq roomGetTableReq = new RoomGetTableReq();

            roomGetTableReq.RoomId  = MainData.Instance().roomId;
            roomGetTableReq.TableId = MainData.Instance().tableInfo.Id;

            NetCore.Instance.Send(Api.ENetMsgId.room_get_table_req, roomGetTableReq);
        }
コード例 #10
0
        /**
         * 牌桌发送聊天消息
         */
        public void RoomTableChatReq(byte[] body)
        {
            RoomTableChatReq roomTableChatReq = new RoomTableChatReq();

            roomTableChatReq.Id   = MainData.Instance().tableInfo.Id;
            roomTableChatReq.Body = ByteString.AttachBytes(body);

            NetCore.Instance.Send(Api.ENetMsgId.room_table_chat_req, roomTableChatReq);
        }
コード例 #11
0
    /**
     * 检查凭证是否有效
     */
    public static void checkReceiptIsValid(string productID, string receipt, string uuid, GameObject gameObject)
    {
        Dictionary <string, object> receiptDict = new Dictionary <string, object>();

        receiptDict.Add("apple_data", receipt);
        receiptDict.Add("user_id", UserManager.Instance().authModel.user_id);
        receiptDict.Add("charge_goods_id", productID);
        receiptDict.Add("price", MainData.Instance().getGoodsPrice(productID));
        receiptDict.Add("uuid", uuid);

        // 发送之前先des加密
        string RSAString = DESBase64.DesEncryptWithKey(JsonMapper.ToJson(receiptDict), DESBase64.purchaseKey);
        Dictionary <string, object> RSADic = new Dictionary <string, object>();

        RSADic.Add("data", RSAString);

        HttpUtil.Http.Post(URLManager.appStoreCheckPurchaseCertUrl).Form(RSADic).OnSuccess(result =>
        {
            Debug.Log("OnSuccess: result------------------" + result);
            Dictionary <string, object> resultDict = JsonMapper.ToObject <Dictionary <string, object> >(result);
            string code = resultDict["code"].ToString();
            int codeInt = int.Parse(code);
            if (codeInt == 1)   // 凭证验证成功
            {
                removeReceipt(uuid);
                // 刷新主界面的信息
                UserInfoRefreshManager.refreshUserInfo(null);
                PopUtil.ShowMessageBoxWithConfirm("提示", "购买成功!");
            }
            else if (codeInt == -1)    //  服务器凭证验证成功但是数据操作异常,需要重新发送一次
            {
                PopUtil.ShowMessageBoxWithConfirmAndCancle("提示", "购买失败!点击确定重试!", () =>
                {          // 点击重新发送服务器验证
                    checkReceiptIsValid(productID, receipt, uuid, gameObject);
                }, () => { // 取消存储在本地,下次启动时候发送
                    saveReceipt(receiptDict, uuid);
                });
            }
            else if (codeInt == 0)    // 凭证无效
            {
                removeReceipt(uuid);
                PopUtil.ShowMessageBoxWithConfirm("提示", "购买失败!");
            }
        }).OnFail(result =>
        {
            Debug.Log("OnFail: result------------------" + result);
            // 网络问题
            PopUtil.ShowMessageBoxWithConfirmAndCancle("提示", "购买失败!点击确定重试!", () =>
            {             // 点击重新发送服务器验证
                checkReceiptIsValid(productID, receipt, uuid, gameObject);
            }, () =>
            {              // 取消存储在本地,下次启动时候发送
                saveReceipt(receiptDict, uuid);
            });
        }).GoSync();
    }
コード例 #12
0
    public void OnClickSetting()
    {
        Setting.SetActive(!Setting.activeSelf);
        Transform view = Setting.transform.GetChild(0).GetChild(0);

        view.GetComponentInChildren <Slider>().value = MainData.Instance().sensitivity;
        view.Find("MusicButtonBGM").GetComponent <Image>().sprite =
            MainData.Instance().BGMmute ? MusicMute : MusicPlay;
        view.Find("MusicButtonEffect").GetComponent <Image>().sprite =
            MainData.Instance().EffectMute ? MusicMute : MusicPlay;
    }
コード例 #13
0
 // Use this for initialization
 void Start()
 {
     ShoppingHandle.getDiamondList((error, resultList) =>
     {
         if (error == null)
         {
             MainData.Instance().diamondList = resultList.list;
             loadGoldView();
         }
     });
 }
コード例 #14
0
    public void OnClickStageButton(Button button)
    {
        string lv1 = button.transform.parent.name.Substring(5);

        Debug.Log(lv1);
        string lv2 = button.name.Substring(1);

        Debug.Log(lv2);
        MainData.Instance().gameLv1 = int.Parse(lv1);
        MainData.Instance().gameLv2 = int.Parse(lv2);
        UnityEngine.SceneManagement.SceneManager.LoadScene("Game");
    }
コード例 #15
0
    private void Start()
    {
        reConnectHandle = new ReConnectHandle();
        NetCore.Instance.registHandle(reConnectHandle);
        // 设置断开连接的回调方法
        NetCore.Instance.DisConnectAction = DisConnect;
        // 设置重连成功的回调方法(只有在没有登录的情况调用)
        NetCore.Instance.ReConnectSuccessAction = ReconnectSuccess;
        // 设置重连失败的回调方法
        NetCore.Instance.ReConnectFailAction = ReconnectFail;

        // 玩家断线重连 牌桌信息回复
        NetCore.Instance.setActionForever(NetProto.Api.ENetMsgId.room_player_reconnect_ack);
        NetCore.Instance.RegisterAction(NetProto.Api.ENetMsgId.room_player_reconnect_ack, (roomPlayerReconnectAck) =>
        {
            NetProto.RoomPlayerReconnectAck roomPlayerReconnectAction = (NetProto.RoomPlayerReconnectAck)roomPlayerReconnectAck;
            // 表示玩家不在牌桌上,留在当前界面
            if (roomPlayerReconnectAction.BaseAck.Ret == 0)
            {
                this.isShow = false;
                if (gameObject.scene.name.Equals("dynamic_room"))
                {
                    // 表示玩家不在牌桌上,返回首页
                    Application.LoadLevel("main");
                }
            }
            else
            {
                MainData.Instance().tableInfo = roomPlayerReconnectAction.Table;
                bool isUpdateSelfInfo         = false;
                for (int i = 0; i < roomPlayerReconnectAction.Table.Players.Count; i++)
                {
                    NetProto.PlayerInfo info = roomPlayerReconnectAction.Table.Players[i];
                    if (UserManager.Instance().authModel.user_id == info.Id)
                    {
                        isUpdateSelfInfo             = true;
                        MainData.Instance().selfInfo = info;
                        break;
                    }
                }
                if (isUpdateSelfInfo)
                {
                    Application.LoadLevel("dynamic_room");
                }
                else
                {
                    // 表示玩家不在牌桌上,返回首页
                    Application.LoadLevel("main");
                }
            }
        });
    }
コード例 #16
0
    public void OnClickNext(Button b)
    {
        int lv1now = MainData.Instance().gameLv1;

        if (lv1now == 3)
        {
            return;
        }
        else
        {
            MainData.Instance().gameLv1 = lv1now + 1;
        }
        ChangeLevelImage(lv1now + 1);
    }
コード例 #17
0
    // Use this for initialization
    void Start()
    {
        // add purchaseToIOS component
        gameObject.AddComponent <PurchaseToIOS>();

        ShoppingHandle.getChargeGoodsList((error, resultList) =>
        {
            if (error == null)
            {
                MainData.Instance().chargeGoods = resultList.list;
                loadGoldView();
            }
        });
    }
コード例 #18
0
    public void OnClickEffectButton(Button button)
    {
        bool isMuted = !MainData.Instance().EffectMute;

        if (isMuted)
        {
            button.GetComponent <Image>().sprite = MusicMute;
        }
        else
        {
            button.GetComponent <Image>().sprite = MusicPlay;
        }
        MainData.Instance().EffectMute = isMuted;
    }
コード例 #19
0
    AudioSource CreateEffect(string path)
    {
        if (MainData.Instance().EffectMute)
        {
            return(null);
        }
        GameObject effect = Instantiate(SoundEffect);

        effect.transform.SetParent(gameObject.transform);
        AudioClip clip = Resources.Load("Musics/" + path) as AudioClip;

        effect.GetComponent <AudioSource>().clip = clip;
        effect.GetComponent <AudioSource>().Play();
        return(effect.GetComponent <AudioSource>());
    }
コード例 #20
0
    public void OnClickBGMButton(Button button)
    {
        bool isMuted = !MainData.Instance().BGMmute;

        AudioManager.Instance().GetComponent <AudioSource>().mute = isMuted;
        if (isMuted)
        {
            button.GetComponent <Image>().sprite = MusicMute;
        }
        else
        {
            button.GetComponent <Image>().sprite = MusicPlay;
        }
        MainData.Instance().BGMmute = isMuted;
    }
コード例 #21
0
    void loadGoldView()
    {
        GameObject commonUIPrefab = Resources.Load("Prefabs/GoldsItem") as GameObject;

        goldsObjectList = new List <GameObject>();
        for (int i = 0; i < MainData.Instance().chargeGoods.Length; i++)
        {
            ChargeGoodsInfo chargeGoods = MainData.Instance().chargeGoods[i];
            GameObject      golds       = Instantiate(commonUIPrefab) as GameObject;
            float           width       = golds.GetComponent <RectTransform>().sizeDelta.x;
            golds.transform.parent        = GameObject.Find("GoldContent/Viewport/Content").transform;
            golds.name                    = "GoldsItem" + i;
            golds.transform.localPosition = new Vector3(300 + i % 3 * (width + 150), -300 - (i / 3 * 400), 0);
            golds.transform.localScale    = new Vector3(1, 1, 0);

            //Image GoldTypeImage = golds.Find<Image>("GoldContent/Viewport/Content/"+golds.name +"/TopImage/GoldTypeImage");
            Text MondyText      = golds.Find <Text>("GoldContent/Viewport/Content/" + golds.name + "/TopImage/MondyText");
            Text ConversionText = golds.Find <Text>("GoldContent/Viewport/Content/" + golds.name + "/TopImage/ConversionText");
            Text DiamondText    = golds.Find <Text>("GoldContent/Viewport/Content/" + golds.name + "/DiamondImage/DiamondText");

            //GoldTypeImage.SetWebImage(chargeGoods.image, "");
            MondyText.text      = chargeGoods.price + "万";
            ConversionText.text = chargeGoods.goods_describe;
            DiamondText.text    = chargeGoods.price.ToString();

            golds.GetComponent <Button>().onClick.AddListener(() => {
                if (UserManager.Instance().userInfo.diamond_balance < chargeGoods.price)
                {
                    PopUtil.ShowMessageBoxWithConfirm("提示", "钻石不够啦,赶紧去买!");
                    return;
                }
                ShoppingHandle.exchargeDiamond(chargeGoods.id.ToString(), (error) =>
                {
                    if (error == null)
                    {
                        PopUtil.ShowMessageBoxWithConfirm("提示", "兑换成功!");
                        UserInfoRefreshManager.refreshUserInfo(null);
                    }
                    else
                    {
                        PopUtil.ShowMessageBoxWithConfirm("提示", "兑换失败");
                    }
                });
            });

            goldsObjectList.Add(golds);
        }
    }
コード例 #22
0
    public void OnDebugLvSelectorExit(InputField inputField)
    {
        string text = inputField.text;

        if (text.Length != 3 ||
            inputField.text[1] != '-' ||
            !char.IsNumber(text[0]) ||
            !char.IsNumber(text[2]))
        {
            Debug.Log("The input field is wrong.");
            inputField.text = "";
        }
        else
        {
            MainData.Instance().gameLv1 = int.Parse(char.ToString(inputField.text[0]));
            MainData.Instance().gameLv2 = int.Parse(char.ToString(inputField.text[2]));
            Debug.Log("setting the level is complete.");
        }
    }
コード例 #23
0
ファイル: GameManger.cs プロジェクト: isd-consult/unity_poker
    // 初始化房间信息
    public void InitRoomInfo()
    {
        if (MainData.Instance() == null || MainData.Instance().tableInfo == null)
        {
            return;
        }
        PlayerInfo selfInfo  = MainData.Instance().selfInfo;
        TableInfo  tableInfo = MainData.Instance().tableInfo;

        // 初始化Info
        mGameControler.InitInfo(selfInfo, tableInfo);

        // 初始化玩家信息
        mGameControler.InitPlayerInfo(tableInfo.Players);

        // 当前玩家数大于3(玩家数中包括自己)且牌局还未结束,初始化牌桌信息
        if (tableInfo.N >= 2 && tableInfo.Status == 1)
        {
            // 初始化公共牌信息
            mGameControler.InitPublicCardInfo(tableInfo.Cards);

            // 初始化底池
            mGameControler.InitPotInfo(tableInfo.Pot);

            // 初始化玩家手牌信息
            mGameControler.InitPlayerHandCard(tableInfo.Players);

            // 初始化已下注筹码
            mGameControler.InitPlayerChips(tableInfo.Players);

            // 光标转到当前玩家
            mGameControler.TrunCurrentPalyer(tableInfo.Players, tableInfo.Bet);

            // 设置庄家位置
            mGameControler.SetDealer(tableInfo.Button);
        }
        else
        {
            mGameControler.SetPlayerReadyAction(tableInfo.Players);
        }
    }
コード例 #24
0
 public void toRoom(int roomId)
 {
     NetCore.Instance.RegisterAction(NetProto.Api.ENetMsgId.room_get_table_ack, (tableAction) =>
     {
         RoomGetTableAck tableAck      = (RoomGetTableAck)tableAction;
         MainData.Instance().roomId    = roomId;
         MainData.Instance().tableInfo = tableAck.Table;
         for (int i = 0; i < tableAck.Table.Players.Count; i++)
         {
             PlayerInfo info = tableAck.Table.Players[i];
             if (UserManager.Instance().authModel.user_id == info.Id)
             {
                 MainData.Instance().selfInfo = info;
                 break;
             }
         }
         Debug.Log("牌桌id: " + MainData.Instance().tableInfo.Id);
         Application.LoadLevel("dynamic_room");
     });
     mainHandle.roomPlayerJoinReq(roomId);
 }
コード例 #25
0
    public void OnClickSoundButton(Button button)
    {
        bool isMuted;

        if (button.name.Contains("BGM"))
        {
            isMuted = !MainData.Instance().BGMmute;
            MainData.Instance().BGMmute = isMuted;
            AudioManager.Instance().GetComponent <AudioSource>().mute = isMuted;
        }
        else
        {
            isMuted = !MainData.Instance().BGMmute;
            MainData.Instance().BGMmute = isMuted;
        }
        if (isMuted)
        {
            button.GetComponent <Image>().sprite = Resources.Load <Sprite>("Images/MusicImageMute");
        }
        else
        {
            button.GetComponent <Image>().sprite = Resources.Load <Sprite>("Images/MusicImagePlay");
        }
    }
コード例 #26
0
ファイル: GameManger.cs プロジェクト: isd-consult/unity_poker
    // Use this for initialization
    void Start()
    {
        /* 注册请求 */
        mGameHandle = new GameHandle();
        NetCore.Instance.registHandle(mGameHandle);

        mGameControler               = GetComponent <GameControler>();
        mGameControler.mGameHandle   = mGameHandle;
        mButtonControler             = GetComponent <ButtonControler>();
        mButtonControler.mGameHandle = mGameHandle;
        mChatControler               = GetComponent <ChatControler>();
        mChatControler.mGameHandle   = mGameHandle;

        // 初始化房间信息
        InitRoomInfo();

        // 通知更新牌桌(换桌的时候会通知一次)
        NetCore.Instance.setActionForever(NetProto.Api.ENetMsgId.room_get_table_ack);
        NetCore.Instance.RegisterAction(NetProto.Api.ENetMsgId.room_get_table_ack, (roomGetTableAck) =>
        {
            NetProto.RoomGetTableAck roomGetTableAction = (NetProto.RoomGetTableAck)roomGetTableAck;
            MainData.Instance().tableInfo = roomGetTableAction.Table;
            foreach (var playerInfo in roomGetTableAction.Table.Players)
            {
                if (UserManager.Instance().authModel.user_id == playerInfo.Id)
                {
                    MainData.Instance().selfInfo = playerInfo;
                    break;
                }
            }
            // 重置UI
            mGameControler.ResetUIAfterChangeTable();
            // 初始化房间信息
            InitRoomInfo();
            // 隐藏换桌加载组件
            mGameControler.SetChangeTableLoadingActive(false);
        });

        // 玩家加入游戏
        NetCore.Instance.setActionForever(NetProto.Api.ENetMsgId.room_player_join_ack);
        NetCore.Instance.RegisterAction(NetProto.Api.ENetMsgId.room_player_join_ack, (roomPlayerJoinAck) =>
        {
            RoomPlayerJoinAck roomPlayerJoinAction = (RoomPlayerJoinAck)roomPlayerJoinAck;
            // 更新玩家信息
            mGameControler.UpdateAfterPlayerJoin(roomPlayerJoinAction.Player);
        });

        // 玩家离开游戏
        NetCore.Instance.setActionForever(NetProto.Api.ENetMsgId.room_player_gone_ack);
        NetCore.Instance.RegisterAction(NetProto.Api.ENetMsgId.room_player_gone_ack, (roomPlayerGoneAck) =>
        {
            RoomPlayerGoneAck roomPlayerGoneAction = (RoomPlayerGoneAck)roomPlayerGoneAck;
            // 更新玩家信息
            mGameControler.UpdateAfterPlayerGone(roomPlayerGoneAction.Player);
        });

        // 通报庄家
        NetCore.Instance.setActionForever(NetProto.Api.ENetMsgId.room_button_ack);
        NetCore.Instance.RegisterAction(NetProto.Api.ENetMsgId.room_button_ack, (roomButtonAck) =>
        {
            RoomButtonAck roomButtonAction = (RoomButtonAck)roomButtonAck;
            // 设置庄家
            mGameControler.SetDealer(roomButtonAction.ButtonPos);
        });

        // 发牌
        NetCore.Instance.setActionForever(NetProto.Api.ENetMsgId.room_deal_ack);
        NetCore.Instance.RegisterAction(NetProto.Api.ENetMsgId.room_deal_ack, (roomDealAck) =>
        {
            RoomDealAck roomDealAction = (RoomDealAck)roomDealAck;
            string cardType            = CardInfoUtil.GetCardType(roomDealAction.HandLevel);
            switch (roomDealAction.Action)
            {
            case CardInfoUtil.ACTION_PREFLOP:
                mGameControler.DealHandCard(roomDealAction.Cards, cardType);
                break;

            case CardInfoUtil.ACTION_FLOP:
                mGameControler.DealPublicCard(roomDealAction.Cards, cardType);
                break;

            case CardInfoUtil.ACTION_TURN:
                mGameControler.DealPublicCard(roomDealAction.Cards, cardType);
                break;

            case CardInfoUtil.ACTION_RIVER:
                mGameControler.DealPublicCard(roomDealAction.Cards, cardType);
                break;

            default:
                break;
            }
        });

        // 通报当前下注玩家
        NetCore.Instance.setActionForever(NetProto.Api.ENetMsgId.room_action_ack);
        NetCore.Instance.RegisterAction(NetProto.Api.ENetMsgId.room_action_ack, (roomActionAck) =>
        {
            RoomActionAck roomActionAction = (RoomActionAck)roomActionAck;
            mGameControler.TurnNext(roomActionAction.Pos, roomActionAction.BaseBet);
        });

        // 玩家押注
        NetCore.Instance.setActionForever(NetProto.Api.ENetMsgId.room_player_bet_ack);
        NetCore.Instance.RegisterAction(NetProto.Api.ENetMsgId.room_player_bet_ack, (roomPlayerBetAck) =>
        {
            RoomPlayerBetAck roomPlayerBetAction = (RoomPlayerBetAck)roomPlayerBetAck;
            if (roomPlayerBetAction.Action.Equals(PlayerInfoUtil.ACTION_FLOD))
            {
                mGameControler.Discard(roomPlayerBetAction.Pos);
            }
            else
            {
                mGameControler.PlayerBetting(roomPlayerBetAction);
            }
        });

        // 通报底池
        NetCore.Instance.setActionForever(NetProto.Api.ENetMsgId.room_pot_ack);
        NetCore.Instance.RegisterAction(NetProto.Api.ENetMsgId.room_pot_ack, (roomPotAck) =>
        {
            roomPotAckAction = (RoomPotAck)roomPotAck;
            Invoke("RoomPot", 0.5f);
        });

        // 摊牌比牌
        NetCore.Instance.setActionForever(NetProto.Api.ENetMsgId.room_showdown_ack);
        NetCore.Instance.RegisterAction(NetProto.Api.ENetMsgId.room_showdown_ack, (roomShowdownAck) =>
        {
            RoomShowdownAck roomShowdownAction = (RoomShowdownAck)roomShowdownAck;
            mGameControler.GameOver(roomShowdownAction);
        });

        // 通报玩家站起
        NetCore.Instance.setActionForever(NetProto.Api.ENetMsgId.room_player_standup_ack);
        NetCore.Instance.RegisterAction(NetProto.Api.ENetMsgId.room_player_standup_ack, (roomPlayerStandupAck) =>
        {
            RoomPlayerStandupAck roomPlayerStandupAction = (RoomPlayerStandupAck)roomPlayerStandupAck;
            // 更新玩家信息
            mGameControler.UpdateAfterPlayerStandUp(roomPlayerStandupAction);
        });

        // 通报玩家坐下
        NetCore.Instance.setActionForever(NetProto.Api.ENetMsgId.room_player_sitdown_ack);
        NetCore.Instance.RegisterAction(NetProto.Api.ENetMsgId.room_player_sitdown_ack, (roomPlayerSitdownAck) =>
        {
            RoomPlayerSitdownAck roomPlayerSitdownAction = (RoomPlayerSitdownAck)roomPlayerSitdownAck;
            // 更新玩家信息
            mGameControler.UpdateAfterPlayerSitDown(roomPlayerSitdownAction.Player);
        });

        // 自动坐下等待玩家数通报
        NetCore.Instance.setActionForever(NetProto.Api.ENetMsgId.room_player_auto_sitdown_ack);
        NetCore.Instance.RegisterAction(NetProto.Api.ENetMsgId.room_player_auto_sitdown_ack, (roomPlayerAutoSitdownAck) =>
        {
            RoomPlayerAutoSitdownAck roomPlayerAutoSitdownAction = (RoomPlayerAutoSitdownAck)roomPlayerAutoSitdownAck;
            mButtonControler.UpdateWaitCount(roomPlayerAutoSitdownAction.Num);
        });

        // 踢出玩家
        NetCore.Instance.setActionForever(NetProto.Api.ENetMsgId.room_kicked_outAck);
        NetCore.Instance.RegisterAction(NetProto.Api.ENetMsgId.room_kicked_outAck, (kickedOutAck) =>
        {
            KickedOutAck kickedOutAction = (KickedOutAck)kickedOutAck;
        });

        // 关闭牌桌,服务进行维护时通报
        NetCore.Instance.setActionForever(NetProto.Api.ENetMsgId.room_shutdown_table_ack);
        NetCore.Instance.RegisterAction(NetProto.Api.ENetMsgId.room_shutdown_table_ack, (roomShutdownTableAck) =>
        {
            Application.LoadLevel("main");
        });

        // 牌桌聊天消息回复
        NetCore.Instance.setActionForever(NetProto.Api.ENetMsgId.room_table_chat_ack);
        NetCore.Instance.RegisterAction(NetProto.Api.ENetMsgId.room_table_chat_ack, (roomTableChatAck) =>
        {
            RoomTableChatAck roomTableChatAction = (RoomTableChatAck)roomTableChatAck;
            mChatControler.AddMessage(roomTableChatAction.Body.ToByteArray());
        });
    }
コード例 #27
0
 public void OnSensitivityValueChanged(Slider slider)
 {
     MainData.Instance().sensitivity = slider.value;
 }