public DDZPlayerHeadPlugin Awake(GameObject panel) { this.panel = panel; _rf = this.panel.GetComponent <ReferenceCollector>(); this.GamersDic = new Dictionary <int, DDZGamer>(); GamersPanel = new Dictionary <int, GameObject>(); for (int i = 0; i < 3; i++) { this.GamersPanel[i] = _rf.Get <GameObject>("PlayerPosition" + i); this.GamersPanel[i].SetActive(false); } for (int i = 0; i < 3; i++) { DDZGamer gamer = DDZUIFactory.gamer.Create(0, i, this); GamersDic[i] = gamer; gamer.GetComponent <DDZGamerUIComponent>().SetPanel(GamersPanel[i], i); } return(this); }
/// <summary> /// 设置自己的UI /// </summary> public void SetMyUserVO() { var userVO = DataCenterComponent.Instance.userInfo.getMyUserVo(); DDZGamer myGamer = GamersDic[0]; myGamer.GetComponent <DDZGamerUIComponent>().SetPlayerUI(userVO); }
/// <summary> /// 设置玩家的手牌数目 /// </summary> /// <param name="seatId"></param> /// <param name="cardNum"></param> public void SetCardNum(int seatId, int cardNum) { int realSeatId = DDZGameHelper.ChangeSeat(seatId); DDZGamer gamer = GamersDic[realSeatId]; gamer.GetComponent <DDZGamerUIComponent>().SetCardNum(cardNum); }
/// <summary> /// 清除座位玩家UI /// </summary> public void ClearOnSeatPlayer() { for (int i = 0; i < 3; i++) { DDZGamer gamer = GamersDic[i]; gamer.GetComponent <DDZGamerUIComponent>().Reset(); } }
/// <summary> /// 清除所有玩家高亮效果 /// </summary> public void ClearAllActivePlayerIcon() { for (int i = 0; i < 3; i++) { DDZGamer gamer = GamersDic[i]; gamer.GetComponent <DDZGamerUIComponent>().SetActivePlayerIcon(false); } }
/// <summary> /// 清除指定的时钟 /// </summary> /// <param name="seatId"></param> public void ClearClockByID(int seatId) { if (seatId > -1) { DDZGamer gamer = GamersDic[seatId]; gamer.GetComponent <DDZGamerUIComponent>().Clock.SetActive(false); } }
/// <summary> /// 清除所有地主头像 /// </summary> public void ClearAllLordHeadIcon() { for (int i = 0; i < 3; i++) { DDZGamer gamer = GamersDic[i]; gamer.GetComponent <DDZGamerUIComponent>().LandlordFlag.SetActive(false); gamer.GetComponent <DDZGamerUIComponent>().SetPlayerLordIcon(false); } }
public DDZGamer Create(long userId, int seatId, Component parent) { DDZGamer gamer = ComponentFactory.CreateWithParent <DDZGamer>(parent); gamer.UserID = userId; gamer.SeatID = seatId; gamer.AddComponent <DDZGamerUIComponent>(); return(gamer); }
/// <summary> /// 显示地主标识 /// </summary> /// <param name="seatId"></param> public void SetLordHeadIcon(int seatId) { this.ClearAllLordHeadIcon(); int realSeatID = DDZGameHelper.ChangeSeat(seatId); DDZGamer gamer = GamersDic[realSeatID]; //gamer.GetComponent<DDZGamerUIComponent>().LandlordFlag.SetActive(true); gamer.GetComponent <DDZGamerUIComponent>().SetPlayerLordIcon(true); }
/// <summary> /// 显示玩家高亮效果 /// </summary> /// <param name="seatId"></param> public void SetActivePlayerHead(int seatId) { this.ClearAllActivePlayerIcon(); int realSeatID = DDZGameHelper.ChangeSeat(seatId); if (realSeatID > -1) { DDZGamer gamer = GamersDic[realSeatID]; gamer.GetComponent <DDZGamerUIComponent>().SetActivePlayerIcon(true); } }
/// <summary> /// 座位玩家UI显示 /// </summary> public void SetOnSeatPlayer() { this.ClearOnSeatPlayer(); var _list = DataCenterComponent.Instance.userInfo.getOnSeatUsers(); for (int i = 0; i < _list.Count; i++) { var userVo = _list[i]; int realSeatId = DDZGameHelper.ChangeSeat(userVo.seatID); if (realSeatId < 3) { DDZGamer gamer = GamersDic[realSeatId]; gamer.GetComponent <DDZGamerUIComponent>().SetPlayerUI(userVo); } } }
/// <summary> /// 斗地主房间结算通知 /// </summary> /// <param name="resp"></param> public async void DDZhSettlement_Req_Ntt(Actor_DDZhSettlement_Req_Ntt resp) { DDZGameHelper.IsStartGame = false; DDZGameHelper.settle = resp; //摊牌 var showHandData = resp.ShowHand.ToList(); this.DDZOutCardPlugin.ShowHand(showHandData); //将手牌全部清掉 this.DDZHandCardPlugin.Reset(); //清除操作提示 this.DDZOpTipPlugin.Reset(); //刷新所有玩家数据 if (DDZGameHelper.settle != null) { foreach (var item in DDZGameHelper.settle.PlayerData) { var vo = DataCenterComponent.Instance.userInfo.getUserByUserID(item.UserId); if (vo != null) { vo.gold = item.Gold; vo.score = (int)item.Score; } } } //刷新座位玩家 DDZPlayerHeadPlugin.SetOnSeatPlayer(); //播放角色胜利失败特效 await Task.Delay(500); int lordID = DDZGameHelper.ChangeSeat(DDZGameConfigComponent.Instance.LordID); var myVO = DataCenterComponent.Instance.userInfo.getMyUserVo(); /* * if (lordID == 0) * { * //如果我是地主 * * if (myVO.score > 0) * { * this.DDZFXLayerPlugin.PlayFX(DDZ_FX_TYPE.LordWin, 0); * } * else * { * this.DDZFXLayerPlugin.PlayFX(DDZ_FX_TYPE.LordLost, 0); * } * } * else * { * //如果我是农民 * * if (myVO.score > 0) * { * this.DDZFXLayerPlugin.PlayFX(DDZ_FX_TYPE.NMWin, 0); * } * else * { * this.DDZFXLayerPlugin.PlayFX(DDZ_FX_TYPE.NMLost, 0); * } * } */ //根据玩家的分数情况,切换至对应的胜利,失败状态 if (DDZGameHelper.settle != null) { foreach (var item in DDZGameHelper.settle.PlayerData) { var playerData = item; int realSeatID = DDZGameHelper.ChangeSeat(playerData.ChairId); DDZGamer gamer = DDZPlayerHeadPlugin.GamersDic[realSeatID]; if (playerData.Score > 0) { gamer.GetComponent <DDZGamerUIComponent>().SetHeadTransformByIndex(1); } else { gamer.GetComponent <DDZGamerUIComponent>().SetHeadTransformByIndex(2); } } } //显示结算界面 if (DDZGameHelper.IsJoinRoom) { await Task.Delay(3000); DDZUIFactory.overPanel.Create(); } }