cregex.h
来自「这是整套横扫千军3D版游戏的源码」· C头文件 代码 · 共 36 行
H
36 行
#define CREX_REG_STATE_COLLECTOR(Name,RootClass) \
static RootClass *Name##State;\
\
class Name##StateCollector {\
CR_DECLARE(Name##StateCollector);\
void Serialize(creg::ISerializer *s);\
};\
\
CR_BIND(Name##StateCollector, );\
\
CR_REG_METADATA(Name##StateCollector,(CR_SERIALIZER(Serialize)));\
\
void Name##StateCollector::Serialize(creg::ISerializer *s)\
{\
s->SerializeObjectInstance(Name##State,Name##State->GetClass());\
}
#define CREX_SC_LOAD(Name,ifs)\
creg::CInputStreamSerializer iss;\
Name##State = this;\
Name##StateCollector *sc;\
void *psc = 0;\
creg::Class *sccls;\
iss.LoadPackage(ifs, psc, sccls);\
assert (psc && sccls == Name##StateCollector::StaticClass());\
sc = (Name##StateCollector*)psc;\
Name##State = 0;
#define CREX_SC_SAVE(Name,ofs)\
creg::COutputStreamSerializer oss;\
Name##State = this;\
Name##StateCollector sc;\
oss.SavePackage(ofs, &sc, sc.GetClass());\
Name##State = 0;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?