nuclear@1: #ifndef GAMEOBJECT_H_ nuclear@1: #define GAMEOBJECT_H_ nuclear@1: nuclear@1: #include nuclear@1: #include nuclear@1: #include nuclear@1: #include "comp.h" nuclear@1: nuclear@1: class GameObject { nuclear@1: private: nuclear@1: std::vector comp; nuclear@1: std::map comp_by_name; nuclear@1: nuclear@1: bool sorted; nuclear@1: nuclear@1: public: nuclear@1: GameObject(); nuclear@1: ~GameObject(); nuclear@1: nuclear@1: bool add_component(Component *c); // takes ownership nuclear@1: bool remove_component(Component *c); nuclear@1: bool delete_component(Component *c); nuclear@1: nuclear@1: Component *get_component(const char *name) const; nuclear@1: nuclear@1: void update(); nuclear@1: }; nuclear@1: nuclear@1: #endif // GAMEOBJECT_H_