Effect system and snowpea

This commit is contained in:
Фёдор Веселов 2024-10-02 19:46:51 +05:00
commit e797918e23
18 changed files with 353 additions and 16 deletions

View file

@ -0,0 +1,35 @@
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 IEffectHandler handler)
{
if(target is ILocalTimescale timescalable)
timescalable.LocalTimescale *= Multiplier;
if(target is CanvasItem canvasItem)
canvasItem.Modulate = ColorOverride;
}
}
public override void Exit(Node target)
{
if(target is ILocalTimescale timescalable)
timescalable.LocalTimescale /= Multiplier;
if(target is CanvasItem canvasItem)
canvasItem.Modulate = Colors.White;
}
public override void Process(Node target)
{
}
}