private void SetTargetPosition(Vector3 position, bool instant, bool useParticles) { _targetPosition = position; if (useParticles && GameManager.Settings.ParticlesEnabled) { var poofParticlesStart = GameManager.GetSnowParticleSystem(); var poofParticlesTarget = GameManager.GetSnowParticleSystem(); poofParticlesStart.transform.position = transform.position; poofParticlesStart.Play(); poofParticlesTarget.transform.position = _targetPosition; poofParticlesTarget.Play(); } if (instant) { transform.position = _targetPosition; } _hasReachedTarget = _targetPosition == transform.position; if (!_hasReachedTarget) { _totalDistance = (_targetPosition - transform.position).magnitude; } else { OnEntityReachedTarget.Invoke(); } }
public virtual void Action(GravityBody body) { if (onAction != null) { onAction.Invoke(body); } }
public void HandleAnimationComplete() { _isAnimating = false; OnEntityFinishedAnimation.Invoke(); }
public void _on_ActionLockTimer_timeout() { IsLocked = false; _actionCallback?.Invoke(); Stop(); }