跳至主要內容
F5.1 UPROPERTY-GetOptions

GetOptions

通过 "Module.Class.Function" 引用外部的静态函数,使得 FString FName 类型的属性 能够动态生成一组有限的选项。


//类内可直接用非静态函数,类外推荐带static关键字
 TArray<FString> GetNames() const
 {
        return {"", "牛逼", "不牛逼"};
 }
 UPROPERTY(EditAnywhere, meta = (GetOptions = "GetNames"))
 FName Names;
 

Mr.Si2025/3/24大约 2 分钟u++Specifiers
F0.Debug

Debugging

Engine\Source\Editor\UnrealEd\Classes\Editor\PropertyEditorTestObject.h

Mr.Si2025/3/24小于 1 分钟u++Specifiers
F1.模块(项目)名_API

模块(项目)名_API

#pragma once

#include "CoreMinimal.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "TEST.generated.h"

UCLASS()
class MYGame_API UTEST : public UBlueprintFunctionLibrary
{
	GENERATED_BODY()
	
public:
	
	UFUNCTION(BlueprintCallable, Category ="TEST")
	static void TestFun();
	
};

Mr.Si2024/1/3大约 4 分钟u++Specifiers
F10.UClass|类

类和对象

class Person {
public:
    string Name;
    int Age;
};

Mr.Si2024/1/3大约 4 分钟u++Specifiers
F2.GENERATED_BODY()

具体作用

  1. 反射(Reflection) → 让 UE 知道它的存在,并支持蓝图、GC(垃圾回收)、网络复制等功能

  2. 类声明宏 (Class Declaration Macro) → 在 C++ 中声明类

DECLARE_CLASS(UDataViewModelBase, UObject, COMPILED_IN_FLAGS(CLASS_Abstract), CASTCLASS_None, TEXT("/Script/DataSystem"), NO_API)

Mr.Si2024/1/3小于 1 分钟u++Specifiers
F3.WITH_EDITOR

导读

特征 描述
WITH_EDITORONLY_DATA 用于标记在头文件中的成员变量,仅在编辑器中可见,游戏运行时被忽略。
WITH_EDITOR 用于标记在 CPP 文件中的代码块,该代码块在构建编辑器时应被编译。
GIsEditor 全局布尔变量,用于判断当前是否在虚幻编辑器中运行。

Mr.Si2024/1/3大约 4 分钟u++Specifiers
F4.UPARAM
	UFUNCTION(BlueprintCallable, BlueprintCosmetic, Category = "Global UI Extensions")
	static UCommonActivatableWidget* PushContentToLayer_ForPlayer(const ULocalPlayer* LocalPlayer, UPARAM(meta = (Categories = "UI.Layer")) FGameplayTag LayerName, UPARAM(meta = (AllowAbstract = false)) TSubclassOf<UCommonActivatableWidget> WidgetClass);

Mr.Si2024/1/3大约 1 分钟u++Specifiers
F5.UPROPERTY

UPROPERTY定义

//声明一个变量
int32 MyInt;
//定义一个变量
int32 MyInt = 0;

Mr.Si2024/1/3大约 4 分钟u++Specifiers