Esempio n. 1
0
 //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;
         }
     }
 }
Esempio n. 2
0
        //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));
                                }
                            }
                        }
                    }
                }
            }
        }