本章节会讲解基础的UE5环境部署以及UE变量相关知识,比如int32 int64 uint8等理解UE为什么这么设计。 第二章 FString字符串精讲 本章节会系统讲解FString的各个API使用,使学员一次性全部了解,避免对字符串再造轮子,增加开发时间成本。同样我们会精讲FCString里面的API。FString和FCString结合将可以解决我们开发中百分之九...
voidCallFunctionByNameNoParam(UObject*inObj,constFStringinName){UClass*TempClass=inObj->GetClass();UFunction*TempFunc=TempClass->FindFunctionByName(*inName);inObj->ProcessEvent(TempFunc,NULL);} 目标二:通过函数名+Json字符串,调用带参函数 思路: 1. 通过函数指针获取到参数队列,然后构造一个结构体 2....
同样也可考虑使用默认值的配置文件。 UCLASS()class UTeaOptions:public UObject{GENERATED_BODY()public:UPROPERTY()int32 MaximumNumberOfCupsPerDay=10;UPROPERTY()floatCupWidth=11.5f;UPROPERTY()FString TeaType=TEXT("Earl Grey");UPROPERTY()EDrinkingStyle DrinkingStyle=EDrinkingStyle::PinkyExtended;}; 优势:...
- TLV:Type, Length, Value 上面的部分方法,需要我们自定义在内存/文件中的表示方式,而不再使用c++默认提供的字符串:C风格字符串使用'\0'表示结尾的方式来记录一个字段名/值的结束,而C++字符串根据编译器实现往往也如此; 而在需要自定义表示的时候,我们也需要...
auto f = fopen(fileName.c_str(), "w+"); fprintf(f, "%s", save); fclose(f); } 而在读档时,我们编写的代码则如下(存档的相反操作): //反序列化存档 void UnserializeSaveData(string save) { vector<const char*>states = split(save, SAVE_SPLITTER) ...
这里主要分析两部分核心代码:【C】 LongPackageName处理:【C.1】 if (FPackageName::IsShortPackageName(PackageName) == false) { // If this is long package name, revert to using DoesPackageExist because it's a lot faster. FString Filename; ...
USTRUCT(BlueprintType)structFNetworkMessage{GENERATED_USTRUCT_BODY()UPROPERTY()ERpcErrorCodeRpcErrorCode=ERpcErrorCode::Unimplemented;UPROPERTY()uint64TypeID=0;UPROPERTY()uint64SerialNum=0;UPROPERTY()ERpcMessageOpRpcMessageOp=ERpcMessageOp::Request;UPROPERTY()int64Timestamp=0;constTArray<uint8>&GetBod...
).c_str()); // 2. 获取zip文件全局信息 unz_global_info64 ZGlobalInfo; unzGetGlobalInfo64(ZFile, &ZGlobalInfo); // 3. 获取zip文件大小,方便做解压进度记录 const int64 TotalCompressedSize = IFileManager::Get().FileSize(*ZipFilename...