示例#1
0
    private IEnumerator Show_Internel()
    {
        for (int i = 0; i < agariInfoList.Count; i++)
        {
            currentAgari = agariInfoList[i];

            InitYakuInfo();
            //SetTenbouInfo(false);

            Player player = currentAgari.agariPlayer;

            UpdateKyokuInfo();

            //Hai addHai = currentAgari.agariHai;
            //Hai[] hais = player.Tehai.getJyunTehai();
            //float tehaiPosOffsetX = 0; // move to left if Fuuro has too many DaiMinKan or AnKan.

            yield return(StartCoroutine(ShowYakuOneByOne()));

            yield return(new WaitForSeconds(3f));
        }

        ShowSkipButton();
        currentAgari = null;
        //OnClickContinue ();//......
    }
示例#2
0
    public void Show(List <AgariUpdateInfo> agariList)
    {
        currentAgari = agariList[0];

        gameObject.SetActive(true);

        Show_Internel();
    }
    public void Show(ERyuuKyokuReason reason, List <AgariUpdateInfo> agariList)
    {
        this.ryuuKyokuReason = reason;
        this.currentAgari    = agariList[0];

        gameObject.SetActive(true);

        Show_Internel();
    }
示例#4
0
    public void Show(ERyuuKyokuReason reason, List <AgariUpdateInfo> agariList)
    {
        this.ryuuKyokuReason = reason;
        this.currentAgari    = agariList[0];

        gameObject.SetActive(true);

        Show_Internel();
        //OnConfirm ();

        StartCoroutine(AutoContinue(_delayTime));
    }
示例#5
0
    public static void Copy(AgariUpdateInfo dest, AgariInfo src)
    {
        dest.han = src.han;
        dest.fu  = src.fu;

        dest.hanteiYakus = new YakuHelper.YakuHandler[src.hanteiYakus.Length];
        for (int i = 0; i < dest.hanteiYakus.Length; i++)
        {
            dest.hanteiYakus[i] = src.hanteiYakus[i].Clone();
        }

        dest.scoreInfo  = new Score(src.scoreInfo);
        dest.agariScore = src.agariScore;
    }
示例#6
0
    private IEnumerator Show_Internel()
    {
        for (int i = 0; i < agariInfoList.Count; i++)
        {
            currentAgari = agariInfoList[i];

            InitYakuInfo();
            SetTenbouInfo(false);

            InitDoraHais(currentAgari.allOmoteDoraHais, currentAgari.allUraDoraHais);
            ShowOmoteDora(currentAgari.openedOmoteDoraCount);
            ShowUraDora(currentAgari.openedUraDoraCount);

            Player player = currentAgari.agariPlayer;
            tehai.BindPlayer(player);
            fuuro.BindPlayer(player);

            UpdateKyokuInfo();

            Fuuro[] fuuros = player.Tehai.getFuuros();
            fuuro.UpdateFuuro(fuuros);

            Hai addHai = currentAgari.agariHai;

            Hai[] hais = player.Tehai.getJyunTehai();
            tehai.SetTehai(hais, false);
            tehai.AddPai(addHai, true, true);
            tehai.SetAllHaisVisiable(true);

            float tehaiPosOffsetX = 0; // move to left if Fuuro has too many DaiMinKan or AnKan.

            // TODO: it's not fit the UI on 4 fuuros and over 3 KaKan or DaiMinKan
            // move tehai position or scale down fuuros
            for (int f = 0; f < fuuros.Length; f++)
            {
                switch (fuuros[i].Type)
                {
                case EFuuroType.MinKou:
                case EFuuroType.MinShun:
                    tehaiPosOffsetX += (MahjongPai.Height - MahjongPai.Width);
                    break;

                case EFuuroType.AnKan:
                    tehaiPosOffsetX += MahjongPai.Width * 0.5f;
                    break;

                case EFuuroType.DaiMinKan:
                case EFuuroType.KaKan:
                    tehaiPosOffsetX += (MahjongPai.Height - MahjongPai.Width) + MahjongPai.Width * 0.5f;
                    break;
                }
            }

            Vector3 pos = tehai.transform.localPosition;
            pos.x = -tehaiPosOffsetX;
            tehai.transform.localPosition = pos;

            yield return(StartCoroutine(ShowYakuOneByOne()));

            yield return(new WaitForSeconds(3f));
        }

        ShowSkipButton();
        currentAgari = null;
    }