Add GetWorld to Actor. Integrate google test. Add Model manager class. Rename *.h to *.hpp files
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
#pragma once
|
||||
|
||||
#include <vector>
|
||||
|
||||
class ISave;
|
||||
|
||||
struct ObjectFactory
|
||||
{
|
||||
const char* name;
|
||||
ISave*(*factory)();
|
||||
};
|
||||
|
||||
// Создаёт список фабрик объектов
|
||||
#define FACTORIES_LIST std::vector<ObjectFactory> factories =
|
||||
|
||||
// Создаёт фабрику для класса
|
||||
#define GENERATE_FACTORY_OBJECT(Class) ObjectFactory{#Class, []()->ISave* { return new Class(); }},
|
||||
|
||||
/*
|
||||
* Все классы или их родители в этом списке
|
||||
* должны реализовывать инетфейс ISave.
|
||||
* Пример использования:
|
||||
|
||||
FACTORIES_LIST {
|
||||
GENERATE_FACTORY_OBJECT(SometimeClass_One)
|
||||
GENERATE_FACTORY_OBJECT(SometimeClass_Two)
|
||||
};
|
||||
*/
|
||||
Reference in New Issue
Block a user