-- Leo's gemini proxy
-- Connecting to git.thebackupbox.net:1965...
-- Connected
-- Sending request
-- Meta line: 20 text/gemini
repo: janusweb action: commit revision: path_from: revision_from: 73f6c51955fec41706af8ceb4a4167618787b1d6: path_to: revision_to:
commit 73f6c51955fec41706af8ceb4a4167618787b1d6 Author: James Baicoianu <james_github@baicoianu.com> Date: Sat Oct 21 03:21:13 2017 -0700 Added janus.extendClass() and new support for built-in custom elements diff --git a/scripts/janusweb.js b/scripts/janusweb.js
--- a/scripts/janusweb.js +++ b/scripts/janusweb.js @@ -1,4 +1,4 @@ -elation.require(['janusweb.config', 'engine.things.generic','janusweb.remoteplayer', 'janusweb.room', 'janusweb.tracking', 'janusweb.multiplayermanager', 'janusweb.external.JanusFireboxParser', 'utils.proxy'], function() { +elation.require(['janusweb.config', 'engine.things.generic','janusweb.remoteplayer', 'janusweb.room', 'janusweb.tracking', 'janusweb.multiplayermanager', 'janusweb.external.JanusFireboxParser', 'utils.proxy', 'janusweb.elements.raycaster'], function() { elation.requireCSS('janusweb.janusweb'); elation.component.add('engine.things.janusweb', function() { this.rooms = {}; @@ -106,6 +106,8 @@ elation.require(['janusweb.config', 'engine.things.generic','janusweb.remoteplay elation.template.add('janusweb.url', this.urltemplate); } this.initScripting(); + // TODO - this should be config-driven + this.registerAdditionalElements(['raycaster']); } this.initScripting = function() { if (this.scriptingInitialized) return; @@ -168,7 +170,7 @@ elation.require(['janusweb.config', 'engine.things.generic','janusweb.remoteplay resetavatar: ['function', 'resetAvatar'], hasFocus: ['function', 'hasFocus'], registerElement: ['function', 'registerElement'], - + extendElement: ['function', 'extendElement'], }); //THREE.Vector3.prototype.toString = function() { return this.toArray().map(function(d) { return d.toFixed(4); }).join(' '); } @@ -547,6 +549,9 @@ console.log('Register new SYSTEM tag type:', tagname, classobj, extendclass); extendclass: extendclass }; } + this.extendElement = function(extendclass, tagname, classobj) { + this.registerElement(tagname, classobj, extendclass); + } this.registerBuiltinElements = function(elements) { for (var k in elements) { var tagname = k.toLowerCase(), @@ -558,6 +563,11 @@ console.log('Register new SYSTEM tag type:', tagname, classobj, extendclass); }; } } + this.registerAdditionalElements = function(elements) { + for (var k in elation.janusweb.elements) { + this.registerElement(k, elation.janusweb.elements[k].classdef); + } + } this.getAsset = function(type, name, assetargs) { var asset; if (this.assetpack) {
-----END OF PAGE-----
-- Response ended
-- Page fetched on Sun Jun 2 14:59:30 2024