UNPKG

prendy

Version:

Make games with prerendered backdrops using babylonjs and repond

96 lines (95 loc) 3.25 kB
export type CharacterOptionsPlaceholder<CharacterName extends string, DollName extends string, FontName extends string> = Record<CharacterName, { doll: any; font: any; }>; export type DollOptionsPlaceholder<DollName extends string, ModelName extends string> = Record<DollName, { model: any; }>; export type PlaceInfoByNamePlaceholder<PlaceName extends string> = Record<PlaceName, { modelFile: string; cameraNames: readonly string[]; segmentNames: readonly string[]; wallNames: readonly string[]; floorNames: readonly string[]; triggerNames: readonly string[]; spotNames: readonly string[]; soundspotNames: readonly string[]; probesByCamera: Record<string, string>; backdropsByCamera: Record<string, Record<string, { frameRate: number; totalFrames: number; maxFramesPerRow: number; textures: Array<{ color: string; depth: string; }>; }>>; segmentNamesByCamera: Record<string, Array<string>>; }>; export type ModelInfoByNamePlaceholder<ModelName extends string> = Record<ModelName, { modelFile: string; animationNames: readonly string[]; boneNames: readonly string[]; meshNames: readonly string[]; materialNames: readonly string[]; skeletonName: string; }>; export type PickupsInfoPlaceholder<PickupName extends string> = Record<PickupName, { name: string; hint: string; image: string; }>; export type DeepWriteable<T> = { -readonly [P in keyof T]: DeepWriteable<T[P]>; }; type ToNewOptionUntyped = { toPlace: string; toSpot: string; toCam?: string; toSegment?: string; }; export type PrendyOptionsUntyped = { place: string; segment: string; camera: string; heldPickups: string[]; playerCharacter: string; playerAnimations: { walking: string; idle: string; }; zoomLevels: { default: number; max: number; }; walkSpeed: number; gameTimeSpeed: number; headHeightOffsets: Record<string, number>; doorsInfo?: Partial<Record<string, Partial<Record<string, ToNewOptionUntyped>>>>; modelNamesByPlace: Record<string, string[]>; hasInteracting?: boolean; hasJumping?: boolean; }; type ToPlaceOption<AnyCameraName extends string, AnySegmentName extends string, PlaceName extends string, AnySpotName extends string> = { toPlace: PlaceName; toSpot: AnySpotName; toCam?: AnyCameraName; toSegment?: AnySegmentName; }; export type PrendyOptionsGeneric<AnyCameraName extends string, AnySegmentName extends string, PlaceName extends string, CharacterName extends string, PickupName extends string, ModelName extends string, AnySpotName extends string> = { place: PlaceName; segment: AnySegmentName; camera: AnyCameraName; heldPickups: PickupName[]; playerCharacter: CharacterName; zoomLevels: { default: number; max: number; }; walkSpeed: number; gameTimeSpeed: number; headHeightOffsets: Record<string, number>; doorsInfo?: Partial<Record<PlaceName, Partial<Record<string, ToPlaceOption<AnyCameraName, AnySegmentName, PlaceName, AnySpotName>>>>>; modelNamesByPlace: Record<PlaceName, ModelName[]>; }; export {};