Ejemplo n.º 1
0
        IEnumerator Battle()
        {
            StartUserBattleEvent.Invoke();
            yield return(null);

            // EndUserBattleEvent.Invoke -> from UI.

            EUserGameState userBattleResult = isOver();

            if (EUserGameState.Unknown != userBattleResult)
            {
                yield break;
            }

            StartAIBattleEvent.Invoke();
            yield return(null);

            _ai.Battle();
            yield return(null);

            EndAIBattleEvent.Invoke();

            EUserGameState aiBattleResult = isOver();

            if (EUserGameState.Unknown != aiBattleResult)
            {
                yield break;
            }

            --RemainTurn;
        }
Ejemplo n.º 2
0
        public void BattleIterate()
        {
            if (null == _battleIterator)
            {
                return;
            }

            if (_battleIterator.MoveNext())
            {
                return;
            }

            EUserGameState state = isOver();

            switch (state)
            {
            case EUserGameState.Win:
            case EUserGameState.Lose:
                end(state);
                return;

            default:
                StartBattleRoutine();
                break;
            }
        }
Ejemplo n.º 3
0
        public void JudgeIter()
        {
            if (null == _iterJudge)
                return;

            if (_iterJudge.MoveNext())
                return;

            _iterJudge = null;

            EUserGameState state = isOver();
            switch (state)
            {
                case EUserGameState.Win:
                case EUserGameState.Lose:
                    End(state);
                    return;

                default:
                    Shuffle();
                    break;
            }
        }
Ejemplo n.º 4
0
 private void end(EUserGameState state)
 {
     EndEvent.Invoke(state);
 }
Ejemplo n.º 5
0
 public void Invoke(EUserGameState state)
 {
     _event.Invoke(state);
 }
Ejemplo n.º 6
0
 // default handler
 private void onEnd(EUserGameState state)
 {
     Log.Debug(string.Format("onEnd; UserGameState({0})", state));
 }
Ejemplo n.º 7
0
 public void End(EUserGameState state)
 {
     EndEvent.Invoke(state);
 }