objects locking system

This commit is contained in:
2025-11-13 16:32:55 +02:00
parent c8e501ff6e
commit a2f9f73e85
10 changed files with 119 additions and 56 deletions
+20 -8
View File
@@ -146,7 +146,13 @@ export default {
if (this.scene.data.items){
let loaded = 0;
for (let i of this.scene.data.items) {
if (this.env == 'GamePlaying'){
if (i.data.activationTriggers?.length || i.data.activationScore){
i.data.shouldBeLocked = true;
}
}
let io = await new InteractiveObject(gameEngine, i.data)
i.__io = io;
this.setObjectAttributes(l, i.data, io.object, io.source, 1);
gameEngine.activeObjects.add(io.object);
if (this.env == 'GamePlaying'){
@@ -167,8 +173,20 @@ export default {
}
}
io.addEventListener('finish', ()=>{
gameEngine.dashboard?.addPoints(i.data.points)
i.data.points = 0;
if (!i.data.pointsGiven){
gameEngine.dashboard?.addPoints(i.data.points)
}
i.data.pointsGiven = true;
this.scene.data.items.forEach(di=>{
if (di.data.activationTriggers?.includes(i.data.id)){
let idx = di.data.activationTriggers.indexOf(i.data.id)
di.data.activationTriggers.splice(idx, 1);
}
if (!di.data.activationTriggers?.length && di.__io.object.__locked &&
gameEngine.dashboard.points > di.data.activationScore){
di.__io.locker.unlock();
}
})
})
}
loaded += 1/this.scene.data.items.length
@@ -189,12 +207,6 @@ export default {
}
gameEngine.dashboard?.loading(1)
// let camera = new gameEngine.$.PerspectiveCamera();
// let cameraHelper = new gameEngine.$.CameraHelper(camera);
// gameEngine.activeObjects.add(cameraHelper);
// gameEngine.activeObjects.add(camera);
// this.setObjectAttributes(l, { id: 'camera', 'title': 'Main camera' }, { scene: camera })
// cameraHelper.update();
},
targetPointerDown(){