示例#1
0
    public bool DrawBomb()
    {
        if (m_bombCard.Count > 0 || m_strightBomCard.Count > 0)
        {
            m_bIsDraw = true;
            //폭탄이 있다.
            if (m_bombCard.Count > 0)
            {
                m_selectedCard.Init();

                //일반 폭탄
                for (int i = 0; i < m_bombCard.Count; ++i)
                {
                    m_selectedCard.Add(m_bombCard[i]);
                }
            }
            else
            {
                //스트레이트 폭탄
                for (int i = 0; i < m_strightBomCard.Count; ++i)
                {
                    m_selectedCard.Add(m_strightBomCard[i]);
                }
            }

            StartCoroutine(CardDraw());
            return(true);
        }

        return(false);
    }
示例#2
0
    public IEnumerator EGameStart()
    {
        yield return(StartCoroutine(EIntroSence()));

GameStart:
        defeatedEnemy.Clear();
        yield return(StartCoroutine(EStartSence()));

        if (returnValue == 0) // 开始游戏
        {
        }
        else
        {
            yield return(StartCoroutine(EShowCollection()));

            //yield return StartCoroutine(EGameStart());
            goto GameStart;
        }

        yield return(StartCoroutine(ESelectHero()));

        if (returnValue == -1) // 返回
        {
            //yield return StartCoroutine(EGameStart());
            goto GameStart;
        }

        EnemyManager.CreateEnemy();
        cardPile.cardPile.Clear();
        SelectCard.Init();

        //FillCardPileWith1StarMinion(cardPile);
        //yield return StartCoroutine(ESelectTreasure());

        //yield return StartCoroutine(ESelectTreasure());

        for (int i = 0; i < 14; i++)
        {
            Debug.Log("选择第" + (i + 1) + "堆");
            yield return(StartCoroutine(ESelectCardForCardPile(i)));
        }

        //int tmp = random.Next(4); //For Test

        for (int i = 0; i < MaxLevel; i++)
        {
            Const.Reset();
            yield return(StartCoroutine(EStartLevel(i)));

            if (returnValue == 0) // win
            {
                if (i != 3)
                {
                    yield return(StartCoroutine(ESelectTreasure()));

                    for (int j = 14 + 2 * i; j < 16 + 2 * i; j++)
                    {
                        yield return(StartCoroutine(ESelectCardForCardPile(j)));
                    }
                }
            }
            else // lose
            {
                yield return(StartCoroutine(ESummary()));

                goto GameStart;
            }
        }
        yield return(StartCoroutine(ESummary()));

        //yield return StartCoroutine(EGameStart());
        goto GameStart;
    }