/// <summary> /// 玩家托管 /// </summary> /// <param name="cType"></param> public void PlayerTuoGuan(string uid, bool isTuoguan) { if (uid == UserInfoModel.userInfo.userId.ToString()) { LandlordsPage.Instance.componentView.OpenTuoGuanView(isTuoguan); if (OrderController.Instance.CurInterationType == InterationType.PopCard) { Interaction.Instance.HideAllBtn(); } } LandkirdsHandCardModel cards = LandlordsModel.Instance.GetHandCardMode(uid); cards.isTuoguan = isTuoguan; if (!isTuoguan && uid == UserInfoModel.userInfo.userId.ToString() && OrderController.Instance.TypeUid == UserInfoModel.userInfo.userId.ToString() && LandlordsModel.Instance.CurWinerIds != null && LandlordsModel.Instance.CurWinerIds.Count == 0)//并且游戏没有结束 { OrderController.Instance.Turn(UserInfoModel.userInfo.userId.ToString(), (int)OrderController.Instance.CurInterationType); } LandlordsBasePlayer playCard = LandlordsPage.Instance.playView.GetPlayer(uid); if (LandlordsModel.Instance.RoomModel.CurRoomInfo.IsMatch) { playCard.MatchChangeState(false); } else { playCard.NoMatchChangeState(false); } }
/// <summary> /// 玩家出牌 /// </summary> /// <param name="cType"></param> /// <param name="selectCards"></param> /// <param name="selectCardsUI"></param> public void PopCard(string uid, List <Card> selectCards) { LandlordsBasePlayer playCard = LandlordsPage.Instance.playView.GetPlayer(uid); PlayCard.Instance.PopCard(uid, selectCards); playCard.PopCard(selectCards); }
/// <summary> /// 加载某个新进入玩家信息 /// </summary> public void LoadPlayerPrefab(LandkirdsHandCardModel hand, int posIndex) { LandlordsBasePlayer player = playerViews[posIndex]; player.gameObject.SetActive(true); player.Init(hand, OnClickHeadIcon); }
public LandlordsBasePlayer GetPlayer(string uid) { LandlordsBasePlayer player = null; player = playerViews.Find(p => p._handCard != null && p._handCard.playerInfo.uid == uid); return(player); }
public void FinishData() { if (LandlordsModel.Instance.RoomModel.CurRoomInfo.RoomType == RoomType.SilverCoin) { LandlordsBasePlayer player = playView.GetPlayer(UserInfoModel.userInfo.userId.ToString()); player.coinCountLb.text = UserInfoModel.userInfo.walletAgNum.ToString(); } }
// 回合进入 void RoundEnter(bool isCanNoPlay) { LandlordsBasePlayer playerUI = GetPlayer(OrderController.Instance.TypeUid); if (playerUI != null) { playerUI.RoundEnter(isCanNoPlay); } }
// 回合离开 void RoundExit() { LandlordsBasePlayer playerUI = GetPlayer(OrderController.Instance.TypeUid); if (playerUI != null) { playerUI.RoundExit(); } }
/// <summary> /// 玩家抢地主 /// </summary> /// <param name="cType"></param> public void QiangDizhu(string uid, bool isQiang) { if (isQiang) { Multiples *= 2; } LandkirdsHandCardModel cards = LandlordsModel.Instance.GetHandCardMode(uid); LandlordsBasePlayer playCard = LandlordsPage.Instance.playView.GetPlayer(uid); playCard.Qiangdizhu(isQiang); }
/// <summary> /// 玩家叫地主 /// </summary> /// <param name="cType"></param> public void JiaoDizhu(string uid, bool isJiao) { if (isJiao) { Multiples *= 3; } LandkirdsHandCardModel cards = LandlordsModel.Instance.GetHandCardMode(uid); LandlordsBasePlayer playCard = LandlordsPage.Instance.playView.GetPlayer(uid); playCard.Jiaodizhu(isJiao); }
/// <summary> /// 更新身份 /// </summary> /// <param name="type"></param> /// <param name="identity"></param> void UpdateIndentity(string uid, Identity identity) { LandkirdsHandCardModel cards = LandlordsModel.Instance.GetHandCardMode(uid); //改变属性 cards.AccessIdentity = identity; //更改显示 LandlordsBasePlayer playCard = LandlordsPage.Instance.playView.GetPlayer(uid); playCard.ChangeIdentity(false); }
/// <summary> /// 玩家叫分 /// </summary> /// <param name="score"></param> public void CallLandlord(string uid, int score) { LandkirdsHandCardModel cards = LandlordsModel.Instance.GetHandCardMode(uid); cards.Multiples = score; cards.CallScore = score; LandlordsModel.Instance.CallLandlordsList.Add(cards); LandlordsBasePlayer playCard = LandlordsPage.Instance.playView.GetPlayer(uid); playCard.CallLandlord(score); }
/// <summary> /// 设置警报 /// </summary> /// <param name="args"></param> public void SetWarningShow(string uid, int remainCard, bool isShow) { if (uid != null) {//指定玩家显隐 LandlordsBasePlayer player = GetPlayer(uid); player.SetWarring(remainCard, isShow); } else {//全部显隐 for (int i = 0; i < playerViews.Count; i++) { playerViews[i].SetWarring(remainCard, isShow); } } }
/// <summary> /// 每个玩家显示层发牌 /// </summary> public void InitPayerLibrary() { fapaiObj.SetActive(true); UIUtils.DelayDesOrDisObject(fapaiObj, 2f, false); for (int i = 0; i < LandlordsModel.Instance.RoomPlayerHands.Count; i++) { LandkirdsHandCardModel handCard = LandlordsModel.Instance.RoomPlayerHands[i]; if (handCard != null) { LandlordsBasePlayer player = GetPlayer(handCard.playerInfo.uid); player.DealCard(true); if (player is LandlordsOtherPlayer) { ((LandlordsOtherPlayer)player).CardRemainCountShow(); } } } LandlordsPage.Instance.LoadComplete(); }
/// <summary> /// 玩家变成地主 /// </summary> public void PlayerToLandlord(string uid, bool isAddCardCountToPlayer = true) { LandkirdsHandCardModel cards = LandlordsModel.Instance.GetHandCardMode(uid); LandlordsModel.Instance.CurLandlordUid = uid; if (LandlordsModel.Instance.RoomModel.CurRoomInfo.IsMatch && !LandlordsModel.Instance.RoomModel.CurRoomInfo.IsQdz) { Multiples = cards.Multiples; } List <Card> dipai = new List <Card>(); //显示底牌 while (DzCard.Instance.CardsCount != 0) { Card card = DzCard.Instance.Deal(); dipai.Add(card); if (isAddCardCountToPlayer) { cards.AddCard(card); } } UpdateDeskCardShow(dipai); for (int i = 0; i < dipai.Count; i++) { dipai[i].IsSprite = false; } LandlordsBasePlayer playCard = LandlordsPage.Instance.playView.GetPlayer(uid); if (uid == UserInfoModel.userInfo.userId.ToString()) { playCard.DealCard(faceBundle); } if (playCard is LandlordsOtherPlayer) { ((LandlordsOtherPlayer)playCard).CardRemainCountShow(); } //更新身份 UpdateIndentity(uid, Identity.Landlord); }
/// <summary> /// 玩家聊天 /// </summary> /// <param name="uid"></param> /// <param name="value"></param> public void PlayerChat(string uid, string senderName, string value, int type)//0文字1语音2表情 { LandlordsBasePlayer playCard = LandlordsPage.Instance.playView.GetPlayer(uid); //显示在玩家头上 playCard.Chat(value, type); ChatInfo info = new ChatInfo(); info.chatWithName = senderName; info.playerBaseInfo.uid = uid; info.text = value; info.type = type; if (type != 2)//如果不是表情,那么加载在聊天界面 { NodeManager.GetNode <ChatNode>().chatPanel.LoadChatItem(info); } if (type == 1)//直接播放语音 { SocialModel.Instance.PlayRecord(value); } if (type == 0) {//判断是否播放常用语语音 string changyongyuId = string.Empty; JsonData jd = JsonMapper.ToObject(BundleManager.Instance.GetJson(ConstantUtils.changyongyuConfig)); for (int i = 0; i < jd.Count; i++) { if (value == jd[i].TryGetString("chatContent")) { changyongyuId = jd[i].TryGetString("id"); break; } } if (changyongyuId != string.Empty) { string audioName = playCard._handCard.playerInfo.six + "_" + changyongyuId; AudioManager.Instance.PlayTempSound((AudioManager.AudioSoundType)System.Enum.Parse(typeof(AudioManager.AudioSoundType), audioName)); } } }
/// <summary> /// 玩家不出 -1要不起0不出 /// </summary> /// <param name="uid"></param> public void NoPopCard(string uid, int type) { LandlordsBasePlayer playCard = LandlordsPage.Instance.playView.GetPlayer(uid); playCard.NoPopCard(type); }
/// <summary> /// 某个玩家离开 /// </summary> public void PlayerExit(string uid, bool isKick) { LandlordsBasePlayer playerView = GetPlayer(uid); playerView.RestToNoPlayer(isKick); }
/// <summary> /// 某个玩家准备 /// </summary> /// <param name="uid"></param> /// <param name="isZhunbei"></param> public void PlayerZhunbei(string uid, bool isZhunbei) { LandlordsBasePlayer playerView = GetPlayer(uid); playerView.Zhunbei(isZhunbei); }