From 6db4ef7f1c428021c1df8f5efffb0796add7589f Mon Sep 17 00:00:00 2001 From: Sh1p*nfire <73347888+Sh1penfire@users.noreply.github.com> Date: Mon, 29 Jan 2024 05:04:21 +1100 Subject: [PATCH] PartProgress.time & PartProgress.mod added (#9499) * PartProgress.time & PartProgress.mod added * Add loop() to combine mul and mod --- core/src/mindustry/entities/part/DrawPart.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/core/src/mindustry/entities/part/DrawPart.java b/core/src/mindustry/entities/part/DrawPart.java index f3ebfc6ceb..a8642fe6d4 100644 --- a/core/src/mindustry/entities/part/DrawPart.java +++ b/core/src/mindustry/entities/part/DrawPart.java @@ -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));