UNPKG

goban

Version:

[![License: Apache-2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)

66 lines (65 loc) 2.99 kB
import { GobanInteractive, MoveCommand } from "./InteractiveBase"; import { GobanConfig } from "../GobanBase"; import { AdHocClock, AdHocPlayerClock, GobanSocket, GobanSocketEvents, GobanEngine, JGOFPlayerClock, JGOFTimeControl, ReviewMessage } from "../engine"; interface JGOFPlayerClockWithTimedOut extends JGOFPlayerClock { timed_out: boolean; } /** * This class serves as a functionality layer encapsulating the logic connection * that manages connections to the online-go.com servers. * * We have it as a separate base class simply to help with code organization * and to keep our Goban class size down. */ export declare abstract class OGSConnectivity extends GobanInteractive { sent_timed_out_message: boolean; protected socket: GobanSocket; protected socket_event_bindings: Array<[keyof GobanSocketEvents, () => void]>; protected connectToReviewSent?: boolean; constructor(config: GobanConfig, preloaded_data?: GobanConfig); protected post_config_constructor(): GobanEngine; destroy(): void; protected _socket_on<KeyT extends keyof GobanSocketEvents>(event: KeyT, cb: any): void; protected getClockDrift(): number; protected getNetworkLatency(): number; protected connect(server_socket: GobanSocket): void; protected disconnect(): void; sendChat(msg_body: string, type: string): void; /** * When we think our clock has runout, send a message to the server * letting it know. Otherwise we have to wait for the server grace * period to expire for it to time us out. */ sendTimedOut(): void; syncReviewMove(msg_override?: ReviewMessage, node_text?: string): void; protected sendMove(mv: MoveCommand, cb?: () => void): boolean; giveReviewControl(player_id: number): void; saveConditionalMoves(): void; resign(): void; protected sendPendingResignation(): void; protected clearPendingResignation(): void; cancelGame(): void; protected annul(): void; pass(): void; requestUndo(): void; acceptUndo(): void; cancelUndo(): void; pauseGame(): void; resumeGame(): void; deleteBranch(): void; /** This is a callback that gets called by GobanEngine.setState to load * previously saved board state. */ setState(): void; sendPreventStalling(winner: "black" | "white"): void; sendPreventEscaping(winner: "black" | "white", annul: boolean): void; performStoneRemovalAutoScoring(): void; acceptRemovedStones(): void; rejectRemovedStones(): void; getPlayerRelativeLatency(player_id: number): number; getLastReviewMessage(): ReviewMessage; setLastReviewMessage(m: ReviewMessage): void; setGameClock(original_clock: AdHocClock | null): void; protected computeNewPlayerClock(original_player_clock: Readonly<AdHocPlayerClock>, is_current_player: boolean, time_elapsed: number, time_control: Readonly<JGOFTimeControl>): JGOFPlayerClockWithTimedOut; setStrictSekiMode(tf: boolean): void; } export {};