PartProgress.time & PartProgress.mod added (#9499)

* PartProgress.time & PartProgress.mod added

* Add loop() to combine mul and mod
This commit is contained in:
Sh1p*nfire
2024-01-29 05:04:21 +11:00
committed by GitHub
parent 1b14a09f1c
commit 6db4ef7f1c

View File

@@ -85,8 +85,10 @@ public abstract class DrawPart{
/** Weapon heat, 1 when just fired, 0, when it has cooled down (duration depends on weapon) */
heat = p -> p.heat,
/** Lifetime fraction, 0 to 1. Only for missiles. */
life = p -> p.life;
life = p -> p.life,
/** Current unscaled value of Time.time. */
time = p -> Time.time;
float get(PartParams p);
static PartProgress constant(float value){
@@ -167,6 +169,14 @@ public abstract class DrawPart{
default PartProgress absin(float scl, float mag){
return p -> get(p) + Mathf.absin(scl, mag);
}
default PartProgress mod(float amount){
return p -> Mathf.mod(get(p), amount);
}
default PartProgress loop(float time){
return p -> Mathf.mod(get(p)/time, 1);
}
default PartProgress apply(PartProgress other, PartFunc func){
return p -> func.get(get(p), other.get(p));