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