コード例 #1
0
        /// <summary>
        /// 获取用户信息
        /// </summary>
        private async void GetUserInfo()
        {
            try
            {
                Gamer           user     = GameTools.GetUser();
                G2C_GetUserInfo userinfo =
                    await SessionComponent.Instance.Session.Call(new C2G_GetUserInfo()
                {
                    UserID = GameTools.GetUserID()
                }) as G2C_GetUserInfo;

                user.Loses    = userinfo.Loses;
                user.Money    = userinfo.Money;
                user.NickName = userinfo.NickName;
                user.Wins     = userinfo.Wins;
                Log.Debug($"{user.NickName} | {user.Money}");

                this.txt_NameSetting.text  = userinfo.NickName;
                this.txt_MoneySetting.text = userinfo.Money.ToString();
            }
            catch (Exception e)
            {
                Log.Error(e);
            }
        }
コード例 #2
0
 protected override void Run(ETModel.Session session, Actor_BetResult_Ntt message)
 {
     if (GameTools.IsSelf(message.ChairId))
     {
         GameTools.GetUser().GetComponent <GamerUIComponent>().ShowGoldBg(message.BetNumber);
     }
     else
     {
         GameTools.GetOtherUser(message.ChairId).GetComponent <GamerUIComponent>().ShowGoldBg(message.BetNumber);
     }
 }
コード例 #3
0
 protected override void Run(ETModel.Session session, Actor_RobBankerResult_Ntt message)
 {
     Log.Debug($"玩家{message.ChairId.ToView()}抢庄多少:{message.BankerNumber}");
     if (GameTools.IsSelf(message.ChairId))
     {
         GameTools.GetUser().GetComponent <GamerUIComponent>().ShowRobBanker(message.BankerNumber);
     }
     else
     {
         GameTools.GetOtherUser(message.ChairId).GetComponent <GamerUIComponent>().ShowRobBanker(message.BankerNumber);
     }
 }
コード例 #4
0
ファイル: Actor_GamerStart.cs プロジェクト: suziye123/MyET
        protected override void Run(ETModel.Session session, Actor_GamerStart_Ntt message)
        {
            Log.Error("游戏开始啦!!!");
            GameTools.GetUser().GetComponent <GamerUIComponent>().Reset();
            GameTools.GetUser().GetComponent <HandCardComponent>().Reset();

            foreach (KeyValuePair <ushort, Gamer> info in Game.Scene.GetComponent <GameDataComponent>().UserInfos)
            {
                info.Value.GetComponent <GamerUIComponent>().Reset();
                info.Value.GetComponent <HandCardComponent>().Reset();
            }
        }
コード例 #5
0
        protected override void Run(ETModel.Session session, Actor_SelectBanker_Ntt message)
        {
            Log.Debug($"庄家为:{message.ChairId.ToView()}");
            if (GameTools.IsSelf(message.ChairId))
            {
                GameTools.GetUser().GetComponent <GamerUIComponent>().ShowBanker();
            }
            else
            {
                GameTools.GetOtherUser(message.ChairId).GetComponent <GamerUIComponent>().ShowBanker();
            }

            GameTools.GetRoomComponent().playerOperateComponent.ShowAddRob();
        }
コード例 #6
0
ファイル: UIRoom_Component.cs プロジェクト: suziye123/MyET
 /// <summary>
 /// 返回大厅
 /// </summary>
 private void OnReturnLobby()
 {
     try
     {
         SessionComponent.Instance.Session.Send(new C2G_ReturnLobby_Ntt());
         GameTools.GetUser().ChairId = 255;
         Game.Scene.GetComponent <GameDataComponent>().UserInfos.Clear();
         Game.Scene.GetComponent <UIComponent>().Remove(UIType.UIRoom);
         Game.Scene.GetComponent <UIComponent>().CreateOrShow(UIType.UILobby);
     }
     catch (Exception e)
     {
         Log.Debug(e.Message);
     }
 }
コード例 #7
0
 private void OnReady()
 {
     try
     {
         SessionComponent.Instance.Session.Send(new Actor_GamerReady_Ntt()
         {
             ChairId = GameTools.GetUser().ChairId
         });
         this.HideReady();
     }
     catch (Exception e)
     {
         Log.Error(e.Message);
     }
 }
コード例 #8
0
        protected override void Run(ETModel.Session session, Actor_ShowHandResult_Ntt message)
        {
            Log.Debug($"玩家{message.ChairId},摊牌数据:{message.Cards.BytesToString()},牌型:{message.CardType}");

            if (GameTools.IsSelf(message.ChairId))
            {
                GameTools.GetUser().GetComponent <HandCardComponent>().ShowPuke(message.Cards);
                GameTools.GetUser().GetComponent <HandCardComponent>().ShowNiuShu(message.CardType);
            }
            else
            {
                GameTools.GetOtherUser(message.ChairId).GetComponent <HandCardComponent>().ShowPuke(message.Cards);
                GameTools.GetOtherUser(message.ChairId).GetComponent <HandCardComponent>().ShowNiuShu(message.CardType);
            }
        }
コード例 #9
0
ファイル: Actor_ReturnLobby.cs プロジェクト: suziye123/MyET
        protected override void Run(ETModel.Session session, Actor_GamerExitRoom_Ntt message)
        {
            //如果是自己退出房间
            if (message.ChairId == GameTools.GetUser().ChairId)
            {
                GameTools.GetUser().ChairId = 255;
                Game.Scene.GetComponent <UIComponent>().Remove(UIType.UIRoom);
                Game.Scene.GetComponent <UIComponent>().CreateOrShow(UIType.UILobby);
                return;
            }
            //有其他玩家退出房间
            GameDataComponent GameData = Game.Scene.GetComponent <GameDataComponent>();

            GameData.Remove(message.ChairId);
            Game.EventSystem.Run(EventIdType.UpdateView);
        }
コード例 #10
0
ファイル: UIRoom_Component.cs プロジェクト: suziye123/MyET
        /// <summary>
        /// 游戏开始
        /// </summary>
        public void GameStart()
        {
            GameDataComponent GameData = Game.Scene.GetComponent <GameDataComponent>();

            foreach (KeyValuePair <ushort, Gamer> info in GameData.UserInfos)
            {
                //如果是自己就跳过
                if (info.Key == GameTools.GetUser().ChairId)
                {
                    continue;
                }
                ushort ViewId = info.Key.ToView();
                PlayerPukes[ViewId].SetActive(true);
                info.Value.GetComponent <GamerUIComponent>().SetPanel(this.PlayerPukes[ViewId]);
            }
            PlayerPukes[0].SetActive(true);
            GameData.MySelf.GetComponent <GamerUIComponent>().SetPanel(PlayerPukes[0]);
        }
コード例 #11
0
 protected override void Run(ETModel.Session session, Actor_GamerReady_Ntt message)
 {
     try
     {
         if (message.ChairId == GameTools.GetUser().ChairId)
         {
             Log.Error("自己准备了");
         }
         else
         {
             Log.Error($"玩家{message.ChairId.ToView()}准备了");
         }
     }
     catch (Exception e)
     {
         Log.Error(e);
     }
 }
コード例 #12
0
        private async void OnJoinRoom()
        {
            try
            {
                if (string.IsNullOrEmpty(InputField_RoomId.text))
                {
                    return;
                }

                G2C_JoinRoom g2c_JoinRoom = await SessionComponent.Instance.Session.Call(new C2G_JoinRoom()
                {
                    RoomId = Convert.ToInt64(this.InputField_RoomId.text),
                })
                                            as G2C_JoinRoom;

                Log.Debug($"加入房间:{g2c_JoinRoom.Error},{g2c_JoinRoom.Message}");

                //添加房间配置
                RoomConfig config = new RoomConfig();
                config.GameCount  = g2c_JoinRoom.Room.GameCount;
                config.GamePlayer = g2c_JoinRoom.Room.PlayerCount;
                config.RoomId     = g2c_JoinRoom.RoomId;
                config.GameScore  = g2c_JoinRoom.Room.GameScore;

                GameTools.GetUser().ChairId = g2c_JoinRoom.ChairID;
                Log.Debug($"自己的座位号:{g2c_JoinRoom.ChairID}");
                RoomComponent roomComponent = Game.Scene.GetComponent <RoomComponent>();

                if (roomComponent == null)
                {
                    Game.Scene.AddComponent <RoomComponent, RoomConfig>(config);
                }
                else
                {
                    roomComponent.SetRoomConfig(config);
                }
                Game.Scene.GetComponent <UIComponent>().CreateOrShow(UIType.UIRoom);
                this.Close();
            }
            catch (Exception e)
            {
                Log.Error(e);
            }
        }
コード例 #13
0
        /// <summary>
        /// 创建房间
        /// </summary>
        private async void OnCreateRoom()
        {
            try
            {
                RoomInfo ToServerinfo = new RoomInfo();
                ToServerinfo.GameCount   = 10;
                ToServerinfo.GameScore   = 20;
                ToServerinfo.PlayerCount = 2;
                G2C_CreateRoom RoomInfo = await SessionComponent.Instance.Session.Call(new C2G_CreateRoom()
                {
                    Room = ToServerinfo
                }) as G2C_CreateRoom;

                Log.Debug($"RoomInfo={RoomInfo.Room.GameCount},{RoomInfo.Room.GameScore},{RoomInfo.Room.PlayerCount}");

                //添加房间配置
                RoomConfig config = new RoomConfig();
                config.GameCount  = RoomInfo.Room.GameCount;
                config.GamePlayer = RoomInfo.Room.PlayerCount;
                config.RoomId     = RoomInfo.RoomId;
                config.GameScore  = RoomInfo.Room.GameScore;

                GameTools.GetUser().ChairId = RoomInfo.ChairID;
                RoomComponent roomComponent = Game.Scene.GetComponent <RoomComponent>();

                if (roomComponent == null)
                {
                    Game.Scene.AddComponent <RoomComponent, RoomConfig>(config);
                }
                else
                {
                    roomComponent.SetRoomConfig(config);
                }


                Game.Scene.GetComponent <UIComponent>().CreateOrShow(UIType.UIRoom);
                this.Close();
            }
            catch (Exception e)
            {
            }
        }
コード例 #14
0
ファイル: Actor_XJGameResult.cs プロジェクト: suziye123/MyET
        protected override void Run(ETModel.Session session, Actor_XJGameResult_Ntt message)
        {
            List <XJResultInfo> Results = message.XJResult;

            for (int i = 0; i < Results.Count; i++)
            {
                XJResultInfo info = Results[i];
                Log.Debug($"玩家{info.ChairId.ToView()},当局得分:{info.XJScore}");
                if (GameTools.IsSelf(info.ChairId))
                {
                    GameTools.GetUser().GetComponent <GamerUIComponent>().UpdateScore(info.AllScore);
                }
                else
                {
                    GameTools.GetOtherUser(info.ChairId).GetComponent <GamerUIComponent>().UpdateScore(info.AllScore);
                }
            }

            GameTools.GetRoomComponent().playerOperateComponent.ShowReady();
        }
コード例 #15
0
ファイル: Actor_SendCard.cs プロジェクト: suziye123/MyET
        protected override void Run(ETModel.Session session, Actor_SendCard_Ntt message)
        {
            //显示手牌
            Log.Debug($"收到手牌:{message.Cards.BytesToString()}");

            HandCardComponent handCardComponent = GameTools.GetUser().GetComponent <HandCardComponent>();

            handCardComponent.ShowPuke(message.Cards);


            foreach (KeyValuePair <ushort, Gamer> gamer in Game.Scene.GetComponent <GameDataComponent>().UserInfos)
            {
                //如果是自己就跳过
                if (gamer.Key == GameTools.GetUser().ChairId)
                {
                    continue;
                }
                //显示其他玩家的背牌
                gamer.Value.GetComponent <HandCardComponent>().HideAllPuke();
            }

            GameTools.GetRoomComponent().playerOperateComponent.ShowRob();
        }
コード例 #16
0
        /// <summary>
        /// 绑定
        /// </summary>
        /// <param name="panel"></param>
        public void SetPanel(GameObject panel)
        {
            if (Panel != null)
            {
                return;
            }
            Panel = panel;
            ReferenceCollector rc = this.Panel.GetComponent <ReferenceCollector>();

            for (int i = 1; i <= 5; i++)
            {
                RobButtons.Add(rc.GetComponent <Button>($"Rob{i}"));
            }

            for (int i = 1; i <= 3; i++)
            {
                AddRobButtons.Add(rc.GetComponent <Button>($"AddRob{i}"));
            }

            btn_Tanpai  = rc.GetComponent <Button>("btn_tanpai");
            btn_Ready   = rc.GetComponent <Button>("btn_Ready");
            RobPanel    = rc.Get <GameObject>("Rob");
            AddRobPanel = rc.Get <GameObject>("AddRob");


            btn_Ready.onClick.AddListener(OnReady);
            for (int i = 0; i < this.RobButtons.Count; i++)
            {
                int index = i + 1;
                //如果是不抢
                if (index == 5)
                {
                    index = 0;
                }
                RobButtons[i].onClick.AddListener(delegate
                {
                    Log.Error($"抢庄倍数;{index}");
                    SessionComponent.Instance.Session.Call(new Actor_RobBanker_Ntt()
                    {
                        ChairId      = GameTools.GetUser().ChairId,
                        BankerNumber = (byte)index
                    });
                    this.HideRob();
                });
            }


            for (int i = 0; i < this.AddRobButtons.Count; i++)
            {
                int index = i + 1;
                Log.Error($"下注倍数;{index}");
                AddRobButtons[i].onClick.AddListener(delegate
                {
                    SessionComponent.Instance.Session.Call(new Actor_GamerBet_Ntt()
                    {
                        ChairId   = GameTools.GetUser().ChairId,
                        BetNumber = (byte)index
                    });
                    this.HideAddRob();
                });
            }


            btn_Tanpai.onClick.AddListener(delegate
            {
                SessionComponent.Instance.Session.Call(new Actor_ShowHandCard_Ntt()
                {
                    ChairId = GameTools.GetUser().ChairId
                });
                HideTanpai();
            });
        }
コード例 #17
0
ファイル: Actor_PlayerEnter.cs プロジェクト: suziye123/MyET
        protected override void Run(ETModel.Session session, Actor_GamerEnterRoom_Ntt message)
        {
            GameDataComponent GameData = Game.Scene.GetComponent <GameDataComponent>();

            for (int i = 0; i < message.users.Count; i++)
            {
                GamerInfo user = message.users[i];
                //如果User为空  如果已经添加了此玩家的信息               如果是自己的信息
                if (user == null || GameData.IsExist(user.ChairID) || user.ChairID == GameTools.GetUser().ChairId)
                {
                    continue;
                }
                Gamer gamer = GamerFactory.CreateOther(user.ChairID, false);
                gamer.Loses    = user.Loses;
                gamer.Money    = user.Money;
                gamer.NickName = user.NickName;
                gamer.Wins     = user.Wins;
                GameData.Add(user.ChairID, gamer);
                Log.Debug($"存储新来的玩家的信息:{gamer.NickName}");
            }

            Game.EventSystem.Run(EventIdType.UpdateView);
        }