You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
710 B
35 lines
710 B
import { Player, PlayerPhantom } from "./Player"
|
|
import { Action } from "./Action"
|
|
import { CourtObject } from "./CourtObjects"
|
|
|
|
export type CourtType = "HALF" | "PLAIN"
|
|
|
|
export interface Tactic {
|
|
id: number
|
|
name: string
|
|
courtType: CourtType
|
|
content: TacticContent
|
|
}
|
|
|
|
export interface TacticContent {
|
|
components: TacticComponent[]
|
|
}
|
|
|
|
export type TacticComponent = Player | CourtObject | PlayerPhantom
|
|
export type ComponentId = string
|
|
|
|
export interface Component<T, Positioning> {
|
|
/**
|
|
* The component's type
|
|
*/
|
|
readonly type: T
|
|
/**
|
|
* The component's identifier
|
|
*/
|
|
readonly id: ComponentId
|
|
|
|
readonly pos: Positioning,
|
|
|
|
readonly actions: Action[]
|
|
}
|