-- 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:

git.thebackupbox.net

janusweb

git://git.thebackupbox.net/janusweb

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

index c4ff0717a308d5fb65b8b5f1d10198725c78a93c..

index ..ae63fb2c1f86e56b6b611198dc9a37f885176c01 100644

--- 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