Beispiel #1
0
    //stunning
    void HandleStunning()
    {
        if (possessing == false)
        {
            if (Input.GetMouseButtonDown(0))
            {
                usingAbility = true;

                mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
                relativeMouse = mousePosition - transform.position;

                stunEffect.SetActive(true);
                stunEffectDuration            = 0.25f;
                stunEffect.transform.rotation = Quaternion.LookRotation(relativeMouse.normalized, Vector3.forward);

                stunHit = Physics2D.Raycast(transform.position, new Vector2(relativeMouse.x, relativeMouse.y).normalized, stunRange, possessMask);

                if (stunHit.collider != null)
                {
                    source.clip = clips[2];
                    source.Play();
                    EnemyInterface enemy = stunHit.transform.gameObject.GetComponent <EnemyInterface>();
                    enemy.stunned = true;

                    stunHit.transform.gameObject.GetComponent <Rigidbody2D>().mass *= 10;

                    enemy.StartCoroutine(enemy.Unstun());


                    stunHit.transform.gameObject.GetComponent <Animator>().SetBool("stunned", true);
                }
            }
        }
    }