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; }
}
}