Example #1
0
    void SwitchTo(int seat)
    {
        Debug.Log("SwitchTo " + seat);

        mSwitcher.switchTo(seat);
        MainViewMgr.GetInstance().switchTo(seat);
    }
Example #2
0
    public void UpdateFlowers()
    {
        MainViewMgr mm = MainViewMgr.GetInstance();

        mm.updateFlowers(seatindex);

        showFlowers();
    }
Example #3
0
    void Awake()
    {
        m_Instance = this;

        gameObject.AddComponent <Dissolve>();

        InitView();
    }
Example #4
0
    void SomeOneChuPai(int seat, int id, Action cb)
    {
        MainViewMgr mm = MainViewMgr.GetInstance();

        mm.hideChupai();
        mm.showChupai(seat, id);

        foreach (DHM_CardManager cm in PlayerManager.GetInstance().getCardManagers())
        {
            if (cm.seatindex == seat)
            {
                cm.ChuPai(id, cb);
            }
        }
    }
Example #5
0
    public void Peng(int seat, int id)
    {
        AudioManager.GetInstance().PlayEffectAudio("peng");
        MainViewMgr.GetInstance().showAction(seat, "peng");
        hideChupai();

        DHM_CardManager cm = PlayerManager.GetInstance().getCardManager(seat);

        cm.PengPai(id);

        SwitchTo(seat);

        if (seat == RoomMgr.GetInstance().seatindex)
        {
            InteractMgr.GetInstance().checkChuPai(true);
        }
    }
Example #6
0
    public IEnumerator _AddFlower(int id, Action cb)
    {
        SetMoHandCard(id);
        AudioManager.GetInstance().PlayEffectAudio("buhua");

        yield return(new WaitForSeconds(0.5f));

        hideMopai();

        cb();

        MainViewMgr mm = MainViewMgr.GetInstance();

        mm.updateFlowers(seatindex);
        mm.showAction(seatindex, "add_flower", id);

        showFlowers();
    }
Example #7
0
    public void Gang(int seat, int id, int type)
    {
        isGang = true;

        MainViewMgr.GetInstance().showAction(seat, "gang");
        AudioManager.GetInstance().PlayEffectAudio("gang");
        hideChupai();

        DHM_CardManager cm = PlayerManager.GetInstance().getCardManager(seat);

        cm.GangPai(id, type);

        SwitchTo(seat);

        if (seat == RoomMgr.GetInstance().seatindex)
        {
            InteractMgr.GetInstance().checkChuPai(false);
        }
    }
Example #8
0
    public void Chi(int seat, int id)
    {
        AudioManager.GetInstance().PlayEffectAudio("chi");
        MainViewMgr.GetInstance().showAction(seat, "chi");
        hideChupai();

        DHM_CardManager cm = PlayerManager.GetInstance().getCardManager(seat);

        cm.ChiPai(id);

        SwitchTo(seat);

        InteractMgr im = InteractMgr.GetInstance();

        if (seat == RoomMgr.GetInstance().seatindex)
        {
            im.checkChuPai(true);
        }
        else
        {
            im.updatePrompt(id);
        }
    }
Example #9
0
 void hideChupai()
 {
     MainViewMgr.GetInstance().hideChupai();
 }
Example #10
0
    void InitEventHandlers()
    {
        RoomMgr       rm = RoomMgr.GetInstance();
        GameMgr       gm = GameMgr.GetInstance();
        PlayerManager pm = PlayerManager.GetInstance();

        gm.AddHandler("game_holds", data => {
            EnQueueCmd("game_holds", data, item => {
                DHM_CardManager cm = pm.getCardManager((int)item.data);
                cm.FaPai();
            });
        });

        gm.AddHandler("game_holds_len", data => {
            EnQueueCmd("game_holds_len", data, item => {
                DHM_CardManager cm = pm.getCardManager((int)item.data);
                cm.FaPai();
            });
        });

        gm.AddHandler("game_begin", data => {
            EnQueueCmd("game_begin", data, item => {
                onGameBegin();
            });
        });

        gm.AddHandler("game_sync", data => {
            EnQueueCmd("game_sync", data, item => {
                if (rm.isPlaying())
                {
                    sync();
                }
            });
        });

        gm.AddHandler("game_action", data => {
            EnQueueCmd("game_action", data, item => {
                InteractMgr.GetInstance().ShowAction();
            });
        });

        gm.AddHandler("game_turn_change", data => {
            EnQueueCmd("game_turn_change", data, item => {
                TurnChange(rm.state.turn);
            });
        });

        gm.AddHandler("game_mopai", data => {
            EnQueueCmd("game_mopai", data, item => {
                ActionInfo info = (ActionInfo)item.data;

                MoPai(info.seatindex, info.pai);
                if (info.seatindex == rm.seatindex)
                {
                    InteractMgr.GetInstance().checkChuPai(true);
                }
            });
        });

        gm.AddHandler("user_hf_updated", data => {
            EnQueueCmd("user_hf_updated", data, item => {
                if (item.data == null)
                {
                    foreach (DHM_CardManager cm in pm.getCardManagers())
                    {
                        cm.UpdateFlowers();
                    }

                    syncDone(item);
                }
                else
                {
                    ActionInfo info = (ActionInfo)item.data;
                    AddFlower(info.seatindex, info.pai, () => syncDone(item));
                }
            }, false);
        });

        gm.AddHandler("hupai", data => {
            EnQueueCmd("hupai", data, item => {
                Hu((HuPushInfo)item.data, () => syncDone(item));
            }, false);
        });

        gm.AddHandler("game_chupai_notify", data => {
            EnQueueCmd("game_chupai_notify", data, item => {
                ActionInfo info = (ActionInfo)item.data;
                SomeOneChuPai(info.seatindex, info.pai, () => syncDone(item));
            }, false);
        });

        gm.AddHandler("guo_notify", data => {
            EnQueueCmd("guo_notify", data, item => {
                Guo();
            });
        });

        gm.AddHandler("peng_notify", data => {
            EnQueueCmd("peng_notify", data, item => {
                ActionInfo info = (ActionInfo)item.data;
                int si          = info.seatindex;

                Peng(si, info.pai);
            });
        });

        gm.AddHandler("ting_notify", data => {
            EnQueueCmd("ting_notify", data, item => {
                int si = (int)item.data;

                MainViewMgr.GetInstance().showAction(si, "ting");

                if (si == rm.seatindex)
                {
                    InteractMgr im = InteractMgr.GetInstance();

                    im.showPrompt();
                    im.checkChuPai(true);
                }

                DHM_CardManager cm = pm.getCardManager(si);
                cm.Ting();
            });
        });

        gm.AddHandler("chi_notify", data => {
            EnQueueCmd("chi_notify", data, item => {
                ActionInfo info = (ActionInfo)item.data;
                int si          = info.seatindex;

                Chi(si, info.pai);
            });
        });

        gm.AddHandler("gang_notify", data => {
            EnQueueCmd("gang_notify", data, item => {
                GangInfo info = (GangInfo)item.data;
                int type      = 0;
                int si        = info.seatindex;

                switch (info.gangtype)
                {
                case "diangang":
                    type = 1;
                    break;

                case "angang":
                    type = 2;
                    break;

                case "wangang":
                    type = 3;
                    break;
                }

                Debug.Log("gang_notify: type=" + info.gangtype + " pai=" + info.pai);

                Gang(si, info.pai, type);
            });
        });

        gm.AddHandler("game_dice", data => {
            EnQueueCmd("game_dice", data, item => {
                PlaySaiZi(rm.state.button, new int[] { rm.state.dice1, rm.state.dice2 });
            });
        });

        gm.AddHandler("game_over", data => {
            EnQueueCmd("game_over", data, item => {
                MainViewMgr.GetInstance().GameOver();
            });
        });

        gm.AddHandler("game_wait_maima", data => {
            EnQueueCmd("game_wait_maima", data, item => {
                MainViewMgr.GetInstance().showMaimaWait();
            });
        });

        gm.AddHandler("game_maima", data => {
            EnQueueCmd("game_maima", data, item => {
                MainViewMgr.GetInstance().showMaimaResult(() => syncDone(item));
            }, false);
        });
    }
Example #11
0
    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();
    }