internal Conversation(ConversationsManager manager, string id, string defaultRootNodeID, string onStartConversationID, string defaultDidEnterNodeID, string defaultDidExitNodeID, string defaultOnSelectedID, string defaultCanShowID, ConversationNode[] conversationNodes) { if (manager == null) { throw new ArgumentNullException(nameof(manager)); } if (String.IsNullOrEmpty(defaultRootNodeID)) { throw new ArgumentNullException(nameof(defaultRootNodeID)); } this.ParentConversationManager = manager; this.ID = id; this.defaultRootNodeID = defaultRootNodeID; this.OnStartConversationID = onStartConversationID; this.DefaultDidEnterNodeID = defaultDidEnterNodeID; this.DefaultDidExitNodeID = defaultDidExitNodeID; this.DefaultOnSelectedID = defaultOnSelectedID; this.DefaultCanShowID = defaultCanShowID; this.AddConversationNodes(conversationNodes); }
protected virtual bool DefaultCanShow(ConversationsManager manager, object state) { DialogueSystemCanExecuteDelegate canExecuteDelegate = null; bool result = true; if (manager.RunningConversation != null && !String.IsNullOrEmpty(manager.RunningConversation.DefaultCanShowID)) { canExecuteDelegate = this.GetMethodDelegate(manager.RunningConversation.DefaultCanShowID) as DialogueSystemCanExecuteDelegate; if (canExecuteDelegate != null) { result = canExecuteDelegate.Invoke(manager, state); } } return(result); }
internal Conversation(ConversationsManager manager, string id, string defaultRootNodeID, string onStartConversationID, string didEnterNodeID, string didExitNodeID, string defaultOnSelectedID, string defaultCanShowID) : this(manager, id, defaultRootNodeID, onStartConversationID, didEnterNodeID, didExitNodeID, defaultOnSelectedID, defaultCanShowID, null) { }
protected virtual void DefaultOnChoiceSelected(ConversationsManager manager, object state) { DialogueSystemCallbackDelegate callbackDelegate = null; bool handled = false; string choiceID = state as String; if (manager.RunningConversation != null && !String.IsNullOrEmpty(manager.runningConversation.DefaultOnSelectedID)) { callbackDelegate = this.GetMethodDelegate(manager.RunningConversation.DefaultOnSelectedID) as DialogueSystemCallbackDelegate; if (callbackDelegate != null) { handled = true; callbackDelegate.Invoke(manager, state); } } if (!handled && manager.RunningConversation != null && manager.RunningConversation.CurrentNode != null) { #warning Add the choice code. } }
public abstract void DefaultOnChoiceSelected(ConversationsManager manager, object state);
public abstract bool DefaultCanShow(ConversationsManager manager, object state);
public abstract void DefaultDidExitNode(ConversationsManager manager, object state);
public abstract void OnStartConversation(ConversationsManager manager, object state);