private void LoadData() { dtInvio.Value = DateTime.Now; using (databaseContext = CreateDatabaseContext()) { PersonaggiManagerNew characterManager = new PersonaggiManagerNew(databaseContext); lstDestinatari.DataSource = characterManager.GetAllCharacters(); lstDestinatari.SelectedItem = null; if (!originalMessage.HasValue) { cmbMittente.DataSource = characterManager.GetAllCharacters(); lstDestinatari.SelectedItem = null; } else { MessaggiManager messageManager = new MessaggiManager(databaseContext); Missione messaggio = messageManager.GetSingleMessage(originalMessage.Value); var mittentiPossibili = (from destinatari in messaggio.PostaInArrivoes orderby destinatari.Personaggio.Nome select destinatari.Personaggio).ToList(); cmbMittente.DataSource = mittentiPossibili; lstDestinatari.SelectedValue = messaggio.Personaggio.NumeroPG; txtOggetto.Text = "Re: " + messaggio.Titolo; txtMessaggio.Text = "\r\n ---------- \r\n" + "Da: " + messaggio.Personaggio.Nome + "\r\nData: " + messaggio.DataCreazione + "\r\n" + messaggio.Testo.Replace("<br />", "\r\n").Replace("<br>", "\r\n"); } } }
public bool SaveOutgoingMessage(long numeroPg, Missione messaggio) { try { MessaggioSalvato messageToSave = new MessaggioSalvato(); messageToSave.Hacking = messaggio.LivelloHacking; messageToSave.NumeroPG = numeroPg; messageToSave.Provenienza = "Messaggi"; messageToSave.Titolo = messaggio.Titolo; StringBuilder content = new StringBuilder(); content.AppendLine("INVIATO A: "); foreach (PostaInArrivo destinatario in messaggio.PostaInArrivoes) { content.Append(destinatario.Personaggio.Nome + "; "); } content.AppendLine("<br/>"); content.AppendLine("Data: " + messaggio.DataCreazione + "<br/>"); content.AppendLine("<br/>"); content.Append(messaggio.Testo); messageToSave.Contenuto = content.ToString(); context.AddToMessaggioSalvatoes(messageToSave); return(true); } catch { return(false); } }
public void MostraMessaggio() { Missione messaggioDaMostrare = MessaggioVisualizzato; if (messaggioDaMostrare != null) { //procedere a mostrare il tutto panMessage.Visible = true; panSalvato.Visible = false; lblMittente.Visible = true; lblMittente.Text = "Mittente: " + messaggioDaMostrare.Personaggio.Nome; lblTitolo.Text = messaggioDaMostrare.Titolo; if (ShowEncrypted && messaggioDaMostrare.LivelloCrittazione > 0) { ucDecrypt.LivelloDifficolta = messaggioDaMostrare.LivelloCrittazione; lblTesto.Text = Encryption.ReturnEncryptedText(messaggioDaMostrare.Testo); btnSalva.Visible = false; } else { lblTesto.Text = messaggioDaMostrare.Testo; btnSalva.Visible = true; ShowEncrypted = true; } } }
/// <summary> /// Costruttore, inizializza i componenti grafici. /// </summary> /// <param name="missione">Per manipolare la missione nel Form.</param> public FormMissione(Missione missione) { this.missione = missione; InitializeComponent(19, 12); //Gioco.Giocatore.Loc.X = missione.PosNave.X; Gioco.Giocatore.Loc.Y = missione.PosNave.Y; temp = Griglia_pictureBox[Gioco.Giocatore.Loc.X, Gioco.Giocatore.Loc.Y].BackgroundImage; //stampa del giocatore //cambia immagine se è sopra una isola if (missione.Griglia_numerica.Mat[Gioco.Giocatore.Loc.X, Gioco.Giocatore.Loc.Y + 1] == 1) { Griglia_pictureBox[Gioco.Giocatore.Loc.X, Gioco.Giocatore.Loc.Y].BackgroundImage = Resources.omino; } else { Griglia_pictureBox[Gioco.Giocatore.Loc.X, Gioco.Giocatore.Loc.Y].BackgroundImage = Gioco.Giocatore.Immagine; } //mostra nemici a schermo foreach (var n in missione.Nemici) { Griglia_pictureBox[n.Loc.X, n.Loc.Y].BackgroundImage = n.Immagine; } UpdateComponenti(); }
void btnSalva_Click(object sender, EventArgs e) { long numeroMessaggio = long.Parse(hidMessageId.Value); MessaggiManager messageManager = new MessaggiManager(DatabaseContext); Missione messaggio = messageManager.GetSingleMessage(numeroMessaggio); FileSalvatiManager filesManager = new FileSalvatiManager(DatabaseContext); bool res = false; if (isInArrivo) { res = filesManager.SaveIncomingMessage(this.LoggedCharacter.NumeroPG, messaggio); } else { res = filesManager.SaveOutgoingMessage(this.LoggedCharacter.NumeroPG, messaggio); } if (res) { DatabaseContext.SaveChanges(); statusMessage.Text = "Messaggio salvato nella cartella personale"; } else { statusMessage.Text = "Errore durante il salvataggio."; } }
public bool SendMessage(long mittente, List <long> destinatari, string oggetto, string messaggio, long crypt, DateTime dataInvio) { try { Missione messageToSend = new Missione(); messageToSend.LivelloCrittazione = crypt; messageToSend.Titolo = oggetto; messageToSend.Testo = messaggio.Replace("\r\n", "<br />").Replace("\n", "<br />"); messageToSend.Mandante = mittente; messageToSend.DataCreazione = dataInvio; PostaInUscita outMail = new PostaInUscita(); outMail.NumeroPG = mittente; outMail.Letta = false; outMail.Cancellata = false; messageToSend.PostaInUscitas.Add(outMail); foreach (long numPg in destinatari) { PostaInArrivo inMail = new PostaInArrivo(); inMail.NumeroPG = numPg; inMail.Letta = false; inMail.Cancellata = false; messageToSend.PostaInArrivoes.Add(inMail); } context.AddToMissiones(messageToSend); return(true); } catch { return(false); } }
protected void btnInvia_Click(object sender, EventArgs e) { string elencoDestinatari = txtDestinatari.Text.Trim(); string[] arrayDestinatari = elencoDestinatari.Split(','); List <long> numeriDestinatari = new List <long>(); foreach (string item in arrayDestinatari) { try { long num = long.Parse(item); numeriDestinatari.Add(num); } catch { } } Personaggio currentCharacter = (Personaggio)Session["Personaggio"]; using (HolonetEntities context = new HolonetEntities()) { long lastMission = (from missioni in context.Missiones select missioni.NumeroMissione).Max(); Missione newMessage = new Missione(); newMessage.NumeroMissione = lastMission + 1; newMessage.Attiva = 1; newMessage.Mandante = currentCharacter.NumeroPG; newMessage.Testo = txtTesto.Text.Replace("\n", "<br />"); newMessage.Titolo = txtOggetto.Text.Trim(); //Livello di crittazione newMessage.LivelloCrittazione = Crypted; //Per il mittente newMessage.PostaInUscitas.Add(new PostaInUscita() { NumeroPG = currentCharacter.NumeroPG, Cancellata = false, Letta = false }); //per i destinatari foreach (long dest in numeriDestinatari) { newMessage.PostaInArrivoes.Add(new PostaInArrivo() { NumeroPG = dest, Cancellata = false, Letta = false }); } context.AddToMissiones(newMessage); context.SaveChanges(); } panSendMessage.Visible = false; CaricaMessaggiInUscita(); }
/// <summary> /// Quando la nave non ha più vita viene alzata una flag che indica la sua morte /// </summary> /// <param name="missione">Missione in cui effetuare il controllo</param> public void Affonda(Missione missione) { if (!IsGameOver) { if (Stats.Hp <= 0 || Nemico_Carte.CurHp <= 0) { missione.Mappa.Griglia_pictureBox[Loc.X, Loc.Y].BackgroundImage = Properties.Resources.mare; IsGameOver = true; } } }
void btnRispondi_Click(object sender, EventArgs e) { preparaEditor(); long messageId = long.Parse(hidMessageId.Value); MessaggiManager messageManager = new MessaggiManager(DatabaseContext); Missione messaggio = messageManager.GetSingleMessage(messageId); hidReceivers.Value = messaggio.Personaggio.NumeroPG.ToString(); txtDestinatari.Text = messaggio.Personaggio.Nome + "; "; txtOggetto.Text = "Re: " + messaggio.Titolo; txtTesto.Text = "\r\n ---------- \r\n" + "Da: " + messaggio.Personaggio.Nome + "\r\nData: " + messaggio.DataCreazione + "\r\n" + messaggio.Testo.Replace("<br />", "\r\n").Replace("<br>", "\r\n"); PageViews.SetActiveView(createMessage); }
public void MostraMessaggioInUscita() { Missione messaggioDaMostrare = MessaggioVisualizzato; if (messaggioDaMostrare != null) { panSendMessage.Visible = false; panMessage.Visible = true; panCancellato.Visible = false; panSalvato.Visible = false; lblMittente.Visible = false; lblTitolo.Text = messaggioDaMostrare.Titolo; lblTesto.Text = messaggioDaMostrare.Testo; } }
public void MostraMessaggio() { Missione messaggioDaMostrare = MessaggioVisualizzato; if (messaggioDaMostrare != null) { //procedere a mostrare il tutto panSendMessage.Visible = false; panMessage.Visible = true; panCancellato.Visible = false; panSalvato.Visible = false; lblMittente.Visible = true; lblMittente.Text = "Mittente: " + messaggioDaMostrare.Personaggio.Nome + " (NumeroPG: " + messaggioDaMostrare.Personaggio.NumeroPG + ")"; lblTitolo.Text = messaggioDaMostrare.Titolo; lblTesto.Text = messaggioDaMostrare.Testo; } }
private void grdMessaggi_SelectionChanged(object sender, EventArgs e) { svuotaControlli(); if (grdMessaggi.SelectedRows.Count == 1) { long numeroMissione = (long)grdMessaggi.SelectedRows[0].Cells["NumeroMissione"].Value; using (databaseContext = CreateDatabaseContext()) { MessaggiManager manager = new MessaggiManager(databaseContext); Missione messaggio = manager.GetSingleMessage(numeroMissione); txtTesto.Text = string.IsNullOrWhiteSpace(messaggio.Testo) ? null : messaggio.Testo.Replace("<br />", "\r\n"); foreach (var destinatario in messaggio.PostaInArrivoes) { txtDestinatari.Text += destinatario.Personaggio.NumeroENomeCombo + "\r\n"; } } } }
/// <summary> /// Attacca la nave specificata nella missione specificata. /// </summary> /// <param name="nave">Nave da attaccare.</param> /// <param name="missione">Missione in cui attaccare.</param> /// <returns>true se la nave ha attaccato, false se non ha attaccato.</returns> public override bool Attacca(Missione missione, Nave nave) { for (int i = -dimTrigger + 1; i < dimTrigger; i++) { for (int j = -dimTrigger + 1; j < dimTrigger; j++) { Loc2D tempLoc = new Loc2D(i + Loc.X, j + Loc.Y); if (tempLoc.IsEqualTo(nave.Loc)) { int remPunti = new Random().Next(Stats.MinHit, Stats.MaxHit); nave.DecPuntiVita(remPunti); missione.Mappa.UpdateComponenti(); return(true); } } } return(false); }
/// <summary> /// La funzione fa muovere la nave data la missione in cui effetuare il movimento e la direzione in cui muoversi. /// </summary> /// <param name="missione">Per permettere il movimento all'interno della mappa della missione.</param> /// <param name="direzione">per specificare la direzione in cui effetuare il movimento.</param> private Image Background(Missione missione) { int val = missione.Griglia_numerica.Mat[Gioco.Giocatore.Loc.X, Gioco.Giocatore.Loc.Y]; switch (val) { default: case 0: //mare return(Properties.Resources.mare); case 1: //isola return(Properties.Resources.isola1); case 3: //bandiera return(Properties.Resources.bandiera); case -1: return(missione.Mappa.Griglia_pictureBox[this.Loc.X, this.Loc.Y].BackgroundImage); } }
private void caricaMessaggio(long numeroMessaggio) { hidMessageId.Value = numeroMessaggio.ToString(); statusMessage.Text = string.Empty; MessaggiManager messageManager = new MessaggiManager(DatabaseContext); Missione messaggio = messageManager.GetSingleMessage(numeroMessaggio); lblMittente.Text = messaggio.Personaggio.Nome; lblTitolo.Text = messaggio.Titolo; lblTesto.Text = string.IsNullOrWhiteSpace(messaggio.Testo) ? string.Empty : messaggio.Testo.Replace("\r", "<br />"); lblData.Text = messaggio.DataCreazione.ToString(); if (isInArrivo) { numeroMittente = messaggio.Mandante; RubricaManager namesManager = new RubricaManager(DatabaseContext); btnSalvaMittente.Visible = !namesManager.HasContact(LoggedCharacter.NumeroPG, messaggio.Mandante); rowDestinatari.Visible = false; messageManager.SetIncomingMessageRead(this.LoggedCharacter.NumeroPG, numeroMessaggio); } else { numeroMittente = null; btnSalvaMittente.Visible = false; rowDestinatari.Visible = true; foreach (string nome in messageManager.GetRecipients(numeroMessaggio)) { lblDestinatari.Text += nome + " "; } messageManager.SetOutgoingMessageRead(this.LoggedCharacter.NumeroPG, numeroMessaggio); } DatabaseContext.SaveChanges(); if (isInArrivo) { btnRispondi.Visible = true; } else { btnRispondi.Visible = false; } PageViews.SetActiveView(readMessage); }
/// <summary> /// Movimento specifico per i nemici secondo un percorso predefinito. /// </summary> /// <param name="missione">Missione in cui effetuare il movimento.</param> /// <param name="direzione">Direzione in cui effetuare il movimento.</param> public override void Movimento(Missione missione, Direzione direzione) { if (!IsGameOver) { if (Attacca(missione, Gioco.Giocatore)) { return; } missione.Mappa.Griglia_pictureBox[patrol[patrolIndex].X, patrol[patrolIndex].Y].BackgroundImage = Properties.Resources.mare; if (patrolInv) { patrolIndex--; // Controlla se l'indice punta alla base dell'array di movimento // e nel caso accenda una flag che fa aumentare l'indice invece che diminuire if (patrolIndex <= 0) { patrolInv = false; } } else { patrolIndex++; // Controlla se l'indice punta alla fine dell'array di movimento // e nel caso accenda una flag che fa diminuire l'indice invece che aumentare if (patrolIndex >= patrol.Length - 1) { patrolInv = true; } } //aggiorna posizione missione.Mappa.Griglia_pictureBox[patrol[patrolIndex].X, patrol[patrolIndex].Y].BackgroundImage = Immagine; Loc = patrol[patrolIndex]; } }
public void MostraMessaggioInUscita() { Missione messaggioDaMostrare = MessaggioVisualizzato; if (messaggioDaMostrare != null) { panMessage.Visible = true; panSalvato.Visible = false; lblMittente.Visible = false; lblTitolo.Text = messaggioDaMostrare.Titolo; if (ShowEncrypted && messaggioDaMostrare.LivelloCrittazione > 0) { ucDecrypt.LivelloDifficolta = messaggioDaMostrare.LivelloCrittazione; lblTesto.Text = Encryption.ReturnEncryptedText(messaggioDaMostrare.Testo); btnSalva.Visible = false; } else { lblTesto.Text = messaggioDaMostrare.Testo; btnSalva.Visible = true; ShowEncrypted = true; } } }
/// <summary> /// Muove la nave del giocatore all'interno della missione. /// </summary> /// <param name="missione">Missione in cui muoversi.</param> /// <param name="direzione">Direzione in cui muoversi.</param> public override void Movimento(Missione missione, Direzione direzione) //(Virtual) indica che può essere esteso dai figli { // Se hai finito la Pa non puoi muoverti // finche non passi il turno if (Gioco.Giocatore.Stats.Pa <= 0) { return; } switch (direzione) { case Direzione.SOPRA: if (Gioco.Giocatore.Loc.Y - 1 < 0) { return; // Controllo se è al limite della mappa e vieta il movimento } if (missione.Griglia_numerica.Mat[this.Loc.X, this.Loc.Y - 1] == 2) { return; // Controlla se è vicino a una montagna e vieta il movimento } missione.Mappa.Griglia_pictureBox[this.Loc.X, this.Loc.Y].BackgroundImage = missione.Mappa.temp; //texture vecchia this.Loc.Y--; //aggiorno la posizione //missione.Mappa.temp = missione.Mappa.Griglia_pictureBox[this.Loc.X, this.Loc.Y].BackgroundImage; //aggiorno temp break; case Direzione.DESTRA: if (Gioco.Giocatore.Loc.X + 1 > missione.Griglia_numerica.Mat.GetLength(0) - 1) { return; } if (missione.Griglia_numerica.Mat[this.Loc.X + 1, this.Loc.Y] == 2) { return; } missione.Mappa.Griglia_pictureBox[this.Loc.X, this.Loc.Y].BackgroundImage = missione.Mappa.temp; //texture vecchia this.Loc.X++; //aggiorno la posizione // missione.Mappa.temp = missione.Mappa.Griglia_pictureBox[this.Loc.X, this.Loc.Y].BackgroundImage; //aggiorno temp break; case Direzione.SINISTRA: if (Gioco.Giocatore.Loc.X - 1 < 0) { return; } if (missione.Griglia_numerica.Mat[this.Loc.X - 1, this.Loc.Y] == 2) { return; } missione.Mappa.Griglia_pictureBox[this.Loc.X, this.Loc.Y].BackgroundImage = missione.Mappa.temp; //texture vecchia this.Loc.X--; //aggiorno la posizione //missione.Mappa.temp = missione.Mappa.Griglia_pictureBox[this.Loc.X, this.Loc.Y].BackgroundImage; //aggiorno temp break; case Direzione.SOTTO: if (Gioco.Giocatore.Loc.Y + 1 > missione.Griglia_numerica.Mat.GetLength(1) - 1) { return; } if (missione.Griglia_numerica.Mat[this.Loc.X, this.Loc.Y + 1] == 2) { return; } missione.Mappa.Griglia_pictureBox[this.Loc.X, this.Loc.Y].BackgroundImage = missione.Mappa.temp; //texture vecchia this.Loc.Y++; //aggiorno la posizione break; default: break; } //missione.Mappa.temp = missione.Mappa.Griglia_pictureBox[this.Loc.X, this.Loc.Y].BackgroundImage; //aggiorno temp missione.Mappa.temp = Background(missione); //cambia immagine se è sopra una isola if (missione.Griglia_numerica.Mat[Loc.X, Loc.Y] == 1) { missione.Mappa.Griglia_pictureBox[Loc.X, Loc.Y].BackgroundImage = Properties.Resources.omino; } else { missione.Mappa.Griglia_pictureBox[Loc.X, Loc.Y].BackgroundImage = Properties.Resources.nave_pirata; } RemEnergia(1); //consumi energia missione.Mappa.EnergiaNave_label.Text = "Punti azione: " + Stats.Pa + "/" + Stats.PaMax; //aggiorna energia_label }
private static void Init() { Console.WriteLine("#+ Inizializzazione"); // Il giocatore deve essere inizializzato per primo Carta[] carte_player = { ListaCarte.GetCartaClone(1), ListaCarte.GetCartaClone(2), ListaCarte.GetCartaClone(3), ListaCarte.GetCartaClone(4), ListaCarte.GetCartaClone(5), ListaCarte.GetCartaClone(8), ListaCarte.GetCartaClone(17), ListaCarte.GetCartaClone(18),ListaCarte.GetCartaClone(19) }; Player_carte player_prova = new Player_carte(10, new Mazzo(carte_player)); Giocatore = new NaveGiocatore("Nave da Test", Properties.Resources.nave_pirata, new Stats(), new Loc2D(3, 3), 5, 10, player_prova); Dominio = new GestioneDominio(); //prova ListaCarte.GetCarta(1).SetUtilizzabile(true); ListaCarte.GetCarta(2).SetUtilizzabile(true); ListaCarte.GetCarta(3).SetUtilizzabile(true); ListaCarte.GetCarta(4).SetUtilizzabile(true); ListaCarte.GetCarta(5).SetUtilizzabile(true); ListaCarte.GetCarta(6).SetUtilizzabile(true); ListaCarte.GetCarta(17).SetUtilizzabile(true); ListaCarte.GetCarta(18).SetUtilizzabile(true); ListaCarte.GetCarta(19).SetUtilizzabile(true); Dominio.AddDobloni(1000); // Griglia griglia_prova = new Griglia(new int[19, 12] { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 2, 2, 2, 0, 0, 0, 0, 0 }, { 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0 }, { 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0 }, { 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }); NaveNemico[] testNemici = new NaveNemico[3]; Loc2D[] testPatrol = new Loc2D[] { new Loc2D(6, 6), new Loc2D(6, 7), new Loc2D(7, 7) }; Loc2D[] testPatrol2 = new Loc2D[] { new Loc2D(10, 10), new Loc2D(10, 9), new Loc2D(9, 9) }; Loc2D[] testPatrol3 = new Loc2D[] { new Loc2D(13, 8), new Loc2D(12, 8), new Loc2D(11, 8), new Loc2D(11, 7) }; Nemico_carte nemico_prova = new Nemico_carte(10, Properties.Resources.pub, new Carta[] { ListaCarte.GetCarta(1) }, "ErNemiko!"); Nemico_carte nemico_prova1 = new Nemico_carte(10, Properties.Resources.pub, new Carta[] { ListaCarte.GetCarta(2) }, "ErNemiko2!"); Nemico_carte nemico_prova2 = new Nemico_carte(10, Properties.Resources.pub, new Carta[] { ListaCarte.GetCarta(3) }, "ErNemiko3!"); testNemici[0] = new Mercantile(new Stats(), testPatrol, nemico_prova); testNemici[1] = new Caravella(new Stats(), testPatrol2, nemico_prova1); testNemici[2] = new Fregata(new Stats(), testPatrol3, nemico_prova2); MissioneSelezionata = new Missione(griglia_prova, 5, testNemici); scontroCarte = new GUI.ScontroCarte.ScontroCarte(nemico_prova); nassauForm = new GUI.MenuNassau.Nassau_form(); Console.WriteLine("#- Inizializzazione"); }
/// <summary> /// La funzione fa muovere la nave data la missione in cui effetuare il movimento e la direzione in cui muoversi. /// </summary> /// <param name="missione">Per permettere il movimento all'interno della mappa della missione.</param> /// <param name="direzione">per specificare la direzione in cui effetuare il movimento.</param> public abstract void Movimento(Missione missione, Direzione direzione);
/// <summary> /// Attacca la neva specificata con danno random. /// </summary> /// <param name="nave">Nave da attaccare</param> public abstract bool Attacca(Missione missione, Nave nave);
/// <summary> /// Attacca la nave specificata nella missione specificata. /// </summary> /// <param name="nave">Nave da attaccare.</param> /// <param name="missione">Missione in cui attaccare</param> public override bool Attacca(Missione missione, Nave nave) { nave.DecPuntiVita(new Random().Next(Stats.MinHit, Stats.MaxHit)); missione.Mappa.UpdateComponenti(); return(true); }
/// <summary> /// Costruttore che accetta la missione per cui mostrare la performance /// </summary> /// <param name="missione"></param> public FineMissione(Missione missione) { InitializeComponent(); this.missione = missione; }