Beispiel #1
0
extern "C" Oop __stdcall PrimCompileForEval(Oop compilerOop, const char* szSource, Oop aClass, Oop aWorkspacePool, int flags, Oop notifier)
{
	ICompilerPtr piCompiler = NewCompiler();
	if (piCompiler == NULL)
		return Oop(GetVM()->NilPointer());

#ifdef _AFX
	flags |= Boot;
#endif
	return (Oop)piCompiler->CompileForEval(GetVM(), compilerOop, szSource, (POTE)aClass, (POTE)aWorkspacePool, FLAGS(flags), notifier);
}
BOOL RunItemScript( CMover* pMover, DWORD dwItemID, ITEM_OP operation, int* pResult )
{
#if !defined(__LUASCRIPT060908)
	return TRUE;
#endif

	char szFunction[64];

	if( operation == ITEM_OP_USE )
		sprintf( szFunction, "F%d_use", dwItemID );
	else if( operation == ITEM_OP_EQUIP )
		sprintf( szFunction, "F%d_equip", dwItemID );
	else if( operation == ITEM_OP_UNEQUIP )
		sprintf( szFunction, "F%d_unequip", dwItemID );

	lua_State* pVM = GetVM();

	lua_pushstring( pVM, szFunction );
	lua_gettable( pVM, LUA_GLOBALSINDEX );
	if ( lua_isfunction( pVM, -1 ) )
	{
		lua_pushlightuserdata( pVM, pMover );				// 1st arg
		lua_call( pVM, 1, 1 );  
		if( pResult )
			*pResult = (int)lua_tonumber( pVM, -1 );		// return value
		lua_pop( pVM, 1);
		return TRUE;
	}
	lua_pop( pVM, 1);
	return FALSE;
}
BOOL CompileItemScript( LPCTSTR szFile )
{
#if !defined(__LUASCRIPT060908)
	return TRUE;
#endif

	lua_State* pVM = GetVM();

	lua_register( pVM, "Trace", Trace );
	lua_register( pVM, "SetDestParam", _SetDestParam );
	lua_register( pVM, "ResetDestParam", _ResetDestParam );

	if( luaL_dofile( pVM, szFile ) !=0 ) 
	{
		OutputDebugString( lua_tostring( pVM, -1) );
		return FALSE;
	}
	return TRUE;
}
Beispiel #4
0
	void JStaticField::SetObjectValue(JReference* object, JReference* value)
	{
		GetVM()->GetEnv()->SetStaticObjectField((jclass)object->GetReference(), GetField(), value->GetReference());
	}
Beispiel #5
0
	ReturnPointer<JObject> JStaticField::GetObjectValue(JReference* object)
	{
		return autonew JObject(GetVM(), GetVM()->GetEnv()->GetStaticObjectField((jclass)object->GetReference(), GetField()));
	}
Beispiel #6
0
	ReturnPointer<JObject> JStaticField::GetReflection()
	{
		return autonew JObject(GetVM(), GetVM()->GetEnv()->ToReflectedField(GetClass()->GetClass(), GetField(), true));
	}
Beispiel #7
0
	void JField::SetObjectValue(JReference* object, JReference* value)
	{
		GetVM()->GetEnv()->SetObjectField(object->GetReference(), GetField(), value->GetReference());
	}
Beispiel #8
0
	ReturnPointer<JObject> JField::GetObjectValue(JReference* object)
	{
		return autonew JObject(GetVM(), GetVM()->GetEnv()->GetObjectField(object->GetReference(), GetField()));
	}