Skip to content

ECS Framework API v2.2.13


ECS Framework API / Bits

Class: Bits

Defined in: packages/core/src/ECS/Utils/Bits.ts:7

位集合类,用于高效的位操作 支持任意位的位运算操作.

Constructors

Constructor

new Bits(initialValue?): Bits

Defined in: packages/core/src/ECS/Utils/Bits.ts:15

构造函数,创建位集合

Parameters

initialValue?

初始值,可以是BitMask64Data对象、数字或字符串

string | number | BitMask64Data

Returns

Bits

Methods

set()

set(index): void

Defined in: packages/core/src/ECS/Utils/Bits.ts:34

设置指定位为1 自动扩展:当索引超过 64 时,自动扩展到 128/256 位

Parameters

index

number

位索引(0-based)

Returns

void

Throws

当位索引为负数时抛出错误


clear()

clear(index): void

Defined in: packages/core/src/ECS/Utils/Bits.ts:47

清除指定位为0

Parameters

index

number

位索引

Returns

void

Throws

当位索引为负数时抛出错误


get()

get(index): boolean

Defined in: packages/core/src/ECS/Utils/Bits.ts:60

获取指定位的值

Parameters

index

number

位索引

Returns

boolean

如果位被设置为1则返回true,否则返回false


containsAll()

containsAll(other): boolean

Defined in: packages/core/src/ECS/Utils/Bits.ts:69

检查是否包含另一个位集合的所有位

Parameters

other

Bits

另一个位集合

Returns

boolean

如果包含other的所有设置位则返回true


intersects()

intersects(other): boolean

Defined in: packages/core/src/ECS/Utils/Bits.ts:78

检查是否与另一个位集合有交集

Parameters

other

Bits

另一个位集合

Returns

boolean

如果有共同的设置位则返回true


excludes()

excludes(other): boolean

Defined in: packages/core/src/ECS/Utils/Bits.ts:87

检查是否与另一个位集合没有交集

Parameters

other

Bits

另一个位集合

Returns

boolean

如果没有共同的设置位则返回true


clearAll()

clearAll(): void

Defined in: packages/core/src/ECS/Utils/Bits.ts:94

清除所有位为0

Returns

void


isEmpty()

isEmpty(): boolean

Defined in: packages/core/src/ECS/Utils/Bits.ts:102

检查位集合是否为空

Returns

boolean

如果所有位都为0则返回true


cardinality()

cardinality(): number

Defined in: packages/core/src/ECS/Utils/Bits.ts:110

计算设置为1的位数

Returns

number

设置位的总数


and()

and(other): Bits

Defined in: packages/core/src/ECS/Utils/Bits.ts:119

与另一个位集合执行按位与操作

Parameters

other

Bits

另一个位集合

Returns

Bits

新的位集合,包含按位与的结果


or()

or(other): Bits

Defined in: packages/core/src/ECS/Utils/Bits.ts:131

与另一个位集合执行按位或操作

Parameters

other

Bits

另一个位集合

Returns

Bits

新的位集合,包含按位或的结果


xor()

xor(other): Bits

Defined in: packages/core/src/ECS/Utils/Bits.ts:143

与另一个位集合执行按位异或操作

Parameters

other

Bits

另一个位集合

Returns

Bits

新的位集合,包含按位异或的结果


not()

not(maxBits): Bits

Defined in: packages/core/src/ECS/Utils/Bits.ts:155

执行按位取反操作

Parameters

maxBits

number = 64

最大位数,默认为64

Returns

Bits

新的位集合,包含按位取反的结果


copyFrom()

copyFrom(other): void

Defined in: packages/core/src/ECS/Utils/Bits.ts:185

从另一个位集合复制值

Parameters

other

Bits

源位集合

Returns

void


clone()

clone(): Bits

Defined in: packages/core/src/ECS/Utils/Bits.ts:193

创建当前位集合的深拷贝

Returns

Bits

新的位集合,内容与当前位集合相同


getValue()

getValue(): BitMask64Data

Defined in: packages/core/src/ECS/Utils/Bits.ts:201

获取内部的64位掩码数据

Returns

BitMask64Data

内部存储的BitMask64Data对象


setValue()

setValue(value): void

Defined in: packages/core/src/ECS/Utils/Bits.ts:209

设置位集合的值

Parameters

value

新值,可以是BitMask64Data对象、数字或字符串

string | number | BitMask64Data

Returns

void


toString()

toString(): string

Defined in: packages/core/src/ECS/Utils/Bits.ts:224

将位集合转换为可读字符串

Returns

string

格式为"Bits[index1, index2, ...]"的字符串


toBinaryString()

toBinaryString(maxBits): string

Defined in: packages/core/src/ECS/Utils/Bits.ts:239

将位集合转换为二进制字符串

Parameters

maxBits

number = 0

最大位数,默认为64

Returns

string

二进制字符串表示,每8位用空格分隔


toHexString()

toHexString(): string

Defined in: packages/core/src/ECS/Utils/Bits.ts:257

将位集合转换为十六进制字符串

Returns

string

十六进制字符串表示,带0x前缀


fromBinaryString()

static fromBinaryString(binaryString): Bits

Defined in: packages/core/src/ECS/Utils/Bits.ts:266

从二进制字符串创建位集合

Parameters

binaryString

string

二进制字符串,可以包含空格

Returns

Bits

新的位集合对象


fromHexString()

static fromHexString(hexString): Bits

Defined in: packages/core/src/ECS/Utils/Bits.ts:287

从十六进制字符串创建位集合

Parameters

hexString

string

十六进制字符串,可以带或不带0x前缀

Returns

Bits

新的位集合对象


equals()

equals(other): boolean

Defined in: packages/core/src/ECS/Utils/Bits.ts:308

检查是否与另一个位集合相等

Parameters

other

Bits

另一个位集合

Returns

boolean

如果两个位集合完全相同则返回true


getHighestBitIndex()

getHighestBitIndex(): number

Defined in: packages/core/src/ECS/Utils/Bits.ts:316

获取最高位设置位的索引

Returns

number

最高位设置位的索引,如果位集合为空则返回-1


getLowestBitIndex()

getLowestBitIndex(): number

Defined in: packages/core/src/ECS/Utils/Bits.ts:342

获取最低位设置位的索引

Returns

number

最低位设置位的索引,如果位集合为空则返回-1

Released under the MIT License.