Ejemplo n.º 1
0
        // Metodo che ripristina le opzioni selezionate in precedenza
        internal void RestoreState(IMemento memento)
        {
            if (memento != null)
            {
                try
                {
                    // si converte il memento nel tipo opportuno per poi acquisirne lo stato memorizzato
                    SettingsMemento settingsMemento = (SettingsMemento)memento;
                    int[]           settingsOptions = settingsMemento.GetState();

                    // si seleziona l'opportuno elemento nelle caselle combinate
                    MinefieldComboBox.SelectedIndex  = settingsOptions[0];
                    ModalityComboBox.SelectedIndex   = settingsOptions[1];
                    DifficultyComboBox.SelectedIndex = settingsOptions[2];
                    // si impostano i valori dei controlli di scorrimento
                    MinefieldLength.Value = settingsOptions[3];
                    MinefieldHeight.Value = settingsOptions[4];
                    MinefieldMines.Value  = settingsOptions[5];
                }
                catch
                {
                    // in caso di errore viene selezionato il primo elemento delle caselle combinate
                    MinefieldComboBox.SelectedIndex  = 0;
                    ModalityComboBox.SelectedIndex   = 0;
                    DifficultyComboBox.SelectedIndex = 0;
                }
            }
        }
Ejemplo n.º 2
0
 // Metodo che determina se l'oggetto specificato è uguale all'oggetto corrente
 public override bool Equals(object obj)
 {
     if (obj != null)
     {
         try
         {
             // si converte esplicitamente l'oggetto specificato nel tipo opportuno e se i due
             // oggetti hanno il medesimo hash code allora si comunica che gli oggetti sono uguali
             SettingsMemento memento = (SettingsMemento)obj;
             if (GetHashCode() == memento.GetHashCode())
             {
                 return(true);
             }
         }
         catch { }
     }
     // si comunica che gli oggetti sono diversi
     return(false);
 }