/// <summary> /// Permet de valider la sauvegarde ou de revenir à l'état précédent. /// Permet également d'entrer le prochain caractère ou d'effacer le dernier pour donner le nom de la sauvegarde. /// Les caractères autorisés sont les espaces, les lettres minuscules et majuscules et les chiffres. /// </summary> /// <param name="e"> L'objet détaillant l'évènement </param> /// <returns> Vrai si aucune action n'a été déclenchée </returns> public override bool KeyPressed(KeyPressEventArgs e) { var fetching = true; // Annuler la sauvegarde if (e.KeyChar == InputHandler.EscapeCode) { fetching = false; Form.SetState(_state); } // Finaliser la sauvegarde else if (e.KeyChar == InputHandler.EnterCode) { fetching = false; GameSave.Add(_name); Form.SetState(_state); } // Effacer la dernière lettre else if (e.KeyChar == 8 && _name.Length > 0) { fetching = false; _name = _name.Substring(0, _name.Length - 1); } // Caractères autorisés else if (((e.KeyChar >= 97 && e.KeyChar <= 124) || // Minuscules (e.KeyChar >= 65 && e.KeyChar <= 90) || // Majuscules (e.KeyChar >= 48 && e.KeyChar <= 57) || // Chiffres (du pavé numérique) e.KeyChar == 32) && _name.Length < MaxSizeName) // Espace { fetching = false; _name += e.KeyChar; } _nameText = new Text(_name, 30); return(fetching); }