protected override List <ButtonChoice> Choices() { string heroName = menu.Name; var result = new List <ButtonChoice>(); switch (PlayerDataValidator.ValidateName(heroName)) { case PlayerDataValidator.NameValidationResult.OK: result.Add(new ButtonChoice("Yes", menu.CreateCharacter)); result.Add(new ButtonChoice("No", DoNothing)); break; default: result.Add(new ButtonChoice("OK", DoNothing)); break; } return(result); }
protected override string TextString() { string heroName = menu.Name; switch (PlayerDataValidator.ValidateName(heroName)) { case PlayerDataValidator.NameValidationResult.OK: return("Create new hero " + heroName + "?"); case PlayerDataValidator.NameValidationResult.TooShort: return("Name must be at least " + PlayerDataValidator.MinNameLength.ToString() + " characters long"); case PlayerDataValidator.NameValidationResult.TooLong: return("Name must be shorter than " + PlayerDataValidator.MaxNameLength.ToString() + " characters"); default: return("Unexpected name validation error"); } }