public AzioneSelezioneDestra(Quantum quantum, Casella casellaPartenza) { this.casellaPartenza = casellaPartenza; this.quantum = quantum; naveUsata = casellaPartenza.Occupante; GuiManager gui = quantum.getGUI(); gui.Tabellone.ResetSelezioneMouse(); gui.Tabellone.MostraSelezione = false; // HACK: gestire in maniera sensata e più agile il posizionamento dei Widget // (magari con un costruttore nuovo a cui si passa invece di solo un punto qualche informazione in più per posizionarsi?) // P.S: se ne è occupato Mirco! Ci metterà mano lui Vector2 pos1 = gui.Tabellone.Tile2Pixel(this.casellaPartenza); Vector2 pos2 = pos1; var lato = gui.Tabellone.LatoCasella; pos1 -= new Vector2(20 - lato / 2, 15); pos2 += new Vector2(20 + lato / 2, -15); bool puòRiconfig = !naveUsata.Riconfigurata; bool puòUsareSpecial = !naveUsata.SpecialUsata && checkSpecial(naveUsata); Riconfig = new Widget(pos1, doveDisegnoWidget.sinistra, widget.Riconfigura, puòRiconfig); Special = new Widget(pos2, doveDisegnoWidget.destra, widget.UsaSpecial, puòUsareSpecial); Riconfig.Click += riconfigura; Special.Click += usaSpecial; gui.Iscrivi(Riconfig); gui.Iscrivi(Special); }
public AzioneSelezionePianeta(Quantum quantum, Pianeta pianeta) { this.quantum = quantum; this.pianeta = pianeta; GuiManager gui = quantum.getGUI(); Vector2 pos = gui.Tabellone.Tile2Pixel(pianeta); pos += new Vector2(gui.Tabellone.LatoCasella / 2, - gui.Tabellone.LatoCasella / 3); colonizza = new Widget(pos, doveDisegnoWidget.destra, widget.Colonizza, pianeta.Colonizzabile(quantum.getGestoreDiGiocatori().getGiocatoreDiTurno())); colonizza.Click += Colonizza; gui.Iscrivi(colonizza); gui.Tabellone.ResetSelezioneMouse(); gui.Tabellone.MostraSelezione = false; }
public void Iscrivi(Widget widget) { animati.Add(widget); Iscrivi ((ElementoGrafico)widget); }