Add GetWorld to Actor. Integrate google test. Add Model manager class. Rename *.h to *.hpp files

This commit is contained in:
Jiga228
2025-10-13 19:31:27 +07:00
parent fedffa7634
commit 8819114b63
44 changed files with 424 additions and 59 deletions
+28
View File
@@ -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)
};
*/