Skip to content

ECS Framework API v2.1.50


ECS Framework API / BitMask64Utils

Class: BitMask64Utils

Defined in: ECS/Utils/BigIntCompatibility.ts:26

Constructors

Constructor

new BitMask64Utils(): BitMask64Utils

Returns

BitMask64Utils

Properties

ZERO

readonly static ZERO: BitMask64Data

Defined in: ECS/Utils/BigIntCompatibility.ts:28

零掩码常量,所有位都为0

Methods

create()

static create(bitIndex): BitMask64Data

Defined in: ECS/Utils/BigIntCompatibility.ts:36

根据位索引创建64位掩码

Parameters

bitIndex

number

位索引,范围 [0, 63]

Returns

BitMask64Data

包含指定位设置为1的掩码

Throws

当位索引超出范围时抛出错误


fromNumber()

static fromNumber(value): BitMask64Data

Defined in: ECS/Utils/BigIntCompatibility.ts:53

从32位数字创建64位掩码

Parameters

value

number

32位数字值

Returns

BitMask64Data

低32位为输入值、高32位为0的掩码


hasAny()

static hasAny(mask, bits): boolean

Defined in: ECS/Utils/BigIntCompatibility.ts:63

检查掩码是否包含任意指定的位

Parameters

mask

BitMask64Data

要检查的掩码

bits

BitMask64Data

指定的位模式

Returns

boolean

如果掩码包含bits中的任意位则返回true


hasAll()

static hasAll(mask, bits): boolean

Defined in: ECS/Utils/BigIntCompatibility.ts:74

检查掩码是否包含所有指定的位 支持扩展模式,自动处理超过 64 位的掩码

Parameters

mask

BitMask64Data

要检查的掩码

bits

BitMask64Data

指定的位模式

Returns

boolean

如果掩码包含bits中的所有位则返回true


hasNone()

static hasNone(mask, bits): boolean

Defined in: ECS/Utils/BigIntCompatibility.ts:117

检查掩码是否不包含任何指定的位

Parameters

mask

BitMask64Data

要检查的掩码

bits

BitMask64Data

指定的位模式

Returns

boolean

如果掩码不包含bits中的任何位则返回true


isZero()

static isZero(mask): boolean

Defined in: ECS/Utils/BigIntCompatibility.ts:126

检查掩码是否为零

Parameters

mask

要检查的掩码

BitMask64Data | BitMask64Segment

Returns

boolean

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


equals()

static equals(a, b): boolean

Defined in: ECS/Utils/BigIntCompatibility.ts:136

检查两个掩码是否相等

Parameters

a

BitMask64Data

第一个掩码

b

BitMask64Data

第二个掩码

Returns

boolean

如果两个掩码完全相等则返回true


setBit()

static setBit(mask, bitIndex): void

Defined in: ECS/Utils/BigIntCompatibility.ts:146

设置掩码中指定位为1

Parameters

mask

BitMask64Data

要修改的掩码(原地修改)

bitIndex

number

位索引,范围 [0, 63]

Returns

void

Throws

当位索引超出范围时抛出错误


clearBit()

static clearBit(mask, bitIndex): void

Defined in: ECS/Utils/BigIntCompatibility.ts:164

清除掩码中指定位为0

Parameters

mask

BitMask64Data

要修改的掩码(原地修改)

bitIndex

number

位索引,范围 [0, 63]

Returns

void

Throws

当位索引超出范围时抛出错误


orInPlace()

static orInPlace(target, other): void

Defined in: ECS/Utils/BigIntCompatibility.ts:181

对目标掩码执行按位或操作

Parameters

target

BitMask64Data

目标掩码(原地修改)

other

BitMask64Data

用于按位或的掩码

Returns

void


andInPlace()

static andInPlace(target, other): void

Defined in: ECS/Utils/BigIntCompatibility.ts:191

对目标掩码执行按位与操作

Parameters

target

BitMask64Data

目标掩码(原地修改)

other

BitMask64Data

用于按位与的掩码

Returns

void


xorInPlace()

static xorInPlace(target, other): void

Defined in: ECS/Utils/BigIntCompatibility.ts:201

对目标掩码执行按位异或操作

Parameters

target

BitMask64Data

目标掩码(原地修改)

other

BitMask64Data

用于按位异或的掩码

Returns

void


clear()

static clear(mask): void

Defined in: ECS/Utils/BigIntCompatibility.ts:210

清除掩码的所有位为0

Parameters

mask

BitMask64Data

要清除的掩码(原地修改)

Returns

void


copy()

static copy(source, target): void

Defined in: ECS/Utils/BigIntCompatibility.ts:220

将源掩码的值复制到目标掩码

Parameters

source

BitMask64Data

源掩码

target

BitMask64Data

目标掩码(原地修改)

Returns

void


clone()

static clone(mask): BitMask64Data

Defined in: ECS/Utils/BigIntCompatibility.ts:230

创建掩码的深拷贝

Parameters

mask

BitMask64Data

要拷贝的掩码

Returns

BitMask64Data

新的掩码对象,内容与源掩码相同


toString()

static toString(mask, radix): string

Defined in: ECS/Utils/BigIntCompatibility.ts:241

将掩码转换为字符串表示

Parameters

mask

BitMask64Data

要转换的掩码

radix

number = 2

进制,支持2(二进制)或16(十六进制),默认为2

Returns

string

掩码的字符串表示,二进制不带前缀,十六进制带0x前缀

Throws

当进制不支持时抛出错误


popCount()

static popCount(mask): number

Defined in: ECS/Utils/BigIntCompatibility.ts:268

计算掩码中设置为1的位数

Parameters

mask

BitMask64Data

要计算的掩码

Returns

number

掩码中1的位数


setBitExtended()

static setBitExtended(mask, bitIndex): void

Defined in: ECS/Utils/BigIntCompatibility.ts:291

设置扩展位(支持超过 64 位的索引)

Parameters

mask

BitMask64Data

要修改的掩码(原地修改)

bitIndex

number

位索引(可以超过 63)

Returns

void


getBitExtended()

static getBitExtended(mask, bitIndex): boolean

Defined in: ECS/Utils/BigIntCompatibility.ts:330

获取扩展位(支持超过 64 位的索引)

Parameters

mask

BitMask64Data

要检查的掩码

bitIndex

number

位索引(可以超过 63)

Returns

boolean

如果位被设置则返回 true


clearBitExtended()

static clearBitExtended(mask, bitIndex): void

Defined in: ECS/Utils/BigIntCompatibility.ts:364

清除扩展位(支持超过 64 位的索引)

Parameters

mask

BitMask64Data

要修改的掩码(原地修改)

bitIndex

number

位索引(可以超过 63)

Returns

void

Released under the MIT License.