526077247 / QiongQi

UE轻量级框架

Repository from Github https://github.com526077247/QiongQiRepository from Github https://github.com526077247/QiongQi

QiongQi(穷奇)

基于PuerTs

包含一个组件式UI框架

包含一个直接输出配置到ts代码的导Excel配置、读配置工具

我是Unity引擎开发者-> TaoTie(饕餮)

我是Cocos引擎开发者-> TaoWu(梼杌)

运行指南

  1. 参考UE源码获取流程下载并修改编译UE源码以支持自动图集(如果需要的话)
  • FPaper2DEditor //设置
	void OnPropertyChanged(UObject* ObjectBeingModified, FPropertyChangedEvent& PropertyChangedEvent)
	{
		FCoreUObjectDelegates::OnObjectPropertyChanged.Remove(OnPropertyChangedDelegateHandle);
		if (UPaperSpriteAtlas* Atlas = Cast<UPaperSpriteAtlas>(ObjectBeingModified))
		{
			FPaperAtlasGenerator::HandleAssetChangedEvent(Atlas);
		}
		else if (UPaperRuntimeSettings* Settings = Cast<UPaperRuntimeSettings>(ObjectBeingModified))
		{
			// Handle changes to experimental flags here
		}

		OnPropertyChangedDelegateHandle = FCoreUObjectDelegates::OnObjectPropertyChanged.AddRaw(this, &FPaper2DEditor::OnPropertyChanged);
	}
  • FSlateAtlasedTextureResource
FSlateShaderResourceProxy* FSlateAtlasedTextureResource::FindOrCreateAtlasedProxy(UObject* InAtlasedObject, const FSlateAtlasData& AtlasData)
{
	FSlateShaderResourceProxy* Proxy = ProxyMap.FindRef(InAtlasedObject);
	if ( Proxy == nullptr )
	{
		// when we use image-DrawAsBox with PaperSprite, we need to change its actual size as its actual dimension.
		FVector2D ActualSize(TextureObject->GetSurfaceWidth() * AtlasData.SizeUV.X, TextureObject->GetSurfaceHeight() * AtlasData.SizeUV.Y);

		Proxy = new FSlateShaderResourceProxy();
		Proxy->Resource = this;
		Proxy->ActualSize = ActualSize.IntPoint();
		Proxy->StartUV = FVector2f(AtlasData.StartUV);	// LWC_TODO: Precision loss
		Proxy->SizeUV = FVector2f(AtlasData.SizeUV);	// LWC_TODO: Precision loss

		ProxyMap.Add(InAtlasedObject, Proxy);
	}
#if WITH_EDITOR
	else
	{
		Proxy->Resource = this;
		Proxy->StartUV = FVector2f(AtlasData.StartUV);	// LWC_TODO: Precision loss
		Proxy->SizeUV = FVector2f(AtlasData.SizeUV);	// LWC_TODO: Precision loss
	}
#endif
	return Proxy;
}
  1. 参考官方文档 安装node、ts开发环境,下载虚拟机如v8_11.8.172,解压到QiongQi/Plugins/Puerts/ThirdParty
  2. 右键QiongQi/QiongQi.uproject,选择生成vs project files
  3. 进入项目目录下:QiongQi/Plugins/Puerts,并执行命令 node enable_puerts_module.js
  4. 最后打开UE项目,切换到Content/AssetsPackage/Scenes/InitScene/Init场景运行
  5. 修改ts代码后,对应js没有自动生成?cmd进入QiongQi目录,执行命令:tsc --watch

About

UE轻量级框架


Languages

Language:C++ 48.3%Language:C 17.8%Language:TypeScript 15.2%Language:JavaScript 9.6%Language:C# 8.5%Language:Objective-C 0.6%Language:Objective-C++ 0.1%Language:Batchfile 0.0%