objects locking system
This commit is contained in:
@@ -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(){
|
||||
|
||||
Reference in New Issue
Block a user