public GrenadeControllerSwitchCommand(BattleUnit unit) : base(unit)
        {
            _defaultWeaponController = unit.WeaponController;
            _nullWeaponController    = unit.GetComponentInChildren <NullWeaponController>(true);
            _grenadeController       = unit.GetComponentInChildren <GrenadeController>(true);

            GameHelper.CheckForNull(_defaultWeaponController, nameof(GrenadeControllerSwitchCommand));
            GameHelper.CheckForNull(_nullWeaponController, nameof(GrenadeControllerSwitchCommand));
            GameHelper.CheckForNull(_grenadeController, nameof(GrenadeControllerSwitchCommand));

            _grenadeController.OnGrenadeLaunchedCallback = OnGrenadeLaunchedCallback;
        }
        public RandomAbilityCommand(BattleUnit unit, PassiveAbilityParams[] potentialAbilities) : base(unit)
        {
            _potentialAbilities = potentialAbilities.ToArray();

            _abilityStatusController = unit.GetComponentInChildren <UnitAbilityStatusController>(true);
            GameHelper.CheckForNull(_abilityStatusController, nameof(RandomAbilityCommand));
        }
 public ClearAbilityCommand(BattleUnit unit) : base(unit)
 {
     _abilityStatusController = unit.GetComponentInChildren <UnitAbilityStatusController>(true);
     GameHelper.CheckForNull(_abilityStatusController, nameof(RandomAbilityCommand));
 }