SystemSTD::SystemSTD() : Module("System") { static_field("version", Type::INTEGER, (void*) &System_version); static_field("operations", Type::INTEGER, (void*) &System_operations); static_field("time", Type::LONG, (void*) &System_time); static_field("milliTime", Type::LONG, (void*) &System_millitime); static_field("microTime", Type::LONG, (void*) &System_microtime); static_field("nanoTime", Type::LONG, (void*) &System_nanotime); static_method("print", { {Type::VOID, {Type::MPZ}, (void*) &System_print_mpz, Method::NATIVE}, {Type::VOID, {Type::MPZ_TMP}, (void*) &System_print_mpz_tmp, Method::NATIVE}, {Type::VOID, {Type::INTEGER}, (void*) &System_print_int, Method::NATIVE}, {Type::VOID, {Type::LONG}, (void*) &System_print_long, Method::NATIVE}, {Type::VOID, {Type::BOOLEAN}, (void*) &System_print_bool, Method::NATIVE}, {Type::VOID, {Type::REAL}, (void*) &System_print_float, Method::NATIVE}, {Type::VOID, {Type::POINTER}, (void*) &System_print, Method::NATIVE} }); }
bool test() { return data_member + instance_method() < static_method(); }
SB_META_BEGIN_KLASS_BIND(Sandbox::TileMapLayer) SB_META_CONSTRUCTOR((size_t,size_t)) SB_META_METHOD(GetAt) SB_META_METHOD(SetAt) SB_META_PROPERTY_RO(Width, GetWidth) SB_META_PROPERTY_RO(Height, GetHeight) SB_META_END_KLASS_BIND() SB_META_BEGIN_KLASS_BIND(Sandbox::TileMap) SB_META_CONSTRUCTOR((size_t,size_t)) SB_META_METHOD(GetLayer) SB_META_METHOD(SetLayer) SB_META_PROPERTY_RO(Width, GetWidth) SB_META_PROPERTY_RO(Height, GetHeight) bind( static_method( "LoadTileMapTMX" , &Sandbox::LoadTileMapTMX ) ); SB_META_END_KLASS_BIND() struct UTF8 { static sb::string GetChar(const char* src) { Sandbox::UTF32Char ch = 0; const char* next = Sandbox::get_char(src, ch); sb::string res; res.assign(src,next); return res; } static GHL::UInt32 GetCode(const char* src) { Sandbox::UTF32Char ch = 0; Sandbox::get_char(src, ch); return ch; }