narraleaf-react
Version:
A React visual novel player framework
27 lines (26 loc) • 2.19 kB
TypeScript
import { DisplayableActionContentType, DisplayableActionTypes } from "../../action/actionTypes";
import { GameState } from "../../../player/gameState";
import { TypedAction } from "../../action/actions";
import { Awaitable, Values } from "../../../../util/data";
import { Displayable } from "../../elements/displayable/displayable";
import type { CalledActionResult } from "../../gameTypes";
import { Scene } from "../../elements/scene";
import { Transform } from "../../elements/transform/transform";
import { Transition } from "../../elements/transition/transition";
import { Layer } from "../../elements/layer";
import { LogicAction } from "../../action/logicAction";
import { ActionExecutionInjection, ExecutedActionResult } from "../../action/action";
import { Story } from "../../elements/story";
export declare class DisplayableAction<T extends Values<typeof DisplayableActionTypes> = Values<typeof DisplayableActionTypes>, Self extends Displayable<any, any, any> = Displayable<any, any>, TransitionType extends Transition = Transition> extends TypedAction<DisplayableActionContentType<TransitionType>, T, Self> {
static ActionTypes: {
readonly action: "displayable:action";
readonly applyTransform: "displayable:applyTransform";
readonly applyTransition: "displayable:applyTransition";
readonly init: "displayable:init";
};
executeAction(gameState: GameState, injection: ActionExecutionInjection): ExecutedActionResult;
applyTransform(state: GameState, element: Displayable<any, any>, transform: Transform, injection: ActionExecutionInjection, onFinished?: () => void): Awaitable<CalledActionResult, CalledActionResult>;
applyTransition(state: GameState, element: Displayable<any, any>, transition: TransitionType, injection: ActionExecutionInjection, onFinished?: () => void): Awaitable<CalledActionResult, CalledActionResult>;
initDisplayable(state: GameState, scene: Scene | null, element: Displayable<any, any>, layer: Layer | null, isElement: boolean | undefined, injection: ActionExecutionInjection): Awaitable<CalledActionResult>;
stringify(_story: Story, _seen: Set<LogicAction.Actions>, _strict: boolean): string;
}