Ejemplo n.º 1
0
        private IEnumerator CoroutineBlockEvent(Block block)
        {
            DungeonManager.instance.EnterState(DungeonState.BlockEvent);

            yield return(itemTakeEvent.StartTakeItemCoroutine(player.location));

            if (block.blockType != BlockType.None)
            {
                yield return(battleEvent.StartBattleEventCoroutine(block, itemTakeEvent.taked));

                if (battleEvent.onBattleEvent)
                {
                    yield break;
                }

                yield return(powerTakeEvent.StartTakePowerCoroutine(block));

                yield return(spRemainCheckEvent.StartCheckSpRemainCoroutine());
            }

            yield return(powerTakeEvent.StartTakePowerCoroutine(block));

            yield return(spRemainCheckEvent.StartCheckSpRemainCoroutine());

            OnEndBlockEvent();
            DungeonManager.instance.ExitState();
            yield break;
        }