using System; namespace Babushka.scripts.CSharp.Common.Fight.ActionDetails; public class TargetSelectActionDetail : FighterAction.FighterActionDetail { public enum VisualRange { Single } // settings public required bool selectEnemy; public required bool selectAlly; public required bool aliveOnly; public VisualRange visualRange = VisualRange.Single; // result private FightWorld.Fighter? target; public override bool DetailComplete() { return target != null; } public void ResetResult() { target = null; } public void SetTarget(FightWorld.Fighter fighter) { target = fighter; } public FightWorld.Fighter GetTarget() { return target ?? throw new InvalidOperationException("No target selected"); } }