/// <summary> /// Event handle for nodes that are being created. /// </summary> /// <param name="e">Current Unity Event. </param> private void ProcessCreatedNode(Event e) { if (createdNode != null) { createdNode.Rect.position = e.mousePosition; createdNode.Draw(); switch (e.type) { case EventType.MouseUp: if (e.button == 0) { if (createdNode != null) { ruleDecisions.Add(createdDecision); ruleNodes.Add(createdNode); createdNode.activated = true; createdNode = null; createdDecision = null; } } else if (e.button == 1) { createdNode = null; } break; } } if (createdActionNode != null) { createdActionNode.Rect.position = e.mousePosition; createdActionNode.Draw(); switch (e.type) { case EventType.MouseUp: if (e.button == 0) { if (createdActionNode != null) { actionNode = createdActionNode; actionNode.activated = true; createdActionNode = null; } } else if (e.button == 1) { createdActionNode = null; } break; } } }
/// <summary> /// Iteration over <see cref="NodeShell"/> in window. Triggers Draw - functionality. /// </summary> private void DrawNodes() { rootNode.Draw(); if (actionNode != null) { actionNode.Draw(); } foreach (NodeShell node in ruleNodes) { node.Draw(); } }