From 9a2948978463c8ef45bf2ea567df47e3c7260d86 Mon Sep 17 00:00:00 2001 From: Triplelexx Date: Sat, 23 May 2015 17:57:25 +0100 Subject: [PATCH] expose particle properties for editing I have made these changes to aid with experimenting with particles when running the edit scripts locally. --- examples/html/entityProperties.html | 91 ++++++++++++++++++++++++++++- 1 file changed, 88 insertions(+), 3 deletions(-) diff --git a/examples/html/entityProperties.html b/examples/html/entityProperties.html index a2ff71d010..ece2da7760 100644 --- a/examples/html/entityProperties.html +++ b/examples/html/entityProperties.html @@ -287,6 +287,18 @@ allSections.push(elWebSections); var elWebSourceURL = document.getElementById("property-web-source-url"); + var elParticleSections = document.querySelectorAll(".particle-section"); + allSections.push(elParticleSections); + var elParticleMaxParticles = document.getElementById("property-particle-maxparticles"); + var elParticleLifeSpan = document.getElementById("property-particle-lifespan"); + var elParticleEmitRate = document.getElementById("property-particle-emit-rate"); + var elParticleEmitDirectionX = document.getElementById("property-particle-emit-direction-x"); + var elParticleEmitDirectionY = document.getElementById("property-particle-emit-direction-y"); + var elParticleEmitDirectionZ = document.getElementById("property-particle-emit-direction-z"); + var elParticleEmitStrength = document.getElementById("property-particle-emit-strength"); + var elParticleLocalGravity = document.getElementById("property-particle-localgravity"); + var elParticleRadius = document.getElementById("property-particle-radius"); + var elTextSections = document.querySelectorAll(".text-section"); allSections.push(elTextSections); var elTextText = document.getElementById("property-text-text"); @@ -455,7 +467,7 @@ } } - if (properties.type == "Box" || properties.type == "Sphere") { + if (properties.type == "Box" || properties.type == "Sphere" || properties.type == "ParticleEffect") { elColorSection.style.display = 'block'; elColorRed.value = properties.color.red; elColorGreen.value = properties.color.green; @@ -465,7 +477,7 @@ elColorSection.style.display = 'none'; } - if (properties.type == "Model") { + if (properties.type == "Model" || properties.type == "ParticleEffect") { for (var i = 0; i < elModelSections.length; i++) { elModelSections[i].style.display = 'block'; } @@ -480,6 +492,21 @@ elModelAnimationSettings.value = properties.animationSettings; elModelTextures.value = properties.textures; elModelOriginalTextures.value = properties.originalTextures; + if (properties.type == "ParticleEffect") { + for (var i = 0; i < elParticleSections.length; i++) { + elParticleSections[i].style.display = 'block'; + } + + elParticleMaxParticles.value = properties.maxParticles; + elParticleLifeSpan.value = properties.lifespan.toFixed(2); + elParticleEmitRate.value = properties.emitRate.toFixed(1); + elParticleEmitDirectionX.value = properties.emitDirection.x.toFixed(2); + elParticleEmitDirectionY.value = properties.emitDirection.y.toFixed(2); + elParticleEmitDirectionZ.value = properties.emitDirection.z.toFixed(2); + elParticleEmitStrength.value = properties.emitStrength.toFixed(2); + elParticleLocalGravity.value = properties.localGravity.toFixed(2); + elParticleRadius.value = properties.particleRadius.toFixed(3); + } } else if (properties.type == "Web") { for (var i = 0; i < elWebSections.length; i++) { elWebSections[i].style.display = 'block'; @@ -678,6 +705,19 @@ elLightCutoff.addEventListener('change', createEmitNumberPropertyUpdateFunction('cutoff')); elWebSourceURL.addEventListener('change', createEmitTextPropertyUpdateFunction('sourceUrl')); + + elParticleMaxParticles.addEventListener('change', createEmitNumberPropertyUpdateFunction('maxParticles')); + elParticleLifeSpan.addEventListener('change', createEmitNumberPropertyUpdateFunction('lifespan')); + elParticleEmitRate.addEventListener('change', createEmitNumberPropertyUpdateFunction('emitRate')); + elParticleEmitDirection.addEventListener('change', createEmitNumberPropertyUpdateFunction('emitDirection')); + var particleEmitDirectionChangeFunction = createEmitVec3PropertyUpdateFunctionWithMultiplier( + 'emitDirection', elParticleEmitDirectionX, elParticleEmitDirectionY, elParticleEmitDirectionZ, DEGREES_TO_RADIANS); + elParticleEmitDirectionX.addEventListener('change', particleEmitDirectionChangeFunction); + elParticleEmitDirectionY.addEventListener('change', particleEmitDirectionChangeFunction); + elParticleEmitDirectionZ.addEventListener('change', particleEmitDirectionChangeFunction); + elParticleEmitStrength.addEventListener('change', createEmitNumberPropertyUpdateFunction('emitStrength')); + elParticleLocalGravity.addEventListener('change', createEmitNumberPropertyUpdateFunction('localGravity')); + elParticleRadius.addEventListener('change', createEmitNumberPropertyUpdateFunction('particleRadius')); elModelURL.addEventListener('change', createEmitTextPropertyUpdateFunction('modelURL')); elShapeType.addEventListener('change', createEmitTextPropertyUpdateFunction('shapeType')); @@ -1069,7 +1109,52 @@ - + +
+
Max Particles
+
+ +
+
+
+
Particle Life Span
+
+ +
+
+
+
Particle Emission Rate
+
+ +
+
+
+
Particle Emission Direction
+
+
X
+
Y
+
Z
+
+
+
+
Particle Emission Strength
+
+ +
+
+
+
Particle Local Gravity
+
+ +
+
+
+
Particle Radius
+
+ +
+
+
Model URL