diff --git a/scripts/Statemachine/ColorBar.gd b/scripts/Statemachine/ColorBar.gd index ebc6a35..af91984 100644 --- a/scripts/Statemachine/ColorBar.gd +++ b/scripts/Statemachine/ColorBar.gd @@ -37,7 +37,12 @@ func _draw(): draw_style_box(middleBox2 if forwardDirection > 0 else middleBox1, Rect2(0, 0, size.x * getPercent(middleValue), size.y)) draw_style_box(frontBox, Rect2(0, 0, size.x * getPercent(frontValue), size.y)) func _physics_process(_delta: float) -> void: - if WorldManager.getTime() - lastChangeTime > GameRule.detainTime: + if forwardDirection > 0: middleValue = lerpf(middleValue, currentValue, speed1 if forwardDirection > 0 else speed2) - frontValue = lerpf(frontValue, currentValue, speed1 if forwardDirection < 0 else speed2) + if WorldManager.getTime() - lastChangeTime > GameRule.detainTime: + frontValue = lerpf(frontValue, currentValue, speed1 if forwardDirection < 0 else speed2) + else: + if WorldManager.getTime() - lastChangeTime > GameRule.detainTime: + middleValue = lerpf(middleValue, currentValue, speed1 if forwardDirection > 0 else speed2) + frontValue = lerpf(frontValue, currentValue, speed1 if forwardDirection < 0 else speed2) queue_redraw()