/// <summary> /// Executes behavior with given context /// </summary> /// <param name="context">The context.</param> /// <returns></returns> public override BehaviorReturnCode Behave(IBehaviorContext context) { UnitBehaviorContext unitContext = context as UnitBehaviorContext; if (unitContext == null) { returnCode = BehaviorReturnCode.Failure; return(returnCode); } ResourcesExtractor unit = unitContext.Unit as ResourcesExtractor; if (unit == null) { returnCode = BehaviorReturnCode.Failure; return(returnCode); } if (unit.IsExtracting || unit.IsSleeping) { returnCode = BehaviorReturnCode.Failure; return(returnCode); } returnCode = BehaviorReturnCode.Success; return(returnCode); }
/// <summary> /// Executes behavior with given context /// </summary> /// <param name="context">The context.</param> /// <returns></returns> public override BehaviorReturnCode Behave(IBehaviorContext context) { UnitBehaviorContext unitContext = context as UnitBehaviorContext; if (unitContext == null) { returnCode = BehaviorReturnCode.Failure; return(returnCode); } ResourcesExtractor unit = unitContext.Unit as ResourcesExtractor; if (unit == null) { returnCode = BehaviorReturnCode.Failure; return(returnCode); } ExtractTask task = new ExtractTask(unit); task.Execute(); returnCode = BehaviorReturnCode.Success; return(returnCode); }