public HuPushInfo updateHu(JsonObject data) { HuPushInfo info = JsonUtility.FromJson <HuPushInfo>(data.ToString()); seats[info.seatindex].hued = true; return(info); }
public void Hu(HuPushInfo info, Action cb) { int seat = info.seatindex; //MainViewMgr.GetInstance().showAction (seat, "hu"); //AudioManager.GetInstance().PlayEffectAudio("hu"); hideChupai(); DHM_CardManager cm = PlayerManager.GetInstance().getCardManager(seat); SwitchTo(seat); cm.HuPai(info, cb); }
public void HuPai(HuPushInfo info, Action cb) { _handCardMgr.HuPai(info, cb); }
void InitHandler() { NetMgr net = NetMgr.GetInstance(); RoomMgr rm = RoomMgr.GetInstance(); PomeloClient pc = net.pc; pc.on("login_result", data => { Debug.Log("login_result"); object ob; if (!data.TryGetValue("errcode", out ob)) { return; } int ret = Convert.ToInt32(ob); if (ret != 0) { Debug.Log("login_result ret=" + ret); return; } JsonObject room = (JsonObject)data["data"]; rm.updateRoom(room); DispatchEvent("game_reset"); }); pc.on("login_finished", data => { Debug.Log("login_finished"); string table = "04.table3d"; string name = SceneManager.GetActiveScene().name; if (name != table) { mHandlerMap.Clear(); LoadingScene.LoadNewScene(table); } else { if (rm.isPlaying()) { net.send("ready"); } } }); pc.on("exit_result", data => { string reason = (string)data["reason"]; if (reason == "kick") { GameAlert.GetInstance().show("您已被管理员请出房间", () => { GameManager.GetInstance().exit(); }); } else if (reason == "request") { GameManager.GetInstance().exit(); } }); pc.on("exit_notify_push", data => { int uid = Convert.ToInt32(data["value"]); int seatindex = rm.userExit(uid); DispatchEvent("user_state_changed", seatindex); }); pc.on("dispress_push", data => { GameManager.GetInstance().exit(); }); pc.on("new_user_comes_push", data => { int seatindex = rm.newUserCome(data); DispatchEvent("user_state_changed", seatindex); }); pc.on("user_state_push", data => { int seatindex = rm.updateUser(data); DispatchEvent("user_state_changed", seatindex); }); pc.on("game_wait_maima_push", data => { rm.updateMaima(data); DispatchEvent("game_wait_maima"); }); pc.on("game_maima_push", data => { rm.updateMaima(data); DispatchEvent("game_maima"); }); pc.on("user_ready_push", data => { int seatindex = rm.updateUser(data); DispatchEvent("user_state_changed", seatindex); }); pc.on("game_dice_push", data => { rm.updateState(data); DispatchEvent("game_dice"); }); pc.on("game_holds_push", data => { Debug.Log("get game_holds_push"); int si = rm.updateSeat(data); DispatchEvent("game_holds", si); }); pc.on("game_holds_len_push", data => { Debug.Log("get game_holds_len_push"); int si = rm.updateSeat(data); DispatchEvent("game_holds_len", si); }); pc.on("game_state_push", data => { rm.updateState(data); DispatchEvent("game_state"); }); pc.on("game_begin_push", data => { Debug.Log("get game_begin_push"); rm.newRound(); rm.updateState(data); foreach (PlayerInfo p in rm.players) { p.ready = false; DispatchEvent("user_state_changed", p.seatindex); } DispatchEvent("game_begin"); }); pc.on("game_playing_push", data => { Debug.Log("get game_playing_push"); rm.updateState(data); DispatchEvent("game_playing"); }); pc.on("game_sync_push", data => { Debug.Log("get game_sync_push"); if (!data.ContainsKey("pseudo")) { rm.updateState(data); rm.updateSeats((JsonArray)data["seats"]); } DispatchEvent("user_hf_updated"); DispatchEvent("game_sync"); }); pc.on("hangang_notify_push", data => { int seatindex = Convert.ToInt32(data["seatindex"]); DispatchEvent("hangang_notify", seatindex); }); pc.on("game_action_push", data => { Debug.Log("get game_action_push"); rm.updateAction(data); DispatchEvent("game_action"); }); pc.on("game_chupai_push", data => { Debug.Log("get game_chupai_push"); rm.updateState(data); ChupaiPush cp = JsonUtility.FromJson <ChupaiPush> (data.ToString()); rm.updateLimit(cp.turn, cp.limit); if (cp.bg == true) { return; } DispatchEvent("game_turn_change"); }); pc.on("game_num_push", data => { rm.updateRoomInfo(data); DispatchEvent("game_num"); }); pc.on("game_over_push", data => { rm.updateOverInfo(data); DispatchEvent("game_over"); }); pc.on("mj_count_push", data => { rm.updateState(data); if (data.ContainsKey("bg")) { return; } DispatchEvent("mj_count"); }); pc.on("hu_push", data => { HuPushInfo info = rm.updateHu(data); if (info.bg) { return; } DispatchEvent("hupai", info); }); pc.on("game_chupai_notify_push", data => { Debug.Log("get game_chupai_notify_push"); ActionInfo info = rm.doChupai(data); if (info.bg == true) { return; } DispatchEvent("game_chupai_notify", info); }); pc.on("game_hf_push", data => { rm.updateFlowers(data); Debug.Log("get game_hf_push"); DispatchEvent("user_hf_updated"); }); pc.on("game_af_push", data => { ActionInfo info = rm.doAddFlower(data); if (info.bg == true) { return; } DispatchEvent("user_hf_updated", info); }); pc.on("game_mopai_push", data => { Debug.Log("get game_mopai_push"); ActionInfo info = rm.doMopai(data); if (info.bg == true) { return; } DispatchEvent("game_mopai", info); }); pc.on("guo_notify_push", data => { Debug.Log("get guo_notify_push"); ActionInfo info = rm.doGuo(data); if (info.bg == true) { return; } DispatchEvent("guo_notify", info); }); pc.on("guo_result", data => { Debug.Log("get guo_result"); DispatchEvent("guo_result"); }); pc.on("peng_notify_push", data => { ActionInfo info = rm.doPeng(data); if (info.bg == true) { return; } DispatchEvent("peng_notify", info); }); pc.on("chi_notify_push", data => { ActionInfo info = rm.doChi(data); if (info.bg == true) { return; } DispatchEvent("chi_notify", info); }); pc.on("gang_notify_push", data => { GangInfo info = rm.doGang(data); if (info.bg == true) { return; } DispatchEvent("gang_notify", info); }); pc.on("ting_notify_push", data => { TingInfo info = rm.doTing(data); if (info.bg == true) { return; } DispatchEvent("ting_notify", info.seatindex); }); pc.on("chat_push", data => { ChatInfo info = JsonUtility.FromJson <ChatInfo>(data.ToString()); DispatchEvent("chat", info); }); pc.on("quick_chat_push", data => { QuickChatInfo info = JsonUtility.FromJson <QuickChatInfo>(data.ToString()); DispatchEvent("quick_chat_push", info); }); pc.on("emoji_push", data => { EmojiPush info = JsonUtility.FromJson <EmojiPush>(data.ToString()); DispatchEvent("emoji_push", info); }); pc.on("demoji_push", data => { Debug.Log("get demoji_push"); DEmojiPush info = JsonUtility.FromJson <DEmojiPush>(data.ToString()); DispatchEvent("demoji_push", info); }); pc.on("dissolve_notice_push", data => { DissolveInfo dv = JsonUtility.FromJson <DissolveInfo>(data.ToString()); rm.dissolve = dv; DispatchEvent("dissolve_notice", dv); }); pc.on("dissolve_done_push", data => { Debug.Log("dissolve_done_push"); DispatchEvent("dissolve_done"); }); pc.on("dissolve_cancel_push", data => { Debug.Log("dissolve_cancel_push"); DissolveCancel dc = JsonUtility.FromJson <DissolveCancel>(data.ToString()); DispatchEvent("dissolve_cancel", dc); }); pc.on("voice_msg_push", data => { VoiceMsgPush vm = JsonUtility.FromJson <VoiceMsgPush>(data.ToString()); DispatchEvent("voice_msg", vm); }); pc.on("start_club_room", data => { }); pc.on("club_room_updated", data => { DispatchEvent("club_room_updated", data); }); pc.on("clu_room_removed", data => { DispatchEvent("clu_room_removed", data); }); pc.on("club_message_notify", data => { ClubMessageNotify ret = JsonUtility.FromJson <ClubMessageNotify>(data.ToString()); sclub_message_notify = ret; DispatchEvent("club_message_notify", ret); }); pc.on("sys_message_updated", data => { DispatchEvent("sys_message_updated", data); }); pc.on("recommend_room_updated", data => { Debug.Log("recommend_room_updated"); DispatchEvent("recommend_room_updated", data); }); }
IEnumerator _HuPai(HuPushInfo info, Action cb) { bool myself = isMyself(); bool zimo = info.iszimo; int layer = myself ? LayerMask.NameToLayer("Self") : LayerMask.NameToLayer("ZhuoPai"); List <int> holds = info.holds; holds.Sort((a, b) => a - b); if (!myself) { for (int i = 0; i < _handCardList.Count && i < holds.Count; i++) { HandCardItem item = _handCardList [i]; int id = holds [i]; GameObject obj = ResourcesMgr.GetInstance().LoadMJ(id); HandCardItem card = new HandCardItem(id, obj); obj.layer = layer; obj.tag = tagValue; obj.transform.SetParent(_HandCardPlace); obj.transform.localRotation = item.getObj().transform.localRotation; obj.transform.localPosition = item.getObj().transform.localPosition; _handCardList [i] = card; item.destroy(); } foreach (HandCardItem item in _handCardList) { item.setLayer("ZhuoPai"); } } if (_MoHand != null) { _MoHand.destroy(); } if (true) { int id = info.hupai; GameObject obj = ResourcesMgr.GetInstance().LoadMJ(id); _MoHand = new HandCardItem(id, obj); obj.layer = layer; obj.tag = tagValue; obj.transform.SetParent(_MoHandPos); obj.transform.rotation = _MoHandPos.rotation; obj.transform.position = _MoHandPos.TransformPoint(0.0731f * offSetX, 0, 0); } _MoHand.setInteractable(false, false); bool anim = false; bool replay = ReplayMgr.GetInstance().isReplay(); if (!myself && !replay) { _MoHandPos.transform.Translate(0, 0, 0.04f); _MoHandPos.transform.Rotate(-90, 0, 0); anim = true; } if (anim) { Transform huHandSpawn = this.transform.parent.Find("HandSpawn"); GameObject huHand = ResourcesMgr.mInstance.InstantiateGameObjectWithType("HupaiHand", ResourceType.Hand); huHand.transform.rotation = huHandSpawn.rotation; huHand.transform.position = huHandSpawn.position; huHand.GetComponent <DHM_HandAnimationCtr> ().huPaiEvent += HuPaiEventHandle; } if (!zimo) { DHM_RecyleHandCardManager.playHu(); } else { Transform trans = _MoHand.getObj().transform; if (!myself) { GameObject ob = Instantiate(Resources.Load("Prefab/Meishu/fx_hu"), trans) as GameObject; Transform ts = ob.transform; ts.localPosition = new Vector3(0, 0.24f, 0.13f); } } _MoHand.setHu(); yield return(new WaitForSeconds(1.0f)); /* * if (huPaiSpawn == null) * huPaiSpawn = this.transform.parent.Find("HuPaiSpwan"); * * GameObject effectObj = Instantiate(_huEffect); * effectObj.SetActive(true); * effectObj.transform.position = huPaiSpawn.position; * * GameObject huCard = ResourcesMgr.GetInstance ().LoadMJ (id); * huCard.transform.rotation = huPaiSpawn.rotation; * huCard.transform.position = huPaiSpawn.position; * huCard.transform.SetParent(huPaiSpawn); */ AudioManager.GetInstance().PlayEffectAudio("hu"); MainViewMgr mm = MainViewMgr.GetInstance(); if (zimo) { mm.showAction(seatindex, "zimo"); } else { mm.showAction(seatindex, "hu"); if (info.target >= 0) { mm.showAction(info.target, "dianpao"); } } yield return(new WaitForSeconds(4.0f)); cb(); }
public void HuPai(HuPushInfo info, Action cb) { StartCoroutine(_HuPai(info, cb)); }
void InitEventHandlers() { GameMgr gm = GameMgr.GetInstance(); RoomMgr rm = RoomMgr.GetInstance(); gm.AddHandler("mj_count", data => { mjcnt.text = rm.state.numofmj + "张"; }); gm.AddHandler("game_num", data => { //gamenum.text = "第" + rm.info.numofgames + "局(" + rm.conf.maxGames + ")"; gamenum.text = "[D82828]" + rm.info.numofgames + "[FFFFFF]/" + rm.conf.maxGames + "局"; }); gm.AddHandler("new_user", data => { InitSingleSeat((int)data); }); gm.AddHandler("user_state_changed", data => { refreshBtns(); InitSingleSeat((int)data); }); gm.AddHandler("game_begin", data => { enablePrepare(false); refreshBtns(); InitSeats(); }); gm.AddHandler("game_sync", data => { enablePrepare(false); refreshBtns(); InitSeats(); mjcnt.text = rm.state.numofmj + "张"; //gamenum.text = "第" + rm.info.numofgames + "局(" + rm.conf.maxGames + ")"; gamenum.text = "[D82828]" + rm.info.numofgames + "[FFFFFF]/" + rm.conf.maxGames + "局"; }); gm.AddHandler("hupai", data => { HuPushInfo info = (HuPushInfo)data; InitSingleSeat(info.seatindex); }); gm.AddHandler("game_num", data => { refreshBtns(); }); gm.AddHandler("game_state", data => { refreshBtns(); InitSeats(); }); gm.AddHandler("ting_notify", data => { InitSingleSeat((int)data); }); gm.AddHandler("user_ready", data => { InitSingleSeat((int)data); }); gm.AddHandler("chat", data => { ChatInfo info = (ChatInfo)data; chat(info.sender, info.content); }); gm.AddHandler("voice_msg", data => { voice((VoiceMsgPush)data); }); gm.AddHandler("quick_chat_push", data => { QuickChatInfo info = (QuickChatInfo)data; quickchat(info.sender, info.content); }); gm.AddHandler("emoji_push", data => { EmojiPush info = (EmojiPush)data; emoji(info.sender, info.content + 1); }); gm.AddHandler("demoji_push", data => { DEmojiPush info = (DEmojiPush)data; demoji(info.sender, info.target, info.id); }); }