Script.include("https://s3.amazonaws.com/DreamingContent/scripts/Austin.js"); var ENTITY_SPAWN_LIMIT = 500;var ENTITY_LIFETIME = 600; var RADIUS = 1.0; // Spawn within this radius (square)var TEST_ENTITY_NAME = "EntitySpawnTest"; var entities = [];var textureIndex = 0;var texture = Script.resolvePath('cube_texture.png');var shader = Script.resolvePath('textureStress.fs');var qml = Script.resolvePath('textureStress.qml');qmlWindow = new OverlayWindow({ title: 'Test Qml', source: qml, height: 240, width: 320, visible: true}); function deleteItems(count) { if (!count) { var ids = Entities.findEntities(MyAvatar.position, 50); ids.forEach(function(id) { var properties = Entities.getEntityProperties(id, ["name"]); if (properties.name === TEST_ENTITY_NAME) { Entities.deleteEntity(id); } }, this); entities = []; return; } else { // FIXME... implement }} function createItems(count) { for (var i = 0; i < count; ++i) { var newEntity = Entities.addEntity({ type: "Box", name: TEST_ENTITY_NAME, position: AUSTIN.avatarRelativePosition(AUSTIN.randomPositionXZ({ x: 0, y: 0, z: -2 }, RADIUS)), color: { r: 255, g: 255, b: 255 }, dimensions: { x: 0.5, y: 0.5, z: 0.5 }, //AUSTIN.randomDimensions(), lifetime: ENTITY_LIFETIME, userData: JSON.stringify({ ProceduralEntity: { version: 2, shaderUrl: shader, channels: [ texture + "?" + textureIndex++ ] } }) }); entities.push(newEntity); } } qmlWindow.fromQml.connect(function(message){ print(message); if (message[0] === "create") { var count = message[1] || 1; createItems(message[1] || 1); } else if (message[0] === "delete") { deleteItems(message[1]); }});
Script.include("https://s3.amazonaws.com/DreamingContent/scripts/Austin.js");
var ENTITY_SPAWN_LIMIT = 500;
var ENTITY_LIFETIME = 600;
var RADIUS = 1.0; // Spawn within this radius (square)
var TEST_ENTITY_NAME = "EntitySpawnTest";
var entities = [];
var textureIndex = 0;
var texture = Script.resolvePath('cube_texture.png');
var shader = Script.resolvePath('textureStress.fs');
var qml = Script.resolvePath('textureStress.qml');
qmlWindow = new OverlayWindow({
title: 'Test Qml',
source: qml,
height: 240,
width: 320,
visible: true
});
function deleteItems(count) {
if (!count) {
var ids = Entities.findEntities(MyAvatar.position, 50);
ids.forEach(function(id) {
var properties = Entities.getEntityProperties(id, ["name"]);
if (properties.name === TEST_ENTITY_NAME) {
Entities.deleteEntity(id);
}
}, this);
entities = [];
return;
} else {
// FIXME... implement
}
}
function createItems(count) {
for (var i = 0; i < count; ++i) {
var newEntity = Entities.addEntity({
type: "Box",
name: TEST_ENTITY_NAME,
position: AUSTIN.avatarRelativePosition(AUSTIN.randomPositionXZ({ x: 0, y: 0, z: -2 }, RADIUS)),
color: { r: 255, g: 255, b: 255 },
dimensions: { x: 0.5, y: 0.5, z: 0.5 }, //AUSTIN.randomDimensions(),
lifetime: ENTITY_LIFETIME,
userData: JSON.stringify({
ProceduralEntity: {
version: 2,
shaderUrl: shader,
channels: [ texture + "?" + textureIndex++ ]
}
})
});
entities.push(newEntity);
}
}
qmlWindow.fromQml.connect(function(message){
print(message);
if (message[0] === "create") {
var count = message[1] || 1;
createItems(message[1] || 1);
} else if (message[0] === "delete") {
deleteItems(message[1]);
}
});