2 #ifndef UGDK_ACTION_3D_COMPONENT_H
3 #define UGDK_ACTION_3D_COMPONENT_H
17 virtual std::type_index
type()
const = 0;
18 std::shared_ptr<Element>
owner()
const;
23 void Take(
const std::weak_ptr<Element> &the_owner);
26 std::weak_ptr<Element> owner_;
46 #endif // UGDK_ACTION_3D_COMPONENT_H
A 3D Element.
Definition: element.h:26
Component()
Definition: component.h:20
Definition: animation.h:11
virtual std::type_index type() const =0
virtual void OnTaken()=0
TODO: Make this not accessible from Object.
Definition: component.h:14
void Take(const std::weak_ptr< Element > &the_owner)
std::shared_ptr< Element > owner() const
Definition: component.h:29
Definition: component.h:36
virtual ~Component()
Definition: component.h:16
static const bool is_valid
Definition: component.h:38