void CreateObject() { instanceInScene?.Dispose(); instanceInScene = (Component_Sprite)Sprite.Clone(); Scene.AddComponent(instanceInScene); //var type = Sprite.GetProvidedType(); //if( type != null ) //{ // instanceInScene = (Component_Sprite)Scene.CreateComponent( type ); //} }
protected override void Viewport_UpdateBeforeOutput(Viewport viewport) { base.Viewport_UpdateBeforeOutput(viewport); if (Sprite != null && Sprite.ParentScene == null && needRecreateInstance) { instanceInScene?.Dispose(); instanceInScene = (Component_Sprite)Sprite.Clone(); Scene.AddComponent(instanceInScene); needRecreateInstance = false; } }