Exemplo n.º 1
0
    IEnumerator OnCardTimer()
    {
        while (m_isCoroutineStop)
        {
            yield return(new WaitForSeconds(0.2f));

            continue;
        }

        while (m_leftCardTime > 0)
        {
            yield return(new WaitForSeconds(1f));

            m_leftCardTime--;
            GameManager.GameMgr.TimeEvent.Invoke(m_leftCardTime);
        }

        if (GameManager.GameMgr.CardTimeState != null)
        {
            GameManager.GameMgr.CardTimeState.Invoke(m_cardTimeState);
        }

        if (++m_cardTimeState != Defines.CardTimeState.Count)
        {
            Debug.Log(m_cardTimeState);
            StartCardTime(m_cardTimeState);
        }
        else
        {
            m_cardTimeState = Defines.CardTimeState.SelectingCard;
        }
    }
Exemplo n.º 2
0
    public void CardTimeListener(Defines.CardTimeState state)
    {
        switch (state)
        {
        case Defines.CardTimeState.SelectingCard:
            m_drawedCardSlot.ThrowAwayAllDrawedCards();
            m_enrolledCardSlot.UseEnrolledCard(0);
            break;

        case Defines.CardTimeState.FirstCard:
            GameManager.MarkPoint.RemoveMarkPoint();
            m_enrolledCardSlot.UseEnrolledCard(1);
            break;

        case Defines.CardTimeState.SecondCard:
            GameManager.MarkPoint.RemoveMarkPoint();
            m_enrolledCardSlot.UseEnrolledCard(2);
            break;

        case Defines.CardTimeState.ThirdCard:
            GameManager.MarkPoint.RemoveMarkPoint();
            DrawAllCard();
            GameManager.TimeCardSystem.StartCardTime(Defines.CardTimeState.SelectingCard);
            break;
        }
    }
Exemplo n.º 3
0
    public void ChkBehaviorTurn(Defines.CardTimeState state)
    {
        if (state == Defines.CardTimeState.ThirdCard)
        {
            return;
        }

        // 남은 턴 수가 '0' 이면 행동
        if (m_nextBehaviorTurn != 0)
        {
            m_nextBehaviorTurn--;
            return;
        }

        Vector3 dir = Managers.Object.Player.position - transform.position;

        m_controller.RotateCharacter(dir);

        Behavior();
        m_nextBehaviorTurn = m_defaultBehaviorTurn;
    }
Exemplo n.º 4
0
 public void StartCardTime(Defines.CardTimeState state)
 {
     m_leftCardTime  = m_FixedcardTime[(int)state];
     m_timeCoroutine = StartCoroutine(OnCardTimer());
 }