public static ConsoleAnswer UserChoice(ConsoleAnswerType type) { switch (type) { case ConsoleAnswerType.YesNo: string result = ReadFromConsole("(YES / NO): ").ToString().ToLower(); if (result.ToLower() == "y" || result.ToLower() == "yes") { return(ConsoleAnswer.Yes); } else if (result.ToLower() == "n" || result.ToLower() == "no") { return(ConsoleAnswer.No); } else { return(UserChoice(type)); // Re ask } case ConsoleAnswerType.YesNoCancel: string result1 = ReadFromConsole("(YES / NO / CANCEL): ").ToString().ToLower(); if (result1.ToLower() == "y" || result1.ToLower() == "yes") { return(ConsoleAnswer.Yes); } else if (result1.ToLower() == "n" || result1.ToLower() == "no") { return(ConsoleAnswer.No); } else if (result1.ToLower() == "c" || result1.ToLower() == "cancel") { return(ConsoleAnswer.Cancel); } else { return(UserChoice(type)); // Re ask } case ConsoleAnswerType.TrueFalse: string result2 = ReadFromConsole("(TRUE / FALSE): ").ToString().ToLower(); if (result2.ToLower() == "t" || result2.ToLower() == "true") { return(ConsoleAnswer.Yes); } else if (result2.ToLower() == "f" || result2.ToLower() == "false") { return(ConsoleAnswer.No); } else { return(UserChoice(type)); // Re ask } default: CFormat.WriteLine("Could not get user choice, specifed answer type does not exist.", ConsoleColor.Red); return(ConsoleAnswer.Undefined); } }
public static ConsoleAnswer UserChoice(ConsoleAnswerType type, bool canEscape = false) { switch (type) { case ConsoleAnswerType.YesNo: object object1 = CInput.ReadFromConsole("(YES / NO): ", ConsoleInputType.String, canEscape, 3, char.MinValue); if (object1 == null) { CFormat.WriteLine("[Canceled]", ConsoleColor.DarkYellow); return(ConsoleAnswer.Escaped); } string str1 = object1.ToString().ToLower(); if (str1 == "y" || str1 == "yes") { return(ConsoleAnswer.Yes); } if (str1 == "n" || str1 == "no") { return(ConsoleAnswer.No); } return(CInput.UserChoice(type)); case ConsoleAnswerType.YesNoCancel: object object2 = CInput.ReadFromConsole("(YES / NO / CANCEL): ", ConsoleInputType.String, canEscape, 6, char.MinValue); if (object2 == null) { CFormat.WriteLine("[Canceled]", ConsoleColor.DarkYellow); return(ConsoleAnswer.Escaped); } string str2 = object2.ToString().ToLower(); if (str2 == "y" || str2 == "yes") { return(ConsoleAnswer.Yes); } if (str2 == "n" || str2 == "no") { return(ConsoleAnswer.No); } if (str2 == "c" || str2 == "cancel") { return(ConsoleAnswer.Cancel); } return(CInput.UserChoice(type)); case ConsoleAnswerType.TrueFalse: object object3 = CInput.ReadFromConsole("(TRUE / FALSE): ", ConsoleInputType.String, canEscape, 5, char.MinValue); if (object3 == null) { CFormat.WriteLine("[Canceled]", ConsoleColor.DarkYellow); return(ConsoleAnswer.Escaped); } string str3 = object3.ToString().ToLower(); if (str3 == "t" || str3 == "true") { return(ConsoleAnswer.Yes); } if (str3 == "f" || str3 == "false") { return(ConsoleAnswer.No); } return(CInput.UserChoice(type)); default: CFormat.WriteLine("[CInput] ERROR: Could not get user choice, specifed answer type does not exist.", ConsoleColor.Red); return(ConsoleAnswer.Undefined); } }