#define _ConsoleEnumType(
typeName, type, nativeType ) \
S32 type; \
ImplementConsoleTypeCasters( type, nativeType ) \
class EnumConsoleType ## type :
public EnumConsoleBaseType \
{ \
public: \
EnumConsoleType ## type() \
:
EnumConsoleBaseType(
sizeof( nativeType ), &type, #type ) \
{ \
mTypeInfo = _MAPTYPE< nativeType >(); \
} \
virtual const char *getTypeClassName() {
return #typeName; } \
virtual void *getNativeVariable() {
return new nativeType; } \
virtual void deleteNativeVariable(
void* var) { nativeType* nativeVar =
reinterpret_cast< nativeType* >( var );
delete nativeVar; }\
}; \
EnumConsoleType ## type gConsoleType ## type ## Instance;