Update shortbow button and layout

This commit is contained in:
Ryan Huffman 2017-01-06 10:10:26 -08:00
parent 8bbf3e8d89
commit 6adc0d2aac
6 changed files with 1857 additions and 229 deletions

View file

@ -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);

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

View file

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