Esempio n. 1
0
    //------------------------------------------------//
    //---------------------CHECKS---------------------//

    private void CheckPlayerStats()
    {
        if (playerStats.IsInvisibleUp() == true && enemyAction == basicActionWithPlayer)
        {
            enemyAction = basicAction;
        }
    }
Esempio n. 2
0
    protected virtual void Start()
    {
        playerInstance = PlayerInstant.Instance;

        p_movementModel = playerInstance.GetComponent <CharacterMovementModel>();
        playerStats     = playerInstance.GetComponent <PlayerStats>();

        spawnCount = 0;

        enemyAction = basicAction;

        GetComponent <CircleCollider2D>().radius = 3f;
    }
Esempio n. 3
0
    private void UpdateActionEffects()
    {
        m_Animator.SetBool("Defend", enemyAction == enumEnemyActions.defend);

        if (enemyAction == enumEnemyActions.healAlly && target == null)
        {
            enemyAction = basicAction;
        }

        if (enemyAction == enumEnemyActions.chaseDecoy && target == null)
        {
            enemyAction = basicAction;
        }

        if (enemyAction != enumEnemyActions.spawn)
        {
            isDoSpawnActive = false;
        }

        if (enemyAction == enumEnemyActions.spawn && isDoSpawnActive == false)
        {
            StartCoroutine(DoSpawn());
        }

        if (enemyAction != enumEnemyActions.pacing)
        {
            pacingActive = false;
        }

        if (enemyAction == enumEnemyActions.chase || enemyAction == enumEnemyActions.chaseDecoy)
        {
            if (projectileOn == true || projectileObject == null)
            {
                return;
            }

            projectileOn = true;
            StartCoroutine(DoProjectile());
        }
        else
        {
            projectileOn = false;
        }
    }
Esempio n. 4
0
    private IEnumerator DoHeal()
    {
        float yieldTime = 0.5f;

        ienumeratorDoHealCheck = true;
        m_Animator.SetBool("Heal", true);

        yield return(new WaitForSeconds(yieldTime));

        ienumeratorDoHealCheck = false;
        m_Animator.SetBool("Heal", false);

        Attackable allyAttackable = target.GetComponentInChildren <Attackable>();
        Attackable selfAttackable = transform.parent.GetComponentInChildren <Attackable>();

        allyAttackable.SetHealth(allyAttackable.GetMaxHealth());
        selfAttackable.SubstractHealth(selfAttackable.GetMaxHealth() / 5);

        enemyAction = basicAction;
    }
Esempio n. 5
0
 public void SetEnemyAction(enumEnemyActions m_Action)
 {
     enemyAction = m_Action;
 }