40 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
import os
 | 
						|
import shutil
 | 
						|
 | 
						|
from scripts.task import Task
 | 
						|
from utils import FileUtils
 | 
						|
from utils.logger_utils import app_logger
 | 
						|
 | 
						|
 | 
						|
class ProjectUpdateIcon(Task):
 | 
						|
 | 
						|
    def update_icon(self):
 | 
						|
        """
 | 
						|
        更新游戏Icon
 | 
						|
        :return:
 | 
						|
        """
 | 
						|
 | 
						|
        if not self.context.update_res_icon:
 | 
						|
            app_logger().info("No update res icon found")
 | 
						|
            return
 | 
						|
        tag = "res_icon_resources"
 | 
						|
        dst = os.path.join(self.context.temp_project_path, tag)
 | 
						|
        if os.path.exists(dst):
 | 
						|
            shutil.rmtree(dst)
 | 
						|
 | 
						|
        FileUtils.decompress(self.context.res_icon_path, dst)
 | 
						|
 | 
						|
        for root, dirs, files in os.walk(dst):
 | 
						|
            for file in files:
 | 
						|
                temp_tart_path = os.path.join(root, file)
 | 
						|
                if temp_tart_path.find("__MACOSX") > 0:
 | 
						|
                    continue
 | 
						|
                temp_dst = temp_tart_path.replace(tag, "launcher-game" + os.sep + "res")
 | 
						|
                app_logger().debug(f"copy icon = {temp_tart_path} -> {temp_dst}")
 | 
						|
                FileUtils.copy(temp_tart_path, temp_dst, True)
 | 
						|
        pass
 | 
						|
 | 
						|
    def execute(self):
 | 
						|
        self.update_icon()
 | 
						|
        self.context.save_cache_config("res_icon", self.context.config_res_icon_md5)
 |