void FLuaScriptCodeGenerator::GlueAllGeneratedFiles()
{
	// Generate inl library file
	FString LibGlueFilename = GeneratedCodePath / TEXT("GeneratedScriptLibraries.inl");
	FString LibGlue;

	// Include all source header files
	for (auto& HeaderFilename : AllSourceClassHeaders)
	{
		// Re-base to make sure we're including the right files on a remote machine
		FString NewFilename(RebaseToBuildPath(HeaderFilename));
		LibGlue += FString::Printf(TEXT("#include \"%s\"\r\n"), *NewFilename);
	}

	// Include all script glue headers
	for (auto& HeaderFilename : AllScriptHeaders)
	{
		// Re-base to make sure we're including the right files on a remote machine
		FString NewFilename(FPaths::GetCleanFilename(HeaderFilename));
		LibGlue += FString::Printf(TEXT("#include \"%s\"\r\n"), *NewFilename);
	}

	LibGlue += TEXT("\r\nvoid LuaRegisterExportedClasses(lua_State* InScriptContext)\r\n{\r\n");
	for (auto Class : LuaExportedClasses)
	{
		LibGlue += FString::Printf(TEXT("\tFLuaUtils::RegisterLibrary(InScriptContext, %s_Lib, \"%s\");\r\n"), *Class->GetName(), *Class->GetName());
	}
	LibGlue += TEXT("}\r\n\r\n");

	SaveHeaderIfChanged(LibGlueFilename, LibGlue);
}
Esempio n. 2
0
	bool CMap::OutputBmp(const TCHAR* pFilename, const CGradient& Gradient)
	{
		utils::Image				OutputImage;
		utils::RendererImage		Renderer;
		utils::WriterBMP			BMPWriter;

		if (Gradient.GetPointCount() > 1)
		{
			Gradient.CopyTo(Renderer);
		}

		//std::string	NewFilename = ConvertStringFromWide(pFilename);
		std::string	NewFilename(pFilename);

		Renderer.SetSourceNoiseMap(*m_pMapData);
		Renderer.SetDestImage(OutputImage);
		Renderer.Render();

		BMPWriter.SetSourceImage(OutputImage);
		BMPWriter.SetDestFilename(NewFilename);
		BMPWriter.WriteDestFile();

		return true;
}
FString FScriptCodeGeneratorBase::RebaseToBuildPath(const FString& FileName) const
{
	FString NewFilename(FileName);
	FPaths::MakePathRelativeTo(NewFilename, *IncludeBase);
	return NewFilename;
}