// Update is called once per frame
    void Update()
    {
        switch (currentPlayerState)
        {
        case PlayerState.Idle:
            break;

        case PlayerState.Attack:
            playerAttackHandler.OnPlayerAttack(playerDatas[0].Atk);
            turnHandler.OnTurnEnd((int)CombatSystemController.Turn.Player);
            currentPlayerState = PlayerState.Idle;
            break;

        case PlayerState.Defense:
            if (turnHandler.GetCurrentTurn() == (int)CombatSystemController.Turn.Player)
            {
                reset();
            }
            break;

        case PlayerState.Hurt:
            if (Time.time - beginHurtTime > HURT_TIME)
            {
                playerGuis[0].IsDamageShown = false;
                currentPlayerState          = isDefending ? PlayerState.Defense : PlayerState.Idle;
            }
            break;

        case PlayerState.Die:
            combatSystemController.OnCombatEnd((int)CombatSystemController.Force.Player);
            break;
        }
    }
Ejemplo n.º 2
0
    // Update is called once per frame
    void Update()
    {
        switch (currentEnemyState)
        {
        case EnemyState.Idle:
            idleMovement();
            if (turnHandler.GetCurrentTurn() == (int)CombatSystemController.Turn.Enemy)
            {
                nextCommand();
            }
            break;

        case EnemyState.Attack:
            enemyAttackHandler.OnEnemyAttack(enemyData.Atk);
            turnHandler.OnTurnEnd((int)CombatSystemController.Turn.Enemy);
            currentEnemyState = EnemyState.Idle;
            break;

        case EnemyState.Defense:
            defencePose();
            if (turnHandler.GetCurrentTurn() == (int)CombatSystemController.Turn.Enemy)
            {
                reset();
            }
            break;

        case EnemyState.Hurt:
            if (Time.time - beginHurtTime > HURT_TIME)
            {
                currentEnemyState = isDefending ? EnemyState.Defense : EnemyState.Idle;
            }
            break;

        case EnemyState.Die:
            combatSystemController.OnCombatEnd((int)CombatSystemController.Force.Enemy);
            Destroy(gameObject);
            break;
        }
    }