diff --git a/Assets/Editor/PackagingResetTool.cs b/Assets/Editor/PackagingResetTool.cs index bac024e0..465f7757 100644 --- a/Assets/Editor/PackagingResetTool.cs +++ b/Assets/Editor/PackagingResetTool.cs @@ -33,22 +33,31 @@ public static class PackagingResetTool [MenuItem("Tools/Packaging/一键初始化打包设置(恢复默认)", false, 0)] public static void ResetForPackaging() { - bool confirmed = EditorUtility.DisplayDialog( - "一键初始化打包设置", - "将执行以下重置(仅玩家进度,不改配置/解锁/技能配装):\n\n" + - "1. 玩家:金币、材料、经验、等级清零\n" + - "2. 英雄:经验、成长阶位、自动突破、等级锁、出战/完成/MVP 统计、入队日期清零\n" + - "2.5 歌曲:游玩次数、累计时长、各难度成绩记录清零(歌曲解锁/谱面配置不动)\n" + - "3. 装备:删除 " + GeneratedEquipmentFolder + " 下所有生成装备,清除英雄已装备引用\n" + - "4. 商店:所有物品 purchasedCount、user_has_read 清零(限购配置 itemPurchaseQuota 不动)\n" + - "5. 清理本机测试存档(.cache_bridge 货币/成长/经验瓶/突破材料/装备消耗品、player_rks、player_experience、player_skills、装备/商店存档,不含拥有权账本)与相关 PlayerPrefs\n\n" + - "此操作会修改并保存资产文件,建议在版本控制下执行。是否继续?", - "执行重置", - "取消"); + bool isBatchMode = Application.isBatchMode; - if (!confirmed) + if (!isBatchMode) { - return; + bool confirmed = EditorUtility.DisplayDialog( + "一键初始化打包设置", + "将执行以下重置(仅玩家进度,不改配置/解锁/技能配装):\n\n" + + "1. 玩家:金币、材料、经验、等级清零\n" + + "2. 英雄:经验、成长阶位、自动突破、等级锁、出战/完成/MVP 统计、入队日期清零\n" + + "2.5 歌曲:游玩次数、累计时长、各难度成绩记录清零(歌曲解锁/谱面配置不动)\n" + + "3. 装备:删除 " + GeneratedEquipmentFolder + " 下所有生成装备,清除英雄已装备引用\n" + + "4. 商店:所有物品 purchasedCount、user_has_read 清零(限购配置 itemPurchaseQuota 不动)\n" + + "5. 清理本机测试存档(.cache_bridge 货币/成长/经验瓶/突破材料/装备消耗品、player_rks、player_experience、player_skills、装备/商店存档,不含拥有权账本)与相关 PlayerPrefs\n\n" + + "此操作会修改并保存资产文件,建议在版本控制下执行。是否继续?", + "执行重置", + "取消"); + + if (!confirmed) + { + return; + } + } + else + { + Debug.Log("[PackagingReset] BatchMode 检测到,跳过确认弹窗,直接执行重置。"); } var report = new StringBuilder(); @@ -88,10 +97,13 @@ public static class PackagingResetTool : "打包初始化完成,但有 " + errors + " 处警告/错误,请查看下方明细。\n\n"); Debug.Log("[PackagingReset]\n" + report); - EditorUtility.DisplayDialog( - errors == 0 ? "初始化完成" : "初始化完成(有警告)", - report.ToString(), - "好"); + if (!isBatchMode) + { + EditorUtility.DisplayDialog( + errors == 0 ? "初始化完成" : "初始化完成(有警告)", + report.ToString(), + "好"); + } } private static int ResetPlayers(StringBuilder report)