mirror of
https://github.com/unanmed/HumanBreak.git
synced 2025-04-19 17:16:08 +08:00
164 lines
3.1 KiB
Markdown
164 lines
3.1 KiB
Markdown
# 类 EnemyCollection
|
|
|
|
游戏进程类,渲染进程也可以使用
|
|
|
|
- 实例成员
|
|
- [`floorId`](#floorid)
|
|
- [`list`](#list)
|
|
- [`range`](#range)
|
|
- [`mapDamage`](#mapdamage)
|
|
- [`haloList`](#halolist)
|
|
- 实例方法
|
|
- 构造器[`constructor`](#constructor)
|
|
- [`get`](#get)
|
|
- [`extract`](#extract)
|
|
- [`calRealAttribute`](#calrealattribute)
|
|
- [`calMapDamage`](#calmapdamage)
|
|
- [`applyHalo`](#applyhalo)
|
|
- [`preBalanceHalo`](#prebalancehalo)
|
|
- [`render`](#render)
|
|
|
|
## floorId
|
|
|
|
```ts
|
|
declare var floorId: string
|
|
```
|
|
|
|
- 成员说明
|
|
|
|
怪物集合所属楼层
|
|
|
|
## list
|
|
|
|
```ts
|
|
declare var list: DamageEnemy[]
|
|
```
|
|
|
|
- 成员说明
|
|
|
|
这个怪物集合中所有的怪物
|
|
|
|
## mapDamage
|
|
|
|
```ts
|
|
declare var mapDamage: Record<LocString, MapDamage>
|
|
```
|
|
|
|
- 成员说明
|
|
|
|
存储了当前楼层的所有地图伤害,键为位置,格式为 `x,y`,值为这一点的伤害信息
|
|
|
|
- 接口 `MapDamage`
|
|
|
|
```ts
|
|
interface MapDamage {
|
|
damage: number;
|
|
type: Set<string>;
|
|
repulse?: LocArr[];
|
|
ambush?: DamageEnemy[];
|
|
}
|
|
```
|
|
|
|
- `damage`: 这一点的伤害值
|
|
- `type`: 这一点的伤害类型集合,例如阻击夹击伤害等
|
|
- `repulse`: 阻击信息
|
|
- `ambush`: 捕捉信息
|
|
|
|
## haloList
|
|
|
|
```ts
|
|
declare var haloList: HaloData[]
|
|
```
|
|
|
|
## constructor()
|
|
|
|
```ts
|
|
interface EnemyCollection {
|
|
new(floorId: string): EnemyCollection
|
|
}
|
|
```
|
|
|
|
## get()
|
|
|
|
```ts
|
|
declare function get(x: number, y: number): DamageEnemy | undefined
|
|
```
|
|
|
|
- 方法说明
|
|
|
|
获取指定位置的怪物实例,不存在则返回 `undefined`
|
|
|
|
## extract()
|
|
|
|
```ts
|
|
declare function extract(): void
|
|
```
|
|
|
|
- 方法说明
|
|
|
|
解析当前地图的怪物信息,将每个怪物都生成一个 [`DamageEnemy`](./damage-enemy.md) 实例,并添加到 [`list`](#list) 中
|
|
|
|
## calRealAttribute()
|
|
|
|
```ts
|
|
declare function calRealAttribute(): void
|
|
```
|
|
|
|
- 方法说明
|
|
|
|
计算怪物的真实属性,即经过各种属性光环等加成后的属性
|
|
|
|
## calMapDamage()
|
|
|
|
```ts
|
|
declare function calMapDamage(): void
|
|
```
|
|
|
|
- 方法说明
|
|
|
|
计算当前地图的地图伤害信息
|
|
|
|
## applyHalo()
|
|
|
|
```ts
|
|
declare function applyHalo(
|
|
type: string,
|
|
data: any,
|
|
enemy: DamageEnemy,
|
|
halo: HaloFn | HaloFn[],
|
|
recursion: boolean = false
|
|
): void
|
|
```
|
|
|
|
- 参数说明
|
|
|
|
- `type`: 光环范围类型,例如方形范围等
|
|
- `data`: 范围参数,例如方形范围就要传入位置即边长
|
|
- `enemy`: 施加光环的怪物
|
|
- `halo`: 光环执行函数,用于给怪物增加属性,如果传入数组,那么每个都会执行
|
|
- `recursion`: 对于一般光环,填 `false` 即可,对于可以加光环或者特殊属性的光环,需要填 `true`
|
|
|
|
- 方法说明
|
|
|
|
给同楼层的怪物施加光环
|
|
|
|
## preBalanceHalo()
|
|
|
|
```ts
|
|
declare function preBalanceHalo(): void
|
|
```
|
|
|
|
- 方法说明
|
|
|
|
预平衡光环,用于处理可以加光环或者特殊属性的光环
|
|
|
|
## render()
|
|
|
|
```ts
|
|
declare function render(): void
|
|
```
|
|
|
|
- 方法说明
|
|
|
|
渲染所有的伤害信息,包括地图伤害与临界
|