void UJavascriptMenuLibrary::CreateMenuBarBuilder(FJavascriptUICommandList CommandList, FJavascriptFunction Function)
{
	FJavascriptMenuBuilder Out;
	FMenuBarBuilder Builder(CommandList.Handle);
	Out.MultiBox = Out.MenuBar = &Builder;
	Function.Execute(FJavascriptMenuBuilder::StaticStruct(), &Out);
}
void UJavascriptMenuLibrary::CreateMenuBuilder(FJavascriptUICommandList CommandList, bool bInShouldCloseWindowAfterMenuSelection, FJavascriptFunction Function)
{
	FJavascriptMenuBuilder Out;
	FMenuBuilder Builder(bInShouldCloseWindowAfterMenuSelection, CommandList.Handle);
	Out.MultiBox = Out.Menu = &Builder;
	Function.Execute(FJavascriptMenuBuilder::StaticStruct(), &Out);
}
void UJavascriptMenuLibrary::CreateToolbarBuilder(FJavascriptUICommandList CommandList, EOrientation Orientation, FJavascriptFunction Function)
{
	FJavascriptMenuBuilder Out;
	FToolBarBuilder Builder(CommandList.Handle, FMultiBoxCustomization::None, nullptr, Orientation);
	Out.MultiBox = Out.ToolBar = &Builder;
	Function.Execute(FJavascriptMenuBuilder::StaticStruct(), &Out);
}
	void RunWorld(const FURL& URL, FJavascriptFunction Function)
	{
		UWorld *World = UWorld::CreateWorld(EWorldType::Game, false);
		FWorldContext &WorldContext = GEngine->CreateNewWorldContext(EWorldType::Game);
		WorldContext.SetCurrentWorld(World);

		World->InitializeActorsForPlay(URL);
		World->BeginPlay();

		// run the matching test
		uint64 InitialFrameCounter = GFrameCounter;
		{
			FJavascriptRunWorldParameters Params;
			Params.World = World;

			Function.Execute(FJavascriptRunWorldParameters::StaticStruct(), &Params);
		}
		GFrameCounter = InitialFrameCounter;

		GEngine->DestroyWorldContext(World);
		World->DestroyWorld(false);
	}
void UJavascriptMenuLibrary::Test(int a, FJavascriptFunction f)
{
	FJavascriptMenuBuilder builder;
	f.Execute(FJavascriptMenuBuilder::StaticStruct(), &builder);
}