#ifndef _GAMEOBJECT_H #define _GAMEOBJECT_H #include #include #include #include extern "C" { #include #include } struct GameObject { GameObject(std::string name) : name(name) {} std::string name; std::string type; GameObject* parent; std::vector children; std::map> handlers; GameObject& Get(std::string name); void Add(GameObject* obj); std::vector& GetChildren(); }; void registerGameObject(lua_State* L); #endif