using System.Collections.Generic; using System.IO; using UnityEditor; using UnityEngine; using PhxhSDK.Editor.FileChecker.Data; namespace PhxhSDK.Editor.FileChecker { /// /// 关卡文件大小检查器 /// 检查关卡json文件的大小是否合理 /// public class LevelFileSizeChecker : BaseLevelChecker { public override string CheckerName => "关卡文件大小检查"; public override string RecommendedHandling => "请检查关卡文件是否包含过多数据,考虑优化关卡设计"; public override CheckerTabType belongTab => CheckerTabType.Level; public override bool HasAutoProgress => false; // 最大文件大小限制(字节) private const long MAX_FILE_SIZE = 100 * 1024; // 100KB public override string CheckLevel(string filePath, TextAsset textAsset) { if (textAsset == null) { return "文件加载失败"; } // 获取文件大小 long fileSize = textAsset.bytes.Length; if (fileSize > MAX_FILE_SIZE) { float sizeInKB = fileSize / 1024f; return $"文件过大:{sizeInKB:F1}KB,超过限制{MAX_FILE_SIZE / 1024}KB"; } // 文件大小合理 return null; } } }