prendy
Version:
Make games with prerendered backdrops using babylonjs and repond
34 lines (33 loc) • 2.44 kB
TypeScript
import { AbstractMesh } from "@babylonjs/core";
import { MyTypes } from "../../declarations";
import { InRangeForDoll, defaultInRangeForDoll } from "../../helpers/prendyUtils/dolls";
export default function get_dollStoreUtils<T_MyTypes extends MyTypes = MyTypes>(prendyAssets: T_MyTypes["Assets"]): {
makeModelAnimWeightsMoverState: <T_ModelName extends string>(modelName: T_ModelName) => <T_Name extends string, T_PhysicsNames extends string, T_InitialState extends {
value?: Record<string, number> | undefined;
valueGoal?: Record<string, number> | undefined;
isMoving?: boolean | undefined;
moveConfigName?: T_PhysicsNames | undefined;
moveMode?: import("repond-movers/src/types").MoveMode | undefined;
moveConfigs?: Record<T_PhysicsNames, import("repond-movers/src/types").PhysicsOptions> | undefined;
}>(newName: T_Name, initialState?: T_InitialState | undefined) => Record<T_Name, Record<string, number>> & import("repond-movers/src/utils").NewProps<T_Name, Record<string, number>> & (T_InitialState["moveConfigName"] extends undefined ? {} : Record<`${T_Name}MoveConfigName`, T_PhysicsNames>) & (T_InitialState["moveConfigs"] extends undefined ? {} : Record<`${T_Name}MoveConfigs`, Record<T_PhysicsNames, import("repond-movers/src/types").PhysicsOptions>>);
makeToggledMeshesState: <T_ModelName_1 extends string>(modelName: T_ModelName_1) => Record<string, boolean>;
modelMoverRefs: <T_ModelName_2 extends string, T_MoverName extends string>(modelName: T_ModelName_2, moverName: T_MoverName) => Record<`${T_MoverName}MoverRefs`, {
stateNames: {
value: T_MoverName;
valueGoal: `${T_MoverName}Goal`;
isMoving: `${T_MoverName}IsMoving`;
moveMode: `${T_MoverName}MoveMode`;
physicsConfigName: `${T_MoverName}MoveConfigName` | undefined;
physicsConfigs: `${T_MoverName}MoveConfigs` | undefined;
};
physicsConfigs: import("repond-movers/src/types").DefinedPhysicsConfig | undefined;
animRefs: Record<string, {
velocity: number;
recentSpeeds: number[];
}>;
animNames: readonly string[];
}>;
modelOtherMeshesRefs: <T_ModelName_3 extends string>(modelName: T_ModelName_3) => Record<string, AbstractMesh | null>;
defaultInRangeForDoll: typeof defaultInRangeForDoll;
defaultInRange: () => Record<string, InRangeForDoll>;
};