Effects/EffectOnKilled.cs
namespace PlanetMeat;
[Group( "Planet Meat - Effects" ), Title( "Death Effect" ), Icon( "celebration" )]
public sealed class EffectOnKilled : Component, ITargetableListener
{
[Property] private bool DestroyObject { get; set; } = false;
[Property] private bool HideModels { get; set; } = false;
public void OnKilled()
{
if ( HideModels )
{
foreach ( var model in Components.GetAll<ModelRenderer>() )
model.Enabled = false;
}
PerformEffects();
if ( DestroyObject )
GameObject.Destroy();
}
public void PerformEffects()
{
foreach ( var effects in Components.GetAll<PreparedEffects>( FindMode.EnabledInSelf ) )
effects.PerformEffects();
}
}