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
包含指定位设置为1的掩码
Throws
当位索引超出范围时抛出错误
fromNumber()
static
fromNumber(value
):BitMask64Data
Defined in: ECS/Utils/BigIntCompatibility.ts:53
从32位数字创建64位掩码
Parameters
value
number
32位数字值
Returns
低32位为输入值、高32位为0的掩码
hasAny()
static
hasAny(mask
,bits
):boolean
Defined in: ECS/Utils/BigIntCompatibility.ts:63
检查掩码是否包含任意指定的位
Parameters
mask
要检查的掩码
bits
指定的位模式
Returns
boolean
如果掩码包含bits中的任意位则返回true
hasAll()
static
hasAll(mask
,bits
):boolean
Defined in: ECS/Utils/BigIntCompatibility.ts:74
检查掩码是否包含所有指定的位 支持扩展模式,自动处理超过 64 位的掩码
Parameters
mask
要检查的掩码
bits
指定的位模式
Returns
boolean
如果掩码包含bits中的所有位则返回true
hasNone()
static
hasNone(mask
,bits
):boolean
Defined in: ECS/Utils/BigIntCompatibility.ts:117
检查掩码是否不包含任何指定的位
Parameters
mask
要检查的掩码
bits
指定的位模式
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
第一个掩码
b
第二个掩码
Returns
boolean
如果两个掩码完全相等则返回true
setBit()
static
setBit(mask
,bitIndex
):void
Defined in: ECS/Utils/BigIntCompatibility.ts:146
设置掩码中指定位为1
Parameters
mask
要修改的掩码(原地修改)
bitIndex
number
位索引,范围 [0, 63]
Returns
void
Throws
当位索引超出范围时抛出错误
clearBit()
static
clearBit(mask
,bitIndex
):void
Defined in: ECS/Utils/BigIntCompatibility.ts:164
清除掩码中指定位为0
Parameters
mask
要修改的掩码(原地修改)
bitIndex
number
位索引,范围 [0, 63]
Returns
void
Throws
当位索引超出范围时抛出错误
orInPlace()
static
orInPlace(target
,other
):void
Defined in: ECS/Utils/BigIntCompatibility.ts:181
对目标掩码执行按位或操作
Parameters
target
目标掩码(原地修改)
other
用于按位或的掩码
Returns
void
andInPlace()
static
andInPlace(target
,other
):void
Defined in: ECS/Utils/BigIntCompatibility.ts:191
对目标掩码执行按位与操作
Parameters
target
目标掩码(原地修改)
other
用于按位与的掩码
Returns
void
xorInPlace()
static
xorInPlace(target
,other
):void
Defined in: ECS/Utils/BigIntCompatibility.ts:201
对目标掩码执行按位异或操作
Parameters
target
目标掩码(原地修改)
other
用于按位异或的掩码
Returns
void
clear()
static
clear(mask
):void
Defined in: ECS/Utils/BigIntCompatibility.ts:210
清除掩码的所有位为0
Parameters
mask
要清除的掩码(原地修改)
Returns
void
copy()
static
copy(source
,target
):void
Defined in: ECS/Utils/BigIntCompatibility.ts:220
将源掩码的值复制到目标掩码
Parameters
source
源掩码
target
目标掩码(原地修改)
Returns
void
clone()
static
clone(mask
):BitMask64Data
Defined in: ECS/Utils/BigIntCompatibility.ts:230
创建掩码的深拷贝
Parameters
mask
要拷贝的掩码
Returns
新的掩码对象,内容与源掩码相同
toString()
static
toString(mask
,radix
):string
Defined in: ECS/Utils/BigIntCompatibility.ts:241
将掩码转换为字符串表示
Parameters
mask
要转换的掩码
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
要计算的掩码
Returns
number
掩码中1的位数
setBitExtended()
static
setBitExtended(mask
,bitIndex
):void
Defined in: ECS/Utils/BigIntCompatibility.ts:291
设置扩展位(支持超过 64 位的索引)
Parameters
mask
要修改的掩码(原地修改)
bitIndex
number
位索引(可以超过 63)
Returns
void
getBitExtended()
static
getBitExtended(mask
,bitIndex
):boolean
Defined in: ECS/Utils/BigIntCompatibility.ts:330
获取扩展位(支持超过 64 位的索引)
Parameters
mask
要检查的掩码
bitIndex
number
位索引(可以超过 63)
Returns
boolean
如果位被设置则返回 true
clearBitExtended()
static
clearBitExtended(mask
,bitIndex
):void
Defined in: ECS/Utils/BigIntCompatibility.ts:364
清除扩展位(支持超过 64 位的索引)
Parameters
mask
要修改的掩码(原地修改)
bitIndex
number
位索引(可以超过 63)
Returns
void