@benev/praxis
Version:
Multiplayer webgame laboratory
25 lines (24 loc) • 924 B
TypeScript
import { Content } from "@benev/slate";
import { Task } from "./parts/task.js";
import { LoadingOperation } from "./parts/operation.js";
export declare class Loader {
#private;
render: () => Content;
static transitionMs: number;
/**
* curtain state
* - 0 -- loading screen absent
* - 1 -- loading screen rendered invisible (fading)
* - 2 -- loading screen rendered visible (fading)
* - 3 -- loading screen rendered visible (stable)
*/
curtain: import("@benev/slate").Signal<number>;
/**
* indicates which part of a loading operation we're in
*/
stage: import("@benev/slate").Signal<"none" | "fade-in" | "loading" | "fade-out">;
/** loading tasks underway */
operation: import("@benev/slate").Signal<LoadingOperation | undefined>;
constructor(render: () => Content);
load(tasks: Task[], challenger: () => Content): Promise<undefined>;
}