Esempio n. 1
0
        public override TaskResult Execute()
        {
            var failure_type = StopExecution ? ResultType.StopExecution : ResultType.Failure;
            var unit         = UnitRegistry.GetUnit(TargetUnit);

            if (unit == null)
            {
                return(new TaskResult(this, failure_type, $"Unit {TargetUnit} is not loaded."));
            }

            var state = unit.CurrentState;

            if (ComparisonState.HasFlag(state) || ComparisonState == UnitState.Any)
            {
                return(new TaskResult(this, ResultType.Success));
            }

            return(new TaskResult(this, failure_type, $"Expected {TargetUnit} to be Active, it was instead {state}"));
        }