@luna-editor/engine 0.4.0 → 0.4.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/dist/Player.js +3 -0
- package/dist/plugin/PluginManager.js +6 -1
- package/package.json +1 -1
package/dist/Player.js
CHANGED
|
@@ -359,6 +359,9 @@ export const Player = ({ scenario: scenarioProp, settings, plugins = [], sounds
|
|
|
359
359
|
loadPlugins();
|
|
360
360
|
return () => {
|
|
361
361
|
isCancelled = true;
|
|
362
|
+
// Strict Mode再マウント時にPluginManagerインスタンスが変わる場合に備えて
|
|
363
|
+
// ロード済みリストをクリアし、新しいインスタンスで再ロードされるようにする
|
|
364
|
+
loadedPluginNamesRef.current.clear();
|
|
362
365
|
};
|
|
363
366
|
}, [plugins, sounds]);
|
|
364
367
|
// 初回レンダリング完了フラグ
|
|
@@ -1017,9 +1017,14 @@ export class PluginManager {
|
|
|
1017
1017
|
getPluginAssetUrl(packageName, filename) {
|
|
1018
1018
|
const plugin = this.plugins.get(packageName);
|
|
1019
1019
|
if (!plugin) {
|
|
1020
|
+
console.warn(`[PluginManager] Plugin not found: "${packageName}", registered plugins:`, Array.from(this.plugins.keys()));
|
|
1020
1021
|
return "";
|
|
1021
1022
|
}
|
|
1022
|
-
|
|
1023
|
+
const url = plugin.instance.assetUrls.get(filename) || "";
|
|
1024
|
+
if (!url) {
|
|
1025
|
+
console.warn(`[PluginManager] Asset not found: "${filename}" in "${packageName}", registered assets:`, Array.from(plugin.instance.assetUrls.keys()));
|
|
1026
|
+
}
|
|
1027
|
+
return url;
|
|
1023
1028
|
}
|
|
1024
1029
|
/**
|
|
1025
1030
|
* UI コンポーネントの表示状態を設定
|