#ifndef EDITSCENE_ANIMATIONTREEEDITOR_HPP
#define EDITSCENE_ANIMATIONTREEEDITOR_HPP
#pragma once
#include "ComponentEditor.hpp"
#include "../components/AnimationTree.hpp"
#include <OgreSceneManager.h>

/**
 * Editor for AnimationTreeComponent.
 *
 * In the new registry-based design this editor is only a picker: it
 * selects the tree name from AnimationTreeRegistry and exposes the
 * per-instance toggles.  Tree authoring happens in
 * AnimationTreeRegistryEditor (Tools -> Animation Tree Registry).
 */
class AnimationTreeEditor : public ComponentEditor<AnimationTreeComponent> {
public:
	explicit AnimationTreeEditor(Ogre::SceneManager *sceneMgr);

	const char *getName() const override { return "Animation Tree"; }

protected:
	bool renderComponent(flecs::entity entity,
			     AnimationTreeComponent &at) override;

private:
	Ogre::SceneManager *m_sceneMgr;
};

#endif // EDITSCENE_ANIMATIONTREEEDITOR_HPP
