Skip to content

ECS Framework API v2.1.50


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

内部存储的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

Released under the MIT License.