prendy
Version:
Make games with prerendered backdrops using babylonjs and repond
50 lines (49 loc) • 1.79 kB
TypeScript
/// <reference types="node" />
import { CSSProperties } from "react";
import { MyTypes } from "../declarations";
import { FontName, CharacterName } from "../types";
export default function speechBubbles<T_MyTypes extends MyTypes = MyTypes>(prendyAssets: T_MyTypes["Assets"]): {
getDefaultState: <T_ItemName extends string>(_itemId: T_ItemName, options?: {
font?: FontName;
character?: CharacterName;
}) => {
isVisible: boolean;
isFullyHidden: boolean;
goalText: string;
visibleLetterAmount: number;
typingSpeed: number;
stylesBySpecialText: Record<string, CSSProperties>;
_specialTextByLetterIndex: Record<number, string>;
_goalTextWordLetterArrays: string[][];
forCharacter: string | null;
position: import("chootils/dist/points2d").Point2D;
typingFinished: boolean;
nowVideoName: string | null;
font: string;
zIndex: number;
};
getDefaultRefs: () => {
bubbleRef: any;
textRef: any;
currentTimeout: NodeJS.Timeout | null;
videoRef: HTMLVideoElement | null;
};
startStates: {
[x: string]: {
isVisible: boolean;
isFullyHidden: boolean;
goalText: string;
visibleLetterAmount: number;
typingSpeed: number;
stylesBySpecialText: Record<string, CSSProperties>;
_specialTextByLetterIndex: Record<number, string>;
_goalTextWordLetterArrays: string[][];
forCharacter: string | null;
position: import("chootils/dist/points2d").Point2D;
typingFinished: boolean;
nowVideoName: string | null;
font: string;
zIndex: number;
};
};
};