@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.
- package/CHANGELOG.md +173 -0
- package/dist/cjs/ai/BehaviorTree.js +4 -4
- package/dist/cjs/audio/AudioBridge.js +3 -1
- package/dist/cjs/build-cloud/GodotBuildCloud.js +1 -1
- package/dist/cjs/build-cloud/UnrealBuildCloud.js +1 -1
- package/dist/cjs/core/GameConfig.js +11 -9
- package/dist/cjs/devtools/GameplayAnalytics.js +3 -1
- package/dist/cjs/editor/AnimationRetargeting.js +110 -108
- package/dist/cjs/editor/CraftingEditor.js +2 -2
- package/dist/cjs/editor/NiceGameEditor.js +1 -1
- package/dist/cjs/editor/UndoRedoPro.js +49 -47
- package/dist/cjs/export/BevyExporter.js +1 -1
- package/dist/cjs/export/CocosExporter.js +4 -4
- package/dist/cjs/export/Construct3Exporter.js +4 -4
- package/dist/cjs/export/DefoldExporter.js +4 -4
- package/dist/cjs/export/GDevelopExporter.js +2 -2
- package/dist/cjs/export/GameMakerExporter.js +3 -3
- package/dist/cjs/export/GodotExporter.js +3 -3
- package/dist/cjs/export/MinecraftBedrockExporter.js +2 -2
- package/dist/cjs/export/MonoGameExporter.js +2 -2
- package/dist/cjs/export/Pico8Exporter.js +6 -6
- package/dist/cjs/export/RPGMakerExporter.js +4 -4
- package/dist/cjs/export/RobloxExporter.js +5 -5
- package/dist/cjs/export/Solar2DExporter.js +2 -2
- package/dist/cjs/export/ThreeJSExporter.js +3 -3
- package/dist/cjs/export/Tic80Exporter.js +6 -6
- package/dist/cjs/export/UnityExporter.js +4 -4
- package/dist/cjs/export/UnrealExporter.js +7 -7
- package/dist/cjs/export/WebExporter.js +2 -2
- package/dist/cjs/godot-integration/components/GodotProjectBrowser.js +4 -4
- package/dist/cjs/i18n/useTranslation.js +1 -1
- package/dist/cjs/import/GodotSceneImporter.js +4 -4
- package/dist/cjs/import/LDtkImporter.js +1 -1
- package/dist/cjs/import/OgmoImporter.js +1 -1
- package/dist/cjs/import/TiledMapImporter.js +1 -1
- package/dist/cjs/input/GamepadNavigation.js +1 -1
- package/dist/cjs/inventory/InventorySystem.js +1 -1
- package/dist/cjs/native-engine/NetworkingSystem.js +1 -1
- package/dist/cjs/rendering/WebGPURenderPipeline.js +41 -30
- package/dist/cjs/unity-integration/UnityImport.js +2 -2
- package/dist/cjs/unity-integration/components/UnityAssetStoreBrowser.js +4 -4
- package/dist/cjs/unity-integration/components/UnityProjectBrowser.js +8 -5
- package/dist/cjs/unreal-integration/components/UnrealProjectBrowser.js +5 -5
- package/dist/esm/ai/BehaviorTree.js +4 -4
- package/dist/esm/audio/AudioBridge.js +3 -1
- package/dist/esm/build-cloud/GodotBuildCloud.js +1 -1
- package/dist/esm/build-cloud/UnrealBuildCloud.js +1 -1
- package/dist/esm/core/GameConfig.js +11 -9
- package/dist/esm/devtools/GameplayAnalytics.js +3 -1
- package/dist/esm/editor/AnimationRetargeting.js +110 -108
- package/dist/esm/editor/CraftingEditor.js +2 -2
- package/dist/esm/editor/NiceGameEditor.js +2 -2
- package/dist/esm/editor/UndoRedoPro.js +49 -47
- package/dist/esm/export/BevyExporter.js +1 -1
- package/dist/esm/export/CocosExporter.js +4 -4
- package/dist/esm/export/Construct3Exporter.js +4 -4
- package/dist/esm/export/DefoldExporter.js +4 -4
- package/dist/esm/export/GDevelopExporter.js +2 -2
- package/dist/esm/export/GameMakerExporter.js +3 -3
- package/dist/esm/export/GodotExporter.js +3 -3
- package/dist/esm/export/MinecraftBedrockExporter.js +2 -2
- package/dist/esm/export/MonoGameExporter.js +2 -2
- package/dist/esm/export/Pico8Exporter.js +6 -6
- package/dist/esm/export/RPGMakerExporter.js +4 -4
- package/dist/esm/export/RobloxExporter.js +5 -5
- package/dist/esm/export/Solar2DExporter.js +2 -2
- package/dist/esm/export/ThreeJSExporter.js +3 -3
- package/dist/esm/export/Tic80Exporter.js +6 -6
- package/dist/esm/export/UnityExporter.js +4 -4
- package/dist/esm/export/UnrealExporter.js +7 -7
- package/dist/esm/export/WebExporter.js +2 -2
- package/dist/esm/godot-integration/components/GodotProjectBrowser.js +5 -5
- package/dist/esm/i18n/useTranslation.js +2 -2
- package/dist/esm/import/GodotSceneImporter.js +4 -4
- package/dist/esm/import/LDtkImporter.js +1 -1
- package/dist/esm/import/OgmoImporter.js +1 -1
- package/dist/esm/import/TiledMapImporter.js +1 -1
- package/dist/esm/input/GamepadNavigation.js +2 -2
- package/dist/esm/inventory/InventorySystem.js +1 -1
- package/dist/esm/native-engine/NetworkingSystem.js +1 -1
- package/dist/esm/rendering/WebGPURenderPipeline.js +41 -30
- package/dist/esm/unity-integration/UnityImport.js +2 -2
- package/dist/esm/unity-integration/components/UnityAssetStoreBrowser.js +5 -5
- package/dist/esm/unity-integration/components/UnityProjectBrowser.js +9 -6
- package/dist/esm/unreal-integration/components/UnrealProjectBrowser.js +6 -6
- package/dist/types/ai/BehaviorTree.d.ts +4 -4
- package/dist/types/editor/CraftingEditor.d.ts +1 -1
- package/dist/types/godot-integration/components/GodotProjectBrowser.d.ts +3 -1
- package/dist/types/unity-integration/components/UnityAssetStoreBrowser.d.ts +3 -1
- package/dist/types/unity-integration/components/UnityProjectBrowser.d.ts +3 -1
- package/dist/types/unreal-integration/components/UnrealProjectBrowser.d.ts +3 -1
- 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 {
|
|
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 =
|
|
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({
|
|
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 {
|
|
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 =
|
|
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
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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,
|
|
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
|
|
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
|
|
64
|
-
"@nice2dev/ui": "^1.0
|
|
65
|
-
"@nice2dev/ui-graphics": "^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
|
|
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",
|