跳到主要内容

unpackTeamData 解包角色队伍数据

unpackTeamData

类型: MethodDeclaration

定义位置: actor.ts

描述

解包角色队伍数据

参数 keys: 队伍的ID列表

参数 data: 队伍的数据

返回值:解码后的队伍数据

参数

参数名类型描述默认值
keysstring\[\]--
dataany--

返回值

类型: UnpackedTeamData

解码后的队伍数据

源代码

位置: 第 124 行

private unpackTeamData(keys: string[], data: any): UnpackedTeamData {
const relationsMap: HashMap<HashMap<number>> = {}
const collisionsMap: HashMap<HashMap<number>> = {}
const length = keys.length
// 解码已压缩的队伍关系数据
const sRelations = Codec.decodeTeamData(data.relations, length)
const sCollisions = Codec.decodeTeamData(data.collisions, length)
const a = length * 2
// 构建完整的队伍关系数据结构
for (let i = 0; i < length; i++) {
const dRelations: HashMap<number> = {}
const dCollisions: HashMap<number> = {}
for (let j = 0; j < i; j++) {
const ri = (a - j + 1) / 2 * j - j + i
dRelations[keys[j]] = sRelations[ri]
dCollisions[keys[j]] = sCollisions[ri]
}
const b = (a - i + 1) / 2 * i - i
for (let j = i; j < length; j++) {
const ri = b + j
dRelations[keys[j]] = sRelations[ri]
dCollisions[keys[j]] = sCollisions[ri]
}
relationsMap[keys[i]] = dRelations
collisionsMap[keys[i]] = dCollisions
}
return {relationsMap, collisionsMap}
}

文档生成时间:2025/7/7 12:07:06