narraleaf-react
Version:
A React visual novel player framework
30 lines (29 loc) • 1.52 kB
TypeScript
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;
}