VEGO-Engine  0.1
Loading...
Searching...
No Matches
GameRegistryHelper.h
1#pragma once
2
3#include "GameFactory.h"
4
5namespace vego {
6 template<typename T>
7 class GameRegistryHelper {
8 public:
9 [[deprecated("GameRegistryHelper() does not take a className anymore")]]
10 GameRegistryHelper(const std::string& className) {
11 static_assert(std::is_base_of<Game, T>::value, "Your class must inherit from Game");
12 GameFactory::instance().registerClass(
13 []() -> Game* { return new T; }
14 );
15 };
16
17 GameRegistryHelper() {
18 static_assert(std::is_base_of<Game, T>::value, "Your class must inherit from Game");
19 GameFactory::instance().registerClass(
20 []() -> Game* { return new T; }
21 );
22 };
23 };
24}