Merge branch 'tj' into develop
commit
b9895f5444
46
game-lib.js
46
game-lib.js
|
@ -2350,21 +2350,53 @@ GameLib.D3.prototype.createThreeMaterial = function(blenderMaterial) {
|
|||
return defer.promise;
|
||||
};
|
||||
|
||||
/**
|
||||
* Loads a scene directly from the API
|
||||
* @param sceneName
|
||||
* @param onLoaded callback
|
||||
*/
|
||||
GameLib.D3.prototype.loadSceneFromApi = function(sceneName, onLoaded) {
|
||||
/**
|
||||
* First check if this is a client or server side request
|
||||
*/
|
||||
if (typeof XMLHttpRequest == 'undefined') {
|
||||
console.warn('implement server side loading from API here');
|
||||
return onLoaded(null, new Error('not implemented'));
|
||||
}
|
||||
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.open(
|
||||
'GET',
|
||||
this.apiUrl + '/scene/pong%20latest'
|
||||
);
|
||||
|
||||
xhr.onreadystatechange = function(xhr, gameLibD3) {
|
||||
return function() {
|
||||
if (xhr.readyState == 4) {
|
||||
var response = JSON.parse(xhr.responseText);
|
||||
gameLibD3.loadScene(response.scene[0], onLoaded, false);
|
||||
}
|
||||
}
|
||||
}(xhr, this);
|
||||
|
||||
xhr.send();
|
||||
};
|
||||
|
||||
/**
|
||||
* Loads a GameLib.D3.Scene object into a ThreeJS Scene object
|
||||
* @param blenderScene GameLib.D3.Scene
|
||||
* @param gameLibScene GameLib.D3.Scene
|
||||
* @param onLoaded callback when all meshes have loaded
|
||||
* @param computeNormals set to true to compute new face and vertex normals during load
|
||||
*/
|
||||
GameLib.D3.prototype.loadScene = function(blenderScene, onLoaded, computeNormals) {
|
||||
GameLib.D3.prototype.loadScene = function(gameLibScene, onLoaded, computeNormals) {
|
||||
|
||||
console.log("loading scene " + blenderScene.name);
|
||||
console.log("loading scene " + gameLibScene.name);
|
||||
|
||||
var meshQ = [];
|
||||
|
||||
for (var m = 0; m < blenderScene.meshes.length; m++) {
|
||||
for (var m = 0; m < gameLibScene.meshes.length; m++) {
|
||||
|
||||
var mesh = blenderScene.meshes[m];
|
||||
var mesh = gameLibScene.meshes[m];
|
||||
|
||||
console.log("loading mesh " + mesh.name);
|
||||
|
||||
|
@ -2553,9 +2585,9 @@ GameLib.D3.prototype.loadScene = function(blenderScene, onLoaded, computeNormals
|
|||
|
||||
var threeLights = [];
|
||||
|
||||
for (var sli = 0; sli < blenderScene.lights.length; sli++) {
|
||||
for (var sli = 0; sli < gameLibScene.lights.length; sli++) {
|
||||
|
||||
var blenderLight = blenderScene.lights[sli];
|
||||
var blenderLight = gameLibScene.lights[sli];
|
||||
|
||||
var light = null;
|
||||
|
||||
|
|
Loading…
Reference in New Issue