1
0
mirror of https://gitee.com/sui-feng-cb/AzurLaneAutoScript1 synced 2026-03-23 13:18:01 +08:00

Perf: No campaign object caching to release memory

This commit is contained in:
LmeSzinc
2026-01-17 20:06:48 +08:00
parent d1aed19f8f
commit 75af8e39be

View File

@@ -7,52 +7,44 @@ from module.os_handler.action_point import ActionPointLimit
class OSCampaignRun(OSMapOperation): class OSCampaignRun(OSMapOperation):
campaign: OperationSiren def load_campaign(self, cls=OperationSiren):
campaign_loaded = False
def load_campaign(self):
if self.campaign_loaded:
return False
config = self.config.merge(OSConfig()) config = self.config.merge(OSConfig())
self.campaign = OperationSiren(config=config, device=self.device) campaign = cls(config=config, device=self.device)
self.campaign.os_init() campaign.os_init()
return campaign
self.campaign_loaded = True
return True
def opsi_explore(self): def opsi_explore(self):
try: try:
self.load_campaign() campaign = self.load_campaign()
self.campaign.os_explore() campaign.os_explore()
except ActionPointLimit: except ActionPointLimit:
self.config.opsi_task_delay(ap_limit=True) self.config.opsi_task_delay(ap_limit=True)
def opsi_shop(self): def opsi_shop(self):
try: try:
self.load_campaign() campaign = self.load_campaign()
self.campaign.os_shop() campaign.os_shop()
except ActionPointLimit: except ActionPointLimit:
self.config.opsi_task_delay(ap_limit=True) self.config.opsi_task_delay(ap_limit=True)
def opsi_voucher(self): def opsi_voucher(self):
try: try:
self.load_campaign() campaign = self.load_campaign()
self.campaign.os_voucher() campaign.os_voucher()
except ActionPointLimit: except ActionPointLimit:
self.config.opsi_task_delay(ap_limit=True) self.config.opsi_task_delay(ap_limit=True)
def opsi_daily(self): def opsi_daily(self):
try: try:
self.load_campaign() campaign = self.load_campaign()
self.campaign.os_daily() campaign.os_daily()
except ActionPointLimit: except ActionPointLimit:
self.config.opsi_task_delay(ap_limit=True) self.config.opsi_task_delay(ap_limit=True)
def opsi_meowfficer_farming(self): def opsi_meowfficer_farming(self):
try: try:
self.load_campaign() campaign = self.load_campaign()
self.campaign.os_meowfficer_farming() campaign.os_meowfficer_farming()
except ActionPointLimit: except ActionPointLimit:
if get_os_reset_remain() > 0: if get_os_reset_remain() > 0:
self.config.task_delay(server_update=True) self.config.task_delay(server_update=True)
@@ -66,15 +58,15 @@ class OSCampaignRun(OSMapOperation):
def opsi_hazard1_leveling(self): def opsi_hazard1_leveling(self):
try: try:
self.load_campaign() campaign = self.load_campaign()
self.campaign.os_hazard1_leveling() campaign.os_hazard1_leveling()
except ActionPointLimit: except ActionPointLimit:
self.config.task_delay(server_update=True) self.config.task_delay(server_update=True)
def opsi_obscure(self): def opsi_obscure(self):
try: try:
self.load_campaign() campaign = self.load_campaign()
self.campaign.os_obscure() campaign.os_obscure()
except ActionPointLimit: except ActionPointLimit:
self.config.opsi_task_delay(ap_limit=True) self.config.opsi_task_delay(ap_limit=True)
@@ -86,35 +78,35 @@ class OSCampaignRun(OSMapOperation):
self.config.task_stop() self.config.task_stop()
return return
try: try:
self.load_campaign() campaign = self.load_campaign()
self.campaign.clear_month_boss() campaign.clear_month_boss()
except ActionPointLimit: except ActionPointLimit:
self.config.opsi_task_delay(ap_limit=True) self.config.opsi_task_delay(ap_limit=True)
def opsi_abyssal(self): def opsi_abyssal(self):
try: try:
self.load_campaign() campaign = self.load_campaign()
self.campaign.os_abyssal() campaign.os_abyssal()
except ActionPointLimit: except ActionPointLimit:
self.config.opsi_task_delay(ap_limit=True) self.config.opsi_task_delay(ap_limit=True)
def opsi_archive(self): def opsi_archive(self):
try: try:
self.load_campaign() campaign = self.load_campaign()
self.campaign.os_archive() campaign.os_archive()
except ActionPointLimit: except ActionPointLimit:
self.config.opsi_task_delay(ap_limit=True) self.config.opsi_task_delay(ap_limit=True)
def opsi_stronghold(self): def opsi_stronghold(self):
try: try:
self.load_campaign() campaign = self.load_campaign()
self.campaign.os_stronghold() campaign.os_stronghold()
except ActionPointLimit: except ActionPointLimit:
self.config.opsi_task_delay(ap_limit=True) self.config.opsi_task_delay(ap_limit=True)
def opsi_cross_month(self): def opsi_cross_month(self):
campaign = self.load_campaign()
try: try:
self.load_campaign() campaign.os_cross_month()
self.campaign.os_cross_month()
except ActionPointLimit: except ActionPointLimit:
self.campaign.os_cross_month_end() campaign.os_cross_month_end()