mirror of
https://github.com/unanmed/HumanBreak.git
synced 2025-04-30 03:03:24 +08:00
123 lines
2.2 KiB
Markdown
123 lines
2.2 KiB
Markdown
# 类 Range
|
|
|
|
游戏进程类,渲染进程也可以使用
|
|
|
|
- 实例成员
|
|
- [`collection`](#collection)
|
|
- [`cache`](#cache)
|
|
- 实例方法
|
|
- 构造器[`constructor`](#constructor)
|
|
- [`scan`](#scan)
|
|
- [`inRange`](#inrange)
|
|
- [`clearCache`](#clearcache)
|
|
- 静态成员
|
|
- [`rangeType`](#rangetype)
|
|
- 静态方法
|
|
- [`registerRangeType`](#registerrangetype)
|
|
|
|
## 部分接口说明
|
|
|
|
```ts
|
|
interface RangeCollection {
|
|
list: Partial<Loc>[]
|
|
range: Range
|
|
}
|
|
```
|
|
|
|
- `list`: 所有可能被这个范围实例扫描到的内容,是一个对象,可选包含 `x` `y` 两个属性
|
|
- `range`: 这个内容集所属的范围实例
|
|
|
|
## collection
|
|
|
|
```ts
|
|
declare var range: RangeCollection
|
|
```
|
|
|
|
- 成员说明
|
|
|
|
存储所有可能被这个范围实例扫描到的内容
|
|
|
|
## cache
|
|
|
|
```ts
|
|
declare var cache: Record<string, any>
|
|
```
|
|
|
|
- 成员说明
|
|
|
|
缓存,一般需要你手动操作,内容随意
|
|
|
|
## constructor()
|
|
|
|
```ts
|
|
interface Range {
|
|
new(collection: RangeCollection): Range
|
|
}
|
|
```
|
|
|
|
## scan()
|
|
|
|
```ts
|
|
declare function scan(type: string, data: any): any[]
|
|
```
|
|
|
|
- 参数说明
|
|
|
|
- `type`: 范围类型,系统自带 `square` 和 `manhattan`,表示方形与曼哈顿范围
|
|
- `data`: 传入给扫描函数的数据,例如可以是范围的坐标与大小等
|
|
|
|
- 方法说明
|
|
|
|
扫描 collection 中在范围内的物品
|
|
|
|
- 返回值
|
|
|
|
所有在范围内的物品构成的数组
|
|
|
|
## inRange()
|
|
|
|
```ts
|
|
declare function inRange(type: string, data: any, item: Partial<Loc>): boolean
|
|
```
|
|
|
|
- 方法说明
|
|
|
|
判断一个物品是否在指定范围中,用法与 [`scan`](#scan) 类似
|
|
|
|
## clearCache()
|
|
|
|
```ts
|
|
declare function clearCache(): void
|
|
```
|
|
|
|
## rangeType
|
|
|
|
```ts
|
|
declare var rangeType: Record<string, RangeType>
|
|
```
|
|
|
|
- 静态成员说明
|
|
|
|
存储了所有注册的范围类型
|
|
|
|
- 接口 `RangeType`
|
|
|
|
```ts
|
|
interface RangeType {
|
|
scan: RangeScanFn;
|
|
inRange: InRangeFn;
|
|
}
|
|
```
|
|
|
|
## registerRangeType()
|
|
|
|
```ts
|
|
declare function registerRangeType(
|
|
type: string,
|
|
scan: RangeScanFn<Partial<Loc>>,
|
|
inRange: InRangeFn<Partial<Loc>>
|
|
)
|
|
```
|
|
|
|
- 参考[范围处理](../../guide/battle.md#范围处理)
|