Example #1
0
 private void Update()
 {
     if (health <= 0)
     {
         generalControl.SwitchCurrentState("Death");
     }
 }
Example #2
0
    // Update is called once per frame
    public override void Idle()
    {
        if (_Player.transform.position.x <= transform.position.x + 10 && _Player.transform.position.x >= transform.position.x - 10)
        {
            if (!playerHasBeenSeen)
            {
                StartCoroutine(mushroomAnimationControler.PlayIdle());
                playerHasBeenSeen = true;
                StartCoroutine(Wait());
            }
        }

        if (_Player.transform.position.x <= transform.position.x + range && _Player.transform.position.x >= transform.position.x - range)
        {
            if (_Player.transform.position.x >= transform.position.x)
            {
                GetComponent <SpriteRenderer>().flipX = true;
            }
            else
            {
                GetComponent <SpriteRenderer>().flipX = false;
            }

            if (!wait && playerHasBeenSeen)
            {
                StartCoroutine(Wait());
                enemyGeneral.SwitchCurrentState("Attack");
            }
        }
    }
Example #3
0
    public IEnumerator PlayAttack()
    {
        animator.SetTrigger("Attack");
        yield return(new WaitForSeconds(animator.GetCurrentAnimatorClipInfo(0).Length));

        print("Attack has ended");
        StartCoroutine(PlayIdle());
        generalControl.SwitchCurrentState("Idle");
    }
Example #4
0
    IEnumerator Timer()
    {
        anim.SetTrigger("Death");
        blueGuyMovement.enabled = false;
        death = true;
        yield return(new WaitForSeconds(timer));

        death = false;
        blueGuyMovement.enabled = true;
        anim.SetTrigger("UnDeath");
        generalControl.SwitchCurrentState("Moving");
        manageHealth.SetHealth(1);
    }