private IEnumerable <IBotTask> RootTaskListComponentDefault() { yield return(new BotTask { Component = EnumerateConfigDiagnostics() }); yield return(new EnableInfoPanelCurrentSystem { MemoryMeasurement = MemoryMeasurementAtTime?.Value }); var saveShipTask = new SaveShipTask { Bot = this }; yield return(saveShipTask); yield return(this.EnsureIsActive( MemoryMeasurementAccu?.ShipUiModule?.Where(module => module.ShouldBeActivePermanent(this)))); var moduleUnknown = MemoryMeasurementAccu?.ShipUiModule?.FirstOrDefault(module => null == module?.TooltipLast?.Value); yield return(new BotTask { Effects = new[] { moduleUnknown?.MouseMove() } }); if (!saveShipTask.AllowRoam) { yield break; } var combatTask = new CombatTask { bot = this }; yield return(combatTask); if (!saveShipTask.AllowAnomalyEnter) { yield break; } yield return(new UndockTask { MemoryMeasurement = MemoryMeasurementAtTime?.Value }); if (combatTask.Completed) { yield return new AnomalyEnter { bot = this } } ; }
public IEnumerable <IBotTask> GetTasks(Bot bot) { //yield return new BotTask { Component = EnumerateConfigDiagnostics() }; yield return(new EnableInfoPanelCurrentSystem { MemoryMeasurement = bot.MemoryMeasurementAtTime?.Value }); var saveShipTask = new SaveShipTask { Bot = bot }; yield return(saveShipTask); var shipFit = new ShipFit(bot.MemoryMeasurementAccu?.ShipUiModule, new[] { new[] { new ShipFit.ModuleInfo(ShipFit.ModuleType.Etc), }, new[] { new ShipFit.ModuleInfo(ShipFit.ModuleType.Hardener), new ShipFit.ModuleInfo(ShipFit.ModuleType.Hardener), new ShipFit.ModuleInfo(ShipFit.ModuleType.Hardener), }, new[] { new ShipFit.ModuleInfo(ShipFit.ModuleType.Etc), new ShipFit.ModuleInfo(ShipFit.ModuleType.Etc) } }); yield return(bot.EnsureIsActive(shipFit.GetAlwaysActiveModules().Select(m => m.UiModule))); //var moduleUnknown = MemoryMeasurementAccu?.ShipUiModule?.FirstOrDefault(module => null == module?.TooltipLast?.Value); //yield return new BotTask { ClientActions = new[] { moduleUnknown?.MouseMove() } }; if (!saveShipTask.AllowRoam) { yield break; } var combatTask = new CombatTask { bot = bot }; yield return(combatTask); if (!saveShipTask.AllowAnomalyEnter) { yield break; } yield return(new UndockTask(bot.MemoryMeasurementAtTime?.Value)); if (combatTask.Completed) { if (!currentAnomalyLooted) { var lootTask = new LootTask(bot); yield return(lootTask); if (!lootTask.HasWreckToLoot) { currentAnomalyLooted = true; } } yield return(new AnomalyEnter { bot = bot }); } }
IEnumerable <IBotTask> RootTaskListComponentDefault() { yield return(new BotTask { Component = EnumerateConfigDiagnostics() }); yield return(new EnableInfoPanelCurrentSystem { MemoryMeasurement = MemoryMeasurementAtTime?.Value }); var saveShipTask = new SaveShipTask { Bot = this }; yield return(saveShipTask); yield return(this.EnsureIsActive(MemoryMeasurementAccu?.ShipUiModule?.Where(module => module.ShouldBeActivePermanent(this)))); var moduleUnknown = MemoryMeasurementAccu?.ShipUiModule?.FirstOrDefault(module => null == module?.TooltipLast?.Value); yield return(new BotTask { Effects = new[] { moduleUnknown?.MouseMove() } }); if (!saveShipTask.AllowRoam) { yield break; } var combatTask = new CombatTask { bot = this }; yield return(combatTask); if (!saveShipTask.AllowAnomalyEnter) { yield break; } yield return(new UndockTask { MemoryMeasurement = MemoryMeasurementAtTime?.Value }); if (combatTask.Completed) { yield return new AnomalyEnter { bot = this } } ; } IEnumerable <IBotTask> EnumerateConfigDiagnostics() { var configDeserializeException = ConfigSerialAndStruct.Key?.Exception; if (null != configDeserializeException) { yield return new DiagnosticTask { MessageText = "error parsing configuration: " + configDeserializeException.Message } } ; else if (null == ConfigSerialAndStruct.Value) { yield return new DiagnosticTask { MessageText = "warning: no configuration supplied." } } ; } } }