Ejemplo n.º 1
0
        private void OnTriggerStay2D(Collider2D other)
        {
            AbilityTarget abilityTarget = other.GetComponent <AbilityTarget>();

            if (!abilityTarget)
            {
                return;
            }

            if (Math.Abs(_rigidbody2D.gravityScale) > 0.001f)
            {
                _lastGravityScale = _rigidbody2D.gravityScale;
            }
            _rigidbody2D.gravityScale = 0;
            _abilityTarget            = abilityTarget;
        }
Ejemplo n.º 2
0
        private void OnTriggerExit2D(Collider2D other)
        {
            AbilityTarget abilityTarget = other.GetComponent <AbilityTarget>();

            if (!abilityTarget)
            {
                return;
            }

            if (_collider2D is BoxCollider2D)
            {
                BoxCollider2D boxCollider2D = (BoxCollider2D)_collider2D;
                boxCollider2D.size = _colliderBaseScale;
            }
            else if (_collider2D is CircleCollider2D)
            {
                CircleCollider2D circleCollider2D = (CircleCollider2D)_collider2D;
                circleCollider2D.radius = _colliderBaseRadius;
            }
            _rigidbody2D.gravityScale = _lastGravityScale;
            _abilityTarget            = null;
        }