void CreateObject() { instanceInScene?.Dispose(); instanceInScene = (Component_Character2D)Character.Clone(); Scene.AddComponent(instanceInScene); }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); if (Character != null) { var scene = CreateScene(false); scene.Mode = Component_Scene.ModeEnum._2D; scene.DisplayPhysicalObjects = true; instanceInScene = (Component_Character2D)Character.Clone(); scene.AddComponent(instanceInScene); scene.Enabled = true; if (Document != null) { Document.UndoSystem.ListOfActionsChanged += UndoSystem_ListOfActionsChanged; } if (ObjectOfWindow != null) { SelectObjects(new object[] { ObjectOfWindow }); } } }
protected override void Viewport_UpdateBeforeOutput(Viewport viewport) { base.Viewport_UpdateBeforeOutput(viewport); if (Character != null && needRecreateInstance) { instanceInScene?.Dispose(); instanceInScene = (Component_Character2D)Character.Clone(); Scene.AddComponent(instanceInScene); needRecreateInstance = false; } }