|
@@ -1,16 +1,16 @@
|
|
|
-package hrt.prefab.fx2d;
|
|
|
+package hrt.prefab.l2d;
|
|
|
|
|
|
import hrt.prefab.fx.Evaluator;
|
|
|
import hrt.prefab.fx.Value;
|
|
|
import h2d.Particles.ParticleGroup;
|
|
|
|
|
|
class Particles extends h2d.Particles {
|
|
|
-
|
|
|
+
|
|
|
var evaluator : Evaluator;
|
|
|
-
|
|
|
+
|
|
|
var lastTime = -1.0;
|
|
|
var curTime = 0.0;
|
|
|
-
|
|
|
+
|
|
|
var random: hxd.Rand;
|
|
|
var randomSeed = 0;
|
|
|
|
|
@@ -22,14 +22,14 @@ class Particles extends h2d.Particles {
|
|
|
public var speed : Value;
|
|
|
public var speedIncr : Value;
|
|
|
public var gravity : Value;
|
|
|
-
|
|
|
+
|
|
|
public function new( ?parent ) {
|
|
|
super(parent);
|
|
|
randomSeed = Std.random(0xFFFFFF);
|
|
|
random = new hxd.Rand(randomSeed);
|
|
|
evaluator = new Evaluator(random);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
function tick( dt : Float, full=true) {
|
|
|
var group = this.groups[0];
|
|
|
|
|
@@ -50,7 +50,7 @@ class Particles extends h2d.Particles {
|
|
|
curTime = 0.0;
|
|
|
lastTime = 0.0;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
public function setTime(time: Float) {
|
|
|
if(time < lastTime || lastTime < 0) {
|
|
|
reset();
|
|
@@ -101,14 +101,14 @@ class Particle2D extends Object2D {
|
|
|
super.updateInstance(ctx, propName);
|
|
|
|
|
|
var particles2d = (cast ctx.local2d : Particles);
|
|
|
-
|
|
|
+
|
|
|
particles2d.visible = visible;
|
|
|
|
|
|
function makeVal(name, def ) : Value {
|
|
|
var c = Curve.getCurve(this, name);
|
|
|
return c != null ? VCurve(c) : def;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
if (paramsParticleGroup != null) {
|
|
|
particles2d.enable = makeVal("enable", VConst((paramsParticleGroup.enable) ? 1 : 0));
|
|
|
particles2d.speed = makeVal("speed", VConst(paramsParticleGroup.speed));
|
|
@@ -122,7 +122,7 @@ class Particle2D extends Object2D {
|
|
|
var particle2d = new Particles(ctx.local2d);
|
|
|
ctx.local2d = particle2d;
|
|
|
ctx.local2d.name = name;
|
|
|
-
|
|
|
+
|
|
|
var group = new ParticleGroup(particle2d);
|
|
|
particle2d.addGroup(group);
|
|
|
if (paramsParticleGroup != null)
|
|
@@ -161,12 +161,12 @@ class Particle2D extends Object2D {
|
|
|
super.edit(ctx);
|
|
|
|
|
|
var params = new hide.Element(hide.view.Particles2D.getParamsHTMLform());
|
|
|
-
|
|
|
+
|
|
|
var particles2d = (cast ctx.getContext(this).local2d : Particles);
|
|
|
var group = @:privateAccess particles2d.groups[0];
|
|
|
ctx.properties.add(params, group, function (pname) {
|
|
|
// if fx2d is running, tick() changes group params and modifies group.save()
|
|
|
- // if a param has a curve and we changed this param on the right panel,
|
|
|
+ // if a param has a curve and we changed this param on the right panel,
|
|
|
// the saved value will be the value of the curve at this point.
|
|
|
Reflect.setField(paramsParticleGroup, pname, Reflect.field(group.save(), pname));
|
|
|
});
|