public static Topic Response(this MudObject To, String Topic, Func <MudObject, MudObject, MudObject, PerformResult> FuncResponse) { var topics = To.InitializeConversationTopics(); var response = new Topic(); topics.Add(response); response.SimpleName(Topic); response.Perform <MudObject, MudObject, MudObject>("topic response").Do(FuncResponse); return(response); }
public static RuleBuilder <MudObject, MudObject, PerformResult> PerformNoTopicsToDiscuss(this MudObject To) { To.InitializeConversationTopics(); return(To.Perform <MudObject, MudObject>("no topics to discuss").ThisOnly(1)); }
public static void DefaultResponse(this MudObject To, Func <MudObject, MudObject, MudObject, PerformResult> FuncResponse) { To.InitializeConversationTopics(); To.Perform <MudObject, MudObject, MudObject>("topic response").When((actor, npc, topic) => topic == null).Do(FuncResponse); }