@novely/core 0.36.0 → 0.37.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +34 -2
- package/dist/index.global.js +2 -0
- package/dist/index.global.js.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -200,6 +200,7 @@ type Renderer = {
|
|
|
200
200
|
};
|
|
201
201
|
type RendererInit<$Language extends Lang, $Characters extends Record<string, Character<$Language>>> = {
|
|
202
202
|
characters: $Characters;
|
|
203
|
+
characterAssetSizes: CharacterAssetSizes<$Characters>;
|
|
203
204
|
set: (save: Save<State>) => Promise<void>;
|
|
204
205
|
restore: (save?: Save<State>) => Promise<void>;
|
|
205
206
|
save: (type: Save<State>[2][1]) => void;
|
|
@@ -233,7 +234,6 @@ type RendererInit<$Language extends Lang, $Characters extends Record<string, Cha
|
|
|
233
234
|
declare const getLanguage: (languages: string[]) => string;
|
|
234
235
|
|
|
235
236
|
type Thenable<T> = T | Promise<T>;
|
|
236
|
-
type NoInfer<T> = [T][T extends any ? 0 : never];
|
|
237
237
|
type PathItem = [null, number | string] | ['jump', string] | ['choice', number] | ['choice:exit'] | ['condition', string] | ['condition:exit'] | ['exit'] | ['block', string] | ['block:exit'];
|
|
238
238
|
type Path = PathItem[];
|
|
239
239
|
type State = Record<string, any>;
|
|
@@ -302,6 +302,12 @@ type TranslationDescription = {
|
|
|
302
302
|
type DefaultEmotions<$Characters extends Record<string, Character<Lang>>> = {
|
|
303
303
|
[Character in keyof $Characters]?: (keyof $Characters[Character]['emotions'] & string);
|
|
304
304
|
};
|
|
305
|
+
type CharacterAssetSizes<$Characters extends Record<string, Character<Lang>>> = {
|
|
306
|
+
[Character in keyof $Characters]?: {
|
|
307
|
+
width: number;
|
|
308
|
+
height: number;
|
|
309
|
+
};
|
|
310
|
+
};
|
|
305
311
|
interface NovelyInit<$Language extends Lang, $Characters extends Record<string, Character<NoInfer<$Language>>>, $State extends State, $Data extends Data, $Actions extends Record<string, (...args: any[]) => ValidAction>> {
|
|
306
312
|
/**
|
|
307
313
|
* An object containing the characters in the game.
|
|
@@ -350,6 +356,32 @@ interface NovelyInit<$Language extends Lang, $Characters extends Record<string,
|
|
|
350
356
|
* ```
|
|
351
357
|
*/
|
|
352
358
|
defaultEmotions?: DefaultEmotions<NoInfer<$Characters>>;
|
|
359
|
+
/**
|
|
360
|
+
* Character asset sizes. We need width-height pair to render character, but we get it only after the assets are loaded. However, using that option we can use width-height before load.
|
|
361
|
+
* @example
|
|
362
|
+
* ```
|
|
363
|
+
* import peter_the_great from './assets/peter_the_great.png?width=800&height=1200';
|
|
364
|
+
*
|
|
365
|
+
* const engine = novely({
|
|
366
|
+
* characters: {
|
|
367
|
+
* Peter: {
|
|
368
|
+
* name: 'Peter',
|
|
369
|
+
* color: '#c04931',
|
|
370
|
+
* emotions: {
|
|
371
|
+
* normal: peter_the_great
|
|
372
|
+
* }
|
|
373
|
+
* }
|
|
374
|
+
* },
|
|
375
|
+
* characterAssetSizes: {
|
|
376
|
+
* Peter: {
|
|
377
|
+
* width: 800,
|
|
378
|
+
* height: 1200
|
|
379
|
+
* }
|
|
380
|
+
* }
|
|
381
|
+
* })
|
|
382
|
+
* ```
|
|
383
|
+
*/
|
|
384
|
+
characterAssetSizes?: CharacterAssetSizes<NoInfer<$Characters>>;
|
|
353
385
|
/**
|
|
354
386
|
* An object that provides access to the game's storage system.
|
|
355
387
|
* @default localStorage // at key `novely-game-storage`
|
|
@@ -735,7 +767,7 @@ type ChoiceParams<T> = T extends TypeEssentials<infer $Lang, infer $State, any,
|
|
|
735
767
|
type FunctionParams<T> = T extends TypeEssentials<infer $Lang, infer $State, any, any> ? FunctionActionProps<$Lang, $State> : never;
|
|
736
768
|
type InputHandler<T> = T extends TypeEssentials<infer $Lang, infer $State, any, any> ? ActionInputOnInputMeta<$Lang, $State> : never;
|
|
737
769
|
|
|
738
|
-
declare const novely: <$Language extends string, $Characters extends Record<string, Character<$Language>>, $State extends State, $Data extends Data, $Actions extends Record<string, (...args: any[]) => ValidAction>>({ characters, defaultEmotions, storage, storageDelay, renderer: createRenderer, initialScreen, translation, state: defaultState, data: defaultData, autosaves, migrations, throttleTimeout, getLanguage, overrideLanguage, askBeforeExit, preloadAssets, parallelAssetsDownloadLimit, fetch: request, saveOnUnload, startKey }: NovelyInit<$Language, $Characters, $State, $Data, $Actions>) => {
|
|
770
|
+
declare const novely: <$Language extends string, $Characters extends Record<string, Character<$Language>>, $State extends State, $Data extends Data, $Actions extends Record<string, (...args: any[]) => ValidAction>>({ characters, characterAssetSizes, defaultEmotions, storage, storageDelay, renderer: createRenderer, initialScreen, translation, state: defaultState, data: defaultData, autosaves, migrations, throttleTimeout, getLanguage, overrideLanguage, askBeforeExit, preloadAssets, parallelAssetsDownloadLimit, fetch: request, saveOnUnload, startKey }: NovelyInit<$Language, $Characters, $State, $Data, $Actions>) => {
|
|
739
771
|
/**
|
|
740
772
|
* Function to set game script
|
|
741
773
|
*
|
package/dist/index.global.js
CHANGED
|
@@ -1128,6 +1128,7 @@ var Novely = (() => {
|
|
|
1128
1128
|
var import_p_limit = __toESM(require_p_limit(), 1);
|
|
1129
1129
|
var novely = ({
|
|
1130
1130
|
characters,
|
|
1131
|
+
characterAssetSizes = {},
|
|
1131
1132
|
defaultEmotions = {},
|
|
1132
1133
|
storage = localStorageStorage({ key: "novely-game-storage" }),
|
|
1133
1134
|
storageDelay = Promise.resolve(),
|
|
@@ -1564,6 +1565,7 @@ var Novely = (() => {
|
|
|
1564
1565
|
const renderer = createRenderer({
|
|
1565
1566
|
mainContextKey: MAIN_CONTEXT_KEY,
|
|
1566
1567
|
characters,
|
|
1568
|
+
characterAssetSizes,
|
|
1567
1569
|
set,
|
|
1568
1570
|
restore,
|
|
1569
1571
|
save,
|