/// <summary> /// Initializes a new instance of the <see cref="StatePerforming"/> class. /// </summary> /// <param name="fightManager">A child class of FightManagerBase for managing a /// martial arts fight.</param> /// <param name="fightStatusManager">An instance of FightStatusManager for managing /// the status of a martial arts fight.</param> /// <param name="techniqueActionPicker">An implementation of ITechniqueActionPicker for /// picking moves during a fight.</param> /// <param name="techniquePerformer">An implementation of ITechniquePerformer for /// performing moves during a fight.</param> public StatePerforming(FightManagerBase fightManager, FightStatusManager fightStatusManager, ITechniqueActionPicker techniqueActionPicker, ITechniquePerformer techniquePerformer) { _fightManager = fightManager ?? throw new ArgumentNullException(nameof(fightManager) + " reference not found."); _fightStatusManager = fightStatusManager ?? throw new ArgumentNullException(nameof(fightStatusManager) + " reference not found."); _techniqueActionPicker = techniqueActionPicker ?? throw new ArgumentNullException(nameof(techniqueActionPicker) + " reference not found."); _techniquePerformer = techniquePerformer ?? throw new ArgumentNullException(nameof(techniquePerformer) + " reference not found."); }
/// <summary> /// Default constructor. /// </summary> /// <param name="fightManager">A child class of FightManagerBase for managing a /// martial arts fight.</param> public FightState(FightManagerBase fightManager) { _fightManager = fightManager ?? throw new ArgumentNullException(nameof(fightManager) + " reference is not found."); }
/// <summary> /// Initializes the <see cref="TacticalMind"/> class. /// </summary> static TacticalMind() { _fightManager = new FightManager(); _actionsHistory = new List <TurnAction>(); }