public FieldUserInventorySpeaker( IConversationContext context, FieldUser fieldUser, int templateID = 9010000, ScriptMessageParam param = (ScriptMessageParam)0 ) : base(context, templateID, param) => _fieldUser = fieldUser;
public Speaker( IConversationContext context, int templateID = 9010000, ScriptMessageParam param = 0 ) : base(context) { TemplateID = templateID; Param = param; }
public async Task <T> Prompt <T>(Func <ISpeaker, ISpeaker, T> func, ScriptMessageParam param = ScriptMessageParam.NoESC) { var result = default(T); await Prompt(new Action <ISpeaker, ISpeaker>( (self, target) => result = func.Invoke(self, target) ), param); return(result); }
public Task Prompt(Action <ISpeaker, ISpeaker> action, ScriptMessageParam param = 0) { var context = new ConversationContext(Socket); var conversation = new Conversation( context, new Speaker(context, param: param), new Speaker(context, 9010000, param | ScriptMessageParam.NPCReplacedByUser), action ); return(Converse(conversation)); }
public SpeedQuizSpeaker( IConversationContext context, int templateID = 9010000, ScriptMessageParam param = (ScriptMessageParam)0 ) : base(context, templateID, param) => _options = new List <SpeedQuizOption>();