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.
Application-Web/src/model/tactic/Tactic.ts

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[]
}