// ReSharper disable UnusedMember.Global // ReSharper disable UnusedMemberInSuper.Global // ReSharper disable UnusedParameter.Global namespace CUE.NET.Effects { /// /// Represents a basic effect. /// public interface IEffect { #region Properties & Fields /// /// Gets if this effect has finished all of his work. /// bool IsDone { get; } #endregion #region Methods /// /// Updates the effect. /// /// The elapsed time (in seconds) since the last update. void Update(float deltaTime); #endregion } /// /// Represents a basic effect. /// /// The type of this effect can be attached to. public interface IEffect : IEffect where T : IEffectTarget { #region Methods /// /// Checks if the effect can be applied to the target object. /// /// The this effect is attached to. /// true if the effect can be attached; otherwise, false. bool CanBeAppliedTo(T target); /// /// Hook which is called when the effect is attached to a device. /// /// The this effect is attached to. void OnAttach(T target); /// /// Hook which is called when the effect is detached from a device. /// /// The this effect is detached from. void OnDetach(T target); #endregion } }