leaky-ships/leaky-ships/interfaces/frontend.ts
2023-01-28 20:20:43 +01:00

50 lines
920 B
TypeScript

export interface Position {
x: number,
y: number
}
export interface Target extends Position {
preview: boolean,
show: boolean
}
export interface MouseCursor extends Position {
shouldShow: boolean
}
export interface TargetList extends Position {
type: string,
edges: string[]
}
export interface Mode {
pointerGrid: any[][],
type: string
}
export interface Items {
icon: string,
text: string,
mode?: number,
amount?: number,
}
export interface Field extends Position {
field: string
}
export interface Hit extends Position {
hit: boolean
}
interface fireMissile {
type: 'fireMissile',
payload: {
x: number,
y: number,
hit: boolean
}
}
interface removeMissile {
type: 'removeMissile',
payload: {
x: number,
y: number,
hit: boolean
}
}
export type HitDispatch = fireMissile | removeMissile