当前位置: 首页>>代码示例>>C++>>正文


C++ MOAILuaStateHandle::Push方法代码示例

本文整理汇总了C++中MOAILuaStateHandle::Push方法的典型用法代码示例。如果您正苦于以下问题:C++ MOAILuaStateHandle::Push方法的具体用法?C++ MOAILuaStateHandle::Push怎么用?C++ MOAILuaStateHandle::Push使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在MOAILuaStateHandle的用法示例。


在下文中一共展示了MOAILuaStateHandle::Push方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: NotifyDialogDismissed

//----------------------------------------------------------------//
void MOAIApp::NotifyDialogDismissed ( int dialogResult ) {

	if ( ! mDialogCallback.IsNil() ) {
		MOAILuaStateHandle state = mDialogCallback.GetSelf ();
		
		state.Push ( dialogResult );
		state.DebugCall ( 1, 0 );
		
		mDialogCallback.Clear();
	}
}
开发者ID:kengonakajima,项目名称:moai-dev,代码行数:12,代码来源:MOAIApp.cpp

示例2: GetLuaClassName

//----------------------------------------------------------------//
cc8* MOAILuaObject::GetLuaClassName () {

	MOAILuaStateHandle state = MOAILuaRuntime::Get ().State ();
	cc8* classname = this->TypeName ();
	
	if ( this->mMemberTable ) {
		state.Push ( this );
		lua_getfield ( state, -1, "getClassName" );
		
		if ( state.IsType ( -1, LUA_TFUNCTION )) {
			lua_pushvalue ( state, -2 );
			state.DebugCall ( 1, 1 );
			classname = state.GetValue < cc8* >( -1, "" );
		}
	}
	return classname;
}
开发者ID:AzureRodrigo,项目名称:moai-dev,代码行数:18,代码来源:MOAILuaObject.cpp

示例3: _cpCollisionFunc

//----------------------------------------------------------------//
static int _cpCollisionFunc ( cpArbiter* arb, void* data, u32 eventType, bool checkResult ) {

	MOAICpCollisionHandler* handler = ( MOAICpCollisionHandler* )data;
	if ( handler->mMask & eventType ) {

		// this can be called during shutdown, so make sure the runtime is still valid
		if ( MOAILuaRuntime::IsValid ()) {

			MOAILuaStateHandle state = MOAILuaRuntime::Get ().State ();
			if ( handler->mHandler.PushRef ( state )) {
				
				cpShape* a;
				cpShape* b;
				cpArbiterGetShapes ( arb, &a, &b );
				
				if ( a && b ) {
					
					state.Push ( eventType );
					(( MOAICpShape* )a->data )->PushLuaUserdata ( state );
					(( MOAICpShape* )b->data )->PushLuaUserdata ( state );
					
					MOAICpArbiter* arbiter = handler->mSpace->GetArbiter ();
					arbiter->SetArbiter ( arb );
					arbiter->PushLuaUserdata ( state );
					
					state.DebugCall ( 4, 1 );
					
					//lua_call ( state, 4, 1 );
					
					if ( checkResult ) {
						bool result = state.GetValue < bool >( -1, true );
						return result ? cpTrue : cpFalse;
					}
				}
			}
		}
	}
	return cpTrue;
}
开发者ID:SimonRen,项目名称:moai-beta,代码行数:40,代码来源:MOAICpSpace.cpp

示例4: WriteTableInits

//----------------------------------------------------------------//
void MOAISerializer::WriteTableInits ( USStream& stream ) {

	if ( !this->mTableMap.size ()) return;

	stream.Print ( "\t--Initializing Tables\n" );
	stream.Print ( "\tlocal table\n\n" );

	MOAILuaStateHandle state = MOAILuaRuntime::Get ().State ();

	TableMapIt tableIt = this->mTableMap.begin ();
	for ( ; tableIt != this->mTableMap.end (); ++tableIt ) {
		
		uintptr tableID = tableIt->first;
		stream.Print ( "\ttable = objects [ 0x%08X ]\n", tableID );
		
		MOAILuaRef& tableRef = tableIt->second;
		state.Push ( tableRef );
		this->WriteTableInitializer ( stream, state, -1, "table" );
		state.Pop ( 1 );
		
		stream.Print ( "\n" );
	}
}
开发者ID:,项目名称:,代码行数:24,代码来源:


注:本文中的MOAILuaStateHandle::Push方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。