scene introduction
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { InteractiveObject } from '@/components/InteractiveObjects/InteractiveObject';
|
||||
import { VideoPlayer } from '@/components/InteractiveObjects/VideoPlayer';
|
||||
import { GameEngine } from '@/lib/GameEngine';
|
||||
import { Hero } from '@/lib/Hero';
|
||||
import { autoScale } from '@/lib/MeshUtils';
|
||||
@@ -98,7 +99,7 @@ export default {
|
||||
|
||||
async expandScenarioData(scene){
|
||||
const promises = [];
|
||||
['environment', 'scene'].filter(e=>scene.data[e]).forEach(e=>{
|
||||
['environment', 'scene', 'intro'].filter(e=>scene.data[e]).forEach(e=>{
|
||||
promises.push(this.$api.gameObject.load(scene.data[e]).then(r=>scene.data['$'+e] = r.data))
|
||||
})
|
||||
|
||||
@@ -124,13 +125,19 @@ export default {
|
||||
}
|
||||
if (this.scene.data.$scene){
|
||||
let env = await gameEngine.load(this.scene.data.$scene.asset.name);
|
||||
//console.log('ENV', env)
|
||||
this.setObjectAttributes(l, this.scene.data, env.scene, env, 100);
|
||||
gameEngine.activeObjects.add(env.scene);
|
||||
}
|
||||
if (this.scene.data.$intro && this.env == 'GamePlaying'){
|
||||
let intro = await new VideoPlayer(gameEngine, this.scene.data.$intro.asset.name, gameEngine.assetPath);
|
||||
gameEngine.activeObjects.add(intro.object);
|
||||
intro.video.addEventListener('pause',()=>{
|
||||
intro.object.removeFromParent();
|
||||
});
|
||||
intro.video.play();
|
||||
}
|
||||
for (let i of this.scene.data.items || []) {
|
||||
let io = new InteractiveObject(gameEngine, i.data)
|
||||
await io.ready;
|
||||
let io = await new InteractiveObject(gameEngine, i.data)
|
||||
|
||||
//let gltf = await gameEngine.load(`/asset/default/${i.data.$go.asset.name}`);
|
||||
//console.log(i.data, io.object)
|
||||
|
||||
Reference in New Issue
Block a user