using System.Collections.Generic; using Cthangover.Core.Characters; namespace Cthangover.Core.Battle { /// /// Describes a battle animation without binding to a concrete player. /// Carries Source/Target characters, an AnimationType key for dispatch, /// a Speed multiplier, and an open-ended Parameters dictionary so /// custom animations can pass arbitrary data (damage value, element /// type, etc.) without interface changes. /// public interface IBattleAnimation { /// The performing the action. Character Source { get; } /// The receiving the action. Character Target { get; } /// /// Key used by to dispatch to the /// correct . /// string AnimationType { get; } /// Multiplier for the playback speed (1.0 = normal). float Speed { get; } /// /// Open-ended data bag for animation-specific values /// (e.g. damage amount, elemental flag) — no interface changes /// needed when adding new animation types. /// Dictionary Parameters { get; } } }