UEC++ 数据类型及继承关系

基础类型

cpp 复制代码
基础类型
  ├── int8, int16, int32, int64
  ├── uint8, uint16, uint32, uint64
  ├── float, double
  └── bool
cpp 复制代码
核心字符串与名称
├── FString (动态字符串)
├── FName (哈希化标识符)
├── FText (本地化文本)
├── FStringView (字符串视图)
└── TStringBuilderBase (字符串构建器)
cpp 复制代码
容器模板 (T开头)
├── TArray (动态数组)
├── TSet (集合)
├── TMap (键值映射)
├── TQueue (队列)
├── TStack (栈)
├── TLinkedList (链表)
├── TSparseArray (稀疏数组)
├── TBitArray (位数组)
└── TTuple (元组)
cpp 复制代码
常用数学类型 (F开头)
├── FVector
├── FVector2D
├── FVector4
├── FRotator (旋转)
├── FQuat (四元数)
├── FTransform (位置+旋转+缩放)
├── FMatrix (4x4矩阵)
├── FBox (轴对齐包围盒)
├── FSphere (球体)
├── FPlane (平面)
├── FColor (颜色)
├── FLinearColor (线性颜色)
├── FGuid (全局唯一标识)
├── FDateTime (日期时间)
├── FTimespan (时间跨度)
└── FMath (静态数学函数)
cpp 复制代码
智能指针 (T开头)
├── TSharedPtr (共享所有权)
├── TSharedRef (非空共享引用)
├── TWeakPtr (弱引用)
├── TUniquePtr (独占所有权)
└── TSharedFromThis (支持生成TSharedPtr)
cpp 复制代码
委托与事件
├── 单播委托
│   ├── FDelegate (无返回值)
│   └── FRetValDelegate (有返回值)
├── 多播委托
│   └── FMulticastDelegate
├── 动态委托 (蓝图可用)
│   ├── FScriptDelegate
│   └── FMulticastScriptDelegate
└── 事件
    └── FSimpleDelegate
cpp 复制代码
文件、流与序列化
├── FArchive (序列化基类)
├── FBufferArchive (内存写入)
├── FMemoryReader (内存读取)
├── FMemoryWriter (内存写入)
├── FFileHandle (文件句柄)
└── FPaths (路径工具)
cpp 复制代码
日志与输出
├── FOutputDevice (输出设备基类)
├── FOutputDeviceConsole (控制台输出)
├── FOutputDeviceFile (文件输出)
├── FOutputDeviceDebug (调试器输出)
├── FOutputDeviceRedirector (重定向器, 即GLog)
└── FLogCategoryBase (日志类别基类)
cpp 复制代码
平台抽象层 (FPlatform*)
├── FPlatformProcess (进程管理)
├── FPlatformMisc (杂项功能)
├── FPlatformMemory (内存管理)
├── FPlatformFileManager (文件管理)
├── FGenericPlatformProcess (通用进程基类)
├── FGenericPlatformMisc (通用杂项基类)
├── FGenericPlatformMemory (通用内存基类)
├── FGenericPlatformFileManager (通用文件管理基类)
├── FWindowsPlatform* (Windows实现)
├── FLinuxPlatform* (Linux实现)
├── FMacPlatform* (Mac实现)
└── FAndroidPlatform* (Android实现)
cpp 复制代码
异步与并发
├── FRunnable (线程接口)
├── FRunnableThread (线程)
├── FEvent (事件)
├── FGraphEventRef (任务图事件引用)
├── FTaskGraphInterface (任务图接口)
└── TFuture (异步结果)
cpp 复制代码
反射与元数据辅助类型 (非UObject)
├── FProperty (属性描述基类)
│   ├── FStructProperty
│   ├── FObjectProperty
│   ├── FClassProperty
│   ├── FArrayProperty
│   ├── FSetProperty
│   ├── FMapProperty
│   ├── FStringProperty
│   ├── FNameProperty
│   ├── FTextProperty
│   ├── FIntProperty
│   ├── FFloatProperty
│   ├── FDoubleProperty
│   ├── FBoolProperty
│   ├── FByteProperty
│   ├── FEnumProperty
│   └── ... (数十种具体属性类型)
├── FScriptArray (底层数组容器)
├── FScriptMap (底层哈希表容器)
├── FScriptSet (底层集合容器)
├── FWeakObjectPtr (弱UObject指针)
└── FSoftObjectPath (软对象路径)
cpp 复制代码
枚举 (E开头)
├── ENetRole
├── ENetMode
├── EObjectFlags
├── EFunctionFlags
├── EPropertyFlags
├── EObjectMark
├── EObjectStatus
├── EAppMsgType
├── EAppReturnType
├── ELogVerbosity
├── EAsyncLoadingResult
├── ETravelType
├── ELevelTick
├── EInputEvent
├── EAxis
├── EMouseCursor
├── EBlendMode
├── ESoundGroup
├── EPixelFormat
└── ... (数百个其他引擎枚举)
cpp 复制代码
其他常用结构
├── FKey (输入按键)
├── FSlateBrush (UI画刷)
├── FAssetData (资产数据)
├── FFormatNamedArguments (格式化参数)
├── FScriptDelegate (脚本委托,已在上文委托中列出)
├── FHitResult (碰撞命中结果)
├── FStringClassReference (类引用)
└── FSoftClassPath (软类路径)

UObject类型

cpp 复制代码
// UObject基类继承关系
UObjectBase (最底层,内存/GC/标志位)
  └── UObjectBaseUtility (增加工具函数,如GetName/IsA)
    └── UObject (对所有开发者公开的根类)
cpp 复制代码
// 游戏框架 (Actor体系)
UObject
│
├── AActor (可放入游戏世界的对象基类,支持三维变换)
│    │
│    ├── APawn (可被"控制"的化身,代表玩家或AI的实体)
│    │    └── ACharacter (人形角色,内置胶囊体碰撞和移动组件)
│    │
│    ├── AController (非实体的逻辑大脑,控制Pawn的行为)
│    │    ├── APlayerController (接收真实玩家的输入,管理UI和HUD)
│    │    └── AAIController (驱动AI决策,通常运行行为树)
│    │
│    ├── AGameModeBase (定义游戏核心规则:胜利条件、玩家出生等,仅服务器端)
│    │    └── AGameMode (更具体的游戏模式实现)
│    │
│    ├── AGameStateBase (存储所有客户端同步的全局游戏状态,如比分、游戏时长)
│    │    └── AGameState (更具体的游戏状态实现)
│    │
│    ├── APlayerState (存储单个玩家的动态数据:名字、得分、击杀数等)
│    │
│    ├── AStaticMeshActor (用于在场景中放置一个静态网格物体)
│    │
│    ├── ACameraActor (可在场景中放置的相机,用于切换视角)
│    │
│    ├── ALight (所有光源的基类)
│    │    ├── ADirectionalLight (模拟太阳的平行光)
│    │    ├── APointLight (从一点向四周发出的点光源)
│    │    └── ASpotLight (圆锥形照射范围的聚光源)
│    │
│    ├── ATriggerBase (触发器的基类,用于重叠事件)
│    │    ├── ATriggerBox (盒形触发器)
│    │    ├── ATriggerCapsule (胶囊形触发器)
│    │    └── ATriggerSphere (球形触发器)
│    │
│    └── APlayerStart (标记玩家在关卡中的出生位置)
│
└── UActorComponent (功能模块,附加到Actor上以提供特定行为)
     │
     ├── USceneComponent (具有空间变换(位置/旋转/缩放)的组件基类)
     │    │
     │    ├── UPrimitiveComponent (具有图形表示或碰撞的组件基类)
     │    │    │
     │    │    ├── UMeshComponent (所有网格组件的基类)
     │    │    │    ├── UStaticMeshComponent (用于渲染静态网格体)
     │    │    │    └── USkeletalMeshComponent (用于渲染带有骨骼动画的网格体)
     │    │    │
     │    │    └── UShapeComponent (用于简单碰撞的形状组件基类)
     │    │         ├── UBoxComponent (盒体碰撞)
     │    │         ├── UCapsuleComponent (胶囊体碰撞,常用于角色)
     │    │         └── USphereComponent (球体碰撞)
     │    │
     │    ├── UCameraComponent (为Actor提供"眼睛",定义玩家的视野)
     │    │
     │    └── ULightComponentBase (所有光源组件的基类)
     │         └── ULightComponent (光源组件)
     │              ├── UDirectionalLightComponent (平行光组件)
     │              ├── UPointLightComponent (点光源组件)
     │              │    └── USpotLightComponent (聚光源组件)
     │              └── USkyLightComponent (天光组件)
     │
     └── (无空间变换的功能组件)
          ├── UMovementComponent (控制物体移动逻辑的基类)
          │    ├── UCharacterMovementComponent (专门控制角色行走、跳跃、游泳)
          │    └── UProjectileMovementComponent (控制抛射物如子弹、火球的物理运动)
          │
          ├── UInputComponent (将输入按键与游戏内行为绑定)
          │
          └── UAudioComponent (用于在游戏中播放3D或2D声音)
cpp 复制代码
UObject
│
├── 反射类型系统 (元数据)
│   ├── UField
│   │   ├── UStruct
│   │   │   ├── UClass (描述C++类)
│   │   │   │   └── UBlueprintGeneratedClass (蓝图生成的类)
│   │   │   ├── UScriptStruct (描述USTRUCT结构体,如FVector)
│   │   │   └── UFunction (描述UFUNCTION函数)
│   │   ├── UEnum (描述UENUM枚举)
│   │   └── UProperty (已废弃,UE5中为FProperty)
│   └── UPackage (包)
│
├── 世界与关卡
│   ├── UWorld (世界容器)
│   └── ULevel (关卡)
│
├── 游戏实例与子系统
│   ├── UGameInstance (游戏实例)
│   └── USubsystem (子系统基类)
│       ├── UEngineSubsystem (引擎级别)
│       ├── UGameInstanceSubsystem (游戏实例级别)
│       ├── UWorldSubsystem (世界级别)
│       └── ULocalPlayerSubsystem (本地玩家级别)
│
├── 数据资产
│   ├── UDataAsset (简单数据容器)
│   └── UPrimaryDataAsset (支持异步加载)
│
└── 其他重要UObject
    ├── UBlueprint (蓝图资产)
    ├── UEngine (引擎单例)
    ├── ULocalPlayer (本地玩家)
    └── UGameViewportClient (视口)
相关推荐
少司府1 小时前
C++进阶:AVL树
开发语言·数据结构·c++·二叉树·avl树
代码中介商2 小时前
C++11右值引用与移动语义深度解析
开发语言·c++
码上有光2 小时前
c++:二叉搜索树(map和set的底层结构)
开发语言·c++·递归·二叉搜索树
Brilliantwxx2 小时前
【C++】 链式哈希表(Separate Chaining)
c++·哈希算法·散列表
大白话_NOI2 小时前
【洛谷 P1480】A/B Problem(高精度除法 Ⅰ)详细题解
c++
j7~2 小时前
【C++】C&C++内存管理--之内存分布,operatenew/new,operate/delete的底层原理.
c语言·c++·delete·内存泄漏·new·operate new·动态内存分布
拂拉氏2 小时前
【项目分享-知识讲解】 C++标准库 list类的模拟实现
开发语言·c++·list·封装·stl标准库
刃神太酷啦2 小时前
MySQL 库表操作 +数据类型+ 基础概念全梳理----《Hello MySQL!》(2)
java·c语言·数据库·c++·vscode·mysql·adb
L_090711 小时前
【C++】异常
开发语言·c++