From 43769c4544697c39d43cb467a1c2ba01f3a7523d Mon Sep 17 00:00:00 2001 From: -=yb4f310 Date: Fri, 9 Mar 2018 15:20:15 +0100 Subject: [PATCH] Update: CC - SnailRunner - Entity Loaded (78gnds8jrj.js) 1680 bytes modified --- 78gnds8jrj.js | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) diff --git a/78gnds8jrj.js b/78gnds8jrj.js index 3313046..670ddcf 100644 --- a/78gnds8jrj.js +++ b/78gnds8jrj.js @@ -72,6 +72,81 @@ GameLib.CustomCode.prototype.spawnRoadSections = function() { }.bind(this) +GameLib.CustomCode.prototype.advanceClouds = function(diff) { + + var cloudInfo = this.clouds.reduce( + function(result, cloud) { + cloud.position.x += diff; + cloud.updateInstance('position'); + + if (cloud.position.x > 48) { + result.dead.push(cloud); + } else { + result.alive.push(cloud); + } + + return result; + }, + { + alive : [], + dead : [] + } + ); + + this.clouds = cloudInfo.alive; + + cloudInfo.dead.map( + function(deadCloud) { + deadCloud.geometry = null; + deadCloud.materials = null; + deadCloud.remove(); + } + ) +}.bind(this); + +GameLib.CustomCode.prototype.advanceRoadSections = function(diff) { + this.sections.map( + function(section) { + section.left.position.x += diff; + section.road.position.x += diff; + section.right.position.x += diff; + + if (section.left.position.x > 48) { + section.left.position.x -= 204; + section.road.position.x -= 204; + section.right.position.x -= 204; + } + + section.left.updateInstance('position'); + section.road.updateInstance('position'); + section.right.updateInstance('position'); + } + ); +}.bind(this); + +GameLib.CustomCode.prototype.advanceCamera = function(delta) { + var modified = false; + + if ((this.camera.position.z - this.snail.position.z) > 0.01) { + this.camera.position.z -= delta; + modified = true; + } + + if ((this.snail.position.z - this.camera.position.z) > 0.01) { + this.camera.position.z += delta; + modified = true; + } + + if (modified) { + this.camera.updateInstance('position'); + + this.camera.lookAt.x = this.snail.position.x; + this.camera.lookAt.y = this.snail.position.y; + this.camera.lookAt.z = this.snail.position.z; + this.camera.updateInstance('lookAt'); + } +}.bind(this); + GameLib.Event.Subscribe( GameLib.Event.GAME_START, function() {