コード例 #1
0
ファイル: Game1.cs プロジェクト: Warafux/airTrafficController
        private iAirplane getClosestAirplaneToMouse()
        {
            List <iAirplane> airplanes = this.map.getAirplanes();

            if (airplanes.Count == 0)
            {
                return(null);
            }
            iAirplane closestAirplane = airplanes[0];

            foreach (iAirplane airplane in airplanes)
            {
                if (Vector2.Distance(currentMouseState.Position.ToVector2(), airplane.getDrawPos()) < Vector2.Distance(currentMouseState.Position.ToVector2(), closestAirplane.getDrawPos()))
                {
                    closestAirplane = airplane;
                }
            }
            if (Vector2.Distance(currentMouseState.Position.ToVector2(), closestAirplane.getDrawPos()) > 50)
            {
                return(null);
            }
            return(closestAirplane);
        }
コード例 #2
0
ファイル: Game1.cs プロジェクト: Warafux/airTrafficController
        protected override void Draw(GameTime gameTime)
        {
            GraphicsDevice.Clear(Color.White);
            base.Draw(gameTime);
            spriteBatch.Begin();
            this.closestAirplaneToMouse = this.getClosestAirplaneToMouse();
            if (closestAirplaneToMouse != null && Vector2.Distance(currentMouseState.Position.ToVector2(), closestAirplaneToMouse.getDrawPos()) < 50)
            {
                closestAirplaneToMouse.hover(true);
                Primitives2D.DrawLine(spriteBatch, currentMouseState.Position.ToVector2(), closestAirplaneToMouse.getDrawPos(), Color.Black);
            }
            map.Draw(spriteBatch);
            notificationsManager.Draw(spriteBatch);

            //FPS
            spriteBatch.DrawString(defaultFont, Math.Ceiling(frameCounter.CurrentFramesPerSecond).ToString(), Vector2.Zero, Color.Green);

            spriteBatch.End();
        }