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; }
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; }