/// <summary> /// </summary> /// <param name="action"> /// </param> /// <param name="nextId"> /// </param> /// <returns> /// </returns> protected KnuBotActionStruct CAS(KnuBotAction action, string nextId) { return(new KnuBotActionStruct() { ActionId = action.Method.Name, BotAction = action, NextDialogId = nextId }); }
/// <summary> /// </summary> /// <param name="optionId"> /// </param> /// <returns> /// </returns> public string Execute(KnuBotOptionId optionId = KnuBotOptionId.DialogStart) { string nextDialogId = string.Empty; if (this.Character != null) { KnuBotAction action = this.condition(optionId); if (action != null) { string actionId = action.Method.Name; if (actionId != string.Empty) { // Execute Action // No checks for empty results here, since we did this all in the Validate method already this.knuBotActions.Where(x => x.ActionId == actionId).Select(x => x.BotAction).First()(); nextDialogId = this.knuBotActions.First(x => x.ActionId == actionId).NextDialogId; } } } return(nextDialogId); }
/// <summary> /// </summary> /// <param name="action"> /// </param> /// <param name="nextId"> /// </param> /// <returns> /// </returns> protected KnuBotActionStruct CAS(KnuBotAction action, string nextId) { return new KnuBotActionStruct() { ActionId = action.Method.Name, BotAction = action, NextDialogId = nextId }; }