HumanBreak/docs/api/class/enemy-collection.md
2024-03-01 19:52:30 +08:00

3.1 KiB

类 EnemyCollection

游戏进程类,渲染进程也可以使用

floorId

declare var floorId: string
  • 成员说明

    怪物集合所属楼层

list

declare var list: DamageEnemy[]
  • 成员说明

    这个怪物集合中所有的怪物

mapDamage

declare var mapDamage: Record<LocString, MapDamage>
  • 成员说明

    存储了当前楼层的所有地图伤害,键为位置,格式为 x,y,值为这一点的伤害信息

  • 接口 MapDamage

    interface MapDamage {
        damage: number;
        type: Set<string>;
        repulse?: LocArr[];
        ambush?: DamageEnemy[];
    }
    
    • damage: 这一点的伤害值
    • type: 这一点的伤害类型集合,例如阻击夹击伤害等
    • repulse: 阻击信息
    • ambush: 捕捉信息

haloList

declare var haloList: HaloData[]

constructor()

interface EnemyCollection {
    new(floorId: string): EnemyCollection
}

get()

declare function get(x: number, y: number): DamageEnemy | undefined
  • 方法说明

    获取指定位置的怪物实例,不存在则返回 undefined

extract()

declare function extract(): void
  • 方法说明

    解析当前地图的怪物信息,将每个怪物都生成一个 DamageEnemy 实例,并添加到 list

calRealAttribute()

declare function calRealAttribute(): void
  • 方法说明

    计算怪物的真实属性,即经过各种属性光环等加成后的属性

calMapDamage()

declare function calMapDamage(): void
  • 方法说明

    计算当前地图的地图伤害信息

applyHalo()

declare function applyHalo(
    type: string,
    data: any,
    enemy: DamageEnemy,
    halo: HaloFn | HaloFn[],
    recursion: boolean = false
): void
  • 参数说明

    • type: 光环范围类型,例如方形范围等
    • data: 范围参数,例如方形范围就要传入位置即边长
    • enemy: 施加光环的怪物
    • halo: 光环执行函数,用于给怪物增加属性,如果传入数组,那么每个都会执行
    • recursion: 对于一般光环,填 false 即可,对于可以加光环或者特殊属性的光环,需要填 true
  • 方法说明

    给同楼层的怪物施加光环

preBalanceHalo()

declare function preBalanceHalo(): void
  • 方法说明

    预平衡光环,用于处理可以加光环或者特殊属性的光环

render()

declare function render(): void
  • 方法说明

    渲染所有的伤害信息,包括地图伤害与临界