示例#1
0
        public void StartGraph()
        {
            if (m_nodeGraph == null)
            {
                Debug.LogError("No node graph set!");
                return;
            }

            if (m_createGraphInstance)
            {
                m_nodeGraph = Instantiate(m_nodeGraph);
            }

            GraphRunner = new GraphRunner(m_nodeGraph, m_useOverrides
                ? m_overrideProperties
                : JsonUtility.FromJson(JsonUtility.ToJson(m_nodeGraph.GraphProperties), m_nodeGraph.GraphProperties.GetType()) as AGraphProperties,
                                          JsonUtility.FromJson <BlackboardProperties>(JsonUtility.ToJson(m_nodeGraph.BlackboardProperties)));

            GraphRunner.OnGraphStart += () => { OnGraphStart?.Invoke(); };
            GraphRunner.OnGraphStop  += () => { OnGraphStop?.Invoke(); };
            GraphRunner.OnNodeChange += (Node) => { OnNodeChange?.Invoke(Node); };

            GraphRunner.StartGraph();
        }
示例#2
0
 public void StopGraph()
 {
     GraphRunner?.StopGraph();
 }
示例#3
0
 public void Update()
 {
     GraphRunner?.UpdateGraph();
 }