public void initRemainCardNum() { RoomVO rvo = GlobalData.getInstance().roomVO; _data.remainCardNum = GameHelper.getInitRemainCardNum(rvo); }
/*************************断线重连*********************************/ private void reEnterRoom() { _tableView.updateRule(); //设置座位 avatarList = GlobalData.getInstance().playerList; _data.AvatarList = GlobalData.getInstance().playerList; for (int i = 0; i < avatarList.Count; i++) { _uiHelper.getCardGOs(i).PlayerItem.setAvatarVo(avatarList [i]); } if (_data.paiArray.Length == 0) //游戏还没有开始 { GlobalData.getInstance().gameStatus = GameStatus.READYING; } else //牌局已开始 { GlobalData.getInstance().gameStatus = GameStatus.GAMING; _uiHelper.hideReadyIcon(); cleanGameplayUI(); for (int i = 0; i < _data.AvatarList.Count; i++) { AvatarVO avo = avatarList [i]; var hand = avo.paiArray [0]; //HandCard _uiHelper.addOtherHandCards(i, avo.commonCards); //TableCard int[] chupai = avo.chupais; if (chupai != null && chupai.Length > 0) { for (int j = 0; j < chupai.Length; j++) { _uiHelper.addCardToTable(i, chupai [j]); } } //GangCard if (checkPaiArrayContainType(avo.paiArray [1], PaiArrayType.GANG)) { var gangs = avo.huReturnObjectVO.totalInfo.getGangInfos(); for (int j = 0; j < gangs.Length; j++) { var info = gangs [j]; hand [info.cardPoint] -= 4; if (info.type == "an") { _uiHelper.addPGCCards(i, info.cardPoint, 3); } else { _uiHelper.addPGCCards(i, info.cardPoint, 2); } } } //PengCard if (checkPaiArrayContainType(avo.paiArray [1], PaiArrayType.PENG)) { for (int j = 0; j < avo.paiArray[1].Length; j++) { var t = avo.paiArray [1] [j] & (int)PaiArrayType.PENG; if (t > 0 && hand [j] > 2) { hand [j] -= 3; _uiHelper.addPGCCards(i, j, 1); } } } //ChiCard if (checkPaiArrayContainType(avo.paiArray [1], PaiArrayType.CHI)) { var chis = avo.huReturnObjectVO.totalInfo.getChiInfos(); for (int j = 0; j < chis.Length; j++) { var info = chis [j]; int a = info.cardPionts [0]; int b = info.cardPionts [1]; int c = info.cardPionts [2]; hand [a] -= 1; hand [b] -= 1; hand [c] -= 1; a = Math.Min(Math.Min(b, c), a); _uiHelper.addPGCCards(i, a, 4); } } } _data.AvatarList = GlobalData.getInstance().playerList; _uiHelper.addMyHandCards(_data.paiArray [0]); GameManager.getInstance().Server.requset(APIS.RETURN_ONLINE_REQUEST, "dd"); } }
public void onReturnOnlineResponse(ClientResponse response) { //1.显示剩余牌的张数和圈数 JsonData msgData = JsonMapper.ToObject(response.message); string surplusCards = msgData ["surplusCards"].ToString(); _data.remainCardNum = int.Parse(surplusCards) + 1; _uiHelper.updateRemainCardNum(); int gameRound = int.Parse(msgData ["gameRound"].ToString()); _tableView.remainRoundText.text = gameRound + ""; GlobalData.getInstance().remainRoundCount = gameRound; try { _data.putoutIndex = int.Parse(msgData ["curAvatarIndex"].ToString()); _data.putoutPoint = int.Parse(msgData ["putOffCardPoint"].ToString()); _data.pickIndex = int.Parse(msgData ["pickAvatarIndex"].ToString()); if (msgData.Keys.Contains("currentCardPoint")) { _data.pickPoint = int.Parse(msgData ["currentCardPoint"].ToString()); } } catch (Exception e) { Debug.Log(e.ToString()); } var Hand = _uiHelper.getCardGOs(Direction.B).Hand; if (_data.pickIndex == _data.myIndex || (Hand.Count % 3 == 2)) //把摸的牌放对位置 { if (_data.pickPoint == -2) { var lastCard = Hand [Hand.Count - 1]; _data.pickPoint = lastCard.GetComponent <MyHandCardView> ().getPoint(); _uiHelper.rangeMyHandCard(true); } else { if ((Hand.Count) % 3 != 1) { MyDebug.Log("摸牌" + _data.pickPoint); _uiHelper.removeMyHandCard(_data.pickPoint, 1); _uiHelper.rangeMyHandCard(false); _uiHelper.addPickCard(_data.myIndex, _data.pickPoint); } } MyHandCardView.isPutout = true; } else { if (_data.pickIndex != _data.putoutIndex) { _uiHelper.rangeOtherHandCard(_data.pickIndex, 1); } } //光标指向打牌人 var Table = _uiHelper.getCardGOs(_data.putoutIndex).Table; if (Table.Count == 0) //刚启动 { } else { _uiHelper.lastCardOnTable = Table [Table.Count - 1]; _uiHelper.addPointer(_uiHelper.lastCardOnTable); } }
public void open(object data = null) { GlobalData.getInstance().gamingData = _data; }
/** * 胡牌请求回调 */ private void onHuNotify(ClientResponse response) { HupaiResponseVo hvo = JsonMapper.ToObject <HupaiResponseVo> (response.message); _data.hupaiResponseVO = hvo; string scores = hvo.currentScore; hupaiCoinChange(scores); if (hvo.type == "0") { SoundManager.getInstance().playSoundByAction("hu", GlobalData.getInstance().myAvatarVO.account.sex); _actionHlpr.showEffect(ActionType.HU); for (int i = 0; i < hvo.avatarList.Count; i++) { var item = hvo.avatarList [i]; var hutype = GameHelper.getHelper().getHuType(item.totalInfo.getHuInfo()); if (hutype == HuType.JIE_PAO) { _uiHelper.getCardGOs(i).PlayerItem.setHuFlagDisplay(); SoundManager.getInstance().playSoundByAction("hu", avatarList [i].account.sex); } else if (hutype == HuType.ZI_MO) { _uiHelper.getCardGOs(i).PlayerItem.setHuFlagDisplay(); SoundManager.getInstance().playSoundByAction("zimo", avatarList [i].account.sex); } else { _uiHelper.getCardGOs(i).PlayerItem.setHuFlagHidde(); } } string allMas = hvo.allMas; if (GlobalData.getInstance().roomVO.roomType == GameType.ZHUAN_ZHUAN || GlobalData.getInstance().roomVO.roomType == GameType.JI_PING_HU) //只有转转麻将才显示抓码信息 { if (GlobalData.getInstance().roomVO.ma > 0 && allMas != null && allMas.Length > 0) { zhuamaPanel = SceneManager.getInstance().loadPerfab("prefab/Panel_ZhuaMa"); zhuamaPanel.GetComponent <ZhuaMaView> ().init(_data); zhuamaPanel.GetComponent <ZhuaMaView> ().arrageMas(allMas, hvo.validMas); Invoke("openGameOverView", 7); } else { Invoke("openGameOverView", 3); } } else { Invoke("openGameOverView", 3); } } else if (hvo.type == "1") { SoundManager.getInstance().playSoundByAction("liuju", GlobalData.getInstance().myAvatarVO.account.sex); _actionHlpr.showEffect(ActionType.LIUJU); Invoke("openGameOverView", 3); } else { Invoke("openGameOverView", 3); } }
/**左上角显示房间规则**/ public void updateRule() { RoomVO rvo = GlobalData.getInstance().roomVO; roomRemarkText.text = GameHelper.getHelper().getRuleStr(rvo); }
public void parsePrizeCount(string msg) { int prizecount = int.Parse(msg); GlobalData.getInstance().PrizeCount = prizecount; }
private void onSoundToggleChange() { soundOnBtn.SetActive(!GlobalData.getInstance().SoundToggle); soundOffBtn.SetActive(GlobalData.getInstance().SoundToggle); }
public void onSoundOffBtn() { GlobalData.getInstance().SoundToggle = false; }
public void onSoundOnBtn() { GlobalData.getInstance().SoundToggle = true; }