mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-07-14 16:36:39 +02:00
60 lines
1.8 KiB
JavaScript
60 lines
1.8 KiB
JavaScript
//
|
|
// cat.js
|
|
// examples/toybox/entityScripts
|
|
//
|
|
// Created by Eric Levin on 9/21/15.
|
|
// Copyright 2015 High Fidelity, Inc.
|
|
//
|
|
|
|
// Distributed under the Apache License, Version 2.0.
|
|
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
|
/*global Cat, print, MyAvatar, Entities, AnimationCache, SoundCache, Scene, Camera, Overlays, Audio, HMD, AvatarList, AvatarManager, Controller, UndoStack, Window, Account, GlobalServices, Script, ScriptDiscoveryService, LODManager, Menu, Vec3, Quat, AudioDevice, Paths, Clipboard, Settings, XMLHttpRequest, randFloat, randInt */
|
|
|
|
|
|
(function() {
|
|
|
|
Cat = function() {
|
|
this.meowSound = SoundCache.getSound("https://s3.amazonaws.com/hifi-public/sounds/Animals/cat_meow.wav");
|
|
};
|
|
|
|
Cat.prototype = {
|
|
isMeowing: false,
|
|
injector: null,
|
|
startTouch: function() {
|
|
if (this.isMeowing !== true) {
|
|
this.meow();
|
|
this.isMeowing = true;
|
|
}
|
|
|
|
},
|
|
|
|
update: function() {
|
|
if (this.injector !== null) {
|
|
this.isMeowing = this.injector.isPlaying;
|
|
}
|
|
if (this.isMeowing === false) {
|
|
this.injector = null;
|
|
}
|
|
},
|
|
|
|
meow: function() {
|
|
this.injector = Audio.playSound(this.meowSound, {
|
|
position: this.position,
|
|
volume: 0.1
|
|
});
|
|
},
|
|
|
|
preload: function(entityID) {
|
|
this.entityID = entityID;
|
|
this.position = Entities.getEntityProperties(this.entityID, "position").position;
|
|
Script.update.connect(this.update);
|
|
},
|
|
|
|
unload: function() {
|
|
Script.update.disconnect(this.update);
|
|
}
|
|
};
|
|
|
|
// entity scripts always need to return a newly constructed object of our type
|
|
return new Cat();
|
|
});
|