mirror of
https://github.com/overte-org/overte.git
synced 2025-04-08 09:33:49 +02:00
Update shortbow button and layout
This commit is contained in:
parent
8bbf3e8d89
commit
6adc0d2aac
6 changed files with 1857 additions and 229 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -6,15 +6,63 @@ var WAVE_COMPLETE_SOUND = SoundCache.getSound(Script.resolvePath("assets/sounds/
|
|||
var EXPLOSION_SOUND = SoundCache.getSound(Script.resolvePath("assets/sounds/explosion.wav"));
|
||||
|
||||
Script.include('utils.js');
|
||||
Script.include('shortbow.js?' + Date.now());
|
||||
var TEMPLATES = SHORTBOW_ENTITIES.Entities;
|
||||
print(utils.parseJSON);
|
||||
print(utils.findSurfaceBelowPosition);
|
||||
|
||||
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[];
|
||||
// Merge two objects into a new object. If a key name appears in both a and b,
|
||||
// the value in a will be used.
|
||||
function mergeObjects(a, b) {
|
||||
var obj = {};
|
||||
for (var key in b) {
|
||||
obj[key] = b[key];
|
||||
}
|
||||
for (var key in a) {
|
||||
obj[key] = a[key];
|
||||
}
|
||||
return obj;
|
||||
}
|
||||
|
||||
function spawnTemplate(templateName, overrides) {
|
||||
var template = getTemplate(templateName);
|
||||
if (template === null) {
|
||||
print("ERROR, unknown template name:", templateName);
|
||||
return null;
|
||||
}
|
||||
var properties = mergeObjects(overrides, template);
|
||||
return Entities.addEntity(properties);
|
||||
}
|
||||
|
||||
function getTemplate(name) {
|
||||
for (var i = 0; i < TEMPLATES.length; ++i) {
|
||||
if (TEMPLATES[i].name == name) {
|
||||
return TEMPLATES[i];
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// Cleanup ShortBow template data
|
||||
var scoreboardTemplate = getTemplate('SB.Scoreboard');
|
||||
Vec3.print("Scoreboard:", scoreboardTemplate.position);
|
||||
for (var i = 0; i < TEMPLATES.length; ++i) {
|
||||
if (TEMPLATES[i].name !== scoreboardTemplate.name) {
|
||||
var template = TEMPLATES[i];
|
||||
|
||||
// Fixup position
|
||||
template.localPosition = Vec3.subtract(template.position, scoreboardTemplate.position);
|
||||
delete template.position;
|
||||
}
|
||||
|
||||
// Fixup model url
|
||||
if (template.type == "Model") {
|
||||
var urlParts = template.modelURL.split("/");
|
||||
var filename = urlParts[urlParts.length - 1];
|
||||
var newURL = Script.resolvePath("assets/" + filename);
|
||||
template.modelURL = newURL;
|
||||
print("Updated url", template.modelURL, "to", newURL);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -54,29 +102,90 @@ var baseEnemyProperties = {
|
|||
gameChannel: COMM_CHANNEL_NAME,
|
||||
})
|
||||
}
|
||||
var baseEnemyProperties = {
|
||||
damping: 0,
|
||||
linearDamping: 0,
|
||||
angularDamping: 0,
|
||||
"acceleration": {
|
||||
"x": 0,
|
||||
"y": -9,
|
||||
"z": 0
|
||||
},
|
||||
"angularVelocity": {
|
||||
"x": -0.058330666273832321,
|
||||
"y": -0.77943277359008789,
|
||||
"z": -2.1163818836212158
|
||||
},
|
||||
"clientOnly": 0,
|
||||
"collisionsWillMove": 1,
|
||||
"dimensions": {
|
||||
"x": 0.63503998517990112,
|
||||
"y": 0.63503998517990112,
|
||||
"z": 0.63503998517990112
|
||||
},
|
||||
"dynamic": 1,
|
||||
"gravity": {
|
||||
"x": 0,
|
||||
"y": -15,
|
||||
"z": 0
|
||||
},
|
||||
"id": "{ed8f7339-8bbd-4750-968e-c3ceb9d64721}",
|
||||
"modelURL": "http://hifi-content.s3.amazonaws.com/Examples%20Content/production/marblecollection/Amber.fbx?2",
|
||||
"name": "SB.Enemy",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"queryAACube": {
|
||||
"scale": 1.0999215841293335,
|
||||
"x": -0.54996079206466675,
|
||||
"y": -0.54996079206466675,
|
||||
"z": -0.54996079206466675
|
||||
},
|
||||
//"restitution": 0.99000000953674316,
|
||||
"rotation": {
|
||||
"w": 0.52459806203842163,
|
||||
"x": 0.3808099627494812,
|
||||
"y": -0.16060420870780945,
|
||||
"z": 0.74430292844772339
|
||||
},
|
||||
"shapeType": "sphere",
|
||||
"type": "Model",
|
||||
velocity: {
|
||||
x: 0,
|
||||
y: 0,
|
||||
z: -3
|
||||
},
|
||||
script: Script.resolvePath('enemyEntity.js'),
|
||||
userData: JSON.stringify({
|
||||
gameChannel: COMM_CHANNEL_NAME,
|
||||
"grabbableKey": {
|
||||
"grabbable": false
|
||||
}
|
||||
}),
|
||||
};
|
||||
|
||||
|
||||
// The high score is stored as the text on a text entity
|
||||
function getHighScoreFromDisplay(entityID) {
|
||||
var highScore = parseInt(Entities.getEntityProperties(entityID, 'text').text);
|
||||
print("High score is: ", entityID, highScore);
|
||||
if (highScore === NaN) {
|
||||
return -1;
|
||||
}
|
||||
return highScore;
|
||||
}
|
||||
function setHighScoreOnDisplay(entityID, highScore) {
|
||||
print("Setting high score to: ", entityID, highScore);
|
||||
Entities.editEntity(entityID, {
|
||||
text: highScore
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function GameManager(rootPosition, gatePosition, roofPosition, spawnPositions, startButtonID, waveDisplayID, scoreDisplayID, livesDisplayID, highScoreDisplayID) {
|
||||
function GameManager(rootPosition, gatePosition, bowPositions, spawnPositions, startButtonID, waveDisplayID, scoreDisplayID, livesDisplayID, highScoreDisplayID) {
|
||||
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;
|
||||
|
@ -91,15 +200,17 @@ function GameManager(rootPosition, gatePosition, roofPosition, spawnPositions, s
|
|||
this.spawnEnemyTimers = [];
|
||||
this.enemyIDs = [];
|
||||
this.entityIDs = [];
|
||||
this.bowIDs = [];
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// 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({
|
||||
for (var i = 0; i < bowPositions.length; ++i) {
|
||||
const bowPosition = bowPositions[i];
|
||||
Vec3.print("Creating bow: ", bowPosition);
|
||||
this.bowIDs.push(Entities.addEntity({
|
||||
position: bowPosition,
|
||||
"collisionsWillMove": 1,
|
||||
"compoundShapeURL": Script.resolvePath("bow/bow_collision_hull.obj"),
|
||||
|
@ -136,6 +247,10 @@ GameManager.prototype = {
|
|||
Entities.deleteEntity(this.entityIDs[i]);
|
||||
}
|
||||
this.entityIDs = [];
|
||||
for (var i = this.bowIDs.length - 1; i >= 0; i--) {
|
||||
Entities.deleteEntity(this.bowIDs[i]);
|
||||
}
|
||||
this.bowIDs = [];
|
||||
for (var i = 0; i < this.enemyIDs.length; i++) {
|
||||
Entities.deleteEntity(this.enemyIDs[i]);
|
||||
}
|
||||
|
@ -154,7 +269,7 @@ GameManager.prototype = {
|
|||
// Initialize game state
|
||||
this.waveNumber = 0;
|
||||
this.setScore(0);
|
||||
this.setLivesLeft(10);
|
||||
this.setLivesLeft(20);
|
||||
|
||||
this.nextWaveTimer = Script.setTimeout(this.startNextWave.bind(this), 100);
|
||||
this.spawnEnemyTimers = [];
|
||||
|
@ -186,7 +301,7 @@ GameManager.prototype = {
|
|||
this.spawnStartTime = Date.now();
|
||||
|
||||
Entities.editEntity(this.waveDisplayID, {
|
||||
text: "Wave: " + this.waveNumber
|
||||
text: this.waveNumber
|
||||
});
|
||||
|
||||
var numberOfEnemiesLeftToSpawn = this.waveNumber * 2;
|
||||
|
@ -198,7 +313,7 @@ GameManager.prototype = {
|
|||
|
||||
for (var i = 0; i < numberOfEnemiesLeftToSpawn; ++i) {
|
||||
print("Adding enemy");
|
||||
var idx = Math.floor(getRandom() * this.spawnPositions.length);
|
||||
var idx = Math.floor(Math.random() * this.spawnPositions.length);
|
||||
this.spawnQueue.push({ spawnAt: currentDelay, position: this.spawnPositions[idx] });
|
||||
currentDelay += delayBetweenSpawns;
|
||||
}
|
||||
|
@ -228,13 +343,13 @@ GameManager.prototype = {
|
|||
lives = Math.max(0, lives);
|
||||
this.livesLeft = lives;
|
||||
Entities.editEntity(this.livesDisplayID, {
|
||||
text: "Lives: " + this.livesLeft
|
||||
text: this.livesLeft
|
||||
});
|
||||
},
|
||||
setScore: function(score) {
|
||||
this.score = score;
|
||||
Entities.editEntity(this.scoreDisplayID, {
|
||||
text: "Score: " + utils.formatNumberWithCommas(this.score)
|
||||
text: utils.formatNumberWithCommas(this.score)
|
||||
});
|
||||
},
|
||||
checkSpawnQueue: function() {
|
||||
|
@ -251,7 +366,7 @@ GameManager.prototype = {
|
|||
|
||||
}, 500 + Math.random() * 4000);
|
||||
}
|
||||
print("Spawn queue size: ", this.spawnQueue.length, "Elapsed time: ", waveElapsedTime, "Number of enemies:", this.enemyIDs.length);
|
||||
//print("Spawn queue size: ", this.spawnQueue.length, "Elapsed time: ", waveElapsedTime, "Number of enemies:", this.enemyIDs.length);
|
||||
},
|
||||
checkForEscapedEnemies: function() {
|
||||
// Move this somewhere else?
|
||||
|
@ -268,7 +383,7 @@ GameManager.prototype = {
|
|||
enemiesEscaped = true;
|
||||
}
|
||||
}
|
||||
print("LIVES LEFT: ", this.livesLeft, this.numberOfEntitiesLeftForWave);
|
||||
//print("LIVES LEFT: ", this.livesLeft, this.numberOfEntitiesLeftForWave);
|
||||
if (this.livesLeft <= 0) {
|
||||
this.endGame();
|
||||
} else if (enemiesEscaped) {
|
||||
|
@ -285,7 +400,7 @@ GameManager.prototype = {
|
|||
position: this.rootPosition
|
||||
});
|
||||
|
||||
Entities.editEntity(this.livesDisplayID, { text: "GAME OVER" });
|
||||
//Entities.editEntity(this.livesDisplayID, { text: "GAME OVER" });
|
||||
|
||||
this.gameState = GAME_STATES.GAME_OVER;
|
||||
print("GAME OVER");
|
||||
|
@ -294,9 +409,12 @@ GameManager.prototype = {
|
|||
// Update high score
|
||||
var highScore = getHighScoreFromDisplay(this.highScoreDisplayID);
|
||||
if (this.score > highScore) {
|
||||
setHighScoreOnDisplay(this.score);
|
||||
setHighScoreOnDisplay(this.highScoreDisplayID, this.score);
|
||||
} else {
|
||||
print("Score not higher", this.score, highScore);
|
||||
}
|
||||
|
||||
|
||||
// Cleanup
|
||||
Script.clearTimeout(this.nextWaveTimer);
|
||||
this.nextWaveTimer = null;
|
||||
|
@ -308,6 +426,19 @@ GameManager.prototype = {
|
|||
Script.clearInterval(this.checkEnemyPositionsTimer);
|
||||
this.checkEnemyPositionsTimer = null;
|
||||
|
||||
|
||||
for (var i = this.bowIDs.length - 1; i >= 0; i--) {
|
||||
var id = this.bowIDs[i];
|
||||
print("Checking bow: ", id);
|
||||
var userData = utils.parseJSON(Entities.getEntityProperties(id, 'userData').userData);
|
||||
var bowIsHeld = userData.grabKey !== undefined && userData.grabKey !== undefined && userData.grabKey.refCount > 0
|
||||
print("Held: ", bowIsHeld);
|
||||
if (!bowIsHeld) {
|
||||
Entities.deleteEntity(id);
|
||||
this.bowIDs.splice(i, 1);
|
||||
}
|
||||
}
|
||||
|
||||
Script.setTimeout(function() {
|
||||
Entities.editEntity(this.startButtonID, { visible: true });
|
||||
this.gameState = GAME_STATES.IDLE;
|
||||
|
@ -339,31 +470,29 @@ GameManager.prototype = {
|
|||
this.checkWaveComplete();
|
||||
}
|
||||
},
|
||||
// onEnemyEscaped: function(entityID) {
|
||||
// if (this.gameState !== GAME_STATES.PLAYING) {
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// this.livesLeft--;
|
||||
// print("LIVES LEFT: ", this.livesLeft);
|
||||
// if (this.livesLeft <= 0) {
|
||||
// this.endGame();
|
||||
// return true;
|
||||
// }
|
||||
// return false;
|
||||
// }
|
||||
};
|
||||
|
||||
// TODO: Eventually these will need to be found at runtime by the AC
|
||||
var rootPosition = null;
|
||||
var goalPosition = null;
|
||||
var scoreboardID = null;
|
||||
var buttonID = null;
|
||||
var waveDisplayID = null;
|
||||
var scoreDisplayID = null;
|
||||
var highScoreDisplayID = null;
|
||||
var livesDisplayID = null;
|
||||
function createLocalGame() {
|
||||
const rootPosition = utils.findSurfaceBelowPosition(MyAvatar.position);
|
||||
rootPosition = utils.findSurfaceBelowPosition(MyAvatar.position);
|
||||
rootPosition.y += 6.11;
|
||||
|
||||
scoreboardID = spawnTemplate("SB.Scoreboard", {
|
||||
position: rootPosition
|
||||
});
|
||||
entityIDs.push(scoreboardID);
|
||||
|
||||
// Create start button
|
||||
var buttonProperties = {
|
||||
type: 'Box',
|
||||
name: 'WG.StartButton',
|
||||
position: rootPosition,
|
||||
dimensions: { x: 1, y: 1, z: 1 },
|
||||
color: { red: 0, green: 255, blue: 0 },
|
||||
buttonID = spawnTemplate("SB.StartButton", {
|
||||
parentID: scoreboardID,
|
||||
script: Script.resolvePath("startGameButton.js"),
|
||||
userData: JSON.stringify({
|
||||
grabbableKey: {
|
||||
|
@ -371,217 +500,69 @@ function createLocalGame() {
|
|||
},
|
||||
gameChannel: COMM_CHANNEL_NAME
|
||||
}),
|
||||
}
|
||||
var buttonID = Entities.addEntity(buttonProperties);
|
||||
});
|
||||
entityIDs.push(buttonID);
|
||||
|
||||
|
||||
// Generate goal that the enemies try to get to
|
||||
const goalPosition = Vec3.sum(rootPosition, { x: 0, y: -10, z: -20 });
|
||||
goalPosition = Vec3.sum(rootPosition, { x: 0, y: -10, z: -20 });
|
||||
const BASES_HEIGHT = 16;
|
||||
const BASES_SIZE = 15;
|
||||
const BASES_WIDTH = 20;
|
||||
const BASES_DEPTH = 15;
|
||||
const ROOF_HEIGHT = 0.2;
|
||||
var arenaProperties = {
|
||||
name: 'WG.Arena.goal',
|
||||
type: 'Box',
|
||||
position: goalPosition,
|
||||
registrationPoint: { x: 0.5, y: 0, z: 0.5 },
|
||||
dimensions: { x: BASES_SIZE, y: BASES_HEIGHT, z: BASES_SIZE },
|
||||
color: { red: 255, green: 255, blue: 255 },
|
||||
script: Script.resolvePath("warpToTopEntity.js"),
|
||||
visible: false,
|
||||
collisionless: true,
|
||||
userData: JSON.stringify({
|
||||
gameChannel: COMM_CHANNEL_NAME,
|
||||
})
|
||||
};
|
||||
// Base block
|
||||
var arenaID = Entities.addEntity(arenaProperties);
|
||||
entityIDs.push(arenaID);
|
||||
|
||||
// Generate platform to shoot from
|
||||
goalPosition.y += BASES_HEIGHT - ROOF_HEIGHT;
|
||||
const roofPosition = goalPosition;
|
||||
var roofProperties = {
|
||||
name: 'WG.Roof',
|
||||
type: 'Box',
|
||||
position: goalPosition,
|
||||
registrationPoint: { x: 0.5, y: 0, z: 0.5 },
|
||||
dimensions: { x: BASES_SIZE, y: ROOF_HEIGHT, z: BASES_SIZE },
|
||||
color: { red: 255, green: 255, blue: 255 },
|
||||
script: Script.resolvePath('roofEntity.js'),
|
||||
userData: JSON.stringify({
|
||||
gameChannel: COMM_CHANNEL_NAME,
|
||||
})
|
||||
}
|
||||
var roofID = Entities.addEntity(roofProperties)
|
||||
entityIDs.push(roofID);
|
||||
|
||||
// Generate positions that the enemies spawn from. spawnOffsets is a list
|
||||
// of spawn position relative to rootPosition.
|
||||
const spawnOffsets = [
|
||||
{ x: -7.5, y: 0, z: 10 },
|
||||
{ x: -2.5, y: 0, z: 10 },
|
||||
{ x: 2.5, y: 0, z: 10 },
|
||||
{ x: 7.5, y: 0, z: 10 },
|
||||
];
|
||||
var spawnPositions = [];
|
||||
for (var i = 0; i < spawnOffsets.length; ++i) {
|
||||
const spawnPosition = Vec3.sum(rootPosition, spawnOffsets[i]);
|
||||
var spawnID = Entities.addEntity({
|
||||
name: 'WG.Spawn',
|
||||
type: 'Box',
|
||||
position: spawnPosition,
|
||||
registrationPoint: { x: 0.5, y: 0, z: 0.5 },
|
||||
dimensions: { x: 0.5, y: 0.5, z: 0.5},
|
||||
color: { red: 255, green: 0, blue: 0 },
|
||||
});
|
||||
entityIDs.push(spawnID);
|
||||
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
|
||||
},
|
||||
waveDisplayID = spawnTemplate("SB.DisplayWave", {
|
||||
parentID: scoreboardID
|
||||
});
|
||||
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
|
||||
},
|
||||
scoreDisplayID = spawnTemplate("SB.DisplayScore", {
|
||||
parentID: scoreboardID
|
||||
});
|
||||
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
|
||||
},
|
||||
livesDisplayID = spawnTemplate("SB.DisplayLives", {
|
||||
parentID: scoreboardID
|
||||
});
|
||||
entityIDs.push(livesDisplayID);
|
||||
|
||||
const highScoreDisplayID = Entities.addEntity({
|
||||
type: "Text",
|
||||
name: "WG.HighScore",
|
||||
position: Vec3.sum(rootPosition, {
|
||||
x: 0,
|
||||
y: 3,
|
||||
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": "0",
|
||||
"textColor": {
|
||||
"blue": 0,
|
||||
"green": 0,
|
||||
"red": 0
|
||||
},
|
||||
highScoreDisplayID = spawnTemplate("SB.DisplayHighScore", {
|
||||
parentID: scoreboardID
|
||||
});
|
||||
entityIDs.push(highScoreDisplayID);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
var gameHasBeenBuilt = false;
|
||||
function buildGame() {
|
||||
const BASES_SIZE = 15;
|
||||
|
||||
// TODO: Generate these when a button is pressed
|
||||
var platformID = spawnTemplate("SB.Platform", {
|
||||
parentID: scoreboardID
|
||||
});
|
||||
entityIDs.push(platformID);
|
||||
|
||||
var bowPositions = [];
|
||||
var spawnPositions = [];
|
||||
for (var i = 0; i < TEMPLATES.length; ++i) {
|
||||
var template = TEMPLATES[i];
|
||||
if (template.name === "SB.BowSpawn") {
|
||||
bowPositions.push(Vec3.sum(rootPosition, template.localPosition));
|
||||
Vec3.print("PUshing bow position", Vec3.sum(rootPosition, template.localPosition));
|
||||
} else if (template.name === "SB.EnemySpawn") {
|
||||
spawnPositions.push(Vec3.sum(rootPosition, template.localPosition));
|
||||
Vec3.print("PUshing spawnposition", Vec3.sum(rootPosition, template.localPosition));
|
||||
}
|
||||
}
|
||||
|
||||
gameHasBeenBuilt = true;
|
||||
|
||||
var goalPositionFront = Vec3.sum(goalPosition, { x: 0, y: 0, z: BASES_SIZE / 2 });
|
||||
return new GameManager(rootPosition, goalPositionFront, roofPosition, spawnPositions, buttonID, waveDisplayID, scoreDisplayID, livesDisplayID, highScoreDisplayID);
|
||||
return new GameManager(rootPosition, goalPositionFront, bowPositions, spawnPositions, buttonID, waveDisplayID, scoreDisplayID, livesDisplayID, highScoreDisplayID);
|
||||
}
|
||||
|
||||
function createACGame() {
|
||||
|
@ -593,9 +574,9 @@ function createACGame() {
|
|||
// Setup game
|
||||
var gameManager;
|
||||
if (this.EntityViewer !== undefined) {
|
||||
gameManager = createACGame();
|
||||
createACGame();
|
||||
} else {
|
||||
gameManager = createLocalGame();
|
||||
createLocalGame();
|
||||
}
|
||||
|
||||
Messages.subscribe(COMM_CHANNEL_NAME);
|
||||
|
@ -608,8 +589,14 @@ Messages.messageReceived.connect(function(channel, messageJSON, senderID) {
|
|||
return;
|
||||
}
|
||||
switch (message.type) {
|
||||
case 'build-game':
|
||||
break;
|
||||
case 'start-game':
|
||||
gameManager.startGame();
|
||||
if (gameHasBeenBuilt) {
|
||||
gameManager.startGame();
|
||||
} else {
|
||||
gameManager = buildGame();
|
||||
}
|
||||
break;
|
||||
case 'enemy-killed':
|
||||
gameManager.onEnemyKilled(message.entityID, message.position);
|
||||
|
|
821
unpublishedScripts/DomainContent/Toybox/towerDefense/shortbow.js
Normal file
821
unpublishedScripts/DomainContent/Toybox/towerDefense/shortbow.js
Normal file
|
@ -0,0 +1,821 @@
|
|||
SHORTBOW_ENTITIES =
|
||||
{
|
||||
"Entities": [
|
||||
{
|
||||
"clientOnly": 0,
|
||||
"collidesWith": "",
|
||||
"collisionMask": 0,
|
||||
"collisionless": 1,
|
||||
"color": {
|
||||
"blue": 171,
|
||||
"green": 50,
|
||||
"red": 62
|
||||
},
|
||||
"created": "2017-01-05T00:42:47Z",
|
||||
"dimensions": {
|
||||
"x": 0.24400754272937775,
|
||||
"y": 0.24400754272937775,
|
||||
"z": 0.24400754272937775
|
||||
},
|
||||
"id": "{4cf9a775-ea2a-4aff-ae2a-061ea902fcd5}",
|
||||
"ignoreForCollisions": 1,
|
||||
"lastEdited": 1483719792930052,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"name": "SB.EnemySpawn",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": -1.89238440990448,
|
||||
"y": -5.3368110656738281,
|
||||
"z": 11.512755393981934
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 0.42263346910476685,
|
||||
"x": -46.161952972412109,
|
||||
"y": -1.5774637460708618,
|
||||
"z": 14.641263008117676
|
||||
},
|
||||
"rotation": {
|
||||
"w": 1,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": -1.52587890625e-05,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"shape": "Cube",
|
||||
"type": "Box"
|
||||
},
|
||||
{
|
||||
"clientOnly": 0,
|
||||
"collidesWith": "",
|
||||
"collisionMask": 0,
|
||||
"collisionless": 1,
|
||||
"color": {
|
||||
"blue": 171,
|
||||
"green": 50,
|
||||
"red": 62
|
||||
},
|
||||
"created": "2017-01-05T20:31:10Z",
|
||||
"dimensions": {
|
||||
"x": 0.24400754272937775,
|
||||
"y": 0.24400754272937775,
|
||||
"z": 0.24400754272937775
|
||||
},
|
||||
"id": "{d715486e-cbc1-417f-a27c-eae92f50ec4a}",
|
||||
"ignoreForCollisions": 1,
|
||||
"lastEdited": 1483719792930724,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"name": "SB.EnemySpawn",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": 3.6569130420684814,
|
||||
"y": -5.3365960121154785,
|
||||
"z": 10.01292610168457
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 0.42263346910476685,
|
||||
"x": -40.61260986328125,
|
||||
"y": -1.5774637460708618,
|
||||
"z": 13.141603469848633
|
||||
},
|
||||
"rotation": {
|
||||
"w": 1,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": -1.52587890625e-05,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"shape": "Cube",
|
||||
"type": "Box"
|
||||
},
|
||||
{
|
||||
"clientOnly": 0,
|
||||
"collidesWith": "",
|
||||
"collisionMask": 0,
|
||||
"collisionless": 1,
|
||||
"color": {
|
||||
"blue": 171,
|
||||
"green": 50,
|
||||
"red": 62
|
||||
},
|
||||
"created": "2017-01-05T00:40:36Z",
|
||||
"dimensions": {
|
||||
"x": 0.24400754272937775,
|
||||
"y": 0.24400754272937775,
|
||||
"z": 0.24400754272937775
|
||||
},
|
||||
"id": "{b00d9436-f975-46ae-b00b-2338cdf077a9}",
|
||||
"ignoreForCollisions": 1,
|
||||
"lastEdited": 1483719792930960,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"name": "SB.EnemySpawn",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": 8.8902750015258789,
|
||||
"y": -5.3364419937133789,
|
||||
"z": 10.195274353027344
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 0.42263346910476685,
|
||||
"x": -35.379253387451172,
|
||||
"y": -1.5774637460708618,
|
||||
"z": 13.324110984802246
|
||||
},
|
||||
"rotation": {
|
||||
"w": 1,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": -1.52587890625e-05,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"shape": "Cube",
|
||||
"type": "Box"
|
||||
},
|
||||
{
|
||||
"backgroundColor": {
|
||||
"blue": 65,
|
||||
"green": 78,
|
||||
"red": 82
|
||||
},
|
||||
"clientOnly": 0,
|
||||
"created": "2017-01-04T23:26:19Z",
|
||||
"dimensions": {
|
||||
"x": 1.4120937585830688,
|
||||
"y": 0.71569448709487915,
|
||||
"z": 0.0099999997764825821
|
||||
},
|
||||
"id": "{b5268d4b-f3e4-4772-9390-0bf89eb10783}",
|
||||
"lastEdited": 1483719793013991,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"lineHeight": 0.5,
|
||||
"name": "SB.DisplayLives",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": -8.0707607269287109,
|
||||
"y": 0.26189804077148438,
|
||||
"z": -7.2889409065246582
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 1.5831384658813477,
|
||||
"x": -52.919837951660156,
|
||||
"y": 3.4406075477600098,
|
||||
"z": -4.7410445213317871
|
||||
},
|
||||
"rotation": {
|
||||
"w": 0.70708787441253662,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": 0.70708787441253662,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"text": "0",
|
||||
"type": "Text"
|
||||
},
|
||||
{
|
||||
"backgroundColor": {
|
||||
"blue": 65,
|
||||
"green": 78,
|
||||
"red": 82
|
||||
},
|
||||
"clientOnly": 0,
|
||||
"created": "2017-01-04T23:28:30Z",
|
||||
"dimensions": {
|
||||
"x": 2,
|
||||
"y": 0.69999998807907104,
|
||||
"z": 0.0099999997764825821
|
||||
},
|
||||
"id": "{3c54360d-dff1-4b0d-be63-240332776ba8}",
|
||||
"lastEdited": 1483719792931461,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"lineHeight": 0.5,
|
||||
"name": "SB.DisplayScore",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": -8.0707607269287109,
|
||||
"y": 1.5265679359436035,
|
||||
"z": -9.5913219451904297
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 2.118985652923584,
|
||||
"x": -53.187652587890625,
|
||||
"y": 4.4372835159301758,
|
||||
"z": -7.3113880157470703
|
||||
},
|
||||
"rotation": {
|
||||
"w": 0.70708787441253662,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": 0.70708787441253662,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"text": "0",
|
||||
"type": "Text"
|
||||
},
|
||||
{
|
||||
"backgroundColor": {
|
||||
"blue": 65,
|
||||
"green": 78,
|
||||
"red": 82
|
||||
},
|
||||
"clientOnly": 0,
|
||||
"created": "2017-01-04T23:24:08Z",
|
||||
"dimensions": {
|
||||
"x": 2,
|
||||
"y": 0.69999998807907104,
|
||||
"z": 0.0099999997764825821
|
||||
},
|
||||
"id": "{f7b5b73e-c816-4ec4-b3f3-c7e7cd7419d8}",
|
||||
"lastEdited": 1483719792931719,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"lineHeight": 0.5,
|
||||
"name": "SB.DisplayHighScore",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": -8.0707607269287109,
|
||||
"y": 0.26189804077148438,
|
||||
"z": -9.5913219451904297
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 2.118985652923584,
|
||||
"x": -53.187694549560547,
|
||||
"y": 3.1726138591766357,
|
||||
"z": -7.3113498687744141
|
||||
},
|
||||
"rotation": {
|
||||
"w": 0.70708787441253662,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": 0.70708787441253662,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"text": "0",
|
||||
"type": "Text"
|
||||
},
|
||||
{
|
||||
"backgroundColor": {
|
||||
"blue": 65,
|
||||
"green": 78,
|
||||
"red": 82
|
||||
},
|
||||
"clientOnly": 0,
|
||||
"created": "2017-01-04T23:28:30Z",
|
||||
"dimensions": {
|
||||
"x": 1.4120937585830688,
|
||||
"y": 0.71569448709487915,
|
||||
"z": 0.0099999997764825821
|
||||
},
|
||||
"id": "{35058f6b-d294-470d-aa56-55348ed9e418}",
|
||||
"lastEdited": 1483719793013760,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"lineHeight": 0.5,
|
||||
"name": "SB.DisplayWave",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": -8.0707607269287109,
|
||||
"y": 1.5265679359436035,
|
||||
"z": -7.2889409065246582
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 1.5831384658813477,
|
||||
"x": -52.9197998046875,
|
||||
"y": 4.7052774429321289,
|
||||
"z": -4.7410831451416016
|
||||
},
|
||||
"rotation": {
|
||||
"w": 0.70708787441253662,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": 0.70708787441253662,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"text": "0",
|
||||
"type": "Text"
|
||||
},
|
||||
{
|
||||
"clientOnly": 0,
|
||||
"collidesWith": "",
|
||||
"collisionMask": 0,
|
||||
"collisionless": 1,
|
||||
"color": {
|
||||
"blue": 0,
|
||||
"green": 0,
|
||||
"red": 255
|
||||
},
|
||||
"created": "2017-01-05T00:40:36Z",
|
||||
"dimensions": {
|
||||
"x": 0.24400754272937775,
|
||||
"y": 0.24400754272937775,
|
||||
"z": 0.24400754272937775
|
||||
},
|
||||
"id": "{a8b0522f-00fa-4a84-bfb4-c16c0c8a0927}",
|
||||
"ignoreForCollisions": 1,
|
||||
"lastEdited": 1483719792931944,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"name": "SB.BowSpawn",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": -5.1683855056762695,
|
||||
"y": -0.14615517854690552,
|
||||
"z": -11.424118041992188
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 0.42263346910476685,
|
||||
"x": -49.437095642089844,
|
||||
"y": 3.6125919818878174,
|
||||
"z": -8.2958688735961914
|
||||
},
|
||||
"rotation": {
|
||||
"w": 1,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": -1.52587890625e-05,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"shape": "Cube",
|
||||
"type": "Box"
|
||||
},
|
||||
{
|
||||
"clientOnly": 0,
|
||||
"created": "2017-01-05T21:12:40Z",
|
||||
"dimensions": {
|
||||
"x": 0.71920680999755859,
|
||||
"y": 2.5761642456054688,
|
||||
"z": 2.2217941284179688
|
||||
},
|
||||
"id": "{0b0297de-0b76-48e3-b44e-83f9f21f2728}",
|
||||
"lastEdited": 1483719792931174,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"modelURL": "http://hifi-content.s3.amazonaws.com/alan/dev/shortbow-button.fbx",
|
||||
"name": "SB.StartButton",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": -10.128876686096191,
|
||||
"y": 1.8550845384597778,
|
||||
"z": -12.927911758422852
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 3.4771037101745605,
|
||||
"x": -55.924716949462891,
|
||||
"y": 4.0867023468017578,
|
||||
"z": -11.327109336853027
|
||||
},
|
||||
"rotation": {
|
||||
"w": 1,
|
||||
"x": 1.52587890625e-05,
|
||||
"y": 1.52587890625e-05,
|
||||
"z": 1.52587890625e-05
|
||||
},
|
||||
"shapeType": "static-mesh",
|
||||
"type": "Model"
|
||||
},
|
||||
{
|
||||
"clientOnly": 0,
|
||||
"collidesWith": "",
|
||||
"collisionMask": 0,
|
||||
"collisionless": 1,
|
||||
"color": {
|
||||
"blue": 0,
|
||||
"green": 0,
|
||||
"red": 255
|
||||
},
|
||||
"created": "2017-01-05T00:40:36Z",
|
||||
"dimensions": {
|
||||
"x": 0.24400754272937775,
|
||||
"y": 0.24400754272937775,
|
||||
"z": 0.24400754272937775
|
||||
},
|
||||
"id": "{54a83ad0-c4ff-4e63-834f-3d905647482b}",
|
||||
"ignoreForCollisions": 1,
|
||||
"lastEdited": 1483719792933758,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"name": "SB.BowSpawn",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": 2.7973012924194336,
|
||||
"y": -0.14591208100318909,
|
||||
"z": -11.424361228942871
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 0.42263346910476685,
|
||||
"x": -41.471408843994141,
|
||||
"y": 3.6125919818878174,
|
||||
"z": -8.2958688735961914
|
||||
},
|
||||
"rotation": {
|
||||
"w": 1,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": -1.52587890625e-05,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"shape": "Cube",
|
||||
"type": "Box"
|
||||
},
|
||||
{
|
||||
"clientOnly": 0,
|
||||
"collidesWith": "",
|
||||
"collisionMask": 0,
|
||||
"collisionless": 1,
|
||||
"color": {
|
||||
"blue": 0,
|
||||
"green": 0,
|
||||
"red": 255
|
||||
},
|
||||
"created": "2017-01-05T00:40:36Z",
|
||||
"dimensions": {
|
||||
"x": 0.24400754272937775,
|
||||
"y": 0.24400754272937775,
|
||||
"z": 0.24400754272937775
|
||||
},
|
||||
"id": "{cfce120e-84bd-48f3-8467-cdee5ff25023}",
|
||||
"ignoreForCollisions": 1,
|
||||
"lastEdited": 1483719792934956,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"name": "SB.BowSpawn",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": -2.5027093887329102,
|
||||
"y": -0.14607381820678711,
|
||||
"z": -11.424200057983398
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 0.42263346910476685,
|
||||
"x": -46.771419525146484,
|
||||
"y": 3.6125919818878174,
|
||||
"z": -8.2958688735961914
|
||||
},
|
||||
"rotation": {
|
||||
"w": 1,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": -1.52587890625e-05,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"shape": "Cube",
|
||||
"type": "Box"
|
||||
},
|
||||
{
|
||||
"clientOnly": 0,
|
||||
"collidesWith": "",
|
||||
"collisionMask": 0,
|
||||
"collisionless": 1,
|
||||
"color": {
|
||||
"blue": 0,
|
||||
"green": 0,
|
||||
"red": 255
|
||||
},
|
||||
"created": "2017-01-05T00:40:36Z",
|
||||
"dimensions": {
|
||||
"x": 0.24400754272937775,
|
||||
"y": 0.24400754272937775,
|
||||
"z": 0.24400754272937775
|
||||
},
|
||||
"id": "{566cd534-da19-4358-b6cf-70c998d38e90}",
|
||||
"ignoreForCollisions": 1,
|
||||
"lastEdited": 1483719792939511,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"name": "SB.BowSpawn",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": 8.1799535751342773,
|
||||
"y": -0.14574781060218811,
|
||||
"z": -11.424525260925293
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 0.42263346910476685,
|
||||
"x": -36.088756561279297,
|
||||
"y": 3.6125919818878174,
|
||||
"z": -8.2958688735961914
|
||||
},
|
||||
"rotation": {
|
||||
"w": 1,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": -1.52587890625e-05,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"shape": "Cube",
|
||||
"type": "Box"
|
||||
},
|
||||
{
|
||||
"clientOnly": 0,
|
||||
"collidesWith": "",
|
||||
"collisionMask": 0,
|
||||
"collisionless": 1,
|
||||
"color": {
|
||||
"blue": 0,
|
||||
"green": 0,
|
||||
"red": 255
|
||||
},
|
||||
"created": "2017-01-05T00:38:25Z",
|
||||
"dimensions": {
|
||||
"x": 0.24400754272937775,
|
||||
"y": 0.24400754272937775,
|
||||
"z": 0.24400754272937775
|
||||
},
|
||||
"id": "{b0632879-5c49-489d-9aea-61a4b97e0119}",
|
||||
"ignoreForCollisions": 1,
|
||||
"lastEdited": 1483719792935834,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"name": "SB.BowSpawn",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": 10.778658866882324,
|
||||
"y": -0.14566850662231445,
|
||||
"z": -11.424605369567871
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 0.42263346910476685,
|
||||
"x": -33.49005126953125,
|
||||
"y": 3.6125919818878174,
|
||||
"z": -8.2958688735961914
|
||||
},
|
||||
"rotation": {
|
||||
"w": 1,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": -1.52587890625e-05,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"shape": "Cube",
|
||||
"type": "Box"
|
||||
},
|
||||
{
|
||||
"clientOnly": 0,
|
||||
"collidesWith": "",
|
||||
"collisionMask": 0,
|
||||
"collisionless": 1,
|
||||
"color": {
|
||||
"blue": 0,
|
||||
"green": 0,
|
||||
"red": 255
|
||||
},
|
||||
"created": "2017-01-05T00:40:36Z",
|
||||
"dimensions": {
|
||||
"x": 0.24400754272937775,
|
||||
"y": 0.24400754272937775,
|
||||
"z": 0.24400754272937775
|
||||
},
|
||||
"id": "{1b61c614-6739-473e-97f7-fb8aa9c4c393}",
|
||||
"ignoreForCollisions": 1,
|
||||
"lastEdited": 1483719792934022,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"name": "SB.BowSpawn",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": 0.17115697264671326,
|
||||
"y": -0.1459922194480896,
|
||||
"z": -11.424281120300293
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 0.42263346910476685,
|
||||
"x": -44.097553253173828,
|
||||
"y": 3.6125919818878174,
|
||||
"z": -8.2958688735961914
|
||||
},
|
||||
"rotation": {
|
||||
"w": 1,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": -1.52587890625e-05,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"shape": "Cube",
|
||||
"type": "Box"
|
||||
},
|
||||
{
|
||||
"clientOnly": 0,
|
||||
"collidesWith": "",
|
||||
"collisionMask": 0,
|
||||
"collisionless": 1,
|
||||
"color": {
|
||||
"blue": 0,
|
||||
"green": 0,
|
||||
"red": 255
|
||||
},
|
||||
"created": "2017-01-05T00:40:36Z",
|
||||
"dimensions": {
|
||||
"x": 0.24400754272937775,
|
||||
"y": 0.24400754272937775,
|
||||
"z": 0.24400754272937775
|
||||
},
|
||||
"id": "{22f859de-7075-40e2-99f6-34e21f35a8ea}",
|
||||
"ignoreForCollisions": 1,
|
||||
"lastEdited": 1483719792939263,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"name": "SB.BowSpawn",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": 5.4656858444213867,
|
||||
"y": -0.14583064615726471,
|
||||
"z": -11.424443244934082
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 0.42263346910476685,
|
||||
"x": -38.803024291992188,
|
||||
"y": 3.6125919818878174,
|
||||
"z": -8.2958688735961914
|
||||
},
|
||||
"rotation": {
|
||||
"w": 1,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": -1.52587890625e-05,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"shape": "Cube",
|
||||
"type": "Box"
|
||||
},
|
||||
{
|
||||
"clientOnly": 0,
|
||||
"collidesWith": "",
|
||||
"collisionMask": 0,
|
||||
"collisionless": 1,
|
||||
"color": {
|
||||
"blue": 171,
|
||||
"green": 50,
|
||||
"red": 62
|
||||
},
|
||||
"created": "2017-01-05T00:42:47Z",
|
||||
"dimensions": {
|
||||
"x": 0.24400754272937775,
|
||||
"y": 0.24400754272937775,
|
||||
"z": 0.24400754272937775
|
||||
},
|
||||
"id": "{2a80b2e3-1a36-4c5b-a373-fe8c3aa3f883}",
|
||||
"ignoreForCollisions": 1,
|
||||
"lastEdited": 1483719792945367,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"name": "SB.EnemySpawn",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": -2.3618791103363037,
|
||||
"y": -2.0691573619842529,
|
||||
"z": 11.254574775695801
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 0.42263346910476685,
|
||||
"x": -46.631340026855469,
|
||||
"y": 1.6901963949203491,
|
||||
"z": 14.382968902587891
|
||||
},
|
||||
"rotation": {
|
||||
"w": 1,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": -1.52587890625e-05,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"shape": "Cube",
|
||||
"type": "Box"
|
||||
},
|
||||
{
|
||||
"clientOnly": 0,
|
||||
"collidesWith": "",
|
||||
"collisionMask": 0,
|
||||
"collisionless": 1,
|
||||
"color": {
|
||||
"blue": 171,
|
||||
"green": 50,
|
||||
"red": 62
|
||||
},
|
||||
"created": "2017-01-05T00:42:47Z",
|
||||
"dimensions": {
|
||||
"x": 0.24400754272937775,
|
||||
"y": 0.24400754272937775,
|
||||
"z": 0.24400754272937775
|
||||
},
|
||||
"id": "{f02a602d-60c7-45a5-a1e2-9bc4127d1469}",
|
||||
"ignoreForCollisions": 1,
|
||||
"lastEdited": 1483719792948383,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"name": "SB.EnemySpawn",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": 0.64757472276687622,
|
||||
"y": -2.5217375755310059,
|
||||
"z": 10.08248233795166
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 0.42263346910476685,
|
||||
"x": -43.621864318847656,
|
||||
"y": 1.2374886274337769,
|
||||
"z": 13.210981369018555
|
||||
},
|
||||
"rotation": {
|
||||
"w": 1,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": -1.52587890625e-05,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"shape": "Cube",
|
||||
"type": "Box"
|
||||
},
|
||||
{
|
||||
"clientOnly": 0,
|
||||
"created": "2017-01-04T23:15:24Z",
|
||||
"dimensions": {
|
||||
"x": 23.341892242431641,
|
||||
"y": 12.223045349121094,
|
||||
"z": 32.012016296386719
|
||||
},
|
||||
"friction": 1,
|
||||
"id": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"lastEdited": 1483719792997391,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"modelURL": "http://hifi-content.s3.amazonaws.com/alan/dev/shortbow-scoreboard.fbx",
|
||||
"name": "SB.Scoreboard",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"queryAACube": {
|
||||
"scale": 145.37844848632812,
|
||||
"x": -115.95872497558594,
|
||||
"y": -72.089508056640625,
|
||||
"z": -67.790824890136719
|
||||
},
|
||||
"rotation": {
|
||||
"w": 1,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": -1.52587890625e-05,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"shapeType": "static-mesh",
|
||||
"type": "Model"
|
||||
},
|
||||
{
|
||||
"clientOnly": 0,
|
||||
"created": "2017-01-04T23:15:24Z",
|
||||
"dimensions": {
|
||||
"x": 26.619272232055664,
|
||||
"y": 9.5514450073242188,
|
||||
"z": 39.351062774658203
|
||||
},
|
||||
"id": "{7e26bd3e-b11e-44ce-96a4-30c37ebba5e5}",
|
||||
"lastEdited": 1483719792992785,
|
||||
"lastEditedBy": "{a310144a-2875-4b8a-aa79-003513cf1488}",
|
||||
"modelURL": "http://hifi-content.s3.amazonaws.com/alan/dev/shortbow-platform.fbx",
|
||||
"name": "SB.Platform",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": 0.097981341183185577,
|
||||
"y": -3.3705375194549561,
|
||||
"z": 2.0320396423339844
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 145.37844848632812,
|
||||
"x": -115.95872497558594,
|
||||
"y": -72.089508056640625,
|
||||
"z": -67.790824890136719
|
||||
},
|
||||
"rotation": {
|
||||
"w": 1,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": -1.52587890625e-05,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"shapeType": "static-mesh",
|
||||
"type": "Model"
|
||||
},
|
||||
{
|
||||
"clientOnly": 0,
|
||||
"color": {
|
||||
"blue": 0,
|
||||
"green": 0,
|
||||
"red": 255
|
||||
},
|
||||
"created": "2017-01-05T21:25:47Z",
|
||||
"dimensions": {
|
||||
"x": 15.710711479187012,
|
||||
"y": 4.7783288955688477,
|
||||
"z": 1.6129581928253174
|
||||
},
|
||||
"id": "{26711fe0-87d7-47e9-bcde-4b1a9b4fd05d}",
|
||||
"lastEdited": 1483719793010044,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"name": "SB.GateCollider",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": 0.31728419661521912,
|
||||
"y": -4.3002614974975586,
|
||||
"z": -12.531644821166992
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 49.500953674316406,
|
||||
"x": -68.2261962890625,
|
||||
"y": -25.080875396728516,
|
||||
"z": -33.659828186035156
|
||||
},
|
||||
"rotation": {
|
||||
"w": 1,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": -1.52587890625e-05,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"shape": "Cube",
|
||||
"type": "Box"
|
||||
}
|
||||
],
|
||||
"Version": 65
|
||||
}
|
|
@ -0,0 +1,820 @@
|
|||
{
|
||||
"Entities": [
|
||||
{
|
||||
"clientOnly": 0,
|
||||
"collidesWith": "",
|
||||
"collisionMask": 0,
|
||||
"collisionless": 1,
|
||||
"color": {
|
||||
"blue": 171,
|
||||
"green": 50,
|
||||
"red": 62
|
||||
},
|
||||
"created": "2017-01-05T00:42:47Z",
|
||||
"dimensions": {
|
||||
"x": 0.24400754272937775,
|
||||
"y": 0.24400754272937775,
|
||||
"z": 0.24400754272937775
|
||||
},
|
||||
"id": "{4cf9a775-ea2a-4aff-ae2a-061ea902fcd5}",
|
||||
"ignoreForCollisions": 1,
|
||||
"lastEdited": 1483719792930052,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"name": "SB.EnemySpawn",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": -1.89238440990448,
|
||||
"y": -5.3368110656738281,
|
||||
"z": 11.512755393981934
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 0.42263346910476685,
|
||||
"x": -46.161952972412109,
|
||||
"y": -1.5774637460708618,
|
||||
"z": 14.641263008117676
|
||||
},
|
||||
"rotation": {
|
||||
"w": 1,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": -1.52587890625e-05,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"shape": "Cube",
|
||||
"type": "Box"
|
||||
},
|
||||
{
|
||||
"clientOnly": 0,
|
||||
"collidesWith": "",
|
||||
"collisionMask": 0,
|
||||
"collisionless": 1,
|
||||
"color": {
|
||||
"blue": 171,
|
||||
"green": 50,
|
||||
"red": 62
|
||||
},
|
||||
"created": "2017-01-05T20:31:10Z",
|
||||
"dimensions": {
|
||||
"x": 0.24400754272937775,
|
||||
"y": 0.24400754272937775,
|
||||
"z": 0.24400754272937775
|
||||
},
|
||||
"id": "{d715486e-cbc1-417f-a27c-eae92f50ec4a}",
|
||||
"ignoreForCollisions": 1,
|
||||
"lastEdited": 1483719792930724,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"name": "SB.EnemySpawn",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": 3.6569130420684814,
|
||||
"y": -5.3365960121154785,
|
||||
"z": 10.01292610168457
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 0.42263346910476685,
|
||||
"x": -40.61260986328125,
|
||||
"y": -1.5774637460708618,
|
||||
"z": 13.141603469848633
|
||||
},
|
||||
"rotation": {
|
||||
"w": 1,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": -1.52587890625e-05,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"shape": "Cube",
|
||||
"type": "Box"
|
||||
},
|
||||
{
|
||||
"clientOnly": 0,
|
||||
"collidesWith": "",
|
||||
"collisionMask": 0,
|
||||
"collisionless": 1,
|
||||
"color": {
|
||||
"blue": 171,
|
||||
"green": 50,
|
||||
"red": 62
|
||||
},
|
||||
"created": "2017-01-05T00:40:36Z",
|
||||
"dimensions": {
|
||||
"x": 0.24400754272937775,
|
||||
"y": 0.24400754272937775,
|
||||
"z": 0.24400754272937775
|
||||
},
|
||||
"id": "{b00d9436-f975-46ae-b00b-2338cdf077a9}",
|
||||
"ignoreForCollisions": 1,
|
||||
"lastEdited": 1483719792930960,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"name": "SB.EnemySpawn",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": 8.8902750015258789,
|
||||
"y": -5.3364419937133789,
|
||||
"z": 10.195274353027344
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 0.42263346910476685,
|
||||
"x": -35.379253387451172,
|
||||
"y": -1.5774637460708618,
|
||||
"z": 13.324110984802246
|
||||
},
|
||||
"rotation": {
|
||||
"w": 1,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": -1.52587890625e-05,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"shape": "Cube",
|
||||
"type": "Box"
|
||||
},
|
||||
{
|
||||
"backgroundColor": {
|
||||
"blue": 65,
|
||||
"green": 78,
|
||||
"red": 82
|
||||
},
|
||||
"clientOnly": 0,
|
||||
"created": "2017-01-04T23:26:19Z",
|
||||
"dimensions": {
|
||||
"x": 1.4120937585830688,
|
||||
"y": 0.71569448709487915,
|
||||
"z": 0.0099999997764825821
|
||||
},
|
||||
"id": "{b5268d4b-f3e4-4772-9390-0bf89eb10783}",
|
||||
"lastEdited": 1483719793013991,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"lineHeight": 0.5,
|
||||
"name": "SB.DisplayLives",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": -8.0707607269287109,
|
||||
"y": 0.26189804077148438,
|
||||
"z": -7.2889409065246582
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 1.5831384658813477,
|
||||
"x": -52.919837951660156,
|
||||
"y": 3.4406075477600098,
|
||||
"z": -4.7410445213317871
|
||||
},
|
||||
"rotation": {
|
||||
"w": 0.70708787441253662,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": 0.70708787441253662,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"text": "0",
|
||||
"type": "Text"
|
||||
},
|
||||
{
|
||||
"backgroundColor": {
|
||||
"blue": 65,
|
||||
"green": 78,
|
||||
"red": 82
|
||||
},
|
||||
"clientOnly": 0,
|
||||
"created": "2017-01-04T23:28:30Z",
|
||||
"dimensions": {
|
||||
"x": 2,
|
||||
"y": 0.69999998807907104,
|
||||
"z": 0.0099999997764825821
|
||||
},
|
||||
"id": "{3c54360d-dff1-4b0d-be63-240332776ba8}",
|
||||
"lastEdited": 1483719792931461,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"lineHeight": 0.5,
|
||||
"name": "SB.DisplayScore",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": -8.0707607269287109,
|
||||
"y": 1.5265679359436035,
|
||||
"z": -9.5913219451904297
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 2.118985652923584,
|
||||
"x": -53.187652587890625,
|
||||
"y": 4.4372835159301758,
|
||||
"z": -7.3113880157470703
|
||||
},
|
||||
"rotation": {
|
||||
"w": 0.70708787441253662,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": 0.70708787441253662,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"text": "0",
|
||||
"type": "Text"
|
||||
},
|
||||
{
|
||||
"backgroundColor": {
|
||||
"blue": 65,
|
||||
"green": 78,
|
||||
"red": 82
|
||||
},
|
||||
"clientOnly": 0,
|
||||
"created": "2017-01-04T23:24:08Z",
|
||||
"dimensions": {
|
||||
"x": 2,
|
||||
"y": 0.69999998807907104,
|
||||
"z": 0.0099999997764825821
|
||||
},
|
||||
"id": "{f7b5b73e-c816-4ec4-b3f3-c7e7cd7419d8}",
|
||||
"lastEdited": 1483719792931719,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"lineHeight": 0.5,
|
||||
"name": "SB.DisplayHighScore",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": -8.0707607269287109,
|
||||
"y": 0.26189804077148438,
|
||||
"z": -9.5913219451904297
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 2.118985652923584,
|
||||
"x": -53.187694549560547,
|
||||
"y": 3.1726138591766357,
|
||||
"z": -7.3113498687744141
|
||||
},
|
||||
"rotation": {
|
||||
"w": 0.70708787441253662,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": 0.70708787441253662,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"text": "0",
|
||||
"type": "Text"
|
||||
},
|
||||
{
|
||||
"backgroundColor": {
|
||||
"blue": 65,
|
||||
"green": 78,
|
||||
"red": 82
|
||||
},
|
||||
"clientOnly": 0,
|
||||
"created": "2017-01-04T23:28:30Z",
|
||||
"dimensions": {
|
||||
"x": 1.4120937585830688,
|
||||
"y": 0.71569448709487915,
|
||||
"z": 0.0099999997764825821
|
||||
},
|
||||
"id": "{35058f6b-d294-470d-aa56-55348ed9e418}",
|
||||
"lastEdited": 1483719793013760,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"lineHeight": 0.5,
|
||||
"name": "SB.DisplayWave",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": -8.0707607269287109,
|
||||
"y": 1.5265679359436035,
|
||||
"z": -7.2889409065246582
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 1.5831384658813477,
|
||||
"x": -52.9197998046875,
|
||||
"y": 4.7052774429321289,
|
||||
"z": -4.7410831451416016
|
||||
},
|
||||
"rotation": {
|
||||
"w": 0.70708787441253662,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": 0.70708787441253662,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"text": "0",
|
||||
"type": "Text"
|
||||
},
|
||||
{
|
||||
"clientOnly": 0,
|
||||
"collidesWith": "",
|
||||
"collisionMask": 0,
|
||||
"collisionless": 1,
|
||||
"color": {
|
||||
"blue": 0,
|
||||
"green": 0,
|
||||
"red": 255
|
||||
},
|
||||
"created": "2017-01-05T00:40:36Z",
|
||||
"dimensions": {
|
||||
"x": 0.24400754272937775,
|
||||
"y": 0.24400754272937775,
|
||||
"z": 0.24400754272937775
|
||||
},
|
||||
"id": "{a8b0522f-00fa-4a84-bfb4-c16c0c8a0927}",
|
||||
"ignoreForCollisions": 1,
|
||||
"lastEdited": 1483719792931944,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"name": "SB.BowSpawn",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": -5.1683855056762695,
|
||||
"y": -0.14615517854690552,
|
||||
"z": -11.424118041992188
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 0.42263346910476685,
|
||||
"x": -49.437095642089844,
|
||||
"y": 3.6125919818878174,
|
||||
"z": -8.2958688735961914
|
||||
},
|
||||
"rotation": {
|
||||
"w": 1,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": -1.52587890625e-05,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"shape": "Cube",
|
||||
"type": "Box"
|
||||
},
|
||||
{
|
||||
"clientOnly": 0,
|
||||
"created": "2017-01-05T21:12:40Z",
|
||||
"dimensions": {
|
||||
"x": 0.71920680999755859,
|
||||
"y": 2.5761642456054688,
|
||||
"z": 2.2217941284179688
|
||||
},
|
||||
"id": "{0b0297de-0b76-48e3-b44e-83f9f21f2728}",
|
||||
"lastEdited": 1483719792931174,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"modelURL": "http://hifi-content.s3.amazonaws.com/alan/dev/shortbow-button.fbx",
|
||||
"name": "SB.StartButton",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": -10.128876686096191,
|
||||
"y": 1.8550845384597778,
|
||||
"z": -12.927911758422852
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 3.4771037101745605,
|
||||
"x": -55.924716949462891,
|
||||
"y": 4.0867023468017578,
|
||||
"z": -11.327109336853027
|
||||
},
|
||||
"rotation": {
|
||||
"w": 1,
|
||||
"x": 1.52587890625e-05,
|
||||
"y": 1.52587890625e-05,
|
||||
"z": 1.52587890625e-05
|
||||
},
|
||||
"shapeType": "static-mesh",
|
||||
"type": "Model"
|
||||
},
|
||||
{
|
||||
"clientOnly": 0,
|
||||
"collidesWith": "",
|
||||
"collisionMask": 0,
|
||||
"collisionless": 1,
|
||||
"color": {
|
||||
"blue": 0,
|
||||
"green": 0,
|
||||
"red": 255
|
||||
},
|
||||
"created": "2017-01-05T00:40:36Z",
|
||||
"dimensions": {
|
||||
"x": 0.24400754272937775,
|
||||
"y": 0.24400754272937775,
|
||||
"z": 0.24400754272937775
|
||||
},
|
||||
"id": "{54a83ad0-c4ff-4e63-834f-3d905647482b}",
|
||||
"ignoreForCollisions": 1,
|
||||
"lastEdited": 1483719792933758,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"name": "SB.BowSpawn",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": 2.7973012924194336,
|
||||
"y": -0.14591208100318909,
|
||||
"z": -11.424361228942871
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 0.42263346910476685,
|
||||
"x": -41.471408843994141,
|
||||
"y": 3.6125919818878174,
|
||||
"z": -8.2958688735961914
|
||||
},
|
||||
"rotation": {
|
||||
"w": 1,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": -1.52587890625e-05,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"shape": "Cube",
|
||||
"type": "Box"
|
||||
},
|
||||
{
|
||||
"clientOnly": 0,
|
||||
"collidesWith": "",
|
||||
"collisionMask": 0,
|
||||
"collisionless": 1,
|
||||
"color": {
|
||||
"blue": 0,
|
||||
"green": 0,
|
||||
"red": 255
|
||||
},
|
||||
"created": "2017-01-05T00:40:36Z",
|
||||
"dimensions": {
|
||||
"x": 0.24400754272937775,
|
||||
"y": 0.24400754272937775,
|
||||
"z": 0.24400754272937775
|
||||
},
|
||||
"id": "{cfce120e-84bd-48f3-8467-cdee5ff25023}",
|
||||
"ignoreForCollisions": 1,
|
||||
"lastEdited": 1483719792934956,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"name": "SB.BowSpawn",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": -2.5027093887329102,
|
||||
"y": -0.14607381820678711,
|
||||
"z": -11.424200057983398
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 0.42263346910476685,
|
||||
"x": -46.771419525146484,
|
||||
"y": 3.6125919818878174,
|
||||
"z": -8.2958688735961914
|
||||
},
|
||||
"rotation": {
|
||||
"w": 1,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": -1.52587890625e-05,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"shape": "Cube",
|
||||
"type": "Box"
|
||||
},
|
||||
{
|
||||
"clientOnly": 0,
|
||||
"collidesWith": "",
|
||||
"collisionMask": 0,
|
||||
"collisionless": 1,
|
||||
"color": {
|
||||
"blue": 0,
|
||||
"green": 0,
|
||||
"red": 255
|
||||
},
|
||||
"created": "2017-01-05T00:40:36Z",
|
||||
"dimensions": {
|
||||
"x": 0.24400754272937775,
|
||||
"y": 0.24400754272937775,
|
||||
"z": 0.24400754272937775
|
||||
},
|
||||
"id": "{566cd534-da19-4358-b6cf-70c998d38e90}",
|
||||
"ignoreForCollisions": 1,
|
||||
"lastEdited": 1483719792939511,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"name": "SB.BowSpawn",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": 8.1799535751342773,
|
||||
"y": -0.14574781060218811,
|
||||
"z": -11.424525260925293
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 0.42263346910476685,
|
||||
"x": -36.088756561279297,
|
||||
"y": 3.6125919818878174,
|
||||
"z": -8.2958688735961914
|
||||
},
|
||||
"rotation": {
|
||||
"w": 1,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": -1.52587890625e-05,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"shape": "Cube",
|
||||
"type": "Box"
|
||||
},
|
||||
{
|
||||
"clientOnly": 0,
|
||||
"collidesWith": "",
|
||||
"collisionMask": 0,
|
||||
"collisionless": 1,
|
||||
"color": {
|
||||
"blue": 0,
|
||||
"green": 0,
|
||||
"red": 255
|
||||
},
|
||||
"created": "2017-01-05T00:38:25Z",
|
||||
"dimensions": {
|
||||
"x": 0.24400754272937775,
|
||||
"y": 0.24400754272937775,
|
||||
"z": 0.24400754272937775
|
||||
},
|
||||
"id": "{b0632879-5c49-489d-9aea-61a4b97e0119}",
|
||||
"ignoreForCollisions": 1,
|
||||
"lastEdited": 1483719792935834,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"name": "SB.BowSpawn",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": 10.778658866882324,
|
||||
"y": -0.14566850662231445,
|
||||
"z": -11.424605369567871
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 0.42263346910476685,
|
||||
"x": -33.49005126953125,
|
||||
"y": 3.6125919818878174,
|
||||
"z": -8.2958688735961914
|
||||
},
|
||||
"rotation": {
|
||||
"w": 1,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": -1.52587890625e-05,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"shape": "Cube",
|
||||
"type": "Box"
|
||||
},
|
||||
{
|
||||
"clientOnly": 0,
|
||||
"collidesWith": "",
|
||||
"collisionMask": 0,
|
||||
"collisionless": 1,
|
||||
"color": {
|
||||
"blue": 0,
|
||||
"green": 0,
|
||||
"red": 255
|
||||
},
|
||||
"created": "2017-01-05T00:40:36Z",
|
||||
"dimensions": {
|
||||
"x": 0.24400754272937775,
|
||||
"y": 0.24400754272937775,
|
||||
"z": 0.24400754272937775
|
||||
},
|
||||
"id": "{1b61c614-6739-473e-97f7-fb8aa9c4c393}",
|
||||
"ignoreForCollisions": 1,
|
||||
"lastEdited": 1483719792934022,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"name": "SB.BowSpawn",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": 0.17115697264671326,
|
||||
"y": -0.1459922194480896,
|
||||
"z": -11.424281120300293
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 0.42263346910476685,
|
||||
"x": -44.097553253173828,
|
||||
"y": 3.6125919818878174,
|
||||
"z": -8.2958688735961914
|
||||
},
|
||||
"rotation": {
|
||||
"w": 1,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": -1.52587890625e-05,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"shape": "Cube",
|
||||
"type": "Box"
|
||||
},
|
||||
{
|
||||
"clientOnly": 0,
|
||||
"collidesWith": "",
|
||||
"collisionMask": 0,
|
||||
"collisionless": 1,
|
||||
"color": {
|
||||
"blue": 0,
|
||||
"green": 0,
|
||||
"red": 255
|
||||
},
|
||||
"created": "2017-01-05T00:40:36Z",
|
||||
"dimensions": {
|
||||
"x": 0.24400754272937775,
|
||||
"y": 0.24400754272937775,
|
||||
"z": 0.24400754272937775
|
||||
},
|
||||
"id": "{22f859de-7075-40e2-99f6-34e21f35a8ea}",
|
||||
"ignoreForCollisions": 1,
|
||||
"lastEdited": 1483719792939263,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"name": "SB.BowSpawn",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": 5.4656858444213867,
|
||||
"y": -0.14583064615726471,
|
||||
"z": -11.424443244934082
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 0.42263346910476685,
|
||||
"x": -38.803024291992188,
|
||||
"y": 3.6125919818878174,
|
||||
"z": -8.2958688735961914
|
||||
},
|
||||
"rotation": {
|
||||
"w": 1,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": -1.52587890625e-05,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"shape": "Cube",
|
||||
"type": "Box"
|
||||
},
|
||||
{
|
||||
"clientOnly": 0,
|
||||
"collidesWith": "",
|
||||
"collisionMask": 0,
|
||||
"collisionless": 1,
|
||||
"color": {
|
||||
"blue": 171,
|
||||
"green": 50,
|
||||
"red": 62
|
||||
},
|
||||
"created": "2017-01-05T00:42:47Z",
|
||||
"dimensions": {
|
||||
"x": 0.24400754272937775,
|
||||
"y": 0.24400754272937775,
|
||||
"z": 0.24400754272937775
|
||||
},
|
||||
"id": "{2a80b2e3-1a36-4c5b-a373-fe8c3aa3f883}",
|
||||
"ignoreForCollisions": 1,
|
||||
"lastEdited": 1483719792945367,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"name": "SB.EnemySpawn",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": -2.3618791103363037,
|
||||
"y": -2.0691573619842529,
|
||||
"z": 11.254574775695801
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 0.42263346910476685,
|
||||
"x": -46.631340026855469,
|
||||
"y": 1.6901963949203491,
|
||||
"z": 14.382968902587891
|
||||
},
|
||||
"rotation": {
|
||||
"w": 1,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": -1.52587890625e-05,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"shape": "Cube",
|
||||
"type": "Box"
|
||||
},
|
||||
{
|
||||
"clientOnly": 0,
|
||||
"collidesWith": "",
|
||||
"collisionMask": 0,
|
||||
"collisionless": 1,
|
||||
"color": {
|
||||
"blue": 171,
|
||||
"green": 50,
|
||||
"red": 62
|
||||
},
|
||||
"created": "2017-01-05T00:42:47Z",
|
||||
"dimensions": {
|
||||
"x": 0.24400754272937775,
|
||||
"y": 0.24400754272937775,
|
||||
"z": 0.24400754272937775
|
||||
},
|
||||
"id": "{f02a602d-60c7-45a5-a1e2-9bc4127d1469}",
|
||||
"ignoreForCollisions": 1,
|
||||
"lastEdited": 1483719792948383,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"name": "SB.EnemySpawn",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": 0.64757472276687622,
|
||||
"y": -2.5217375755310059,
|
||||
"z": 10.08248233795166
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 0.42263346910476685,
|
||||
"x": -43.621864318847656,
|
||||
"y": 1.2374886274337769,
|
||||
"z": 13.210981369018555
|
||||
},
|
||||
"rotation": {
|
||||
"w": 1,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": -1.52587890625e-05,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"shape": "Cube",
|
||||
"type": "Box"
|
||||
},
|
||||
{
|
||||
"clientOnly": 0,
|
||||
"created": "2017-01-04T23:15:24Z",
|
||||
"dimensions": {
|
||||
"x": 23.341892242431641,
|
||||
"y": 12.223045349121094,
|
||||
"z": 32.012016296386719
|
||||
},
|
||||
"friction": 1,
|
||||
"id": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"lastEdited": 1483719792997391,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"modelURL": "http://hifi-content.s3.amazonaws.com/alan/dev/shortbow-scoreboard.fbx",
|
||||
"name": "SB.Scoreboard",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"queryAACube": {
|
||||
"scale": 145.37844848632812,
|
||||
"x": -115.95872497558594,
|
||||
"y": -72.089508056640625,
|
||||
"z": -67.790824890136719
|
||||
},
|
||||
"rotation": {
|
||||
"w": 1,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": -1.52587890625e-05,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"shapeType": "static-mesh",
|
||||
"type": "Model"
|
||||
},
|
||||
{
|
||||
"clientOnly": 0,
|
||||
"created": "2017-01-04T23:15:24Z",
|
||||
"dimensions": {
|
||||
"x": 26.619272232055664,
|
||||
"y": 9.5514450073242188,
|
||||
"z": 39.351062774658203
|
||||
},
|
||||
"id": "{7e26bd3e-b11e-44ce-96a4-30c37ebba5e5}",
|
||||
"lastEdited": 1483719792992785,
|
||||
"lastEditedBy": "{a310144a-2875-4b8a-aa79-003513cf1488}",
|
||||
"modelURL": "http://hifi-content.s3.amazonaws.com/alan/dev/shortbow-platform.fbx",
|
||||
"name": "SB.Platform",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": 0.097981341183185577,
|
||||
"y": -3.3705375194549561,
|
||||
"z": 2.0320396423339844
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 145.37844848632812,
|
||||
"x": -115.95872497558594,
|
||||
"y": -72.089508056640625,
|
||||
"z": -67.790824890136719
|
||||
},
|
||||
"rotation": {
|
||||
"w": 1,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": -1.52587890625e-05,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"shapeType": "static-mesh",
|
||||
"type": "Model"
|
||||
},
|
||||
{
|
||||
"clientOnly": 0,
|
||||
"color": {
|
||||
"blue": 0,
|
||||
"green": 0,
|
||||
"red": 255
|
||||
},
|
||||
"created": "2017-01-05T21:25:47Z",
|
||||
"dimensions": {
|
||||
"x": 15.710711479187012,
|
||||
"y": 4.7783288955688477,
|
||||
"z": 1.6129581928253174
|
||||
},
|
||||
"id": "{26711fe0-87d7-47e9-bcde-4b1a9b4fd05d}",
|
||||
"lastEdited": 1483719793010044,
|
||||
"lastEditedBy": "{aabc7245-0edb-4fed-a3a1-f1d6bdd93283}",
|
||||
"name": "SB.GateCollider",
|
||||
"owningAvatarID": "{00000000-0000-0000-0000-000000000000}",
|
||||
"parentID": "{8bf402fc-f0ab-4d95-a04f-7779fc25f27e}",
|
||||
"position": {
|
||||
"x": 0.31728419661521912,
|
||||
"y": -4.3002614974975586,
|
||||
"z": -12.531644821166992
|
||||
},
|
||||
"queryAACube": {
|
||||
"scale": 49.500953674316406,
|
||||
"x": -68.2261962890625,
|
||||
"y": -25.080875396728516,
|
||||
"z": -33.659828186035156
|
||||
},
|
||||
"rotation": {
|
||||
"w": 1,
|
||||
"x": -1.52587890625e-05,
|
||||
"y": -1.52587890625e-05,
|
||||
"z": -1.52587890625e-05
|
||||
},
|
||||
"shape": "Cube",
|
||||
"type": "Box"
|
||||
}
|
||||
],
|
||||
"Version": 65
|
||||
}
|
Loading…
Reference in a new issue