Interfaces.ts
1 export const enum GeometryType { 2 PointCircle = 'pointCircle', 3 PointSquare = 'pointSquare', 4 SpawnTerritory = 'spawnTerritory' 5 } 6 7 export type GeometryParameters = Record<string, number> 8 9 export interface CircleGeometryParameters extends GeometryParameters { 10 minRadius: number 11 maxRadius: number 12 stepIncrement: number 13 } 14 15 export interface SquareGeometryParameters extends GeometryParameters { 16 xLength: number 17 yLength: number 18 xIncrement: number 19 yIncrement: number 20 } 21 22 /* 23 Special use for spawn territories which are not part of normal 24 geometries (drops/moves), however are used as geometry points for spawn position. 25 */ 26 export interface TerritoryPointsParameters extends GeometryParameters { 27 minX: number 28 minY: number 29 maxX: number 30 maxY: number 31 distance: number 32 centerX: number 33 centerY: number 34 size: number 35 } 36 37 export interface IGeometryGenerator { 38 getName() : string 39 generatePoints() : Buffer 40 getParameters() : GeometryParameters 41 getType() : GeometryType 42 getSize() : number 43 }