feat: WebGL build mai 2026 + GameCanvas update
- Ajout build_mai.{data,framework.js,loader.js,wasm} dans public/unity-build/Build
- GameCanvas.jsx: préfixe build_mai, version 20260517, suppression SetServerURL (hardcodé côté Unity)
- .gitignore: exception pour frontend/public/unity-build/, règle build_mai/
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
5
.gitignore
vendored
5
.gitignore
vendored
@@ -22,6 +22,11 @@ frontend/dist/
|
|||||||
# WebGL build artifacts (generated by Unity)
|
# WebGL build artifacts (generated by Unity)
|
||||||
build/
|
build/
|
||||||
nouveau_build/
|
nouveau_build/
|
||||||
|
build_mai/
|
||||||
|
|
||||||
|
# Exception: frontend unity-build static assets (committed for deployment)
|
||||||
|
!frontend/public/unity-build/
|
||||||
|
!frontend/public/unity-build/**
|
||||||
|
|
||||||
# Dev-only tools (buildgate was used for manual dev deploys, remplacé par Coolify)
|
# Dev-only tools (buildgate was used for manual dev deploys, remplacé par Coolify)
|
||||||
rolld_buildgate/
|
rolld_buildgate/
|
||||||
|
|||||||
BIN
frontend/public/unity-build/Build/build_mai.data
Normal file
BIN
frontend/public/unity-build/Build/build_mai.data
Normal file
Binary file not shown.
57
frontend/public/unity-build/Build/build_mai.framework.js
Normal file
57
frontend/public/unity-build/Build/build_mai.framework.js
Normal file
File diff suppressed because one or more lines are too long
1
frontend/public/unity-build/Build/build_mai.loader.js
Normal file
1
frontend/public/unity-build/Build/build_mai.loader.js
Normal file
File diff suppressed because one or more lines are too long
BIN
frontend/public/unity-build/Build/build_mai.wasm
Normal file
BIN
frontend/public/unity-build/Build/build_mai.wasm
Normal file
Binary file not shown.
@@ -3,11 +3,10 @@ import { useState, useEffect, useCallback } from 'react'
|
|||||||
// Check if Unity build files exist
|
// Check if Unity build files exist
|
||||||
const UNITY_BUILD_PATH = '/unity-build/Build'
|
const UNITY_BUILD_PATH = '/unity-build/Build'
|
||||||
// Cache-busting version — update this after each Unity build
|
// Cache-busting version — update this after each Unity build
|
||||||
const UNITY_BUILD_VERSION = '20260310c'
|
const UNITY_BUILD_VERSION = '20260517'
|
||||||
const LOADER_URL = `${UNITY_BUILD_PATH}/nouveau_build.loader.js?v=${UNITY_BUILD_VERSION}`
|
const BUILD_PREFIX = 'build_mai'
|
||||||
|
const LOADER_URL = `${UNITY_BUILD_PATH}/${BUILD_PREFIX}.loader.js?v=${UNITY_BUILD_VERSION}`
|
||||||
|
|
||||||
// Game server URL (Colyseus WebSocket)
|
|
||||||
const GAME_SERVER_URL = import.meta.env.VITE_GAME_SERVER_URL || 'ws://localhost:2567'
|
|
||||||
|
|
||||||
export default function GameCanvas({ onBack }) {
|
export default function GameCanvas({ onBack }) {
|
||||||
const [loadingProgress, setLoadingProgress] = useState(0)
|
const [loadingProgress, setLoadingProgress] = useState(0)
|
||||||
@@ -39,9 +38,9 @@ export default function GameCanvas({ onBack }) {
|
|||||||
if (typeof window.createUnityInstance === 'function') {
|
if (typeof window.createUnityInstance === 'function') {
|
||||||
const canvas = document.getElementById('unity-canvas')
|
const canvas = document.getElementById('unity-canvas')
|
||||||
window.createUnityInstance(canvas, {
|
window.createUnityInstance(canvas, {
|
||||||
dataUrl: `${UNITY_BUILD_PATH}/nouveau_build.data?v=${UNITY_BUILD_VERSION}`,
|
dataUrl: `${UNITY_BUILD_PATH}/${BUILD_PREFIX}.data?v=${UNITY_BUILD_VERSION}`,
|
||||||
frameworkUrl: `${UNITY_BUILD_PATH}/nouveau_build.framework.js?v=${UNITY_BUILD_VERSION}`,
|
frameworkUrl: `${UNITY_BUILD_PATH}/${BUILD_PREFIX}.framework.js?v=${UNITY_BUILD_VERSION}`,
|
||||||
codeUrl: `${UNITY_BUILD_PATH}/nouveau_build.wasm?v=${UNITY_BUILD_VERSION}`,
|
codeUrl: `${UNITY_BUILD_PATH}/${BUILD_PREFIX}.wasm?v=${UNITY_BUILD_VERSION}`,
|
||||||
streamingAssetsUrl: '/unity-build/StreamingAssets',
|
streamingAssetsUrl: '/unity-build/StreamingAssets',
|
||||||
companyName: 'ROLLD',
|
companyName: 'ROLLD',
|
||||||
productName: 'ROLLD',
|
productName: 'ROLLD',
|
||||||
@@ -79,9 +78,7 @@ export default function GameCanvas({ onBack }) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Pass game server URL to Unity's NetworkManager
|
console.log('[ROLLD] Unity loaded')
|
||||||
instance.SendMessage('NetworkManager', 'SetServerURL', GAME_SERVER_URL)
|
|
||||||
console.log('[ROLLD] Unity loaded, server URL sent:', GAME_SERVER_URL)
|
|
||||||
}).catch((err) => {
|
}).catch((err) => {
|
||||||
setError(err.message)
|
setError(err.message)
|
||||||
})
|
})
|
||||||
@@ -153,10 +150,10 @@ export default function GameCanvas({ onBack }) {
|
|||||||
</div>
|
</div>
|
||||||
<div className="glass rounded-xl p-4 text-left text-sm text-rolld-muted font-mono max-w-sm w-full">
|
<div className="glass rounded-xl p-4 text-left text-sm text-rolld-muted font-mono max-w-sm w-full">
|
||||||
<p className="text-rolld-accent-light mb-2">Fichiers requis :</p>
|
<p className="text-rolld-accent-light mb-2">Fichiers requis :</p>
|
||||||
<p>├── nouveau_build.loader.js</p>
|
<p>├── build_mai.loader.js</p>
|
||||||
<p>├── nouveau_build.data</p>
|
<p>├── build_mai.data</p>
|
||||||
<p>├── nouveau_build.framework.js</p>
|
<p>├── build_mai.framework.js</p>
|
||||||
<p>└── nouveau_build.wasm</p>
|
<p>└── build_mai.wasm</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|||||||
Reference in New Issue
Block a user