@nice2dev/game-engine 1.1.10 → 1.2.1

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.
Files changed (92) hide show
  1. package/CHANGELOG.md +173 -0
  2. package/dist/cjs/ai/BehaviorTree.js +4 -4
  3. package/dist/cjs/audio/AudioBridge.js +3 -1
  4. package/dist/cjs/build-cloud/GodotBuildCloud.js +1 -1
  5. package/dist/cjs/build-cloud/UnrealBuildCloud.js +1 -1
  6. package/dist/cjs/core/GameConfig.js +11 -9
  7. package/dist/cjs/devtools/GameplayAnalytics.js +3 -1
  8. package/dist/cjs/editor/AnimationRetargeting.js +110 -108
  9. package/dist/cjs/editor/CraftingEditor.js +2 -2
  10. package/dist/cjs/editor/NiceGameEditor.js +1 -1
  11. package/dist/cjs/editor/UndoRedoPro.js +49 -47
  12. package/dist/cjs/export/BevyExporter.js +1 -1
  13. package/dist/cjs/export/CocosExporter.js +4 -4
  14. package/dist/cjs/export/Construct3Exporter.js +4 -4
  15. package/dist/cjs/export/DefoldExporter.js +4 -4
  16. package/dist/cjs/export/GDevelopExporter.js +2 -2
  17. package/dist/cjs/export/GameMakerExporter.js +3 -3
  18. package/dist/cjs/export/GodotExporter.js +3 -3
  19. package/dist/cjs/export/MinecraftBedrockExporter.js +2 -2
  20. package/dist/cjs/export/MonoGameExporter.js +2 -2
  21. package/dist/cjs/export/Pico8Exporter.js +6 -6
  22. package/dist/cjs/export/RPGMakerExporter.js +4 -4
  23. package/dist/cjs/export/RobloxExporter.js +5 -5
  24. package/dist/cjs/export/Solar2DExporter.js +2 -2
  25. package/dist/cjs/export/ThreeJSExporter.js +3 -3
  26. package/dist/cjs/export/Tic80Exporter.js +6 -6
  27. package/dist/cjs/export/UnityExporter.js +4 -4
  28. package/dist/cjs/export/UnrealExporter.js +7 -7
  29. package/dist/cjs/export/WebExporter.js +2 -2
  30. package/dist/cjs/godot-integration/components/GodotProjectBrowser.js +4 -4
  31. package/dist/cjs/i18n/useTranslation.js +1 -1
  32. package/dist/cjs/import/GodotSceneImporter.js +4 -4
  33. package/dist/cjs/import/LDtkImporter.js +1 -1
  34. package/dist/cjs/import/OgmoImporter.js +1 -1
  35. package/dist/cjs/import/TiledMapImporter.js +1 -1
  36. package/dist/cjs/input/GamepadNavigation.js +1 -1
  37. package/dist/cjs/inventory/InventorySystem.js +1 -1
  38. package/dist/cjs/native-engine/NetworkingSystem.js +1 -1
  39. package/dist/cjs/rendering/WebGPURenderPipeline.js +41 -30
  40. package/dist/cjs/unity-integration/UnityImport.js +2 -2
  41. package/dist/cjs/unity-integration/components/UnityAssetStoreBrowser.js +4 -4
  42. package/dist/cjs/unity-integration/components/UnityProjectBrowser.js +8 -5
  43. package/dist/cjs/unreal-integration/components/UnrealProjectBrowser.js +5 -5
  44. package/dist/esm/ai/BehaviorTree.js +4 -4
  45. package/dist/esm/audio/AudioBridge.js +3 -1
  46. package/dist/esm/build-cloud/GodotBuildCloud.js +1 -1
  47. package/dist/esm/build-cloud/UnrealBuildCloud.js +1 -1
  48. package/dist/esm/core/GameConfig.js +11 -9
  49. package/dist/esm/devtools/GameplayAnalytics.js +3 -1
  50. package/dist/esm/editor/AnimationRetargeting.js +110 -108
  51. package/dist/esm/editor/CraftingEditor.js +2 -2
  52. package/dist/esm/editor/NiceGameEditor.js +2 -2
  53. package/dist/esm/editor/UndoRedoPro.js +49 -47
  54. package/dist/esm/export/BevyExporter.js +1 -1
  55. package/dist/esm/export/CocosExporter.js +4 -4
  56. package/dist/esm/export/Construct3Exporter.js +4 -4
  57. package/dist/esm/export/DefoldExporter.js +4 -4
  58. package/dist/esm/export/GDevelopExporter.js +2 -2
  59. package/dist/esm/export/GameMakerExporter.js +3 -3
  60. package/dist/esm/export/GodotExporter.js +3 -3
  61. package/dist/esm/export/MinecraftBedrockExporter.js +2 -2
  62. package/dist/esm/export/MonoGameExporter.js +2 -2
  63. package/dist/esm/export/Pico8Exporter.js +6 -6
  64. package/dist/esm/export/RPGMakerExporter.js +4 -4
  65. package/dist/esm/export/RobloxExporter.js +5 -5
  66. package/dist/esm/export/Solar2DExporter.js +2 -2
  67. package/dist/esm/export/ThreeJSExporter.js +3 -3
  68. package/dist/esm/export/Tic80Exporter.js +6 -6
  69. package/dist/esm/export/UnityExporter.js +4 -4
  70. package/dist/esm/export/UnrealExporter.js +7 -7
  71. package/dist/esm/export/WebExporter.js +2 -2
  72. package/dist/esm/godot-integration/components/GodotProjectBrowser.js +5 -5
  73. package/dist/esm/i18n/useTranslation.js +2 -2
  74. package/dist/esm/import/GodotSceneImporter.js +4 -4
  75. package/dist/esm/import/LDtkImporter.js +1 -1
  76. package/dist/esm/import/OgmoImporter.js +1 -1
  77. package/dist/esm/import/TiledMapImporter.js +1 -1
  78. package/dist/esm/input/GamepadNavigation.js +2 -2
  79. package/dist/esm/inventory/InventorySystem.js +1 -1
  80. package/dist/esm/native-engine/NetworkingSystem.js +1 -1
  81. package/dist/esm/rendering/WebGPURenderPipeline.js +41 -30
  82. package/dist/esm/unity-integration/UnityImport.js +2 -2
  83. package/dist/esm/unity-integration/components/UnityAssetStoreBrowser.js +5 -5
  84. package/dist/esm/unity-integration/components/UnityProjectBrowser.js +9 -6
  85. package/dist/esm/unreal-integration/components/UnrealProjectBrowser.js +6 -6
  86. package/dist/types/ai/BehaviorTree.d.ts +4 -4
  87. package/dist/types/editor/CraftingEditor.d.ts +1 -1
  88. package/dist/types/godot-integration/components/GodotProjectBrowser.d.ts +3 -1
  89. package/dist/types/unity-integration/components/UnityAssetStoreBrowser.d.ts +3 -1
  90. package/dist/types/unity-integration/components/UnityProjectBrowser.d.ts +3 -1
  91. package/dist/types/unreal-integration/components/UnrealProjectBrowser.d.ts +3 -1
  92. package/package.json +5 -5
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import { NiceIcon } from '@nice2dev/ui';
3
- import { createContext, forwardRef, useReducer, useMemo, useCallback, useImperativeHandle, useContext } from 'react';
3
+ import { forwardRef, useReducer, useMemo, useCallback, useImperativeHandle, createContext, useContext } from 'react';
4
4
 
5
5
  const DEFAULT_THEME = {
6
6
  background: '#1e1e2e',
@@ -91,7 +91,7 @@ const INITIAL_STATE = {
91
91
  liveLinkStatus: { connected: false, playMode: 'stopped' },
92
92
  tab: 'assets',
93
93
  };
94
- const BrowserContext = createContext(null);
94
+ const BrowserContext = /* @__PURE__ */ createContext(null);
95
95
  function useBrowser() {
96
96
  const ctx = useContext(BrowserContext);
97
97
  if (!ctx) {
@@ -701,7 +701,8 @@ const DEMO_PROJECT = {
701
701
  { path: 'Assets/Scenes/Level2.unity', enabled: true },
702
702
  ],
703
703
  };
704
- const UnityProjectBrowser = forwardRef(({ projectPath, theme: themeOverride, onProjectLoad, onImport, onLiveLinkConnect, onLiveLinkDisconnect, className, style, }, ref) => {
704
+ const UnityProjectBrowser = /* @__PURE__ */ Object.assign(
705
+ /* @__PURE__ */ forwardRef(({ projectPath, theme: themeOverride, onProjectLoad, onImport, onLiveLinkConnect, onLiveLinkDisconnect, className, style, }, ref) => {
705
706
  const [state, dispatch] = useReducer(browserReducer, {
706
707
  ...INITIAL_STATE,
707
708
  projectInfo: DEMO_PROJECT,
@@ -789,7 +790,10 @@ const UnityProjectBrowser = forwardRef(({ projectPath, theme: themeOverride, onP
789
790
  }, [onLiveLinkConnect]);
790
791
  const disconnectLiveLink = useCallback(() => {
791
792
  onLiveLinkDisconnect?.();
792
- dispatch({ type: 'SET_LIVE_LINK_STATUS', status: { connected: false, playMode: 'stopped' } });
793
+ dispatch({
794
+ type: 'SET_LIVE_LINK_STATUS',
795
+ status: { connected: false, playMode: 'stopped' },
796
+ });
793
797
  }, [onLiveLinkDisconnect]);
794
798
  // Imperative handle
795
799
  useImperativeHandle(ref, () => ({
@@ -826,7 +830,6 @@ const UnityProjectBrowser = forwardRef(({ projectPath, theme: themeOverride, onP
826
830
  ...style,
827
831
  }, children: [jsx(BrowserHeader, { projectPath: projectPath }), jsx(BrowserToolbar, {}), jsx(TabBar, {}), jsxs("div", { style: { flex: 1, overflow: 'auto' }, children: [state.tab === 'assets' &&
828
832
  (state.viewMode === 'tree' && state.projectInfo ? (jsx("div", { style: { padding: 8 }, children: jsx(FolderTreeItem, { folder: state.projectInfo.folders, indent: 0 }) })) : (jsx(AssetGridView, {}))), state.tab === 'scenes' && jsx(ScenesPanel, {}), state.tab === 'packages' && jsx(PackagesPanel, {}), state.tab === 'settings' && jsx(SettingsPanel, {})] }), jsx(PreviewPanel, {}), jsx(ImportProgressOverlay, {})] }) }));
829
- });
830
- UnityProjectBrowser.displayName = 'UnityProjectBrowser';
833
+ }), { displayName: 'UnityProjectBrowser' });
831
834
 
832
835
  export { UnityProjectBrowser };
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import { NiceIcon } from '@nice2dev/ui';
3
- import { createContext, forwardRef, useReducer, useMemo, useCallback, useImperativeHandle, useContext } from 'react';
3
+ import { forwardRef, useReducer, useMemo, useCallback, useImperativeHandle, createContext, useContext } from 'react';
4
4
 
5
5
  const DEFAULT_THEME = {
6
6
  background: '#1c1c1c',
@@ -99,7 +99,7 @@ const INITIAL_STATE = {
99
99
  tab: 'content',
100
100
  tileSize: 'medium',
101
101
  };
102
- const BrowserContext = createContext(null);
102
+ const BrowserContext = /* @__PURE__ */ createContext(null);
103
103
  function useBrowser() {
104
104
  const ctx = useContext(BrowserContext);
105
105
  if (!ctx) {
@@ -696,7 +696,8 @@ const DEMO_PROJECT = {
696
696
  defaultPawn: '/Game/Blueprints/BP_Player',
697
697
  },
698
698
  };
699
- const UnrealProjectBrowser = forwardRef(({ projectPath: _projectPath, theme: themeOverride, onProjectLoad, onImport, onLiveLinkConnect, onLiveLinkDisconnect, onHotReload, className, style, }, ref) => {
699
+ const UnrealProjectBrowser = /* @__PURE__ */ Object.assign(
700
+ /* @__PURE__ */ forwardRef(({ projectPath: _projectPath, theme: themeOverride, onProjectLoad, onImport, onLiveLinkConnect, onLiveLinkDisconnect, onHotReload, className, style, }, ref) => {
700
701
  const [state, dispatch] = useReducer(browserReducer, {
701
702
  ...INITIAL_STATE,
702
703
  projectInfo: DEMO_PROJECT,
@@ -781,7 +782,7 @@ const UnrealProjectBrowser = forwardRef(({ projectPath: _projectPath, theme: the
781
782
  },
782
783
  });
783
784
  }
784
- catch (_error) {
785
+ catch {
785
786
  dispatch({
786
787
  type: 'SET_LIVE_LINK_STATUS',
787
788
  status: { ...state.liveLinkStatus, compiling: false },
@@ -828,7 +829,6 @@ const UnrealProjectBrowser = forwardRef(({ projectPath: _projectPath, theme: the
828
829
  overflow: 'hidden',
829
830
  ...style,
830
831
  }, children: [jsx(BrowserHeader, {}), jsx(BrowserToolbar, {}), jsx(TabBar, {}), jsxs("div", { style: { flex: 1, overflow: 'auto' }, children: [state.tab === 'content' && jsx(ContentPanel, {}), state.tab === 'levels' && jsx(LevelsPanel, {}), state.tab === 'plugins' && jsx(PluginsPanel, {}), state.tab === 'modules' && jsx(ModulesPanel, {}), state.tab === 'settings' && jsx(SettingsPanel, {})] })] }) }));
831
- });
832
- UnrealProjectBrowser.displayName = 'UnrealProjectBrowser';
832
+ }), { displayName: 'UnrealProjectBrowser' });
833
833
 
834
834
  export { UnrealProjectBrowser };
@@ -108,7 +108,7 @@ export declare abstract class BTNode {
108
108
  lastExecutionTime: number;
109
109
  constructor(type: string, category: BTNodeType, name: string);
110
110
  /** Initialize the node */
111
- initialize(context: BTContext): void;
111
+ initialize(_context: BTContext): void;
112
112
  /** Tick the node */
113
113
  abstract tick(context: BTContext): BTStatus;
114
114
  /** Reset the node state */
@@ -161,7 +161,7 @@ export declare class BTParallel extends BTComposite {
161
161
  failurePolicy: 'all' | 'one';
162
162
  private childStatuses;
163
163
  constructor(name?: string);
164
- initialize(context: BTContext): void;
164
+ initialize(_context: BTContext): void;
165
165
  tick(context: BTContext): BTStatus;
166
166
  reset(): void;
167
167
  clone(): BTParallel;
@@ -170,7 +170,7 @@ export declare class BTParallel extends BTComposite {
170
170
  export declare class BTRandomSelector extends BTComposite {
171
171
  private shuffledOrder;
172
172
  constructor(name?: string);
173
- initialize(context: BTContext): void;
173
+ initialize(_context: BTContext): void;
174
174
  private shuffle;
175
175
  tick(context: BTContext): BTStatus;
176
176
  clone(): BTRandomSelector;
@@ -179,7 +179,7 @@ export declare class BTRandomSelector extends BTComposite {
179
179
  export declare class BTRandomSequence extends BTComposite {
180
180
  private shuffledOrder;
181
181
  constructor(name?: string);
182
- initialize(context: BTContext): void;
182
+ initialize(_context: BTContext): void;
183
183
  private shuffle;
184
184
  tick(context: BTContext): BTStatus;
185
185
  clone(): BTRandomSequence;
@@ -176,7 +176,7 @@ export declare class CraftingEditor {
176
176
  processQueueItem(playerId: string): CraftingProgress | null;
177
177
  discoverRecipe(recipeId: string, playerId: string): boolean;
178
178
  isRecipeDiscovered(recipeId: string): boolean;
179
- canSalvage(itemId: string, playerId: string): boolean;
179
+ canSalvage(itemId: string, _playerId: string): boolean;
180
180
  salvageItem(itemId: string, _playerId: string, quantity?: number): CraftingOutput[] | null;
181
181
  setPlayerSkill(skillId: string, level: number): void;
182
182
  setPlayerItem(itemId: string, count: number): void;
@@ -82,5 +82,7 @@ export interface GodotProjectBrowserRef {
82
82
  getSelectedResources: () => GodotResource[];
83
83
  importSelected: () => Promise<void>;
84
84
  }
85
- export declare const GodotProjectBrowser: React.ForwardRefExoticComponent<GodotProjectBrowserProps & React.RefAttributes<GodotProjectBrowserRef>>;
85
+ export declare const GodotProjectBrowser: React.ForwardRefExoticComponent<GodotProjectBrowserProps & React.RefAttributes<GodotProjectBrowserRef>> & {
86
+ displayName: string;
87
+ };
86
88
  export default GodotProjectBrowser;
@@ -63,5 +63,7 @@ export interface UnityAssetStoreBrowserRef {
63
63
  getCart: () => string[];
64
64
  clearCart: () => void;
65
65
  }
66
- export declare const UnityAssetStoreBrowser: React.ForwardRefExoticComponent<UnityAssetStoreBrowserProps & React.RefAttributes<UnityAssetStoreBrowserRef>>;
66
+ export declare const UnityAssetStoreBrowser: React.ForwardRefExoticComponent<UnityAssetStoreBrowserProps & React.RefAttributes<UnityAssetStoreBrowserRef>> & {
67
+ displayName: string;
68
+ };
67
69
  export default UnityAssetStoreBrowser;
@@ -86,5 +86,7 @@ export interface UnityProjectBrowserRef {
86
86
  getSelectedAssets: () => UnityProjectAsset[];
87
87
  importSelected: () => Promise<void>;
88
88
  }
89
- export declare const UnityProjectBrowser: React.ForwardRefExoticComponent<UnityProjectBrowserProps & React.RefAttributes<UnityProjectBrowserRef>>;
89
+ export declare const UnityProjectBrowser: React.ForwardRefExoticComponent<UnityProjectBrowserProps & React.RefAttributes<UnityProjectBrowserRef>> & {
90
+ displayName: string;
91
+ };
90
92
  export default UnityProjectBrowser;
@@ -94,5 +94,7 @@ export interface UnrealProjectBrowserRef {
94
94
  importSelected: () => Promise<void>;
95
95
  triggerHotReload: () => Promise<void>;
96
96
  }
97
- export declare const UnrealProjectBrowser: React.ForwardRefExoticComponent<UnrealProjectBrowserProps & React.RefAttributes<UnrealProjectBrowserRef>>;
97
+ export declare const UnrealProjectBrowser: React.ForwardRefExoticComponent<UnrealProjectBrowserProps & React.RefAttributes<UnrealProjectBrowserRef>> & {
98
+ displayName: string;
99
+ };
98
100
  export default UnrealProjectBrowser;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nice2dev/game-engine",
3
- "version": "1.1.10",
3
+ "version": "1.2.1",
4
4
  "description": "Nice2Dev Game Engine — No-code game engine and editor for React",
5
5
  "author": "NiceToDev <contact@nicetodev.com>",
6
6
  "license": "SEE LICENSE IN LICENSE",
@@ -60,9 +60,9 @@
60
60
  "nicetodev"
61
61
  ],
62
62
  "peerDependencies": {
63
- "@nice2dev/icons-gaming": "^1.0.20",
64
- "@nice2dev/ui": "^1.0.20",
65
- "@nice2dev/ui-graphics": "^1.1.1",
63
+ "@nice2dev/icons-gaming": "^1.2.0",
64
+ "@nice2dev/ui": "^1.2.0",
65
+ "@nice2dev/ui-graphics": "^1.2.0",
66
66
  "react": ">=17.0.0",
67
67
  "react-dom": ">=17.0.0"
68
68
  },
@@ -73,7 +73,7 @@
73
73
  },
74
74
  "devDependencies": {
75
75
  "@microsoft/signalr": "^10.0.11",
76
- "@nice2dev/ui": "^1.1.10",
76
+ "@nice2dev/ui": "^1.2.1",
77
77
  "@rollup/plugin-commonjs": "^29.0.3",
78
78
  "@rollup/plugin-node-resolve": "^16.0.3",
79
79
  "@rollup/plugin-typescript": "^12.3.0",