Compare commits

...
7 Commits
6 changed files with 24 additions and 20 deletions
+2 -2
View File
@@ -1,5 +1,5 @@
import { ContainerVisibility, IContainer, IFireGemsStack, IInteractibleContainer, IMarket, IMarketStack, IPlayableContainer, IPlayerBoard, IPlayerDiscard, IPlayerHand, IPlayerStack } from "../generic/containers.js"
import { IGameObject, ICard, IPlayer, IGame } from "../generic/index.js"
import type { IContainer, IFireGemsStack, IInteractibleContainer, IMarket, IMarketStack, IPlayableContainer, IPlayerBoard, IPlayerDiscard, IPlayerHand, IPlayerStack } from "../generic/containers.js"
import type { ICard } from "../generic/index.js"
export interface ICContainer<T> extends IContainer<T> {
onCardsAppend: (cards: Array<ICard>) => void
+6 -3
View File
@@ -1,6 +1,5 @@
import { IFireGemsStack, IMarket, IMarketStack, IPlayerBoard, IPlayerDiscard, IPlayerHand } from "../generic/containers.js"
import { ICard, IEffect, IGame, IGameObject, ILobby, IPlayer, ITeam, ITurn, IUser } from "../generic/index.js"
import { ISLobby } from "../server/index.js"
import type { ICard, IEffect, IGame, ILobby, IPlayer, ITeam, ITurn, IUser } from "../generic/index.js"
import type { ISLobby } from "../server/index.js"
export interface ICEffect extends IEffect {
@@ -55,4 +54,8 @@ export interface ICUser extends IUser {
}
export interface ICLobby extends ILobby {
request_createGame: () => Promise<ReturnType<ISLobby["request_createGame"]>>
// request_login: () => Promise<ReturnType<ISLobby["request_login"]>>
onAddGame: (args: ReturnType<ISLobby["createGame"]>) => void
onRemoveGame: (args: ReturnType<ISLobby["removeGame"]>) => void
}
+1 -1
View File
@@ -1,4 +1,4 @@
import { ICard, IGame, IGameObject, IPlayer } from "./index.js"
import type { ICard, IGame, IGameObject, IPlayer } from "./index.js"
export enum ContainerVisibility {
NONE = "none",
+2 -3
View File
@@ -1,10 +1,10 @@
import { WebSocket } from "ws"
import { IFireGemsStack, IMarket, IMarketStack, IPlayerBoard, IPlayerDiscard, IPlayerHand } from "./containers.js"
import type { IFireGemsStack, IMarket, IMarketStack, IPlayerBoard, IPlayerDiscard, IPlayerHand } from "./containers.js"
export const ClientQueryType = {
ACTION: "action",
SUBSCRIBE: "subscribe",
UNSUBSCRIBE: "unsubscribe",
LOGIN: "login"
} as const
export const ServerQueryType = {
@@ -91,5 +91,4 @@ export interface IUser extends IGameObject {
export interface ILobby extends IGameObject {
removeGame: () => void
}
+2 -3
View File
@@ -1,6 +1,5 @@
import { ContainerVisibility, IContainer, IFireGemsStack, IInteractibleContainer, IMarket, IMarketStack, IPlayableContainer, IPlayerBoard, IPlayerDiscard, IPlayerHand, IPlayerStack } from "../generic/containers.js"
import { IGameObject, ICard, IPlayer, IGame } from "../generic/index.js"
import { ISCard } from "./index.js"
import type { IContainer, IFireGemsStack, IInteractibleContainer, IMarket, IMarketStack, IPlayableContainer, IPlayerBoard, IPlayerDiscard, IPlayerHand, IPlayerStack } from "../generic/containers.js"
import type { ISCard } from "./index.js"
export interface ISContainer<T> extends IContainer<T> {
appendCards: (cards: Array<ISCard>) => void
+11 -8
View File
@@ -1,4 +1,4 @@
import { ICard, IEffect, IGame, ILobby, IPlayer, ITeam, ITurn, IUser, ServerMessage } from "../generic/index.js"
import type { ICard, IEffect, IGame, ILobby, IPlayer, ITeam, ITurn, IUser, ServerMessage } from "../generic/index.js"
import { WebSocket } from "ws"
export interface ISClientProvider {
@@ -6,9 +6,12 @@ export interface ISClientProvider {
send: (message: ServerMessage) => void
}
export interface ISQuery {
provider: ISClientProvider
accept: (message: ServerMessage) => void
cancel: (message: ServerMessage) => void
readonly provider: ISClientProvider
readonly args: { [key: string]: string } | string
readonly method?: string
readonly target: string
accept: (message: Omit<ServerMessage, "answer_to">) => void
cancel: (message: Omit<ServerMessage, "answer_to">) => void
error: (message: string) => void
}
@@ -57,9 +60,9 @@ export interface ISUser extends IUser {
}
export interface ISLobby extends ILobby {
createGame: () => void
request_createGame: (query: ISQuery) => void
request_login: (query: ISQuery) => void
createGame: () => string
removeGame: (game: ISGame) => void
subscribe: (query: ISQuery) => any
request_createGame: (query: ISQuery) => void
// request_login: (query: ISQuery) => void
}