Beispiel #1
0
 /// <summary>
 /// Verifica se o comando é para criar um filho
 /// Adiciona ou removo filhos ao pai.
 /// </summary>
 /// <param name="command"></param>
 /// <param name="mundo"></param>
 /// <returns></returns>
 public IState Perform(Command command, Mundo mundo)
 {
     if (command.Equals(Command.MOUSE_MOVE))
     {
         var hover = PolygonSelector.GetSelected(mundo.polygons, Mouse.X, Mouse.Y);
         if (hover != this.parent)
         {
             mundo.polygonSelected = hover;
         }
     }
     else if (command.Equals(Command.CLICK))
     {
         var selected = PolygonSelector.GetSelected(mundo.polygons, Mouse.X, Mouse.Y);
         if (selected != null && selected != this.parent)
         {
             mundo.RemovePolygon(selected);
             this.parent.children.Add(selected);
             mundo.polygonSelected = this.parent;
             return(new MainState());
         }
     }
     else if (command.Equals(Command.ESCAPE))
     {
         return(new MainState());
     }
     return(this);
 }
Beispiel #2
0
 public void DuplicatePolygon()
 {
     PolygonSelector.Duplicate();
 }