mirror of
https://github.com/JulianGro/overte.git
synced 2025-04-08 21:42:13 +02:00
commit
df491159ed
1 changed files with 166 additions and 38 deletions
|
@ -66,42 +66,100 @@
|
|||
|
||||
var TRANSFORMER_URL_MATTHEW = 'atp:/dressingRoom/matthew.fbx';
|
||||
|
||||
var BEAM_TRIGGER_THRESHOLD = 0.075;
|
||||
|
||||
var BEAM_POSITION = {
|
||||
x: 1103.3876,
|
||||
y: 460.4591,
|
||||
z: -74.2998
|
||||
};
|
||||
|
||||
Reset.prototype = {
|
||||
tidying: false,
|
||||
|
||||
eyesOn: false,
|
||||
flickerInterval: null,
|
||||
preload: function(entityID) {
|
||||
_this.entityID = entityID;
|
||||
_this.tidySound = SoundCache.getSound("atp:/sounds/tidy.wav");
|
||||
Script.update.connect(_this.update);
|
||||
},
|
||||
|
||||
showTidyingButton: function() {
|
||||
var data = {
|
||||
"Texture.001": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/Head-Housing-Texture.png",
|
||||
"button.tidy": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/Tidy-Up-Button-Orange.png",
|
||||
"button.tidy-active": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/Tidy-Up-Button-Orange.png",
|
||||
"button.tidy-active.emit": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/Tidy-Up-Button-Orange-Emit.png",
|
||||
"button.tidy.emit": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/Tidy-Up-Button-Orange-Emit.png",
|
||||
"tex.button.blanks": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/Button-Blanks.png",
|
||||
"tex.button.blanks.normal": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/Button-Blanks-Normal.png",
|
||||
"tex.face.sceen": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/tidy-guy-face.png",
|
||||
"tex.face.screen.emit": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/tidy-guy-face-Emit.png"
|
||||
}
|
||||
"Texture": "atp:/Tidyguy-4d.fbx/Tidyguy-4d.fbm/Tidy-Swipe-Sticker.jpg",
|
||||
"Texture.001": "atp:/Tidyguy-4d.fbx/Tidyguy-4d.fbm/Head-Housing-Texture.png",
|
||||
"Texture.003": "atp:/Tidyguy-4d.fbx/Tidyguy-4d.fbm/Tidy-Swipe-Sticker-Emit.jpg",
|
||||
"tex.button.blanks": "atp:/Tidyguy-4d.fbx/Tidyguy-4d.fbm/Button-Blanks.png",
|
||||
"tex.button.blanks.normal": "atp:/Tidyguy-4d.fbx/Tidyguy-4d.fbm/Button-Blanks-Normal.png",
|
||||
"tex.face.sceen.default": "atp:/Tidyguy-4d.fbx/Tidyguy-4d.fbm/face-default.jpg",
|
||||
"tex.face.screen-active": "atp:/Tidyguy-4d.fbx/Tidyguy-4d.fbm/face-active.jpg",
|
||||
"tex.glow.active": "atp:/Tidyguy-4d.fbx/Tidyguy-4d.fbm/glow-active.png",
|
||||
"tex.glow.default": "atp:/Tidyguy-4d.fbx/Tidyguy-4d.fbm/glow-active.png"
|
||||
};
|
||||
|
||||
|
||||
Entities.editEntity(_this.entityID, {
|
||||
textures: JSON.stringify(data)
|
||||
});
|
||||
},
|
||||
|
||||
tidyGlowActive: function() {
|
||||
var res = Entities.findEntities(MyAvatar.position, 30);
|
||||
var glow = null;
|
||||
|
||||
res.forEach(function(item) {
|
||||
var props = Entities.getEntityProperties(item);
|
||||
if (props.name === "Tidyguy-Glow") {
|
||||
glow = item;
|
||||
}
|
||||
});
|
||||
|
||||
if (glow !== null) {
|
||||
Entities.editEntity(glow, {
|
||||
color: {
|
||||
red: 255,
|
||||
green: 140,
|
||||
blue: 20
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
tidyGlowDefault: function() {
|
||||
var res = Entities.findEntities(MyAvatar.position, 30);
|
||||
var glow = null;
|
||||
|
||||
res.forEach(function(item) {
|
||||
var props = Entities.getEntityProperties(item);
|
||||
if (props.name === "Tidyguy-Glow") {
|
||||
glow = item;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
if (glow !== null) {
|
||||
Entities.editEntity(glow, {
|
||||
color: {
|
||||
red: 92,
|
||||
green: 255,
|
||||
blue: 209
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
showTidyButton: function() {
|
||||
var data = {
|
||||
"Texture.001": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/Head-Housing-Texture.png",
|
||||
"button.tidy": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/Tidy-Up-Button-Green.png",
|
||||
"button.tidy.emit": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/Tidy-Up-Button-Green-Emit.png",
|
||||
"tex.button.blanks": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/Button-Blanks.png",
|
||||
"tex.button.blanks.normal": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/Button-Blanks-Normal.png",
|
||||
"tex.face.sceen": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/tidy-guy-face.png",
|
||||
"tex.face.screen.emit": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/tidy-guy-face-Emit.png"
|
||||
}
|
||||
|
||||
"Texture": "atp:/Tidyguy-4d.fbx/Tidyguy-4d.fbm/Tidy-Swipe-Sticker.jpg",
|
||||
"Texture.001": "atp:/Tidyguy-4d.fbx/Tidyguy-4d.fbm/Head-Housing-Texture.png",
|
||||
"Texture.003": "atp:/Tidyguy-4d.fbx/Tidyguy-4d.fbm/Tidy-Swipe-Sticker-Emit.jpg",
|
||||
"tex.button.blanks": "atp:/Tidyguy-4d.fbx/Tidyguy-4d.fbm/Button-Blanks.png",
|
||||
"tex.button.blanks.normal": "atp:/Tidyguy-4d.fbx/Tidyguy-4d.fbm/Button-Blanks-Normal.png",
|
||||
"tex.face.sceen.default": "atp:/Tidyguy-4d.fbx/Tidyguy-4d.fbm/face-default.jpg",
|
||||
"tex.face.screen-active": "atp:/Tidyguy-4d.fbx/Tidyguy-4d.fbm/face-active.jpg",
|
||||
"tex.glow.active": "atp:/Tidyguy-4d.fbx/Tidyguy-4d.fbm/glow-active.png",
|
||||
"tex.glow.default": "atp:/Tidyguy-4d.fbx/Tidyguy-4d.fbm/glow-default.png"
|
||||
};
|
||||
|
||||
Entities.editEntity(_this.entityID, {
|
||||
textures: JSON.stringify(data)
|
||||
|
@ -109,7 +167,16 @@
|
|||
},
|
||||
|
||||
playTidyingSound: function() {
|
||||
var location = {
|
||||
x: 1102.7660,
|
||||
y: 460.9814,
|
||||
z: -78.6451
|
||||
};
|
||||
|
||||
var injector = Audio.playSound(_this.tidySound, {
|
||||
volume: 1,
|
||||
position: location
|
||||
});
|
||||
},
|
||||
|
||||
toggleButton: function() {
|
||||
|
@ -118,11 +185,13 @@
|
|||
} else {
|
||||
_this.tidying = true;
|
||||
_this.showTidyingButton();
|
||||
_this.tidyGlowActive();
|
||||
_this.playTidyingSound();
|
||||
|
||||
_this.flickerEyes();
|
||||
_this.findAndDeleteHomeEntities();
|
||||
Script.setTimeout(function() {
|
||||
_this.showTidyButton();
|
||||
_this.tidyGlowDefault();
|
||||
_this.tidying = false;
|
||||
}, 2500);
|
||||
|
||||
|
@ -130,22 +199,67 @@
|
|||
_this.createKineticEntities();
|
||||
_this.createScriptedEntities();
|
||||
_this.setupDressingRoom();
|
||||
}, 750)
|
||||
|
||||
|
||||
}, 750);
|
||||
}
|
||||
},
|
||||
|
||||
flickerEyes: function() {
|
||||
this.flickerInterval = Script.setInterval(function() {
|
||||
if (_this.eyesOn === true) {
|
||||
_this.turnEyesOff();
|
||||
_this.eyesOn = false;
|
||||
} else if (_this.eyesOn === false) {
|
||||
_this.turnEyesOn();
|
||||
_this.eyesOn = true
|
||||
}
|
||||
}, 100);
|
||||
|
||||
Script.setTimeout(function() {
|
||||
Script.clearInterval(_this.flickerInterval);
|
||||
}, 2500);
|
||||
},
|
||||
|
||||
turnEyesOn: function() {
|
||||
var data = {
|
||||
"Texture": "atp:/Tidyguy-4d.fbx/Tidyguy-4d.fbm/Tidy-Swipe-Sticker.jpg",
|
||||
"Texture.001": "atp:/Tidyguy-4d.fbx/Tidyguy-4d.fbm/Head-Housing-Texture.png",
|
||||
"Texture.003": "atp:/Tidyguy-4d.fbx/Tidyguy-4d.fbm/Tidy-Swipe-Sticker-Emit.jpg",
|
||||
"tex.button.blanks": "atp:/Tidyguy-4d.fbx/Tidyguy-4d.fbm/Button-Blanks.png",
|
||||
"tex.button.blanks.normal": "atp:/Tidyguy-4d.fbx/Tidyguy-4d.fbm/Button-Blanks-Normal.png",
|
||||
"tex.face.sceen.default": "atp:/Tidyguy-4d.fbx/Tidyguy-4d.fbm/face-active.jpg",
|
||||
"tex.face.screen-active": "atp:/Tidyguy-4d.fbx/Tidyguy-4d.fbm/face-active.jpg",
|
||||
"tex.glow.active": "atp:/Tidyguy-4d.fbx/Tidyguy-4d.fbm/glow-active.png",
|
||||
"tex.glow.default": "atp:/Tidyguy-4d.fbx/Tidyguy-4d.fbm/glow-active.png"
|
||||
};
|
||||
|
||||
Entities.editEntity(_this.entityID, {
|
||||
textures: JSON.stringify(data)
|
||||
});
|
||||
},
|
||||
|
||||
turnEyesOff: function() {
|
||||
var data = {
|
||||
"Texture": "atp:/Tidyguy-4d.fbx/Tidyguy-4d.fbm/Tidy-Swipe-Sticker.jpg",
|
||||
"Texture.001": "atp:/Tidyguy-4d.fbx/Tidyguy-4d.fbm/Head-Housing-Texture.png",
|
||||
"Texture.003": "atp:/Tidyguy-4d.fbx/Tidyguy-4d.fbm/Tidy-Swipe-Sticker-Emit.jpg",
|
||||
"tex.button.blanks": "atp:/Tidyguy-4d.fbx/Tidyguy-4d.fbm/Button-Blanks.png",
|
||||
"tex.button.blanks.normal": "atp:/Tidyguy-4d.fbx/Tidyguy-4d.fbm/Button-Blanks-Normal.png",
|
||||
"tex.face.sceen.default": "atp:/Tidyguy-4d.fbx/Tidyguy-4d.fbm/face-default.jpg",
|
||||
"tex.face.screen-active": "atp:/Tidyguy-4d.fbx/Tidyguy-4d.fbm/face-active.jpg",
|
||||
"tex.glow.active": "atp:/Tidyguy-4d.fbx/Tidyguy-4d.fbm/glow-active.png",
|
||||
"tex.glow.default": "atp:/Tidyguy-4d.fbx/Tidyguy-4d.fbm/glow-active.png"
|
||||
};
|
||||
|
||||
Entities.editEntity(_this.entityID, {
|
||||
textures: JSON.stringify(data)
|
||||
});
|
||||
},
|
||||
|
||||
clickReleaseOnEntity: function(entityID, mouseEvent) {
|
||||
if (!mouseEvent.isLeftButton) {
|
||||
return;
|
||||
}
|
||||
_this.toggleButton();
|
||||
|
||||
},
|
||||
|
||||
startNearTrigger: function() {
|
||||
_this.toggleButton();
|
||||
},
|
||||
|
||||
findAndDeleteHomeEntities: function() {
|
||||
|
@ -155,12 +269,10 @@
|
|||
var found = [];
|
||||
results.forEach(function(result) {
|
||||
var properties = Entities.getEntityProperties(result);
|
||||
|
||||
if (properties.userData === "" || properties.userData === undefined) {
|
||||
print('no userdata -- its blank or undefined')
|
||||
return;
|
||||
}
|
||||
|
||||
var userData = null;
|
||||
try {
|
||||
userData = JSON.parse(properties.userData);
|
||||
|
@ -174,10 +286,9 @@
|
|||
Entities.deleteEntity(result);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
})
|
||||
print('HOME after deleting home entities')
|
||||
|
||||
print('HOME after deleting home entities');
|
||||
},
|
||||
|
||||
createScriptedEntities: function() {
|
||||
|
@ -311,11 +422,11 @@
|
|||
y: 461,
|
||||
z: -73.3
|
||||
});
|
||||
print('HOME after creating kinetic entities')
|
||||
print('HOME after creating kinetic entities');
|
||||
},
|
||||
|
||||
setupDressingRoom: function() {
|
||||
print('HOME setup dressing room')
|
||||
print('HOME setup dressing room');
|
||||
this.createRotatorBlock();
|
||||
this.createTransformingDais();
|
||||
this.createTransformers();
|
||||
|
@ -362,7 +473,7 @@
|
|||
}
|
||||
|
||||
var rotatorBlock = Entities.addEntity(rotatorBlockProps);
|
||||
print('HOME created rotator block')
|
||||
print('HOME created rotator block');
|
||||
},
|
||||
|
||||
createTransformingDais: function() {
|
||||
|
@ -479,8 +590,25 @@
|
|||
|
||||
},
|
||||
|
||||
update: function() {
|
||||
if (_this.tidying === true) {
|
||||
return;
|
||||
}
|
||||
|
||||
var leftHandPosition = MyAvatar.getLeftPalmPosition();
|
||||
var rightHandPosition = MyAvatar.getRightPalmPosition();
|
||||
|
||||
var rightDistance = Vec3.distance(leftHandPosition, BEAM_POSITION)
|
||||
var leftDistance = Vec3.distance(rightHandPosition, BEAM_POSITION)
|
||||
|
||||
if (rightDistance < BEAM_TRIGGER_THRESHOLD || leftDistance < BEAM_TRIGGER_THRESHOLD) {
|
||||
_this.toggleButton();
|
||||
}
|
||||
},
|
||||
|
||||
unload: function() {
|
||||
// this.findAndDeleteHomeEntities();
|
||||
Script.update.disconnect(_this.update);
|
||||
Script.clearInterval(_this.flickerInterval);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue