newlon/scripts/systems/effects/SlownessEffect.cs
2025-07-07 17:29:10 +05:00

34 lines
698 B
C#

using Godot;
using Newlon.Components;
using System;
namespace Newlon.Systems.Effects;
public partial class SlownessEffect : Effect
{
[Export] public Color ColorOverride;
[Export] public float Multiplier;
public override void Enter(Node target)
{
if (target is Entity entity)
{
entity.LocalTimescale *= Multiplier;
entity.Modulate = ColorOverride;
}
}
public override void Exit(Node target)
{
if (target is Entity entity)
{
entity.LocalTimescale /= Multiplier;
entity.Modulate = Colors.White;
}
}
public override void Process(Node target)
{
}
}