载入中...
搜索中...
未找到
Module.h 文件参考
#include "common/Export.h"
#include <cstdint>
#include <string>
#include <unordered_map>

浏览源代码.

class  eve::Module
 
class  eve::ModuleManager
 
struct  eve::ModuleManager::ModuleInfo
 
struct  eve::ModuleRegister
 

命名空间

namespace  ssq
 EVEngine ECS 集成层:底层实现使用 sunxfancy/ECS.hpp https://github.com/sunxfancy/ECS.hpp
 
namespace  eve
 

宏定义

#define SSQ_REG
 
#define Module_REG(ModuleName)
 
#define Module_IMPL(ModuleName, newExpr)
 
#define getModInst(N, T)   eve::ModuleManager::getInstance<N::T>(#T)
 
#define requireModInst(N, T)   eve::ModuleManager::requireInstance<N::T>(#T)
 

宏定义说明

◆ getModInst

#define getModInst (   N,
 
)    eve::ModuleManager::getInstance<N::T>(#T)

在文件 Module.h36 行定义.

◆ Module_IMPL

#define Module_IMPL (   ModuleName,
  newExpr 
)
值:
ModuleRegister ModuleName##_register(ModuleName::name, \
(ModuleManager::creator_t)(ModuleName::create), ModuleName::expose); \
ModuleName* ModuleName::create() { \
auto* p = ModuleManager::find(name); \
if (p) return static_cast<ModuleName*>(p); \
ModuleName* n = newExpr; \
ModuleManager::insert(name, n); \
return n; \
} \
const char* ModuleName::name = #ModuleName
glm::vec3 n
Definition Grass.cpp:64
glm::vec4 p[6]
const char * name
Definition RockMesh.cpp:21

在文件 Module.h24 行定义.

◆ Module_REG

#define Module_REG (   ModuleName)
值:
SSQ_REG \
virtual std::string getName() const { return name; } \
static ModuleName* create(); \
static const char* name

在文件 Module.h18 行定义.

◆ requireModInst

#define requireModInst (   N,
 
)    eve::ModuleManager::requireInstance<N::T>(#T)

在文件 Module.h37 行定义.

◆ SSQ_REG

#define SSQ_REG
值:
static void expose(ssq::Table& table); \
static void expose(ssq::Class& vm);
HSQUIRRELVM vm
Definition ECS.cpp:20

在文件 Module.h14 行定义.