Skip to content

ECS Framework API v2.2.13


ECS Framework API / BitMask64Utils

Class: BitMask64Utils

Defined in: packages/core/src/ECS/Utils/BigIntCompatibility.ts:26

Constructors

Constructor

new BitMask64Utils(): BitMask64Utils

Returns

BitMask64Utils

Properties

ZERO

readonly static ZERO: Readonly<BitMask64Data>

Defined in: packages/core/src/ECS/Utils/BigIntCompatibility.ts:28

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

Methods

create()

static create(bitIndex): BitMask64Data

Defined in: packages/core/src/ECS/Utils/BigIntCompatibility.ts:36

根据位索引创建64位掩码

Parameters

bitIndex

number

位索引,范围 [0, 63]

Returns

BitMask64Data

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

Throws

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


fromNumber()

static fromNumber(value): BitMask64Data

Defined in: packages/core/src/ECS/Utils/BigIntCompatibility.ts:50

从32位数字创建64位掩码

Parameters

value

number

32位数字值

Returns

BitMask64Data

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


hasAny()

static hasAny(mask, bits): boolean

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

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

Parameters

mask

BitMask64Data

要检查的掩码

bits

BitMask64Data

指定的位模式

Returns

boolean

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


hasAll()

static hasAll(mask, bits): boolean

Defined in: packages/core/src/ECS/Utils/BigIntCompatibility.ts:81

检查掩码是否包含所有指定的位

Parameters

mask

BitMask64Data

要检查的掩码

bits

BitMask64Data

指定的位模式

Returns

boolean

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


hasNone()

static hasNone(mask, bits): boolean

Defined in: packages/core/src/ECS/Utils/BigIntCompatibility.ts:120

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

Parameters

mask

BitMask64Data

要检查的掩码

bits

BitMask64Data

指定的位模式

Returns

boolean

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


isZero()

static isZero(mask): boolean

Defined in: packages/core/src/ECS/Utils/BigIntCompatibility.ts:141

检查掩码是否为零

Parameters

mask

BitMask64Data

要检查的掩码

Returns

boolean

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


equals()

static equals(a, b): boolean

Defined in: packages/core/src/ECS/Utils/BigIntCompatibility.ts:157

检查两个掩码是否相等

Parameters

a

BitMask64Data

第一个掩码

b

BitMask64Data

第二个掩码

Returns

boolean

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


setBit()

static setBit(mask, bitIndex): void

Defined in: packages/core/src/ECS/Utils/BigIntCompatibility.ts:187

设置掩码中指定位为1,必要时自动扩展

Parameters

mask

BitMask64Data

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

bitIndex

number

位索引,不小于零

Returns

void

Throws

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


getBit()

static getBit(mask, bitIndex): boolean

Defined in: packages/core/src/ECS/Utils/BigIntCompatibility.ts:205

获取掩码中指定位,如果位超出当前掩码的区段长度,则直接返回0

Parameters

mask

BitMask64Data

掩码

bitIndex

number

位索引,不小于零

Returns

boolean


clearBit()

static clearBit(mask, bitIndex): void

Defined in: packages/core/src/ECS/Utils/BigIntCompatibility.ts:223

清除掩码中指定位为0,如果位超出当前掩码的区段长度,则什么也不做

Parameters

mask

BitMask64Data

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

bitIndex

number

位索引,不小于0

Returns

void


orInPlace()

static orInPlace(target, other): void

Defined in: packages/core/src/ECS/Utils/BigIntCompatibility.ts:242

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

Parameters

target

BitMask64Data

目标掩码(原地修改)

other

BitMask64Data

用于按位或的掩码

Returns

void


andInPlace()

static andInPlace(target, other): void

Defined in: packages/core/src/ECS/Utils/BigIntCompatibility.ts:274

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

Parameters

target

BitMask64Data

目标掩码(原地修改)

other

BitMask64Data

用于按位与的掩码

Returns

void


xorInPlace()

static xorInPlace(target, other): void

Defined in: packages/core/src/ECS/Utils/BigIntCompatibility.ts:305

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

Parameters

target

BitMask64Data

目标掩码(原地修改)

other

BitMask64Data

用于按位异或的掩码

Returns

void


clear()

static clear(mask): void

Defined in: packages/core/src/ECS/Utils/BigIntCompatibility.ts:333

清除掩码的所有位为0

Parameters

mask

BitMask64Data

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

Returns

void


copy()

static copy(source, target): void

Defined in: packages/core/src/ECS/Utils/BigIntCompatibility.ts:350

将源掩码的值复制到目标掩码,如果source包含扩展段,则target也会至少扩展到source扩展段的长度

Parameters

source

BitMask64Data

源掩码

target

BitMask64Data

目标掩码(原地修改)

Returns

void


clone()

static clone(mask): BitMask64Data

Defined in: packages/core/src/ECS/Utils/BigIntCompatibility.ts:382

创建掩码的深拷贝

Parameters

mask

BitMask64Data

要拷贝的掩码

Returns

BitMask64Data

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


toString()

static toString(mask, radix, printHead): string

Defined in: packages/core/src/ECS/Utils/BigIntCompatibility.ts:396

将掩码转换为字符串表示,每个区段之间将使用空格分割。

Parameters

mask

BitMask64Data

要转换的掩码

radix

进制,支持2(二进制)或16(十六进制),默认为2,其他的值被视为2

2 | 16

printHead

boolean = false

打印头

Returns

string

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


popCount()

static popCount(mask): number

Defined in: packages/core/src/ECS/Utils/BigIntCompatibility.ts:449

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

Parameters

mask

BitMask64Data

要计算的掩码

Returns

number

掩码中1的位数

Released under the MIT License.