Example #1
0
        public void Update(GameTime gameTime)
        {
            var position = ToMove.Position.ToPoint();

            Path.Update(position);
            if (Path.ToMove && ToMove.Position.ToPoint() != Path.NextPosition)
            {
                var direction = Path.NextPosition - ToMove.Position.ToPoint();
                NextPosition           = Path.NextPosition;
                ToMove.Moving          = true;
                ToMove.MovingDirection = direction.ToVector2();
            }
            else if (MovementComplete.Complete)
            {
                ToMove.OnMoveCompleteEvent += (sender, args) =>
                {
                    ToMove.Moving = false;
                    OnCompleteEvent?.Invoke(this, null);
                };
            }
        }