Skip to content

Instantly share code, notes, and snippets.

@barisusakli
Created October 1, 2013 01:24
Show Gist options
  • Save barisusakli/6772709 to your computer and use it in GitHub Desktop.
Save barisusakli/6772709 to your computer and use it in GitHub Desktop.
class IComponent
{
public:
template<typename T>
static std::shared_ptr<T> get(const std::shared_ptr<Entity>& entity)
{
return std::dynamic_pointer_cast<T>(entity->getComponent(T::Name()));
}
};
//
auto foo = IComponent::get<SomeComponent>(entity);
if(foo) {
// entity has SomeComponent
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment