public void close(object data = null) { GlobalData.getInstance().myAvatarVO.resetData(); //复位房间数据 GlobalData.getInstance().roomVO.roomId = 0; GlobalData.getInstance().SoundToggle = true; _uiHelper.cleanCardInTable(); SoundManager.getInstance().playBGM(); for (int i = 0; i < 4; i++) { PlayerItemViews [i].destroy_all(); Destroy(PGCParents[i].gameObject); Destroy(HandParents[i].gameObject); Destroy(TableParents[i].gameObject); } PlayerItemViews.Clear(); PGCParents.Clear(); HandParents.Clear(); TableParents.Clear(); if (zhuamaPanel != null) { Destroy(zhuamaPanel.GetComponent <ZhuaMaView> ()); Destroy(zhuamaPanel); } Destroy(this); Destroy(gameObject); }
// Use this for initialization public void init(GameView host) { _host = host; GlobalData.getInstance().SoundToggleChange += onSoundToggleChange; GameManager.getInstance().Server.onResponse += onResponse; onSoundToggleChange(); }
/**退出房间请求**/ public void quiteRoom() { OutRoomRequestVo vo = new OutRoomRequestVo(); vo.roomId = GlobalData.getInstance().roomVO.roomId; GameManager.getInstance().Server.requset(APIS.OUT_ROOM_REQUEST, JsonMapper.ToJson(vo)); }
public void updateRoomVO(RoomJoinResponseVo vo) { RoomVO myRVO = GlobalData.getInstance().roomVO; AvatarVO myAVO = GlobalData.getInstance().myAvatarVO; myRVO.addWordCard = vo.addWordCard; myRVO.hong = vo.hong; myRVO.ma = vo.ma; myRVO.name = vo.name; myRVO.roomId = vo.roomId; myRVO.roomType = vo.roomType; myRVO.roundNumber = vo.roundNumber; myRVO.sevenDouble = vo.sevenDouble; myRVO.xiaYu = vo.xiaYu; myRVO.ziMo = vo.ziMo; myRVO.magnification = vo.magnification; GlobalData.getInstance().remainRoundCount = vo.roundNumber; GlobalData.getInstance().playerList = vo.playerList; for (int i = 0; i < vo.playerList.Count; i++) { AvatarVO avo = vo.playerList [i]; if (avo.account.openid == myAVO.account.openid) { myAVO.account.uuid = avo.account.uuid; myAVO.account.roomcard = avo.account.roomcard; break; } } }
public void playSound(int cardPoint, int sex) { if (GlobalData.getInstance().SoundToggle) { string path = null; if (GlobalData.lang == Language.YUEYU) { path = "Sounds/yueyu/"; } else { path = "Sounds/putonghua/"; } if (sex == 1) { path += "boy/" + (cardPoint + 1); } else { path += "girl/" + (cardPoint + 1); } AudioClip temp = (AudioClip)soudHash [path]; if (temp == null) { temp = GameObject.Instantiate(Resources.Load(path)) as AudioClip; soudHash.Add(path, temp); } audioS.clip = temp; audioS.loop = false; audioS.Play(); } }
public void testLogin(string uin) { LoginVO lvo = new LoginVO(); try { lvo.openId = "" + uin; lvo.nickName = "" + uin; lvo.headIcon = ""; lvo.unionid = "" + uin; lvo.province = "广东省"; lvo.city = "深圳"; lvo.sex = 1; lvo.IP = GameManager.getInstance().getIpAddress(); String msg = JsonMapper.ToJson(lvo); GameManager.getInstance().Server.requset(APIS.LOGIN_REQUEST, msg); AvatarVO avo = new AvatarVO(); avo.account = new Account(); avo.account.city = lvo.city; avo.account.openid = lvo.openId; avo.account.nickname = lvo.nickName; avo.account.headicon = lvo.headIcon; avo.account.unionid = lvo.city; avo.account.sex = lvo.sex; avo.IP = lvo.IP; GlobalData.getInstance().myAvatarVO = avo; } catch (Exception e) { Debug.Log(e.ToString()); TipsManager.getInstance().setTips("请先打开你的微信客户端"); return; } //GameManager.getInstance().Server.requset(new LoginRequest(null)); }
public void onOK() { DissoliveRoomRequestVo vo = new DissoliveRoomRequestVo(); vo.roomId = GlobalData.getInstance().roomVO.roomId; vo.type = "0"; GameManager.getInstance().Server.requset(APIS.DISSOLIVE_ROOM_REQUEST, JsonMapper.ToJson(vo)); _isDissoliving = true; }
/**申请或同意解散房间请求**/ public void showDissoliveDialog() { if (GlobalData.getInstance().gameStatus == GameStatus.GAMING) { TipsManager.getInstance().loadDialog("申请解散房间", "你确定要申请解散房间?", onOK, onCancle); } else { TipsManager.getInstance().setTips("还没有开始游戏,不能申请退出房间"); } }
void moveCompleted() { showNoticeNumber++; if (showNoticeNumber == GlobalData.getInstance().NoticeMsgs.Count) { showNoticeNumber = 0; } ui.SetActive(false); randShowTime(); timeFlag = true; }
/**进入房间**/ public void joinToRoom() { avatarList = GlobalData.getInstance().playerList; _data.AvatarList = GlobalData.getInstance().playerList; for (int i = 0; i < avatarList.Count; i++) { _uiHelper.getCardGOs(i).PlayerItem.setAvatarVo(avatarList [i]); } _tableView.updateRule(); GlobalData.getInstance().gameStatus = GameStatus.READYING; GameManager.getInstance().Server.requset(APIS.READY_REQUEST, "ss"); markselfReadyGame(); }
public void myGangBtnClick() { //TODO 多张可以杠的牌 _data.gangCardPoint = int.Parse(_data.gangPaiList [0]); _data.gangPaiList = null; GangRequestVO vo = new GangRequestVO(); vo.cardPoint = _data.gangCardPoint; vo.gangType = 0; GameManager.getInstance().Server.requset(APIS.GANGPAI_REQUEST, JsonMapper.ToJson(vo)); SoundManager.getInstance().playSoundByAction("gang", GlobalData.getInstance().myAvatarVO.account.sex); _actionHlpr.cleanBtnShow(); _actionHlpr.showEffect(ActionType.GANG); }
public void playMessageBoxSound(int codeIndex) { if (GlobalData.getInstance().SoundToggle) { string path = "Sounds/other/" + codeIndex; AudioClip temp = (AudioClip)soudHash [path]; if (temp == null) { temp = GameObject.Instantiate(Resources.Load(path)) as AudioClip; soudHash.Add(path, temp); } audioS.clip = temp; audioS.Play(); } }
public static GameHelper getHelper(GameType gt = GameType.UNDEFINE) { if (_map == null) { _map = new Dictionary <GameType, GameHelper> (); _map.Add(GameType.JI_PING_HU, new JPHHelper()); _map.Add(GameType.HUA_SHUI, new HSHelper()); _map.Add(GameType.ZHUAN_ZHUAN, new ZZHelper()); } if (gt == GameType.UNDEFINE) { gt = GlobalData.getInstance().roomVO.roomType; } return(_map [gt]); }
public void parseBroadCast(string msg) { string[] noticeList = msg.Split(new char[1] { '*' }); if (noticeList != null) { // List<String> list = GlobalData.getInstance ().NoticeMsgs; List <String> list = new List <string>(); for (int i = 0; i < noticeList.Length; i++) { list.Add(noticeList[i]); } GlobalData.getInstance().NoticeMsgs = list; } }
public void onStartGame(ClientResponse response) { StartGameVO svo = JsonMapper.ToObject <StartGameVO> (response.message); _data.bankerIndex = svo.bankerId; GlobalData.getInstance().gameStatus = GameStatus.GAMING; cleanGameplayUI(); //开始游戏后不显示 MyDebug.Log("startGame"); GlobalData.getInstance().remainRoundCount--; _tableView.remainRoundText.text = GlobalData.getInstance().remainRoundCount + ""; //刷新剩余圈数 if (!isFirstOpen) { isFirstOpen = false; cleanTable(); avatarList [_data.bankerIndex].main = true; } GlobalData.isOverByPlayer = false; MyHandCardView.isPutout = _data.bankerIndex == _data.myIndex; _uiHelper.getBankerCGO().PlayerItem.setBankerIconVisible(true); _data.pickIndex = _data.bankerIndex; _data.paiArray = svo.paiArray; _tableView.resetTimer(); _uiHelper.hideReadyIcon(); //创建手牌 _uiHelper.addMyHandCards(_data.paiArray [0]); _uiHelper.addOtherHandCards(Direction.L, 13); _uiHelper.addOtherHandCards(Direction.R, 13); _uiHelper.addOtherHandCards(Direction.T, 13); //突出摸到的牌 if (_data.bankerIndex == _data.myIndex) { _uiHelper.rangeMyHandCard(true); //设置位置 } else { _uiHelper.rangeMyHandCard(false); _uiHelper.addPickCard(_data.bankerIndex); } // _uiHelper.initRemainCardNum(); }
public void inviteFriend() { RoomVO rvo = GlobalData.getInstance().roomVO; if (rvo != null) { string title = "铁脚麻将 " + "房间号:" + rvo.roomId; ShareContent s = new ShareContent(); s.SetTitle(title); s.SetText(GameHelper.getHelper().getInviteRuleStr(rvo)); s.SetUrl(Constants.Download_URL); s.SetImageUrl(Constants.ImgUrl + "icon96.png"); s.SetShareType(ContentType.Webpage); s.SetObjectID(""); shareSdk.ShowShareContentEditor(PlatformType.WeChat, s); } }
private void playNoticeAction() { var noticeMsgs = GlobalData.getInstance().NoticeMsgs; ui.SetActive(noticeMsgs.Count != 0); if (noticeMsgs.Count != 0) { noticeText.transform.localPosition = new Vector3(500, noticeText.transform.localPosition.y); noticeText.text = noticeMsgs [showNoticeNumber]; float time = noticeText.text.Length * 0.5f + 422f / 56f; Tweener tweener = noticeText.transform.DOLocalMove(new Vector3(-noticeText.text.Length * 28, noticeText.transform.localPosition.y), time); tweener.OnComplete(moveCompleted); tweener.SetEase(Ease.Linear); //tweener.SetLoops(-1); } }
/** * 获取微信个人信息成功回调,登录 * */ public void getUserInforCallback(int reqID, ResponseState state, PlatformType type, Hashtable data) { //TipsManagerScript.getInstance ().setTips ("获取个人信息成功"); if (data != null) { MyDebug.Log(data.toJson()); LoginVO lvo = new LoginVO(); try { lvo.openId = (string)data ["openid"]; lvo.nickName = (string)data ["nickname"]; lvo.headIcon = (string)data ["headimgurl"]; lvo.unionid = (string)data ["unionid"]; lvo.province = (string)data ["province"]; lvo.city = (string)data ["city"]; string sex = data ["sex"].ToString(); lvo.sex = int.Parse(sex); lvo.IP = GameManager.getInstance().getIpAddress(); String msg = JsonMapper.ToJson(lvo); GameManager.getInstance().Server.requset(APIS.LOGIN_REQUEST, msg); AvatarVO avo = new AvatarVO(); avo.account = new Account(); avo.account.city = lvo.city; avo.account.openid = lvo.openId; avo.account.nickname = lvo.nickName; avo.account.headicon = lvo.headIcon; avo.account.unionid = lvo.city; avo.account.sex = lvo.sex; avo.IP = lvo.IP; GlobalData.getInstance().myAvatarVO = avo; MyDebug.Log(" loginvo.nickName:" + lvo.nickName); } catch (Exception e) { MyDebug.Log("微信接口有变动!" + e.Message); TipsManager.getInstance().setTips("请先打开你的微信客户端"); return; } } else { TipsManager.getInstance().setTips("微信登录失败"); } }
public void outRoomCallbak(ClientResponse response) { OutRoomResponseVo responseMsg = JsonMapper.ToObject <OutRoomResponseVo> (response.message); if (responseMsg.status_code == "0") { if (responseMsg.type == "0") { int uuid = responseMsg.uuid; if (uuid != GlobalData.getInstance().myAvatarVO.account.uuid) { int index = _data.toAvatarIndex(uuid); avatarList.RemoveAt(index); _data.AvatarList = GlobalData.getInstance().playerList; int i = 0; for (; i < avatarList.Count; i++) { var avo = avatarList [i]; _uiHelper.getCardGOs(i).PlayerItem.setAvatarVo(avo); } for (; i < 4; i++) { _uiHelper.getCardGOs(i).PlayerItem.setAvatarVo(avatarList [i]); } markselfReadyGame(); } else { exitOrDissoliveRoom(); } } else { exitOrDissoliveRoom(); } } else { TipsManager.getInstance().setTips("退出房间失败:" + responseMsg.error); } }
void onResponse(ClientResponse response) { switch (response.headCode) { case APIS.OTHER_TELE_LOGIN: disConnetNotice(); TipsManager.getInstance().setTips("你的账号在其他设备登录"); break; case APIS.TIP_MESSAGE: TipsManager.getInstance().setTips(response.message); break; case APIS.CLOSE_RESPONSE: TipsManager.getInstance().setTips("服务器关闭了"); break; case APIS.ERROR_RESPONSE: TipsManager.getInstance().setTips(response.message); break; case APIS.HOST_UPDATEDRAW_RESPONSE: dataMgr.parsePrizeCount(response.message); break; case APIS.GAME_BROADCAST: dataMgr.parseBroadCast(response.message); break; case APIS.HUPAIALL_RESPONSE: //全局结束 GlobalData.getInstance().gamingData.finalGameEndVo = JsonMapper.ToObject <FinalGameEndVo> (response.message); SceneManager.getInstance().showGameOverView(1, GlobalData.getInstance().gamingData); GlobalData.getInstance().resetDataForNewRoom(); SceneManager.getInstance().changeToScene(SceneType.HOME); break; } }
public void OnPointerUp() { if (_isRecording) { _isRecording = false; recordBtn.SetActive(false); WholeTime = 10; Byte[] outData = MicrophoneManager.getInstance().StopRecord(); List <int> uuidList = getUserList(); if (uuidList.Count > 0 && outData != null) { _host.UIHelper.getCardGOs(Direction.B).PlayerItem.showChatAction(); var request = new ChatRequest(); request.headCode = APIS.MicInput_Request; request.myUUid = GlobalData.getInstance().myAvatarVO.account.uuid; request.ChatSound = outData; request.userList = uuidList; GameManager.getInstance().Server.requset(request); } else { } } }
/*************************断线重连*********************************/ 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 initRemainCardNum() { RoomVO rvo = GlobalData.getInstance().roomVO; _data.remainCardNum = GameHelper.getInitRemainCardNum(rvo); }
public void open(object data = null) { GlobalData.getInstance().gamingData = _data; }
public void parsePrizeCount(string msg) { int prizecount = int.Parse(msg); GlobalData.getInstance().PrizeCount = prizecount; }
public void onSoundOffBtn() { GlobalData.getInstance().SoundToggle = false; }
/** * 胡牌请求回调 */ 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); } }
private void onSoundToggleChange() { soundOnBtn.SetActive(!GlobalData.getInstance().SoundToggle); soundOffBtn.SetActive(GlobalData.getInstance().SoundToggle); }
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 updateRule() { RoomVO rvo = GlobalData.getInstance().roomVO; roomRemarkText.text = GameHelper.getHelper().getRuleStr(rvo); }