public Conversation(IPlugin plugin, IConversable forWhom, IPrompt firstPrompt, Dictionary <Object, Object> initialSessionData) { this.firstPrompt = firstPrompt; this.context = new ConversationContext(plugin, forWhom, initialSessionData); this.modal = true; this.localEchoEnabled = true; this.prefix = new NullConversationPrefix(); this.cancellers = new List <IConversationCanceller>(); }
protected override IPrompt AcceptValidatedInput(ConversationContext context, string input) { try { return(AcceptValidatedInput(context, int.Parse(input))); } catch (Exception e) { return(AcceptValidatedInput(context, 0)); } }
protected new string GetFailedValidationText(ConversationContext context, string invalidInput) { int tryNum; if (int.TryParse(invalidInput, out tryNum)) { return(GetFailedValidationText(context, tryNum)); } else { return(GetInputNotNumericText(context, invalidInput)); } }
public IPrompt AcceptInput(ConversationContext context, string input) { if (IsInputValid(context, input)) { return(AcceptValidatedInput(context, input)); } else { String failPrompt = GetFailedValidationText(context, input); if (failPrompt != null) { context.ForWhom.SendRawMessage(ChatColor.Red + failPrompt); } return(this); } }
protected override bool IsInputValid(ConversationContext context, string input) { int inTry; return(int.TryParse(input, out inTry) && IsNumberValid(context, inTry)); }
protected IPrompt AcceptValidatedInput(ConversationContext context, string input) { return(AcceptValidatedInput(context, Convert.ToBoolean(input))); }
public ConversationAbandonedEventArgs(Conversation conversation, IConversationCanceller canceller) { this.context = conversation.Context; this.canceller = canceller; }
protected override IPrompt AcceptValidatedInput(ConversationContext context, string input) { return(AcceptValidatedInput(context, plugin.GetServer().GetPlayer(input))); }
public string GetPrefix(ConversationContext context) { return(""); }
public bool CancelBasedOnInput(ConversationContext context, string input) { StopTimer(); StartTimer(); return(false); }
protected IPrompt GetNextPrompt(ConversationContext context) { return(Prompt.END_OF_CONVERSATION); }
protected override bool IsInputValid(ConversationContext context, String input) { return(fixedSet.Contains(input)); }
protected abstract bool IsInputValid(ConversationContext context, string input);
protected override bool IsInputValid(ConversationContext context, string input) { return(regex.Matches(input).Count > 0); }
public string GetPrefix(ConversationContext context) { return(cachedPrefix); }
protected bool IsNumberValid(ConversationContext context, int input) { return(true); }
protected string GetFailedValidationText(ConversationContext context, int invalidInput) { return(null); }
public abstract string GetPromptText(ConversationContext context);
public string GetPromptText(ConversationContext context) { return(playerOnlyMessage); }
protected string GetInputNotNumericText(ConversationContext context, string invalidInput) { return(null); }
public bool BlocksForInput(ConversationContext context) { return(false); }
public IPrompt AcceptInput(ConversationContext context, string input) { return(GetNextPrompt(context)); }
protected abstract IPrompt GetNextPrompt(ConversationContext context);
public bool CancelBasedOnInput(ConversationContext context, string input) { throw new NotImplementedException(); }
public bool CancelBasedOnInput(ConversationContext context, string input) { return(input.Equals(escapeSequence)); }
protected override bool IsInputValid(ConversationContext context, string input) { return(plugin.GetServer().GetPlayer(input) != null); }
protected override bool IsInputValid(ConversationContext context, string input) { string[] accepted = { "true", "false", "on", "off", "yes", "no" }; return(accepted.Contains(input.ToLower())); }
protected abstract IPrompt AcceptValidatedInput(ConversationContext context, IPlayer input);
public abstract IPrompt AcceptInput(ConversationContext context, string input);