//public ClockCD ClockCd; /// <summary> /// 初始化用户信息 /// </summary> /// <param name="gameInfo"></param> public void InitUser(ISFSObject gameInfo) { var gdata = App.GetGameData <BlackJackGameData>(); //初始化自己的信息 if (gameInfo.ContainsKey("user")) { ISFSObject selfInfo = gameInfo.GetSFSObject(RequestKey.KeyUser); SelfSeat = selfInfo.GetInt(RequestKey.KeySeat); SelfPlayer = gdata.GetPlayer <BjPlayerPanel>(SelfSeat, true); SelfPlayer.NameLabel.Color = Color.yellow; bool isGaming = gdata.IsGameing; bool isReady = selfInfo.GetBool("state"); SelfPlayer.SetReadyBtnActive(!isGaming && !isReady); SelfPlayer.SetReadyMarkActive(!isGaming && isReady); } //初始化其他玩家信息 if (gameInfo.ContainsKey("users")) { //初始化每个玩家的信息 ISFSArray users = gameInfo.GetSFSArray(RequestKey.KeyUserList); foreach (ISFSObject user in users) { int seat = user.GetInt(RequestKey.KeySeat); var someonePanel = gdata.GetPlayer <BjPlayerPanel>(seat, true); someonePanel.gameObject.SetActive(true); someonePanel.SetReadyBtnActive(false); //隐藏其他玩家的准备按钮 someonePanel.SetReadyMarkActive(user.GetBool("state") && !user.ContainsKey("bet") && !user.ContainsKey("cards")); //设置玩家的准备状态 if (user.ContainsKey("bet")) { someonePanel.BetMoney = user.GetInt("bet"); } if (user.ContainsKey("cards")) { int[] cards = user.GetIntArray("cards"); DealPokerMgr.DealPokerNoAnim(seat, cards); } } if (gameInfo.ContainsKey("bankcards")) { int[] bankCards = gameInfo.GetIntArray("bankcards"); DealPokerMgr.DealPokerNoAnim(gdata.BjBankerBanker, bankCards); } } }
/// <summary> /// 游戏数据重置 /// </summary> /// <param name="init">是否直接清理玩家手牌,不播放动画</param> public virtual void Reset(bool init = false) { PublicPokers = new List <PokerCard>(); DealPokerMgr.Reset(); SpeakMgr.Reset(); BetMgr.Reset(); YxClockManager.StopToCountDown(); var gdata = App.GetGameData <BlackJackGameData>(); var playerList = gdata.PlayerList; foreach (GameObject bet in Bets) { Destroy(bet); } Bets.Clear(); if (init) { YxDebug.LogError("Reset but && Init"); foreach (var yxBaseGamePlayer in playerList) { var player = (BjPlayerPanel)yxBaseGamePlayer; player.Reset(); } foreach (PokerCard publicPoker in PublicPokers) { Destroy(publicPoker.gameObject); } PublicPokers.Clear(); gdata.BjBankerBanker.Reset(); } else { foreach (var yxBaseGamePlayer in playerList) { var player = (BjPlayerPanel)yxBaseGamePlayer; player.ThrowPokersWithAnim(); player.Reset(); } var banker = gdata.BjBankerBanker; banker.ThrowPokersWithAnim(); banker.Reset(); } SelfPlayer.SetReadyBtnActive(true); }