Exemple #1
0
//----------------------------------------------------------------//
int USLuaSerializer::_exportToFile ( lua_State* L ) {
	LUA_SETUP ( USLuaSerializer, "US" )
	
	self->SerializeToFile ( lua_tostring ( state, 2 ));
	
	return 0;
}
Exemple #2
0
//----------------------------------------------------------------//
int USLuaSerializer::_exportToString ( lua_State* L ) {
	LUA_SETUP ( USLuaSerializer, "U" )
	
	STLString retStr = self->SerializeToString ();
	
	lua_pushstring ( L, retStr.str() );

	return 1;
}
Exemple #3
0
//----------------------------------------------------------------//
int USLuaSerializer::_initInstance ( lua_State* L ) {
	LUA_SETUP ( USLuaSerializer, "UUT" );

	USLuaObject* object = state.GetLuaObject < USLuaObject >( 2 );
	if ( !object ) return 0;

	object->SerializeIn ( state, *self );

	return 0;
}
//----------------------------------------------------------------//
int MOAIDeserializer::_initObject ( lua_State* L ) {
	LUA_SETUP ( MOAIDeserializer, "UUTT" );

	MOAILuaObject* object = state.GetLuaObject < MOAILuaObject >( 2 );
	if ( !object ) return 0;

	object->SetMemberTable ( state, 3 );
	object->SerializeIn ( state, *self );

	return 0;
}
//----------------------------------------------------------------//
int MOAIDeserializer::_registerObjectID ( lua_State* L ) {
	LUA_SETUP ( MOAIDeserializer, "UU" );

	MOAILuaObject* object = state.GetLuaObject < MOAILuaObject >( 2 );
	if ( !object ) return 0;

	uintptr memberID = state.GetValue < uintptr >( 3, 0 );
	self->mObjectMap [ memberID ] = object;

	lua_pushvalue ( state, 2 );
	return 1;
}
Exemple #6
0
//----------------------------------------------------------------//
int USLuaSerializer::_register ( lua_State* L ) {
	LUA_SETUP ( USLuaSerializer, "UUN" );

	USLuaObject* object = state.GetLuaObject < USLuaObject >( 2 );
	if ( !object ) return 0;

	uintptr id = state.GetValue < uintptr >( 3, 0 );
	self->Register ( object, id );

	lua_pushvalue ( state, 2 );

	return 1;
}
Exemple #7
0
/**	@name	serialize
	@text	Adds a table or object to the serializer.

	@overload

		@in		MOAISerializer self
		@in		table data				The table to serialize.
		@out	nil
	
	@overload

		@in		MOAISerializer self
		@in		MOAILuaObject data			The object to serialize.
		@out	nil
*/
int MOAISerializer::_serialize ( lua_State* L ) {
	LUA_SETUP ( MOAISerializer, "U" )

	MOAILuaObject* object = state.GetLuaObject < MOAILuaObject >( 2 );
	if ( object ) {
		self->AddLuaReturn ( object );
	}
	else if ( state.IsType ( 2, LUA_TTABLE )) {
		self->AddLuaReturn ( state, 2 );
	}
	
	return 0;
}
Exemple #8
0
/**	@name	setMode
	@text	Sets the playback mode of the timer.

	@in		MOAITimer self
	@in		number mode		One of: MOAITimer.NORMAL, MOAITimer.REVERSE, MOAITimer.LOOP, MOAITimer.LOOP_REVERSE, MOAITimer.PING_PONG
	@out	nil
*/
int MOAITimer::_setMode ( lua_State* L ) {
	LUA_SETUP ( MOAITimer, "UN" )

	self->mMode = state.GetValue < int >( 2, NORMAL );
	
	if( self->mMode == REVERSE ||
		self->mMode == LOOP_REVERSE ){
		self->mDirection = -1.0f;
	}
	else {
		self->mDirection = 1.0f;
	}
	return 0;
}
Exemple #9
0
//----------------------------------------------------------------//
int USLuaSerializer::_serialize ( lua_State* L ) {
	LUA_SETUP ( USLuaSerializer, "U" )

	USLuaObject* object = state.GetLuaObject < USLuaObject >( 2 );
	if ( object ) {
		self->Affirm ( object );
		self->AddLuaReturn ( object );
	}
	else if ( state.IsType ( 2, LUA_TTABLE )) {
		self->Affirm ( state, 2 );
		self->AddLuaReturn ( state, 2 );
	}
	
	return 0;
}
Exemple #10
0
/**	@name	setCallback
	@text	Set a function to be called every time the timer finishes a cycle.

	@in		MOAITimer self
	@in		function onCycle
	@out	nil
*/
int MOAITimer::_setCallback ( lua_State* L ) {
	LUA_SETUP ( MOAITimer, "UF" )

	self->mCallback.SetRef ( state, 2, false );
	return 0;
}
Exemple #11
0
/**	@name	getTimesExecuted
	@text	Gets the number of times the timer has completed a cycle.

	@in		MOAITimer self
	@out	number nTimes
*/
int MOAITimer::_getTimesExecuted ( lua_State* L ) {
	LUA_SETUP ( MOAITimer, "UN" )

	lua_pushnumber ( L, self->mTimesExecuted );
	return 1;
}