// ------------------------------------------------------------------------------------------------ static Enumeration RegisterEnum(HSQUIRRELVM vm, CSStr name, const EnumElement * data, Uint32 count) { // Allocate an empty enumeration Enumeration e(vm); // Register the values from the received data for (Uint32 n = 0; n < count; ++n, ++data) { e.Const(data->Name, data->Value); } // Bind the enumeration to the constant table ConstTable(vm).Enum(name, e); // Return the enumeration for further changes if necessary return e; }
void SqEvent::RegisterInVm(Script *vm) { if(g_SqEvent == NULL) g_SqEvent = new SqEvent(); DefaultVM().Set(vm->GetVM()); RootTable() .Overload(_SC("HookEvent"),&SqEvent::HookEventPost) .Overload(_SC("HookEvent"),&SqEvent::HookEventPostStatic) .Overload(_SC("HookEventPre"),&SqEvent::HookEvent) .Overload(_SC("HookEventPre"),&SqEvent::HookEventStatic) .Func(_SC("UnHookEvent"),&SqEvent::UnHookEvent) .Func(_SC("UnHookEventPre"),&SqEvent::UnHookEventPre) .Func(_SC("CreateEvent"),&SqEvent::CreateEvent) .Func(_SC("FireEvent"),&SqEvent::FireEvent) .Func(_SC("FreeEvent"),&SqEvent::FreeEvent) .Func(_SC("DuplicateEvent"),&SqEvent::DuplicateEvent) ; ConstTable().Enum(_SC("EventHook"),Enumeration() .Const(_SC("Continue"),ReturnEventHook::CONTINUE) .Const(_SC("Stop"),ReturnEventHook::STOP)); RootTable().Bind(_SC("GameEvent"), Class<SqGameEvent,NoCopy<SqGameEvent>>() .Func(_SC("GetName"),&SqGameEvent::SqGetName) .Func(_SC("IsReliable"),&SqGameEvent::SqIsReliable) .Func(_SC("IsLocal"),&SqGameEvent::SqIsLocal) .Func(_SC("IsEmpty"),&SqGameEvent::SqIsEmpty) //Getters .Func(_SC("GetBool"),&SqGameEvent::SqGetBool) .Func(_SC("GetInt"),&SqGameEvent::SqGetInt) .Func(_SC("GetFloat"),&SqGameEvent::SqGetFloat) .Func(_SC("GetString"),&SqGameEvent::SqGetString) //Setters .Func(_SC("SetBool"),&SqGameEvent::SqSetBool) .Func(_SC("SetInt"),&SqGameEvent::SqSetInt) .Func(_SC("SetFloat"),&SqGameEvent::SqSetFloat) .Func(_SC("SetString"),&SqGameEvent::SqSetString) ); }