Пример #1
0
        protected override void Update(GameTime gameTime)
        {
            if (Keyboard.GetState().IsKeyDown(Keys.Escape))
            {
                Exit();
            }

            _mouse.Update();
            _referenceLine.Update();

            if (_mouse.LeftDown)
            {
                _initialPosition = _mouse.Position;
            }
            else if (_mouse.LeftUp)
            {
                var direction = _mouse.Position - _initialPosition;
                var angle     = (float)Math.Atan2(direction.Y, direction.X);

                var arrow = new Arrow(_initialPosition, angle, direction.Length() * 3, _arrowTexture);
                _arrows.Add(arrow);
            }

            var frameTime = (float)gameTime.ElapsedGameTime.TotalSeconds;

            foreach (var arrow in _arrows)
            {
                if (arrow == null)
                {
                    break;
                }

                arrow.Update(frameTime);
            }

            base.Update(gameTime);
        }