Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
 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)
 {
 }
Exemplo n.º 4
0
        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.
            }
        }
Exemplo n.º 5
0
 public abstract void DefaultOnChoiceSelected(ConversationsManager manager, object state);
Exemplo n.º 6
0
 public abstract bool DefaultCanShow(ConversationsManager manager, object state);
Exemplo n.º 7
0
 public abstract void DefaultDidExitNode(ConversationsManager manager, object state);
Exemplo n.º 8
0
 public abstract void OnStartConversation(ConversationsManager manager, object state);