70 lines
1.2 KiB
TypeScript
70 lines
1.2 KiB
TypeScript
/*
|
|
Generated by typeshare 1.5.0
|
|
*/
|
|
|
|
export interface PlayStoneRequest {
|
|
column: number;
|
|
row: number;
|
|
}
|
|
|
|
export interface Size {
|
|
width: number;
|
|
height: number;
|
|
}
|
|
|
|
export type IntersectionElement =
|
|
| { type: "Unplayable", content?: undefined }
|
|
| { type: "Empty", content: Request }
|
|
| { type: "Filled", content: StoneElement };
|
|
|
|
export interface BoardElement {
|
|
size: Size;
|
|
spaces: IntersectionElement[];
|
|
}
|
|
|
|
export enum Color {
|
|
Black = "Black",
|
|
White = "White",
|
|
}
|
|
|
|
export interface PlayerCardElement {
|
|
color: Color;
|
|
name: string;
|
|
rank: string;
|
|
clock: string;
|
|
}
|
|
|
|
export interface ChatElement {
|
|
messages: string[];
|
|
}
|
|
|
|
export interface TextFieldElement {
|
|
}
|
|
|
|
export interface PlayingFieldView {
|
|
board: BoardElement;
|
|
player_card_black: PlayerCardElement;
|
|
player_card_white: PlayerCardElement;
|
|
chat: ChatElement;
|
|
message: TextFieldElement;
|
|
current_player: Color;
|
|
}
|
|
|
|
export interface Jitter {
|
|
x: number;
|
|
y: number;
|
|
}
|
|
|
|
export interface StoneElement {
|
|
color: Color;
|
|
jitter: Jitter;
|
|
}
|
|
|
|
export type Request =
|
|
| { type: "PlayingField", content?: undefined }
|
|
| { type: "PlayStoneRequest", content: PlayStoneRequest };
|
|
|
|
export type Response =
|
|
| { type: "PlayingFieldView", content: PlayingFieldView };
|
|
|