Beispiel #1
0
// ================================================================================================
void Register_Routine(HSQUIRRELVM vm)
{
    RootTable(vm).Bind(Typename::Str,
        Class< Routine, NoConstructor< Routine > >(vm, Typename::Str)
        // Meta-methods
        .SquirrelFunc(_SC("_typename"), &Typename::Fn)
        .Func(_SC("_tostring"), &Routine::ToString)
        // Properties
        .Prop(_SC("Tag"), &Routine::GetTag, &Routine::SetTag)
        .Prop(_SC("Env"), &Routine::GetEnv, &Routine::SetEnv)
        .Prop(_SC("Func"), &Routine::GetFunc, &Routine::SetFunc)
        .Prop(_SC("Data"), &Routine::GetData, &Routine::SetData)
        .Prop(_SC("Interval"), &Routine::GetInterval, &Routine::SetInterval)
        .Prop(_SC("Iterations"), &Routine::GetIterations, &Routine::SetIterations)
        .Prop(_SC("Suspended"), &Routine::GetSuspended, &Routine::SetSuspended)
        .Prop(_SC("Arguments"), &Routine::GetArguments)
        // Member Methods
        .FmtFunc(_SC("SetTag"), &Routine::SetTag)
        .Func(_SC("Terminate"), &Routine::Terminate)
        .Func(_SC("GetArgument"), &Routine::GetArgument)
    );
    // Global functions
    RootTable(vm).SquirrelFunc(_SC("SqRoutine"), &Routine::Create);
    RootTable(vm).FmtFunc(_SC("SqFindRoutineByTag"), &Routine::FindByTag);
}
Beispiel #2
0
// ================================================================================================
void Register_Signal(HSQUIRRELVM vm)
{
    RootTable(vm).Bind(Typename::Str,
        Class< Signal, NoConstructor< Signal > >(vm, Typename::Str)
        // Meta-methods
        .SquirrelFunc(_SC("_typename"), &Typename::Fn)
        .Func(_SC("_tostring"), &Signal::ToString)
        // Core Properties
        .Prop(_SC("Data"), &Signal::GetData, &Signal::SetData)
        .Prop(_SC("Slots"), &Signal::Count)
        // Core Methods
        .Func(_SC("Clear"), &Signal::Clear)
        .Func(_SC("Connect"), &Signal::Connect)
        .Func(_SC("Connected"), &Signal::Connected)
        .Func(_SC("Disconnect"), &Signal::Disconnect)
        .Func(_SC("EliminateThis"), &Signal::DisconnectThis)
        .Func(_SC("EliminateFunc"), &Signal::DisconnectFunc)
        .Func(_SC("CountThis"), &Signal::CountThis)
        .Func(_SC("CountFunc"), &Signal::CountFunc)
        .Func(_SC("Head"), &Signal::Head)
        .Func(_SC("Tail"), &Signal::Tail)
        // Squirrel Functions
        .SquirrelFunc(_SC("Emit"), &Signal::SqEmit)
        .SquirrelFunc(_SC("Broadcast"), &Signal::SqEmit)
        .SquirrelFunc(_SC("Query"), &Signal::SqQuery)
        .SquirrelFunc(_SC("Consume"), &Signal::SqConsume)
        .SquirrelFunc(_SC("Approve"), &Signal::SqApprove)
        .SquirrelFunc(_SC("Request"), &Signal::SqRequest)
    );

    RootTable(vm)
        .FmtFunc(_SC("SqSignal"), &Signal::Fetch)
        .FmtFunc(_SC("SqCreateSignal"), &Signal::Create)
        .FmtFunc(_SC("SqRemoveSignal"), &Signal::Remove);
}
Beispiel #3
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)
		);
}
Beispiel #4
0
// ================================================================================================
void Register_AES(HSQUIRRELVM vm)
{
    RootTable(vm).Bind(Typename::Str,
        Class< AES256 >(vm, Typename::Str)
        // Constructors
        .Ctor()
        .Ctor< CSStr >()
        // Meta-methods
        .SquirrelFunc(_SC("_typename"), &Typename::Fn)
        .Func(_SC("_tostring"), &AES256::ToString)
        .Func(_SC("cmp"), &AES256::Cmp)
        /* Properties */
        .Prop(_SC("Key"), &AES256::GetKey)
        /* Functions */
        .Func(_SC("Init"), &AES256::Init)
        .Func(_SC("Done"), &AES256::Done)
        .Func(_SC("Encrypt"), &AES256::Encrypt)
        .Func(_SC("Decrypt"), &AES256::Decrypt)
    );
}