ECS Framework API / Bits
Class: Bits
Defined in: ECS/Utils/Bits.ts:8
位集合类,用于高效的位操作 自动扩展支持:默认 64 位,超过时自动扩展到 128/256 位 扩展模式性能略有下降,但仍然比数组遍历快得多
Constructors
Constructor
new Bits(
initialValue?
):Bits
Defined in: ECS/Utils/Bits.ts:16
构造函数,创建位集合
Parameters
initialValue?
初始值,可以是BitMask64Data对象、数字或字符串
string
| number
| BitMask64Data
Returns
Bits
Methods
set()
set(
index
):void
Defined in: ECS/Utils/Bits.ts:35
设置指定位为1 自动扩展:当索引超过 64 时,自动扩展到 128/256 位
Parameters
index
number
位索引(0-based)
Returns
void
Throws
当位索引为负数时抛出错误
clear()
clear(
index
):void
Defined in: ECS/Utils/Bits.ts:48
清除指定位为0
Parameters
index
number
位索引
Returns
void
Throws
当位索引为负数时抛出错误
get()
get(
index
):boolean
Defined in: ECS/Utils/Bits.ts:61
获取指定位的值
Parameters
index
number
位索引
Returns
boolean
如果位被设置为1则返回true,否则返回false
containsAll()
containsAll(
other
):boolean
Defined in: ECS/Utils/Bits.ts:70
检查是否包含另一个位集合的所有位
Parameters
other
Bits
另一个位集合
Returns
boolean
如果包含other的所有设置位则返回true
intersects()
intersects(
other
):boolean
Defined in: ECS/Utils/Bits.ts:79
检查是否与另一个位集合有交集
Parameters
other
Bits
另一个位集合
Returns
boolean
如果有共同的设置位则返回true
excludes()
excludes(
other
):boolean
Defined in: ECS/Utils/Bits.ts:88
检查是否与另一个位集合没有交集
Parameters
other
Bits
另一个位集合
Returns
boolean
如果没有共同的设置位则返回true
clearAll()
clearAll():
void
Defined in: ECS/Utils/Bits.ts:95
清除所有位为0
Returns
void
isEmpty()
isEmpty():
boolean
Defined in: ECS/Utils/Bits.ts:103
检查位集合是否为空
Returns
boolean
如果所有位都为0则返回true
cardinality()
cardinality():
number
Defined in: ECS/Utils/Bits.ts:111
计算设置为1的位数
Returns
number
设置位的总数
and()
and(
other
):Bits
Defined in: ECS/Utils/Bits.ts:120
与另一个位集合执行按位与操作
Parameters
other
Bits
另一个位集合
Returns
Bits
新的位集合,包含按位与的结果
or()
or(
other
):Bits
Defined in: ECS/Utils/Bits.ts:132
与另一个位集合执行按位或操作
Parameters
other
Bits
另一个位集合
Returns
Bits
新的位集合,包含按位或的结果
xor()
xor(
other
):Bits
Defined in: ECS/Utils/Bits.ts:144
与另一个位集合执行按位异或操作
Parameters
other
Bits
另一个位集合
Returns
Bits
新的位集合,包含按位异或的结果
not()
not(
maxBits
):Bits
Defined in: ECS/Utils/Bits.ts:156
执行按位取反操作
Parameters
maxBits
number
= 64
最大位数,默认为64
Returns
Bits
新的位集合,包含按位取反的结果
copyFrom()
copyFrom(
other
):void
Defined in: ECS/Utils/Bits.ts:186
从另一个位集合复制值
Parameters
other
Bits
源位集合
Returns
void
clone()
clone():
Bits
Defined in: ECS/Utils/Bits.ts:194
创建当前位集合的深拷贝
Returns
Bits
新的位集合,内容与当前位集合相同
getValue()
getValue():
BitMask64Data
Defined in: ECS/Utils/Bits.ts:202
获取内部的64位掩码数据
Returns
内部存储的BitMask64Data对象
setValue()
setValue(
value
):void
Defined in: ECS/Utils/Bits.ts:210
设置位集合的值
Parameters
value
新值,可以是BitMask64Data对象、数字或字符串
string
| number
| BitMask64Data
Returns
void
toString()
toString():
string
Defined in: ECS/Utils/Bits.ts:225
将位集合转换为可读字符串
Returns
string
格式为"Bits[index1, index2, ...]"的字符串
toBinaryString()
toBinaryString(
maxBits
):string
Defined in: ECS/Utils/Bits.ts:240
将位集合转换为二进制字符串
Parameters
maxBits
number
= 64
最大位数,默认为64
Returns
string
二进制字符串表示,每8位用空格分隔
toHexString()
toHexString():
string
Defined in: ECS/Utils/Bits.ts:257
将位集合转换为十六进制字符串
Returns
string
十六进制字符串表示,带0x前缀
fromBinaryString()
static
fromBinaryString(binaryString
):Bits
Defined in: ECS/Utils/Bits.ts:266
从二进制字符串创建位集合
Parameters
binaryString
string
二进制字符串,可以包含空格
Returns
Bits
新的位集合对象
fromHexString()
static
fromHexString(hexString
):Bits
Defined in: ECS/Utils/Bits.ts:287
从十六进制字符串创建位集合
Parameters
hexString
string
十六进制字符串,可以带或不带0x前缀
Returns
Bits
新的位集合对象
equals()
equals(
other
):boolean
Defined in: ECS/Utils/Bits.ts:308
检查是否与另一个位集合相等
Parameters
other
Bits
另一个位集合
Returns
boolean
如果两个位集合完全相同则返回true
getHighestBitIndex()
getHighestBitIndex():
number
Defined in: ECS/Utils/Bits.ts:316
获取最高位设置位的索引
Returns
number
最高位设置位的索引,如果位集合为空则返回-1
getLowestBitIndex()
getLowestBitIndex():
number
Defined in: ECS/Utils/Bits.ts:342
获取最低位设置位的索引
Returns
number
最低位设置位的索引,如果位集合为空则返回-1