public override void OnBodyGUI() { base.OnBodyGUI(); EntryPoint node = target as EntryPoint; QuestGraph graph = node.graph as QuestGraph; //if (GUILayout.Button("Start")) node.Start(); //if (GUILayout.Button("Continue")) graph.Continue(); }
//public QuestGraph Retrieve(int primaryKey) //{ // if (_questMap.ContainsKey(primaryKey)) // { // return _questMap[primaryKey]; // } // Debug.LogError("Quest Asset Map does not contain primary key " + primaryKey); // return null; //} public bool TryRetrieve(int primaryKey, out QuestGraph graph) { graph = null; if (_questMap.ContainsKey(primaryKey)) { graph = _questMap[primaryKey]; return(true); } return(false); }
public override void OnBodyGUI() { base.OnBodyGUI(); QuestNode node = target as QuestNode; QuestGraph graph = node.graph as QuestGraph; //if (GUILayout.Button("MoveNext Node")) node.MoveNext(); //if (GUILayout.Button("Continue Graph")) graph.Continue(); //if (GUILayout.Button("Set as current")) //{ // graph.leaves.Clear(); // graph.leaves.Add(node); //} }
public override void OnHeaderGUI() { GUI.color = Color.white; QuestNode node = target as QuestNode; QuestGraph graph = node.graph as QuestGraph; //if (graph.leaves.Contains(node)) GUI.color = Color.yellow; if (node.Active) { GUI.color = Color.yellow; } string title = target.name; GUILayout.Label(title, NodeEditorResources.styles.nodeHeader, GUILayout.Height(30)); GUI.color = Color.white; }
public override void OnDropObjects(UnityEngine.Object[] objects) { float offset = 100; for (int i = 0; i < objects.Length; i++) { UnityEngine.Object obj = objects[i]; if (obj.GetType() == typeof(QuestGraph)) { QuestGraph draggedQuest = (QuestGraph)obj; QuestGraph graph = (QuestGraph)target; QuestNode closest = null; float minDist = float.PositiveInfinity; foreach (Node n in graph.nodes) { if (n is QuestNode questNode) { Vector2 dist = NodeEditorWindow.current.MousePosition - questNode.position; Debug.Log(dist.magnitude); if (questNode == null || minDist > dist.magnitude) { Debug.Log("Set"); minDist = dist.magnitude; closest = questNode; } } } if (closest == null) { QuestNode node = (QuestNode)CreateNode(typeof(QuestNode), new Vector2(i * offset, i * offset)); node.Quest = draggedQuest; node.Quest.SetParent((QuestGraph)node.graph); } else { closest.Quest = draggedQuest; draggedQuest.SetParent(graph); } } } }
private void OnEnable() { graph = (QuestGraph)serializedObject.targetObject; }
private void Register(QuestGraph graph) { _questMap[graph.PrimaryKey] = graph; }