protected override void ClickSinistro(object sender, MouseEvntArgs args) { if (_selezione >= 0 && _rottami != null) { ConsoleMessaggi.NuovoMessaggio(_rottami[_selezione].Tipo.ToString()); _naveSelezionata = _rottami[_selezione]; if (quantum.getGestoreDiAzioni().AnnullaAzioneCorrente()) { quantum.getGestoreDiAzioni().ImpilaAzione(AzionePiazzaNave.DaRiserva(quantum, _naveSelezionata)); } } }
/// <summary>Da overrideare per rispondere al movimento del mouse</summary> protected virtual void MouseOver(object sender, MouseEvntArgs args) { }
/// <summary>Da overrideare per rispondere al click del mouse</summary> protected virtual void ClickSinistro(object sender, MouseEvntArgs args) { }
protected override void ClickSinistro(object sender, MouseEvntArgs args) { }
protected override void MouseOver(object sender, MouseEvntArgs args) { if (contenitore.Superficie.Contains(args.Posizione) && args.Posizione.Y - contenitore.Superficie.Location.Y <= LARGH_SPRITES) { int x = args.Posizione.X - contenitore.Superficie.Location.X; //posizione X del mouse - posizione X del cimitero // calcolo per capire se il mouse sta nello spazio fra una navicella e l'altra _selezione = x % LATO < LARGH_SPRITES ? (int)Math.Floor(x / (float)LATO) : -1; // annulla una selezione non valida if (_selezione >= _rottami?.Count) _selezione = -1; } else _selezione = -1; //annulla la selezione se il click è fuori dai bordi del cimitero }
protected override void MouseOver(object sender, MouseEvntArgs args) { if (!_enabled) return; //aggiungere _lunghLatoCasella/2 permette di posizionare correttamente il centro del mouseOver double x = Math.Pow( (args.Posizione.X - (_posizione.X + _lunghLatoCasella/2) ),2); double y = Math.Pow((args.Posizione.Y - (_posizione.Y + _lunghLatoCasella/2) ), 2); if (x + y < raggio_al_quadrato) _mouseOver = true; else _mouseOver = false; }
protected override void ClickSinistro(object sender, MouseEvntArgs args) { if (_mouseOver && _enabled) Click?.Invoke(this, EventArgs.Empty); }
protected override void MouseOver(object sender, MouseEvntArgs args) { if (Enabled && contenitore.Superficie.Contains(args.Posizione)) _mouseover = true; else _mouseover = false; }
protected override void ClickSinistro(object sender, MouseEvntArgs args) { if (Enabled && contenitore.Superficie.Contains(args.Posizione.X, args.Posizione.Y)) { _cliccato = true; _contatoreIllumin = FRAME_ILLUMINATO; Click?.Invoke(this, EventArgs.Empty); //return; } }