Exemple #1
0
    void onGameSync()
    {
        ResourcesMgr.GetInstance().StopAllHands();

        DHM_CardManager[] cms = PlayerManager.GetInstance().getCardManagers();
        foreach (DHM_CardManager cm in cms)
        {
            cm.sync();
        }

        RoomMgr rm = RoomMgr.GetInstance();

        InteractMgr.GetInstance().checkChuPai(rm.isMyTurn());
    }
    void onMJClicked(GameObject ob)
    {
        InteractMgr  im   = InteractMgr.GetInstance();
        HandCardItem item = GetHandCardItemByObj(ob);

        if (item == null)
        {
            return;
        }

        if (item.interactable())
        {
            im.onMJClicked(item);
            currentObj = ob;
        }
    }
Exemple #3
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);
        }
    }
Exemple #4
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);
        }
    }
    public void Dance()
    {
        AudioManager am  = AudioManager.GetInstance();
        Sequence     seq = DOTween.Sequence();

        float stick    = 0.4f;
        float off      = 0.05f;
        float duration = 0.1f;

        var items = new List <HandCardItem>(_handCardList);

        if (_MoHand != null)
        {
            items.Add(_MoHand);
        }

        stick *= duration;

        for (int i = 0; i < items.Count; i++)
        {
            Transform tm = items[i].getObj().transform;

            seq.Insert(i * stick, tm.DOLocalMoveY(off, duration).SetEase(Ease.Linear));
            seq.Insert(i * stick, tm.DOLocalMoveY(0, duration).SetEase(Ease.Linear).SetDelay(duration));
            seq.InsertCallback(i * stick, () => {
                am.PlayEffectAudio("sort");
            });
        }

        seq.OnComplete(() => {
            RoomMgr rm = RoomMgr.GetInstance();
            if (seatindex == rm.seatindex)
            {
                InteractMgr.GetInstance().checkChuPai(rm.isMyTurn());
            }
        });

        seq.Play();
    }
Exemple #6
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);
        }
    }
Exemple #7
0
 void Destroy()
 {
     mInstance = null;
 }
Exemple #8
0
 void Awake()
 {
     mInstance = this;
 }
Exemple #9
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);
        });
    }