void WriteToData() { Debug.Log("try write... " + (data != null) + " / " + isDirty); if(data != null && isDirty) { int counter=0; data.nodes = nodes.Select((EditorNode n) => { var node = new graphNode(); node.ID = counter++; node.position = n.position; return node; }).ToList(); data.edges = edges.Select((EditorConnection c)=> { var gc = new graphConnection(); gc.A = c.nodeA.ID; gc.B = c.nodeB.ID; gc.dir = c.dir; gc.forced = c.forceConnection; gc.supressed = c.supressConnection; return gc; }).ToList(); dataObj.Update(); EditorUtility.SetDirty(data); AssetDatabase.SaveAssets(); isDirty = false; } }
public graphNode toGraphNode() { var gn = new graphNode(); gn.position = obj.transform.position; gn.ID = ID; return gn; }