diff --git a/resource/tasks.json b/resource/tasks.json index 56b7b201d1..1427ee4fd0 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -2594,6 +2594,29 @@ "template": "DroneAssistTrade.png", "action": "stop" }, + "ReplenishToMax": { + "action": "ClickSelf", + "roi": [ + 882, + 128, + 165, + 149 + ], + "rearDelay": 1000, + "next": [ + "ReplenishToMaxConfirm", + "Stop" + ] + }, + "ReplenishToMaxConfirm": { + "action": "ClickSelf", + "roi": [ + 854, + 504, + 192, + 187 + ] + }, "ShamareThumbnail": { "algorithm": "JustReturn", "action": "doNothing", diff --git a/resource/template/ReplenishToMax.png b/resource/template/ReplenishToMax.png new file mode 100644 index 0000000000..912f2ff9be Binary files /dev/null and b/resource/template/ReplenishToMax.png differ diff --git a/resource/template/ReplenishToMaxConfirm.png b/resource/template/ReplenishToMaxConfirm.png new file mode 100644 index 0000000000..4fb6b71871 Binary files /dev/null and b/resource/template/ReplenishToMaxConfirm.png differ diff --git a/src/MeoAssistant/Assistant.cpp b/src/MeoAssistant/Assistant.cpp index adb1423c35..dd7ffecb5a 100644 --- a/src/MeoAssistant/Assistant.cpp +++ b/src/MeoAssistant/Assistant.cpp @@ -28,6 +28,7 @@ #include "RuntimeStatus.h" #include "StageDropsTaskPlugin.h" #include "DronesForShamareTaskPlugin.h" +#include "ReplenishOriginiumShardTaskPlugin.h" using namespace asst; @@ -429,14 +430,15 @@ bool asst::Assistant::append_infrast(infrast::WorkMode work_mode, const std::vec .set_work_mode(work_mode) .set_mood_threshold(dorm_threshold) .set_retry_times(InfrastRetryTimes); + mfg_task_ptr->regiseter_plugin(); auto trade_task_ptr = std::make_shared(task_callback, (void*)this, InfrastTaskCahin); trade_task_ptr->set_uses_of_drone(uses_of_drones) .set_work_mode(work_mode) .set_mood_threshold(dorm_threshold) .set_retry_times(InfrastRetryTimes); - trade_task_ptr->regiseter_plugin(); + auto power_task_ptr = std::make_shared(task_callback, (void*)this, InfrastTaskCahin); power_task_ptr->set_work_mode(work_mode) .set_mood_threshold(dorm_threshold) diff --git a/src/MeoAssistant/MeoAssistant.vcxproj b/src/MeoAssistant/MeoAssistant.vcxproj index 3d08500615..a0510b02b3 100644 --- a/src/MeoAssistant/MeoAssistant.vcxproj +++ b/src/MeoAssistant/MeoAssistant.vcxproj @@ -1,278 +1,280 @@ - - - - - Release - x64 - - - RelWithDebInfo - x64 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 16.0 - Win32Proj - {362d1e30-f5ae-4279-9985-65c27b3ba300} - MeoAssistant - 10.0 - - - - DynamicLibrary - false - v142 - true - Unicode - - - DynamicLibrary - false - v142 - true - Unicode - - - - - - - - - - - - - - - false - $(SolutionDir)include;$(SolutionDir)3rdparty\include;$(IncludePath) - $(TargetDir);$(SolutionDir)\3rdparty\lib;$(LibraryPath) - - - false - $(SolutionDir)include;$(SolutionDir)3rdparty\include;$(IncludePath) - $(TargetDir);$(SolutionDir)\3rdparty\lib;$(LibraryPath) - - - - Level4 - true - true - true - NDEBUG;_CONSOLE;ASST_DLL_EXPORTS;%(PreprocessorDefinitions) - true - stdcpp17 - stdc11 - MultiThreaded - MaxSpeed - /utf-8 /MP %(AdditionalOptions) - - - Console - true - true - true - ppocr.lib;opencv_world453.lib;zlibstatic.lib;%(AdditionalDependencies) - RequireAdministrator - - - true - msvcrt.lib - - - - - - + + + + + Release + x64 + + + RelWithDebInfo + x64 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 16.0 + Win32Proj + {362d1e30-f5ae-4279-9985-65c27b3ba300} + MeoAssistant + 10.0 + + + + DynamicLibrary + false + v142 + true + Unicode + + + DynamicLibrary + false + v142 + true + Unicode + + + + + + + + + + + + + + + false + $(SolutionDir)include;$(SolutionDir)3rdparty\include;$(IncludePath) + $(TargetDir);$(SolutionDir)\3rdparty\lib;$(LibraryPath) + + + false + $(SolutionDir)include;$(SolutionDir)3rdparty\include;$(IncludePath) + $(TargetDir);$(SolutionDir)\3rdparty\lib;$(LibraryPath) + + + + Level4 + true + true + true + NDEBUG;_CONSOLE;ASST_DLL_EXPORTS;%(PreprocessorDefinitions) + true + stdcpp17 + stdc11 + MultiThreaded + MaxSpeed + /utf-8 /MP %(AdditionalOptions) + + + Console + true + true + true + ppocr.lib;opencv_world453.lib;zlibstatic.lib;%(AdditionalDependencies) + RequireAdministrator + + + true + msvcrt.lib + + + + + + xcopy /e /y /i /c $(SolutionDir)resource $(TargetDir)resource -xcopy /e /y /i /c $(SolutionDir)3rdparty\resource $(TargetDir)resource - - - copy resource - - - xcopy /e /y /i /c $(SolutionDir)3rdparty\bin $(TargetDir) - - - copy 3rd party dll - - - - - Level4 - - - false - true - NDEBUG;_CONSOLE;ASST_DLL_EXPORTS;ASST_DEBUG;%(PreprocessorDefinitions) - true - stdcpp17 - stdc11 - MultiThreaded - Disabled - true - EnableFastChecks - /utf-8 /MP %(AdditionalOptions) - - - Console - true - true - true - ppocr.lib;opencv_world453.lib;zlibstatic.lib;%(AdditionalDependencies) - RequireAdministrator - - - true - msvcrt.lib - - - - - - +xcopy /e /y /i /c $(SolutionDir)3rdparty\resource $(TargetDir)resource + + + copy resource + + + xcopy /e /y /i /c $(SolutionDir)3rdparty\bin $(TargetDir) + + + copy 3rd party dll + + + + + Level4 + + + false + true + NDEBUG;_CONSOLE;ASST_DLL_EXPORTS;ASST_DEBUG;%(PreprocessorDefinitions) + true + stdcpp17 + stdc11 + MultiThreaded + Disabled + true + EnableFastChecks + /utf-8 /MP %(AdditionalOptions) + + + Console + true + true + true + ppocr.lib;opencv_world453.lib;zlibstatic.lib;%(AdditionalDependencies) + RequireAdministrator + + + true + msvcrt.lib + + + + + + xcopy /e /y /i /c $(SolutionDir)resource $(TargetDir)resource -xcopy /e /y /i /c $(SolutionDir)3rdparty\resource $(TargetDir)resource - - - copy resource - - - xcopy /e /y /i /c $(SolutionDir)3rdparty\bin $(TargetDir) - - - copy 3rd party dll - - - - - - - - - - +xcopy /e /y /i /c $(SolutionDir)3rdparty\resource $(TargetDir)resource + + + copy resource + + + xcopy /e /y /i /c $(SolutionDir)3rdparty\bin $(TargetDir) + + + copy 3rd party dll + + + + + + + + + + \ No newline at end of file diff --git a/src/MeoAssistant/MeoAssistant.vcxproj.filters b/src/MeoAssistant/MeoAssistant.vcxproj.filters index ce678a9f07..d3d1944de4 100644 --- a/src/MeoAssistant/MeoAssistant.vcxproj.filters +++ b/src/MeoAssistant/MeoAssistant.vcxproj.filters @@ -1,428 +1,434 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - {81d86994-0d89-4cc2-aa6f-d726a0bd0490} - - - {3b93d9f2-728c-4a22-bc13-57ce7df5806c} - - - {1ef28df7-c174-4032-bbcf-9722ae53852d} - - - {557d6d96-11d9-46e1-b611-b2b8216abea6} - - - {1a8ffc31-8eb3-4af6-9065-634de2463a3e} - - - {c6a0898b-5dd7-4437-981c-00e53b30a60d} - - - {07a812fe-6b28-4be0-b6d4-33554824d3c5} - - - {74bd94e1-4973-412a-a17a-d8457de387af} - - - {87c9dee5-847b-41e6-818e-387a6385ea8b} - - - {a37e0b23-e8f8-499c-adf5-9990277e9ffe} - - - {51165426-1842-491a-b5d5-9d26c59facdd} - - - {c600668a-0d70-4694-b1e5-6a78cffd0b1a} - - - {d173e449-880b-4064-bbab-97007e3d090b} - - - {fc8aa302-89bb-4016-924d-10177dc8b334} - - - {9a6160e3-cd35-4dda-ba04-23ede1878740} - - - {a5c43813-70af-4b0e-94ac-9ddecc2e4a3c} - - - {6cd85910-b561-4cf3-85a2-20be3cd1dd76} - - - {34a52261-b34b-49ac-8102-22b0125617f5} - - - {f5faaa93-ae82-472e-9c59-9eccc29294a0} - - - - - 头文件 - - - 头文件 - - - 头文件\Resource - - - 头文件\Resource - - - 头文件\Utils - - - 头文件\Utils - - - 头文件\Utils - - - 头文件\Utils - - - 头文件\Caller - - - 头文件\Caller - - - 头文件\Task - - - 头文件\Task - - - 头文件\Task - - - 头文件\Utils - - - 头文件\Resource - - - 头文件\Resource - - - 头文件\Task - - - 头文件\Resource - - - 头文件\ImageAnalyzer - - - 头文件\Resource - - - 头文件\Resource - - - 头文件\Resource - - - 头文件\Resource - - - 头文件\ImageAnalyzer - - - 头文件 - - - 头文件\ImageAnalyzer - - - 头文件\ImageAnalyzer\General - - - 头文件\ImageAnalyzer\General - - - 头文件\ImageAnalyzer\General - - - 头文件\ImageAnalyzer\General - - - 头文件\ImageAnalyzer\Infrast - - - 头文件\Resource - - - 头文件\ImageAnalyzer\Infrast - - - 头文件 - - - 头文件\ImageAnalyzer\Infrast - - - 头文件\Task\Infrast - - - 头文件\Task\Infrast - - - 头文件\Task\Infrast - - - 头文件\Task\Infrast - - - 头文件\Task\Infrast - - - 头文件\Task\Infrast - - - 头文件\Task\Infrast - - - 头文件\Task\Infrast - - - 头文件\Task\Infrast - - - 头文件\ImageAnalyzer\Infrast - - - 头文件\Utils - - - 头文件\ImageAnalyzer\Infrast - - - 头文件 - - - 头文件\Task - - - 头文件\Task\Infrast - - - 头文件\Requester - - - 头文件\TaskPlugin - - - 头文件\TaskPlugin - - - 头文件\TaskPlugin - - - 头文件\ImageAnalyzer - - - 头文件\ImageAnalyzer\General - - - 头文件\ImageAnalyzer - - - 头文件\TaskPlugin - - - 头文件\TaskPlugin - - - 头文件\Resource - - - - - 源文件 - - - 源文件 - - - 源文件\Resource - - - 源文件\Resource - - - 源文件\Task - - - 源文件\Task - - - 源文件\Task - - - 源文件\Caller - - - 源文件\Resource - - - 源文件\Resource - - - 源文件\Task - - - 源文件\Resource - - - 源文件\ImageAnalyzer - - - 源文件\Resource - - - 源文件\Resource - - - 源文件\Resource - - - 源文件\Resource - - - 源文件\ImageAnalyzer - - - 源文件 - - - 源文件\ImageAnalyzer - - - 源文件\ImageAnalyzer\Infrast - - - 源文件\ImageAnalyzer\General - - - 源文件\ImageAnalyzer\General - - - 源文件\ImageAnalyzer\General - - - 源文件\ImageAnalyzer\General - - - 源文件\Resource - - - 源文件\ImageAnalyzer\Infrast - - - 源文件 - - - 源文件\Task\Infrast - - - 源文件\Task\Infrast - - - 源文件\Task\Infrast - - - 源文件\Task\Infrast - - - 源文件\Task\Infrast - - - 源文件\Task\Infrast - - - 源文件\Task\Infrast - - - 源文件\Task\Infrast - - - 源文件\ImageAnalyzer\Infrast - - - 源文件\ImageAnalyzer\Infrast - - - 源文件\Task\Infrast - - - 源文件\ImageAnalyzer\Infrast - - - 源文件 - - - 源文件\Task - - - 源文件\Task\Infrast - - - 源文件\Requester - - - 源文件\TaskPlugin - - - 源文件\TaskPlugin - - - 源文件\TaskPlugin - - - 源文件\ImageAnalyzer - - - 源文件\ImageAnalyzer\General - - - 源文件\ImageAnalyzer - - - 源文件\TaskPlugin - - - 源文件\TaskPlugin - - - 源文件\Resource - - - - - 资源文件 - - - 资源文件 - - - 资源文件 - - + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + {81d86994-0d89-4cc2-aa6f-d726a0bd0490} + + + {3b93d9f2-728c-4a22-bc13-57ce7df5806c} + + + {1ef28df7-c174-4032-bbcf-9722ae53852d} + + + {557d6d96-11d9-46e1-b611-b2b8216abea6} + + + {1a8ffc31-8eb3-4af6-9065-634de2463a3e} + + + {c6a0898b-5dd7-4437-981c-00e53b30a60d} + + + {07a812fe-6b28-4be0-b6d4-33554824d3c5} + + + {74bd94e1-4973-412a-a17a-d8457de387af} + + + {87c9dee5-847b-41e6-818e-387a6385ea8b} + + + {a37e0b23-e8f8-499c-adf5-9990277e9ffe} + + + {51165426-1842-491a-b5d5-9d26c59facdd} + + + {c600668a-0d70-4694-b1e5-6a78cffd0b1a} + + + {d173e449-880b-4064-bbab-97007e3d090b} + + + {fc8aa302-89bb-4016-924d-10177dc8b334} + + + {9a6160e3-cd35-4dda-ba04-23ede1878740} + + + {a5c43813-70af-4b0e-94ac-9ddecc2e4a3c} + + + {6cd85910-b561-4cf3-85a2-20be3cd1dd76} + + + {34a52261-b34b-49ac-8102-22b0125617f5} + + + {f5faaa93-ae82-472e-9c59-9eccc29294a0} + + + + + 头文件 + + + 头文件 + + + 头文件\Resource + + + 头文件\Resource + + + 头文件\Utils + + + 头文件\Utils + + + 头文件\Utils + + + 头文件\Utils + + + 头文件\Caller + + + 头文件\Caller + + + 头文件\Task + + + 头文件\Task + + + 头文件\Task + + + 头文件\Utils + + + 头文件\Resource + + + 头文件\Resource + + + 头文件\Task + + + 头文件\Resource + + + 头文件\ImageAnalyzer + + + 头文件\Resource + + + 头文件\Resource + + + 头文件\Resource + + + 头文件\Resource + + + 头文件\ImageAnalyzer + + + 头文件 + + + 头文件\ImageAnalyzer + + + 头文件\ImageAnalyzer\General + + + 头文件\ImageAnalyzer\General + + + 头文件\ImageAnalyzer\General + + + 头文件\ImageAnalyzer\General + + + 头文件\ImageAnalyzer\Infrast + + + 头文件\Resource + + + 头文件\ImageAnalyzer\Infrast + + + 头文件 + + + 头文件\ImageAnalyzer\Infrast + + + 头文件\Task\Infrast + + + 头文件\Task\Infrast + + + 头文件\Task\Infrast + + + 头文件\Task\Infrast + + + 头文件\Task\Infrast + + + 头文件\Task\Infrast + + + 头文件\Task\Infrast + + + 头文件\Task\Infrast + + + 头文件\Task\Infrast + + + 头文件\ImageAnalyzer\Infrast + + + 头文件\Utils + + + 头文件\ImageAnalyzer\Infrast + + + 头文件 + + + 头文件\Task + + + 头文件\Task\Infrast + + + 头文件\Requester + + + 头文件\TaskPlugin + + + 头文件\TaskPlugin + + + 头文件\TaskPlugin + + + 头文件\ImageAnalyzer + + + 头文件\ImageAnalyzer\General + + + 头文件\ImageAnalyzer + + + 头文件\TaskPlugin + + + 头文件\TaskPlugin + + + 头文件\Resource + + + 头文件\TaskPlugin + + + + + 源文件 + + + 源文件 + + + 源文件\Resource + + + 源文件\Resource + + + 源文件\Task + + + 源文件\Task + + + 源文件\Task + + + 源文件\Caller + + + 源文件\Resource + + + 源文件\Resource + + + 源文件\Task + + + 源文件\Resource + + + 源文件\ImageAnalyzer + + + 源文件\Resource + + + 源文件\Resource + + + 源文件\Resource + + + 源文件\Resource + + + 源文件\ImageAnalyzer + + + 源文件 + + + 源文件\ImageAnalyzer + + + 源文件\ImageAnalyzer\Infrast + + + 源文件\ImageAnalyzer\General + + + 源文件\ImageAnalyzer\General + + + 源文件\ImageAnalyzer\General + + + 源文件\ImageAnalyzer\General + + + 源文件\Resource + + + 源文件\ImageAnalyzer\Infrast + + + 源文件 + + + 源文件\Task\Infrast + + + 源文件\Task\Infrast + + + 源文件\Task\Infrast + + + 源文件\Task\Infrast + + + 源文件\Task\Infrast + + + 源文件\Task\Infrast + + + 源文件\Task\Infrast + + + 源文件\Task\Infrast + + + 源文件\ImageAnalyzer\Infrast + + + 源文件\ImageAnalyzer\Infrast + + + 源文件\Task\Infrast + + + 源文件\ImageAnalyzer\Infrast + + + 源文件 + + + 源文件\Task + + + 源文件\Task\Infrast + + + 源文件\Requester + + + 源文件\TaskPlugin + + + 源文件\TaskPlugin + + + 源文件\TaskPlugin + + + 源文件\ImageAnalyzer + + + 源文件\ImageAnalyzer\General + + + 源文件\ImageAnalyzer + + + 源文件\TaskPlugin + + + 源文件\TaskPlugin + + + 源文件\Resource + + + 源文件\TaskPlugin + + + + + 资源文件 + + + 资源文件 + + + 资源文件 + + \ No newline at end of file diff --git a/src/MeoAssistant/ReplenishOriginiumShardTaskPlugin.cpp b/src/MeoAssistant/ReplenishOriginiumShardTaskPlugin.cpp new file mode 100644 index 0000000000..36eb79d7e9 --- /dev/null +++ b/src/MeoAssistant/ReplenishOriginiumShardTaskPlugin.cpp @@ -0,0 +1,25 @@ +#include "ReplenishOriginiumShardTaskPlugin.h" + +#include "ProcessTask.h" + +bool asst::ReplenishOriginiumShardTaskPlugin::verify(AsstMsg msg, const json::value& details) const +{ + if (msg != AsstMsg::SubTaskExtraInfo + || details.get("subtask", std::string()) != "InfrastMfgTask") { + return false; + } + + if (details.at("what").as_string() == "ProductOfFacility" + && details.at("details").at("product").as_string() == "OriginStone") { + return true; + } + else { + return false; + } +} + +bool asst::ReplenishOriginiumShardTaskPlugin::_run() +{ + ProcessTask task(*this, { "ReplenishToMax" }); + return task.run(); +} diff --git a/src/MeoAssistant/ReplenishOriginiumShardTaskPlugin.h b/src/MeoAssistant/ReplenishOriginiumShardTaskPlugin.h new file mode 100644 index 0000000000..929f64b339 --- /dev/null +++ b/src/MeoAssistant/ReplenishOriginiumShardTaskPlugin.h @@ -0,0 +1,18 @@ +#pragma once +#include "AbstractTaskPlugin.h" + +namespace asst +{ + // 制造站“源石碎片”自动补货任务插件 + class ReplenishOriginiumShardTaskPlugin : public AbstractTaskPlugin + { + public: + using AbstractTaskPlugin::AbstractTaskPlugin; + virtual ~ReplenishOriginiumShardTaskPlugin() = default; + + virtual bool verify(AsstMsg msg, const json::value& details) const override; + + private: + virtual bool _run() override; + }; +} diff --git a/src/MeoAssistant/StageDropsTaskPlugin.cpp b/src/MeoAssistant/StageDropsTaskPlugin.cpp index 2f29e9aeb3..6b3f2f911f 100644 --- a/src/MeoAssistant/StageDropsTaskPlugin.cpp +++ b/src/MeoAssistant/StageDropsTaskPlugin.cpp @@ -55,12 +55,13 @@ bool asst::StageDropsTaskPlugin::_run() drop_info_callback(); check_stage_valid(); - - auto upload_future = std::async( - std::launch::async, - std::bind(&StageDropsTaskPlugin::upload_to_penguin, this)); - m_upload_pending.emplace_back(std::move(upload_future)); - + + if (m_enable_penguid) { + auto upload_future = std::async( + std::launch::async, + std::bind(&StageDropsTaskPlugin::upload_to_penguin, this)); + m_upload_pending.emplace_back(std::move(upload_future)); + } return true; } diff --git a/src/MeoAssistant/StageDropsTaskPlugin.h b/src/MeoAssistant/StageDropsTaskPlugin.h index 6e111f4cfd..803f4683c9 100644 --- a/src/MeoAssistant/StageDropsTaskPlugin.h +++ b/src/MeoAssistant/StageDropsTaskPlugin.h @@ -34,5 +34,6 @@ namespace asst bool m_startbutton_delay_setted = false; std::vector> m_upload_pending; ProcessTask* m_cast_ptr = nullptr; + bool m_enable_penguid = true; }; }