/// <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); } }
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); } }
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); } }
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(); } }
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(); }
/// <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); } }
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); } }
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); } }
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); }
/// <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]); }
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); } }
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); } }
/// <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) { } }
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(); }
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(); }
/// <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(); }); }
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); }