UNPKG

narraleaf-react

Version:

A React visual novel player framework

30 lines (29 loc) 1.52 kB
import { AnimationController, AnimationDataTypeArray, AnimationTaskMapArray, ElementProp, TransitionAnimationType, TransitionResolver, TransitionTask } from "../../elements/transition/type"; import { GameState } from "../../../player/gameState"; export declare abstract class Transition<T extends HTMLElement = HTMLElement, U extends TransitionAnimationType[] = any> { static AnimationType: typeof TransitionAnimationType; /** * Create a transition task, this method shouldn't have any side effects */ abstract createTask(gameState: GameState): TransitionTask<T, U>; abstract copy(): any; /**@package */ requestAnimations(tasks: AnimationTaskMapArray<U>): AnimationController<U>; /**@package */ toFinalStyle(task: TransitionTask<T, U>): ElementProp<T>[]; /** * Mark the resolver as the current state * * any resolver that is marked as current will be applied to the current state * and be disposed of when the transition is completed */ asPrev<U extends TransitionAnimationType[] = any>(resolver: (...args: AnimationDataTypeArray<U>) => ElementProp<T>): TransitionResolver<T, U>; /** * Mark the resolver as the target state * * any resolver that is marked as a target will be kept as the target state after the transition */ asTarget<U extends TransitionAnimationType[] = any>(resolver: (...args: AnimationDataTypeArray<U>) => ElementProp<T>): TransitionResolver<T, U>; /**@package */ private requestMotion; }