fixed not cleaning up anim controller when reloading it in editor

This commit is contained in:
Mikulas Florek 2018-01-06 23:34:44 +01:00
parent e618210f7f
commit bdc78aae04
3 changed files with 3 additions and 0 deletions

View file

@ -56,6 +56,7 @@ public:
ResourceType getType() const override { return ResourceType("anim_controller"); }
void create() { onCreated(State::READY); }
void destroy() { doUnload(); }
void unload() override;
bool load(FS::IFile& file) override;
ComponentInstance* createInstance(IAllocator& allocator) const;

View file

@ -950,6 +950,7 @@ void AnimationEditor::loadFromEntity()
auto* scene = (AnimationScene*)m_app.getWorldEditor().getUniverse()->getScene(ANIMABLE_HASH);
ComponentHandle ctrl = scene->getComponent(entities[0], CONTROLLER_TYPE);
if (!ctrl.isValid()) return;
newController();
m_path = scene->getControllerSource(ctrl).c_str();
clearUndoStack();
load();

View file

@ -1765,6 +1765,7 @@ ControllerResource::ControllerResource(IAnimationEditor& editor,
ControllerResource::~ControllerResource()
{
m_engine_resource->destroy();
LUMIX_DELETE(m_allocator, m_root);
LUMIX_DELETE(m_allocator, m_engine_resource->m_root);
LUMIX_DELETE(m_allocator, m_engine_resource);