Esempio n. 1
0
// ------------------------------------------------------------------------------------------------
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;
}
Esempio n. 2
0
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)
		);
}