public void SaveLoad() { NodeEditorHost.Initialize("SaveLoad", 1500, 800, new Configuration() { ConsoleLoggingEnabled = true, IsResizable = true }); var spriteID = NodeEditorModel.AddNode <SpriteNode>(); var textID = NodeEditorModel.AddNode <TextNode>(); var arcID = NodeEditorModel.AddNode <ArcNode>(); var circleID = NodeEditorModel.AddNode <CircleNode>(); var lineID = NodeEditorModel.AddNode <LineNode>(); var rectID = NodeEditorModel.AddNode <RectangleNode>(); var triangleID = NodeEditorModel.AddNode <TriangleNode>(); if (Engine.DoEvents()) { NodeEditorHost.Update(); } var circle = NodeEditorModel.FindInstance(circleID) as CircleNode; NodeEditorModel.StartEditFields(circle); NodeEditorModel.NotifyEditFields(circle); circle.Radius = 100; circle.Position = new Vector2F(500, 500); circle.Color = new Color(255, 0, 100, 255); NodeEditorModel.EndEditFields(circle); while (Engine.DoEvents()) { NodeEditorHost.Update(); } NodeEditorModel.Save("TestData/Editor/SaveLoadTest"); var before = NodeEditorModel.NodeTree; NodeEditorHost.Terminate(); NodeEditorHost.Initialize("SaveLoad", 1500, 800, new Configuration() { ConsoleLoggingEnabled = true, IsResizable = true }); NodeEditorModel.Load("TestData/Editor/SaveLoadTest.nodes"); while (Engine.DoEvents()) { NodeEditorHost.Update(); } var after = NodeEditorModel.NodeTree; NodeEditorHost.Terminate(); Assert.True(PartsTreeSystemTest.Helper.IsValueEqual(before, after)); }
/// <inheritdoc/> public override void Update(Node owner) { base.Update(owner); if (Source == null || MethodInfo == null) { return; } if (Engine.Tool.Button(Name)) { MethodInfo?.Invoke(Source, new object[] { }); NodeEditorModel.NotifyEditFields(owner); } }
/// <inheritdoc/> public override void Update(Node owner) { base.Update(owner); if (Source == null || PropertyInfo == null) { return; } bool flag = (bool)PropertyInfo.GetValue(Source); if (Engine.Tool.Checkbox(Name, ref flag)) { PropertyInfo.SetValue(Source, flag); NodeEditorModel.NotifyEditFields(owner); } }