using Godot; using Newlon.Components; namespace Newlon.Systems.Effects; [GlobalClass] public abstract partial class Effect : Resource { [Export] public float Duration; [Export] public string Slot; public abstract void Enter(Entity target); public abstract void Process(Entity target); public abstract void Exit(Entity target); private Tween CreateTween(Entity fromEntity) { return fromEntity.CreateTweenEffect(this); } }