public void Update(GameTime gameTime, MouseState mouse) { MouseScreenRect = new Rectangle((int)mouse.X, (int)mouse.Y, 2, 2); MouseWorldRect = new Rectangle((int)mouse.X + (int)Camera.Position.X, (int)mouse.Y + (int)Camera.Position.Y, 2, 2); TimeSinceMouseClicked += gameTime.ElapsedGameTime.Milliseconds; if (switcher) { DelayBetweenSwitch += gameTime.ElapsedGameTime.Milliseconds; } if (DelayBetweenSwitch > 300) { DelayBetweenSwitch = 0; switcher = false; FlipFlopButtons(); if (spinButton.isAnimation1) { DisplayNewButtons(); } } spinButton.Update(gameTime); //Handle Left Mouse Button Click if (TimeSinceMouseClicked > TimeToDelayClicks) { if (mouse.LeftButton == ButtonState.Pressed) { MouseClicked(); TimeSinceMouseClicked = 0; } } //Handle Left Button Click if (mouse.RightButton == ButtonState.Pressed) { NullifyEverything(); } //What Happens When You Press Escape. if (InputHandler.KeyPressed(Keys.Escape)) { NullifyEverything(); } //If We have Selected a Tower. if (CurrentlyClicked != null) { Vector2 TileAtClick = tilemap.GetCollTileAtPixel(new Vector2(MouseWorldRect.X, MouseWorldRect.Y)); TowerToDisplay.Location = TileAtClick * 64; if (tilemap.GetCollCellIndex(TileAtClick) == 1) { TowerToDisplay.spriteAnimation.TintColor = Color.LightGreen; TowerToDisplay.TurretAnim.TintColor = Color.LightGreen; } else { TowerToDisplay.spriteAnimation.TintColor = Color.Red; TowerToDisplay.TurretAnim.TintColor = Color.Red; } TowerToDisplay.Update(gameTime); FlipFlopButtons(); } //CurrentlySelected if (CurrentlySelected != null) { sellButton.Update(gameTime); if (CircleEffect != null) { CircleEffect.Update(gameTime); } } UpdateButtons(gameTime); DisplayOnHoverToolBar(); }