//Left Mouse Click public void MouseClick(Vector2 position) { //Selects Planet for (int i = 0; i < ownedPlanets.Count; i++) { Planet temp = ownedPlanets[i]; Rectangle planetRect = new Rectangle((int)temp.position.X, (int)temp.position.Y, temp.size * 25, temp.size * 25); Rectangle mouse = new Rectangle((int)position.X, (int)position.Y + 15, 1, 1); if (mouse.Intersects(planetRect)) { selectedPlanet = ownedPlanets[i]; PlayerUI.drawPlanetMenu(selectedPlanet, NearbyPlanets(selectedPlanet)); break; } } }
//Called On Right Mouse Click public void RightMouseClick(Vector2 position) { //Handles Moving Ships if (PlayerUI.shipsSelected.Count > 0) { Planet selected; //Gets Planet for (int i = 0; i < board.planets.Count; i++) { Planet temp = board.planets[i]; Rectangle planetRect = new Rectangle((int)temp.position.X, (int)temp.position.Y, temp.size * 25, temp.size * 25); Rectangle mouse = new Rectangle((int)position.X, (int)position.Y + 15, 1, 1); if (mouse.Intersects(planetRect)) { List <Planet> nearby = NearbyPlanets(selectedPlanet); if (nearby.Contains(temp)) { selected = temp; Planet destination = selectedPlanet; if (isValidPlanet(selected)) { foreach (Ship s in PlayerUI.shipsSelected) { if (CanShipMove(s)) { moveShip(s, selected, destination); selectedPlanet = selected; PlayerUI.drawPlanetMenu(selectedPlanet, NearbyPlanets(selectedPlanet)); if (isNeutral(selected)) { AddPlanet(selected); } } } } else //Attacking { List <Ship> attacking = new List <Ship>(); foreach (Ship s in PlayerUI.shipsSelected) { if (CanShipMove(s)) { s.currentmove--; destination.planetShips.Remove(s); attacking.Add(s); } } PlayerUI.shipsSelected = new List <Ship>(); if (Attack(attacking, selected.planetShips, selected, destination)) { selectedPlanet = selected; PlayerUI.drawPlanetMenu(selectedPlanet, NearbyPlanets(selectedPlanet)); } } } } } } }