From 9f5435133acebc28e897d2a64d61881643527520 Mon Sep 17 00:00:00 2001 From: Ryan Huffman Date: Thu, 22 Dec 2016 12:07:43 -0800 Subject: [PATCH] Add wave game sounds, fix wave 10 bug, update the way waves spawn --- .../towerDefense/assets/sounds/explosion.wav | Bin 0 -> 142550 bytes .../towerDefense/assets/sounds/spawn.wav | Bin 0 -> 37930 bytes .../assets/sounds/waveComplete.wav | Bin 0 -> 37636 bytes .../Toybox/towerDefense/bow/spawnBow.js | 32 +- .../Toybox/towerDefense/enemyEntity.js | 41 +- .../Toybox/towerDefense/playWaveGame.js | 423 ++++++++++++------ .../Toybox/towerDefense/startGameButton.js | 47 +- .../Toybox/towerDefense/targetEntity.js | 32 +- .../Toybox/towerDefense/teamAreaEntity.js | 4 + .../Toybox/towerDefense/utils.js | 67 +++ 10 files changed, 431 insertions(+), 215 deletions(-) create mode 100644 unpublishedScripts/DomainContent/Toybox/towerDefense/assets/sounds/explosion.wav create mode 100644 unpublishedScripts/DomainContent/Toybox/towerDefense/assets/sounds/spawn.wav create mode 100644 unpublishedScripts/DomainContent/Toybox/towerDefense/assets/sounds/waveComplete.wav create mode 100644 unpublishedScripts/DomainContent/Toybox/towerDefense/utils.js diff --git a/unpublishedScripts/DomainContent/Toybox/towerDefense/assets/sounds/explosion.wav b/unpublishedScripts/DomainContent/Toybox/towerDefense/assets/sounds/explosion.wav new file mode 100644 index 0000000000000000000000000000000000000000..13ee9993e65b76d03124abd47466a90c662f55e8 GIT binary patch literal 142550 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�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�ST*B=-N?2kDZ z^W6W;zqoE;T}z-Tusvp5jLYxxuc=#ImkuNY>ta^L1pI#gwz{o#jezgs#z^#q^Dt7#JIPP zzxbfITTIuORe_a(S9NddmWr2)TgJ4GITSb&_*!SI8!a9y*2L&yZU^oL+;!f%|FRuP zOlFKZkQb<~E3K1?v&3;RaWPbY3i#^+bq&QraZHRjMi3MP>wo)MS1BSy(MI)Ra)O#* z>^JD!d(l@B(}-#GTd;F5wNcf?Q^vn*!RqyJ!`FRed}8@cTLx5H`2XX zUS2+FPuQJZpLI=klijoB=gUWIr~R($hprj!IXApKy1dUGuzz-4?t0nHbN$PG%De0i zYbsIYRkze#k8j4C?Z@_^$|IE(Zk0P7pNikN@7ZaU>6JBZjoTN05wEoG*aekkm5kxvafQ$?RV4TsqrlPj6GZVsnY4bbwlEZwF9*d-{Hp>#}-$ZW#)42Vr{$s)b}aoi?5h@rhmPE{R@A{|6Vv>c-lN^ zo~lo%pYY%NJ%zo6QD(GxtG=>+&R_6v7giRAnETD%`tJJQ{x3hJFu71L*8EXFUoR#3 zq*RCt*P~m}fbN0a4<-*JzvNHn&qrsY+1)d{$0d&^Tk>1-N29N!jos_IUrc5vbMr6d zcSk#;Q{5-JmnCl`1M`FOYom@RZuD)eOV%f6b7ykPqt~N3jX90alU>P%-1^+CXhyWH zv90lAax9sUo17aK4UeujZZxhWSCVV?nk_`dXo{QW%FTYwjdqj06kZOuyPa-Kb4+uD z9bvx;4~GRG`vuKK&7-E%tPR(P@A}n#bMuqtL^H|E3TK9WlYYr>&0m{4qHR$=%!S93 zW6ALJ(e!ZmO}Hu88VpMBO-;~DgTMs7H4B3@je=$x20@Uv-m)`YY4+^KF8Q0a!h4dM z)+63%DZfF`Ol{!Oe9%a3Pb`g=-T8lWjgzK=Kq59B1AO66>jq+ts=_aIu- z;u=+uxIWDV?yiq`pjTi(6v@M8B50o6jmoQjIDnwHEx65kL7k*V?P$fnWP^;N9t@0% zRb>b}sYgPJ*@tiNBb$F)y%T2 zwFVBJq3swIlgRLZts~auYy)%(5q-v&P?_qE2}4##)LJ$aL__dW7C5} zBFV^R$WseFF9YW#)NrST@Y4H{T~sbL%~O#h8hNz)N6%ROJscf#uPMlZ7!Y^Fab)98# zkwt=_uyj84ebBFi=q zVFegiEAHZbZ!*0kjG=ZKMWVwNT(QFR&3;8b?VX};;u#P8@$J8Uu~Y7Cy-8Vnu%E3k zc}!EWXr%d`Ge;xPR+z*6EHzOEvzf6@Vy%dE*1k?o!2$dJ-_9!Pgk2|Ip)YD$-{={8 zh)Qu}XP9HOd(<^}AXmKYsYR`lvL?2o2DvXxD>uE_i4I!AeZp=dL&!z%8_^qd!QO^% zb{%UfQN%xcLHdXq#us6WDrO~tR&1z8iJ!fRB^UUi#-%?n&t@$+SSgudFk^g^O2fLh zhvfGE-spR30)0up=p9ucaItobsz`)eu_ZE`)zTfZf}1$ssuOK{5AKovkb05}W=Dp> zwenAlSp}jts;KOLB!W>N!A9KrpNm-XG(}E27+JoPWwO?uJ-ndT#9y}S=#@yszf?NQ mo1U$r6y_;2)><`&J5$)^HyOlAYxtliWI#TFMD@!VV*djX!KNMn literal 0 HcmV?d00001 diff --git a/unpublishedScripts/DomainContent/Toybox/towerDefense/bow/spawnBow.js b/unpublishedScripts/DomainContent/Toybox/towerDefense/bow/spawnBow.js index a81fcc12d6..fa2d4d3c06 100644 --- a/unpublishedScripts/DomainContent/Toybox/towerDefense/bow/spawnBow.js +++ b/unpublishedScripts/DomainContent/Toybox/towerDefense/bow/spawnBow.js @@ -1,3 +1,30 @@ +var leftHandPosition = { + "x": 0,//-0.0881, + "y": 0.0559, + "z": 0.0159 +}; +var leftHandRotation = Quat.fromPitchYawRollDegrees(90, -90, 0); +var rightHandPosition = Vec3.multiplyVbyV(leftHandPosition, { x: -1, y: 0, z: 0 }); +var rightHandRotation = Quat.fromPitchYawRollDegrees(90, 90, 0); + +var userData = { + "grabbableKey": { + "grabbable": true + }, + "wearable": { + "joints": { + "LeftHand": [ + leftHandPosition, + leftHandRotation + ], + "RightHand": [ + rightHandPosition, + rightHandRotation + ] + } + } +} + Entities.addEntity({ position: MyAvatar.position, "collisionsWillMove": 1, @@ -22,8 +49,9 @@ Entities.addEntity({ "y": -0.10469216108322144, "z": -0.14418250322341919 }, - "script": Script.resolvePath("bow.js"), + "script": Script.resolvePath("bow.js") + "?" + Date.now(), "shapeType": "compound", "type": "Model", - "userData": "{\"grabbableKey\":{\"grabbable\":true},\"wearable\":{\"joints\":{\"RightHand\":[{\"x\":0.0813,\"y\":0.0452,\"z\":0.0095},{\"x\":-0.3946,\"y\":-0.6604,\"z\":0.4748,\"w\":-0.4275}],\"LeftHand\":[{\"x\":-0.0881,\"y\":0.0259,\"z\":0.0159},{\"x\":0.4427,\"y\":-0.6519,\"z\":0.4592,\"w\":0.4099}]}}}" + "userData": JSON.stringify(userData), + lifetime: 40 }); diff --git a/unpublishedScripts/DomainContent/Toybox/towerDefense/enemyEntity.js b/unpublishedScripts/DomainContent/Toybox/towerDefense/enemyEntity.js index 9531256a65..1182860fd0 100644 --- a/unpublishedScripts/DomainContent/Toybox/towerDefense/enemyEntity.js +++ b/unpublishedScripts/DomainContent/Toybox/towerDefense/enemyEntity.js @@ -1,39 +1,5 @@ -if (!Function.prototype.bind) { - Function.prototype.bind = function(oThis) { - if (typeof this !== 'function') { - // closest thing possible to the ECMAScript 5 - // internal IsCallable function - throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable'); - } - - var aArgs = Array.prototype.slice.call(arguments, 1), - fToBind = this, - fNOP = function() {}, - fBound = function() { - return fToBind.apply(this instanceof fNOP - ? this - : oThis, - aArgs.concat(Array.prototype.slice.call(arguments))); - }; - - if (this.prototype) { - // Function.prototype doesn't have a prototype property - fNOP.prototype = this.prototype; - } - fBound.prototype = new fNOP(); - - return fBound; - }; -} - (function() { - function parseJSON(json) { - try { - return JSON.parse(json); - } catch(e) { - return undefined; - } - } + Script.include('utils.js'); Enemy = function() { }; @@ -46,7 +12,7 @@ if (!Function.prototype.bind) { this.entityIDsThatHaveCollidedWithMe = []; var userData = Entities.getEntityProperties(this.entityID, 'userData').userData; - var data = parseJSON(userData); + var data = utils.parseJSON(userData); if (data !== undefined && data.gameChannel !== undefined) { this.gameChannel = data.gameChannel; } else { @@ -54,7 +20,6 @@ if (!Function.prototype.bind) { } }, onCollide: function(entityA, entityB, collision) { - print("Collided with: ", entityB); if (this.entityIDsThatHaveCollidedWithMe.indexOf(entityB) > -1) { return; } @@ -65,6 +30,7 @@ if (!Function.prototype.bind) { // If the other entity's name includes 'projectile' and we haven't hit it before, // continue on. if (colliderName.indexOf("projectile") > -1) { + print("Collided with: ", entityB); Messages.sendMessage(this.gameChannel, JSON.stringify({ type: "enemy-killed", entityID: this.entityID, @@ -74,6 +40,7 @@ if (!Function.prototype.bind) { Messages.sendMessage(this.gameChannel, JSON.stringify({ type: "enemy-escaped", entityID: this.entityID, + position: Entities.getEntityProperties(this.entityID, 'position').position })); Entities.deleteEntity(this.entityID); } diff --git a/unpublishedScripts/DomainContent/Toybox/towerDefense/playWaveGame.js b/unpublishedScripts/DomainContent/Toybox/towerDefense/playWaveGame.js index 30ba78d6fc..f78a270b8a 100644 --- a/unpublishedScripts/DomainContent/Toybox/towerDefense/playWaveGame.js +++ b/unpublishedScripts/DomainContent/Toybox/towerDefense/playWaveGame.js @@ -1,72 +1,72 @@ print("============= Script Starting ============="); -if (!Function.prototype.bind) { - Function.prototype.bind = function(oThis) { - if (typeof this !== 'function') { - // closest thing possible to the ECMAScript 5 - // internal IsCallable function - throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable'); - } +var BEGIN_BUILDING_SOUND = SoundCache.getSound(Script.resolvePath("assets/sounds/letTheGamesBegin.wav")); +var GAME_OVER_SOUND = SoundCache.getSound(Script.resolvePath("assets/sounds/gameOver.wav")); +var WAVE_COMPLETE_SOUND = SoundCache.getSound(Script.resolvePath("assets/sounds/waveComplete.wav")); +var EXPLOSION_SOUND = SoundCache.getSound(Script.resolvePath("assets/sounds/explosion.wav")); - var aArgs = Array.prototype.slice.call(arguments, 1), - fToBind = this, - fNOP = function() {}, - fBound = function() { - return fToBind.apply(this instanceof fNOP - ? this - : oThis, - aArgs.concat(Array.prototype.slice.call(arguments))); - }; +Script.include('utils.js'); +print(utils.parseJSON); +print(utils.findSurfaceBelowPosition); - if (this.prototype) { - // Function.prototype doesn't have a prototype property - fNOP.prototype = this.prototype; - } - fBound.prototype = new fNOP(); - - return fBound; - }; +var randomNums = [0.550327773205936,0.9845642729196697,0.0923804109916091,0.02317189099267125,0.3967760754749179,0.31739208032377064,0.12527672364376485,0.7785351350903511,0.5003328016027808,0.7325339165981859,0.9973437152802944,0.5696579017676413,0.3218349125236273,0.31624294770881534,0.1574797066859901,0.607193318894133,0.6456831728573889,0.762436268851161,0.055773367173969746,0.2516116350889206,0.9599523325450718,0.7358639598824084,0.6161336801014841,0.5886498105246574,0.994422614807263,0.7153528861235827,0.31696250033564866,0.7215959236491472,0.4992282949388027,0.913538035703823,0.03025316959246993,0.10350738768465817,0.995452782837674,0.5243359236046672,0.9341779642272741,0.27633642544969916,0.24957748572342098,0.8252806619275361,0.9339258212130517,0.03701223572716117,0.9452723823487759,0.6275276178494096,0.5341641567647457,0.4005412443075329,0.6898896538186818,0.11714944546110928,0.131995229749009,0.1973097778391093,0.8488441850058734,0.6566063927020878,0.8172534313052893,0.7988312132656574,0.27918070019222796,0.7423286908306181,0.3513789263088256,0.418984186835587,0.4163232871796936,0.44792668521404266,0.056147431721910834,0.4671320249326527,0.2205709801055491,0.816504409071058,0.726218594936654,0.48132069990970194,0.33418917655944824,0.2568618259392679,0.7884722277522087,0.19624578021466732,0.24001670349389315,0.05126210208982229,0.8809637068770826,0.08631141181103885,0.83980125002563,0.38965122890658677,0.7475115314591676,0.22781660920009017,0.7292001177556813,0.12802458507940173,0.6163305244408548,0.8507104918826371,0.026970824925228953,0.45111535978503525,0.6384737638290972,0.9973178182262927,0.19859008654020727,0.9765442060306668,0.9542752094566822,0.4875906065572053,0.333038471871987,0.937375855166465,0.7295125185046345,0.9273903956636786,0.9793413057923317,0.613529595779255,0.3908261926844716,0.6914237674791366,0.34551386488601565,0.13964610872790217,0.5300214979797602,0.7015589624643326]; +var currentRandomIdx = 0; +function getRandom() { + return Math.random(); + //currentRandomIdx = randomNums + //return randomNums[]; } -// Utility functions -function parseJSON(json) { - try { - return JSON.parse(json); - } catch (e) { - return undefined; - } -} - -function findSurfaceBelowPosition(pos) { - var result = Entities.findRayIntersection({ - origin: pos, - direction: { x: 0, y: -1, z: 0 } - }); - if (result.intersects) { - return result.intersection; - } - return pos; -} -// End of utility function - - - var GAME_STATES = { IDLE: 0, PLAYING: 1, - GAME_OVER: 2, + BETWEEN_WAVES: 2, + GAME_OVER: 3, }; var COMM_CHANNEL_NAME = 'wavegame'; var entityIDs = []; -function GameManager(gatePosition, roofPosition, spawnPositions, startButtonID) { +var baseEnemyProperties = { + name: "WG.Enemy", + type: "Box", + registrationPoint: { x: 0.5, y: 0, z: 0.5 }, + dimensions: { x: 0.7, y: 0.7, z: 0.7 }, + velocity: { + x: 0, + y: 0, + z: -3 + }, + dynamic: true, + gravity: { + x: 0, + y: -10, + z: 0, + }, + restitution: 0, + friction: 0, + damping: 0, + linearDamping: 0, + lifetime: 100, + script: Script.resolvePath('enemyEntity.js'), + userData: JSON.stringify({ + gameChannel: COMM_CHANNEL_NAME, + }) +} + + +function GameManager(rootPosition, gatePosition, roofPosition, spawnPositions, startButtonID, waveDisplayID, scoreDisplayID, livesDisplayID) { this.gameState = GAME_STATES.IDLE; + + this.rootPosition = rootPosition; this.spawnPositions = spawnPositions; this.gatePosition = gatePosition; this.roofPosition = roofPosition; this.startButtonID = startButtonID; + this.waveDisplayID = waveDisplayID; + this.scoreDisplayID = scoreDisplayID; + this.livesDisplayID = livesDisplayID; // Gameplay state this.waveNumber = 0; @@ -76,6 +76,44 @@ function GameManager(gatePosition, roofPosition, spawnPositions, startButtonID) this.spawnEnemyTimers = []; this.enemyIDs = []; this.entityIDs = []; + + + + + + // Spawn bows + const bowPosition = Vec3.sum(this.roofPosition, { x: 0, y: 1, z: 0 }); + for (var j = 0; j < 20; ++j) { + this.entityIDs.push(Entities.addEntity({ + position: bowPosition, + "collisionsWillMove": 1, + "compoundShapeURL": Script.resolvePath("bow/bow_collision_hull.obj"), + "created": "2016-09-01T23:57:55Z", + "dimensions": { + "x": 0.039999999105930328, + "y": 1.2999999523162842, + "z": 0.20000000298023224 + }, + "dynamic": 1, + "gravity": { + "x": 0, + "y": -1, + "z": 0 + }, + "modelURL": Script.resolvePath("bow/bow-deadly.fbx"), + "name": "WG.Hifi-Bow", + "rotation": { + "w": 0.9718012809753418, + "x": 0.15440607070922852, + "y": -0.10469216108322144, + "z": -0.14418250322341919 + }, + "script": Script.resolvePath("bow/bow.js"), + "shapeType": "compound", + "type": "Model", + "userData": "{\"grabbableKey\":{\"grabbable\":true},\"wearable\":{\"joints\":{\"RightHand\":[{\"x\":0.0813,\"y\":0.0452,\"z\":0.0095},{\"x\":-0.3946,\"y\":-0.6604,\"z\":0.4748,\"w\":-0.4275}],\"LeftHand\":[{\"x\":-0.0881,\"y\":0.0259,\"z\":0.0159},{\"x\":0.4427,\"y\":-0.6519,\"z\":0.4592,\"w\":0.4099}]}}}" + })); + } } GameManager.prototype = { cleanup: function() { @@ -83,6 +121,10 @@ GameManager.prototype = { Entities.deleteEntity(this.entityIDs[i]); } this.entityIDs = []; + for (var i = 0; i < this.enemyIDs.length; i++) { + Entities.deleteEntity(this.enemyIDs[i]); + } + this.enemyIDs = []; }, startGame: function() { if (this.gameState !== GAME_STATES.IDLE) { @@ -96,111 +138,110 @@ GameManager.prototype = { // Initialize game state this.waveNumber = 0; - this.score = 0; - this.livesLeft = 5; + this.setScore(0); + this.setLivesLeft(10); this.nextWaveTimer = Script.setTimeout(this.startNextWave.bind(this), 100); this.spawnEnemyTimers = []; this.checkEnemyPositionsTimer = null; this.enemyIDs = []; - this.gameState = GAME_STATES.PLAYING; - this.checkEnemyPositionsTimer = Script.setInterval(this.checkForEscapedEnemies.bind(this), 100); + this.spawnQueue = []; + + this.gameState = GAME_STATES.PLAYING; + + Audio.playSound(BEGIN_BUILDING_SOUND, { + volume: 1.0, + position: this.rootPosition + }); - // Spawn bows - const bowPosition = Vec3.sum(this.roofPosition, { x: 0, y: 1, z: 0 }); - for (var j = 0; j < 4; ++j) { - this.entityIDs.push(Entities.addEntity({ - position: bowPosition, - "collisionsWillMove": 1, - "compoundShapeURL": Script.resolvePath("bow/bow_collision_hull.obj"), - "created": "2016-09-01T23:57:55Z", - "dimensions": { - "x": 0.039999999105930328, - "y": 1.2999999523162842, - "z": 0.20000000298023224 - }, - "dynamic": 1, - "gravity": { - "x": 0, - "y": -1, - "z": 0 - }, - "modelURL": Script.resolvePath("bow/bow-deadly.fbx"), - "name": "WG.Hifi-Bow", - "rotation": { - "w": 0.9718012809753418, - "x": 0.15440607070922852, - "y": -0.10469216108322144, - "z": -0.14418250322341919 - }, - "script": Script.resolvePath("bow/bow.js"), - "shapeType": "compound", - "type": "Model", - "userData": "{\"grabbableKey\":{\"grabbable\":true},\"wearable\":{\"joints\":{\"RightHand\":[{\"x\":0.0813,\"y\":0.0452,\"z\":0.0095},{\"x\":-0.3946,\"y\":-0.6604,\"z\":0.4748,\"w\":-0.4275}],\"LeftHand\":[{\"x\":-0.0881,\"y\":0.0259,\"z\":0.0159},{\"x\":0.4427,\"y\":-0.6519,\"z\":0.4592,\"w\":0.4099}]}}}" - })); - } }, startNextWave: function() { print("Starting next wave"); + this.gameState = GAME_STATES.PLAYING; this.waveNumber++; this.enemyIDs = []; - const numberOfEnemiesToSpawn = this.waveNumber * 2; - print("Number to spawn:", numberOfEnemiesToSpawn, this.waveNumber); - for (var i = 0; i < numberOfEnemiesToSpawn; ++i) { - Vec3.print(i, this.spawnPositions[i % this.spawnPositions.length]); - // Spawn enemy - var enemyID = Entities.addEntity({ - name: "WG.Enemy", - type: "Box", - position: this.spawnPositions[i % this.spawnPositions.length], - registrationPoint: { x: 0.5, y: 0, z: 0.5 }, - dimensions: { x: 0.7, y: 0.7, z: 0.7 }, - velocity: { - x: 0, - y: 0, - z: -3 - }, - dynamic: true, - gravity: { - x: 0, - y: -10, - z: 0, - }, - restitution: 0, - friction: 0, - damping: 0, - linearDamping: 0, - lifetime: 100, - script: Script.resolvePath('enemyEntity.js'), - userData: JSON.stringify({ - gameChannel: COMM_CHANNEL_NAME, - }) - }); - this.enemyIDs.push(enemyID); + this.spawnQueue = []; + this.spawnStartTime = Date.now(); + + Entities.editEntity(this.waveDisplayID, { + text: "Wave: " + this.waveNumber + }); + + var numberOfEnemiesLeftToSpawn = this.waveNumber * 2; + var delayBetweenSpawns = 2000 / Math.max(1, Math.log(this.waveNumber)); + var currentDelay = 2000; + + print("Number of enemies:", numberOfEnemiesLeftToSpawn); + this.checkEnemyPositionsTimer = Script.setInterval(this.checkForEscapedEnemies.bind(this), 100); + + for (var i = 0; i < numberOfEnemiesLeftToSpawn; ++i) { + print("Adding enemy"); + var idx = Math.floor(getRandom() * this.spawnPositions.length); + this.spawnQueue.push({ spawnAt: currentDelay, position: this.spawnPositions[idx] }); + currentDelay += delayBetweenSpawns; } + + print("Starting wave", this.waveNumber); + }, checkWaveComplete: function() { if (this.gameState !== GAME_STATES.PLAYING) { return; } - if (this.enemyIDs.length == 0) { - Script.setTimeout(this.startNextWave.bind(this), 1000); + if (this.spawnQueue.length <= 0 && this.enemyIDs.length === 0) { + this.gameState = GAME_STATES.BETWEEN_WAVES; + Script.setTimeout(this.startNextWave.bind(this), 5000); + + Script.clearInterval(this.checkEnemyPositionsTimer); + this.checkEnemyPositionsTimer = null; + + Audio.playSound(WAVE_COMPLETE_SOUND, { + volume: 1.0, + position: this.rootPosition + }); } }, + setLivesLeft: function(lives) { + lives = Math.max(0, lives); + this.livesLeft = lives; + Entities.editEntity(this.livesDisplayID, { + text: "Lives: " + this.livesLeft + }); + }, + setScore: function(score) { + this.score = score; + Entities.editEntity(this.scoreDisplayID, { + text: "Score: " + utils.formatNumberWithCommas(this.score) + }); + }, + checkSpawnQueue: function() { + var waveElapsedTime = Date.now() - this.spawnStartTime; + while (this.spawnQueue.length > 0 && waveElapsedTime > this.spawnQueue[0].spawnAt) { + baseEnemyProperties.position = this.spawnQueue[0].position; + var entityID = Entities.addEntity(baseEnemyProperties); + this.enemyIDs.push(entityID); + this.spawnQueue.splice(0, 1); + } + print("Spawn queue size: ", this.spawnQueue.length, "Elapsed time: ", waveElapsedTime, "Number of enemies:", this.enemyIDs.length); + }, checkForEscapedEnemies: function() { + // Move this somewhere else? + this.checkSpawnQueue(); + var enemiesEscaped = false; for (var i = this.enemyIDs.length - 1; i >= 0; --i) { var position = Entities.getEntityProperties(this.enemyIDs[i], 'position').position; if (position && position.z < this.gatePosition.z) { Entities.deleteEntity(this.enemyIDs[i]); this.enemyIDs.splice(i, 1); - this.livesLeft--; + this.setLivesLeft(this.livesLeft - 1); + this.numberOfEntitiesLeftForWave--; enemiesEscaped = true; } } - print("LIVES LEFT: ", this.livesLeft); + print("LIVES LEFT: ", this.livesLeft, this.numberOfEntitiesLeftForWave); if (this.livesLeft <= 0) { this.endGame(); } else if (enemiesEscaped) { @@ -212,7 +253,12 @@ GameManager.prototype = { return; } - Entities.editEntity(this.startButtonID, { visible: true }); + Audio.playSound(GAME_OVER_SOUND, { + volume: 1.0, + position: this.rootPosition + }); + + Entities.editEntity(this.livesDisplayID, { text: "GAME OVER" }); this.gameState = GAME_STATES.GAME_OVER; print("GAME OVER"); @@ -222,16 +268,23 @@ GameManager.prototype = { this.nextWaveTimer = null; for (var i = 0; i < this.spawnEnemyTimers.length; ++i) { Script.clearTimeout(this.spawnEnemyTimers[i]); - this.spawnEnemyTimers = []; } + this.spawnEnemyTimers = []; + Script.clearInterval(this.checkEnemyPositionsTimer); this.checkEnemyPositionsTimer = null; Script.setTimeout(function() { + Entities.editEntity(this.startButtonID, { visible: true }); this.gameState = GAME_STATES.IDLE; }.bind(this), 3000); + + for (var i = 0; i < this.enemyIDs.length; i++) { + Entities.deleteEntity(this.enemyIDs[i]); + } + this.enemyIDs = []; }, - onEnemyKilled: function(entityID) { + onEnemyKilled: function(entityID, position) { if (this.gameState !== GAME_STATES.PLAYING) { return; } @@ -239,9 +292,14 @@ GameManager.prototype = { var idx = this.enemyIDs.indexOf(entityID); if (idx >= 0) { this.enemyIDs.splice(idx, 1); + Audio.playSound(EXPLOSION_SOUND, { + volume: 1.0, + position: position + }); + this.numberOfEntitiesLeftForWave--; // Update score - this.score += 100; + this.setScore(this.score + 100); print("SCORE: ", this.score); this.checkWaveComplete(); @@ -263,7 +321,7 @@ GameManager.prototype = { }; function createLocalGame() { - const rootPosition = findSurfaceBelowPosition(MyAvatar.position); + const rootPosition = utils.findSurfaceBelowPosition(MyAvatar.position); // Create start button var buttonProperties = { @@ -350,8 +408,111 @@ function createLocalGame() { spawnPositions.push(spawnPosition); } + const waveDisplayID = Entities.addEntity({ + type: "Text", + name: "WG.Wave", + position: Vec3.sum(rootPosition, { + x: 0, + y: 9, + z: 10 + }), + "backgroundColor": { + "blue": 255, + "green": 255, + "red": 255 + }, + "lineHeight": 1, + "rotation": { + "w": -4.3711388286737929e-08, + "x": 0, + "y": -1, + "z": 0 + }, + "dimensions": { + "x": 10, + "y": 1.7218999862670898, + "z": 0.0099999997764825821 + }, + "text": "Game Over", + "textColor": { + "blue": 0, + "green": 0, + "red": 0 + }, + }); + entityIDs.push(waveDisplayID); + + const scoreDisplayID = Entities.addEntity({ + type: "Text", + name: "WG.Score", + position: Vec3.sum(rootPosition, { + x: 0, + y: 7, + z: 10 + }), + "backgroundColor": { + "blue": 255, + "green": 255, + "red": 255 + }, + "lineHeight": 1, + "rotation": { + "w": -4.3711388286737929e-08, + "x": 0, + "y": -1, + "z": 0 + }, + "dimensions": { + "x": 10, + "y": 1.7218999862670898, + "z": 0.0099999997764825821 + }, + "text": "Game Over", + "textColor": { + "blue": 0, + "green": 0, + "red": 0 + }, + }); + entityIDs.push(scoreDisplayID); + + const livesDisplayID = Entities.addEntity({ + type: "Text", + name: "WG.Lives", + position: Vec3.sum(rootPosition, { + x: 0, + y: 5, + z: 10 + }), + "backgroundColor": { + "blue": 255, + "green": 255, + "red": 255 + }, + "lineHeight": 1, + "rotation": { + "w": -4.3711388286737929e-08, + "x": 0, + "y": -1, + "z": 0 + }, + "dimensions": { + "x": 10, + "y": 1.7218999862670898, + "z": 0.0099999997764825821 + }, + "text": "Game Over", + "textColor": { + "blue": 0, + "green": 0, + "red": 0 + }, + }); + entityIDs.push(livesDisplayID); + + var goalPositionFront = Vec3.sum(goalPosition, { x: 0, y: 0, z: BASES_SIZE / 2 }); - return new GameManager(goalPositionFront, roofPosition, spawnPositions, buttonID); + return new GameManager(rootPosition, goalPositionFront, roofPosition, spawnPositions, buttonID, waveDisplayID, scoreDisplayID, livesDisplayID); } function createACGame() { @@ -372,7 +533,7 @@ Messages.subscribe(COMM_CHANNEL_NAME); Messages.messageReceived.connect(function(channel, messageJSON, senderID) { print("playWaveGame.js | Recieved: " + messageJSON + " from " + senderID); if (channel === COMM_CHANNEL_NAME) { - var message = parseJSON(messageJSON); + var message = utils.parseJSON(messageJSON); if (message === undefined) { print("playWaveGame.js | Received non-json message"); return; @@ -382,7 +543,7 @@ Messages.messageReceived.connect(function(channel, messageJSON, senderID) { gameManager.startGame(); break; case 'enemy-killed': - gameManager.onEnemyKilled(message.entityID); + gameManager.onEnemyKilled(message.entityID, message.position); break; case 'enemy-escaped': gameManager.onEnemyEscaped(message.entityID); diff --git a/unpublishedScripts/DomainContent/Toybox/towerDefense/startGameButton.js b/unpublishedScripts/DomainContent/Toybox/towerDefense/startGameButton.js index 962ed1485c..321a6108b2 100644 --- a/unpublishedScripts/DomainContent/Toybox/towerDefense/startGameButton.js +++ b/unpublishedScripts/DomainContent/Toybox/towerDefense/startGameButton.js @@ -1,20 +1,35 @@ (function() { - var itemID; + Script.include('utils.js'); - this.preload = function(entityID) { - itemID = entityID; - } + StartButton = function() { + }; + StartButton.prototype = { + preload: function(entityID) { + this.entityID = entityID; + Script.addEventHandler(entityID, "collisionWithEntity", this.onCollide.bind(this)); + }, + signalAC: function() { + print("Button pressed"); + var userData = Entities.getEntityProperties(this.entityID, ["userData"]).userData; + print("Sending message to: ", JSON.parse(userData).gameChannel); + Messages.sendMessage(JSON.parse(userData).gameChannel, JSON.stringify({ + type: 'start-game' + })); + }, + onCollide: function(entityA, entityB, collision) { + print("Collided with: ", entityB); - function signalAC() { - print("Button pressed"); - var userData = Entities.getEntityProperties(itemID, ["userData"]).userData; - print("Sending message to: ", JSON.parse(userData).gameChannel); - Messages.sendMessage(JSON.parse(userData).gameChannel, JSON.stringify({ - type: 'start-game' - })); - } + var colliderName = Entities.getEntityProperties(entityB, 'name').name; - this.startNearTrigger = signalAC; - this.startFarTrigger = signalAC; - this.clickDownOnEntity = signalAC; -}) + if (colliderName.indexOf("projectile") > -1) { + this.signalAC(); + } + } + }; + + StartButton.prototype.startNearTrigger = StartButton.prototype.signalAC; + StartButton.prototype.startFarTrigger = StartButton.prototype.signalAC; + StartButton.prototype.clickDownOnEntity = StartButton.prototype.signalAC; + + return new StartButton(); +}); diff --git a/unpublishedScripts/DomainContent/Toybox/towerDefense/targetEntity.js b/unpublishedScripts/DomainContent/Toybox/towerDefense/targetEntity.js index 7fa5edb605..f4b7fc0cc3 100644 --- a/unpublishedScripts/DomainContent/Toybox/towerDefense/targetEntity.js +++ b/unpublishedScripts/DomainContent/Toybox/towerDefense/targetEntity.js @@ -1,32 +1,6 @@ -if (!Function.prototype.bind) { - Function.prototype.bind = function(oThis) { - if (typeof this !== 'function') { - // closest thing possible to the ECMAScript 5 - // internal IsCallable function - throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable'); - } - - var aArgs = Array.prototype.slice.call(arguments, 1), - fToBind = this, - fNOP = function() {}, - fBound = function() { - return fToBind.apply(this instanceof fNOP - ? this - : oThis, - aArgs.concat(Array.prototype.slice.call(arguments))); - }; - - if (this.prototype) { - // Function.prototype doesn't have a prototype property - fNOP.prototype = this.prototype; - } - fBound.prototype = new fNOP(); - - return fBound; - }; -} - (function() { + Script.include('utils.js'); + function parseJSON(json) { try { return JSON.parse(json); @@ -45,7 +19,7 @@ if (!Function.prototype.bind) { this.entityIDsThatHaveCollidedWithMe = []; var userData = Entities.getEntityProperties(this.entityID, 'userData').userData; - var data = parseJSON(userData); + var data = utils.parseJSON(userData); if (data !== undefined && data.gameChannel !== undefined && data.teamNumber !== undefined) { this.gameChannel = data.gameChannel; this.teamNumber = data.teamNumber; diff --git a/unpublishedScripts/DomainContent/Toybox/towerDefense/teamAreaEntity.js b/unpublishedScripts/DomainContent/Toybox/towerDefense/teamAreaEntity.js index 669a6e1f9b..b2535ccca3 100644 --- a/unpublishedScripts/DomainContent/Toybox/towerDefense/teamAreaEntity.js +++ b/unpublishedScripts/DomainContent/Toybox/towerDefense/teamAreaEntity.js @@ -38,6 +38,10 @@ enterEntity: function() { print("teamAreaEntity.js | Entered"); this.inEntity = true; + var props = Entities.getEntityProperties(this.entityID, ['position', 'dimensions', 'registrationPoint']); + var teleportPoint = MyAvatar.position; + teleportPoint.y = props.position.y + (props.dimensions.y * (1 - props.registrationPoint.y)) + 0.5; + MyAvatar.position = teleportPoint; }, leaveEntity: function() { print("teamAreaEntity.js | Exited"); diff --git a/unpublishedScripts/DomainContent/Toybox/towerDefense/utils.js b/unpublishedScripts/DomainContent/Toybox/towerDefense/utils.js new file mode 100644 index 0000000000..0c0c7d6761 --- /dev/null +++ b/unpublishedScripts/DomainContent/Toybox/towerDefense/utils.js @@ -0,0 +1,67 @@ +if (!Function.prototype.bind) { + Function.prototype.bind = function(oThis) { + if (typeof this !== 'function') { + // closest thing possible to the ECMAScript 5 + // internal IsCallable function + throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable'); + } + + var aArgs = Array.prototype.slice.call(arguments, 1), + fToBind = this, + fNOP = function() {}, + fBound = function() { + return fToBind.apply(this instanceof fNOP + ? this + : oThis, + aArgs.concat(Array.prototype.slice.call(arguments))); + }; + + if (this.prototype) { + // Function.prototype doesn't have a prototype property + fNOP.prototype = this.prototype; + } + fBound.prototype = new fNOP(); + + return fBound; + }; +} + +utils = { + parseJSON: function(json) { + try { + return JSON.parse(json); + } catch(e) { + return undefined; + } + }, + findSurfaceBelowPosition: function(pos) { + var result = Entities.findRayIntersection({ + origin: pos, + direction: { x: 0, y: -1, z: 0 } + }); + if (result.intersects) { + return result.intersection; + } + return pos; + }, + formatNumberWithCommas: function(number) { + return number + ""; + if (number === 0) { + return "0"; + } + + var str = ""; + + while (number > 0) { + // Grab the digits in the + var belowThousand = number % 1000; + if (str !== "") { + str = "," + str; + } + str = belowThousand + str; + number = Math.floor(number / 1000); + } + + return str; + } +};