public void RefreshNodesNew() { foreach (CNode n in nodes) { System.Type t = n.GetType(); CNode newNode = (CNode)System.Activator.CreateInstance(t); newNode.Initialize(findNextN(), n.Type, (int)mousePos.x, (int)mousePos.y); newNode.MirrorParameters(n); n.parameters = newNode.parameters; n.displayParameters = null; } }
// Converts to a new node. Automatic class generation. Whoo! public CNode toCnode(int Add) { CNode c = (CNode)System.Activator.CreateInstance(System.Type.GetType(CNodeType)); c.Initialize(ID + Add, Type, (int)windowx, (int)windowy); c.SetupID(); c.parameters = parameters; return(c); }
// generic node creation protected void CreateNode(object obj) { MenuType mt = (MenuType)obj; System.Type t = (System.Type)mt.type; if (mt.constrained) { ArrayList l = findType(nodes, t); if (l.Count != 0) { EditorUtility.DisplayDialog("Error", mt.message, "Got it"); return; } } CNode n = (CNode)System.Activator.CreateInstance(t); n.Initialize(findNextN(), mt.val, (int)mousePos.x, (int)mousePos.y); nodes.Add(n); //ResetState (); }