Example #1
0
    private void OnTriggerStay2D(Collider2D collision)
    {
        if (collision.tag == "Bouncy")
        {
            if (state == State.Stunned || bounceDisabled)
            {
                return;
            }

            BounceProperty bounceProperty = collision.gameObject.GetComponent <BounceProperty>();
            if (bounceProperty)
            {
                bool isAbove = (transform.position.y - Y_SIZE / 2 > collision.transform.position.y) ? true : false;
                if (isAbove)
                {
                    bounceProperty.BigTremble((state == State.Stomp) ? 3 : 1);
                    BounceAway(collision.transform.position);
                    bouncePS.Play();
                    if (scoreSystem)
                    {
                        scoreSystem.AddValue();
                    }
                }
                else
                {
                    BounceSideways(collision.transform.position);
                    bounceProperty.SmallTremble();
                }

                audioManager.Play("Bounce");
                StartCoroutine(bounceDisableFrames());
            }
        }
        else
        if (collision.tag == "Hitbox")
        {
            GetDamaged(collision.transform.position);
        }
    }