MassBattle Docsv1.19.20

MassAPIEnums.h

UENUM ×1 enum class ×1

Source/MassAPI/Public/MassAPIEnums.h

概述 Overview

MassAPI 的两个数据源/标志枚举。EMassFragmentSourceDataType 是非 UENUM 的普通枚举,描述操作的目标数据形态(实体、模板、数组);EEntityFlags 是暴露给蓝图的 UENUM(BlueprintType),定义实体动态标志的 128 个位位置——索引 0–63 映射到 FEntityFlagFragment::Flags(低位 int64),64–127 映射到 FlagsHigh(高位 int64)。

MassAPI's two data-source / flag enums. EMassFragmentSourceDataType is a plain (non-UENUM) enum describing the target data shape of an operation (entity, template, array); EEntityFlags is a UENUM(BlueprintType) defining the 128 bit positions of entity dynamic flags — indices 0–63 map to FEntityFlagFragment::Flags (low int64), 64–127 map to FlagsHigh (high int64).

EMassFragmentSourceDataType enum class

非反射的普通 enum class : uint8,标识 fragment 操作的源数据形态。未被 MassAPI 本体函数使用(源码注释标注),为框架预留的数据源类型描述。

Plain non-reflected enum class : uint8 identifying the source data shape of a fragment operation. Not used by MassAPI's own functions (per source comments); reserved as a data-source type description for the framework.

值 Value说明 Description
None未连接或无效。Not connected or invalid.
EntityHandleFEntityHandle —— 用于修改单个实体。FEntityHandle — for modifying a single entity.
EntityTemplateDataFEntityTemplateData —— 用于修改单个模板。FEntityTemplateData — for modifying a single template.
EntityHandleArrayTArray<FEntityHandle> —— 用于修改多个实体。TArray<FEntityHandle> — for modifying multiple entities.
EntityTemplateDataArrayTArray<FEntityTemplateData> —— 用于修改多个模板。TArray<FEntityTemplateData> — for modifying multiple templates.

EEntityFlags UENUM

实体可拥有的动态标志位(最多 128 个)。这是一个标准的 uint8 UENUM(BlueprintType),用于在蓝图中填充数组;运行时 C++ 逻辑将其索引 0–63 转换为低位 int64 位掩码(FEntityFlagFragment::Flags),索引 64–127 转换为高位位掩码(FlagsHigh)。值枚举 Flag0–Flag63 为低位,Flag64–Flag127 为高位;末尾的 EEntityFlags_MAX(Hidden)必须保持最后,用于计数与越界守卫。

Dynamic flags an entity can own (up to 128). A standard uint8 UENUM(BlueprintType) intended for Blueprint arrays; runtime C++ converts indices 0–63 to the low int64 bitmask (FEntityFlagFragment::Flags) and 64–127 to the high bitmask (FlagsHigh). Values Flag0–Flag63 are low bits, Flag64–Flag127 high bits; the trailing EEntityFlags_MAX (Hidden) must stay last for counting and out-of-range guards.

值 Value说明 Description
Flag0 – Flag63低位标志位(共 64 个),存储于 FEntityFlagFragment::Flags(int64 位掩码)。Low flag bits (64 total), stored in FEntityFlagFragment::Flags (int64 bitmask).
Flag64 – Flag127高位标志位(共 64 个),存储于 FEntityFlagFragment::FlagsHigh(int64 位掩码)。High flag bits (64 total), stored in FEntityFlagFragment::FlagsHigh (int64 bitmask).
EEntityFlags_MAX (Hidden)必须是最后一个,用于计数与合法性检查(所有 flag 操作的越界守卫均以 >= EEntityFlags_MAX 判断)。Must be last; used for counting and validity checks (all flag operations guard with >= EEntityFlags_MAX).

补充说明 Notes

标志位与 FEntityFlagFragment(见 MassAPIStructs.h)配合使用:该 fragment 是「不引起 Archetype 迁移」的动态标志存储,用两个 int64 承载 128 位并带原子自旋锁。

The flags pair with FEntityFlagFragment (see MassAPIStructs.h): that fragment stores dynamic flags without causing archetype migration, using two int64 bitmasks plus an atomic spinlock.