123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- using System.IO;
- using UnityEngine;
- namespace VEngine
- {
- public static class Utility
- {
- public static string buildPath = "Bundles";
- //unity原生build出来的AB资源文件夹名称
- public static string BuildlesUnityFolder = "BuildlesUnity";
- public const string unsupportedPlatform = "Unsupported";
- private static readonly double[] byteUnits =
- {
- 1073741824.0, 1048576.0, 1024.0, 1
- };
- private static readonly string[] byteUnitsNames =
- {
- "GB", "MB", "KB", "B"
- };
- public static string GetPlatformName()
- {
- if (Application.platform == RuntimePlatform.Android) return "Android";
- if (Application.platform == RuntimePlatform.WindowsPlayer) return "Windows";
- if (Application.platform == RuntimePlatform.IPhonePlayer) return "iOS";
- return Application.platform == RuntimePlatform.WebGLPlayer ? "WebGL" : unsupportedPlatform;
- }
- public static string FormatBytes(long bytes)
- {
- var size = "0 B";
- if (bytes == 0) return size;
- for (var index = 0; index < byteUnits.Length; index++)
- {
- var unit = byteUnits[index];
- if (bytes >= unit)
- {
- size = $"{bytes / unit:##.##} {byteUnitsNames[index]}";
- break;
- }
- }
- return size;
- }
- public static uint ComputeCRC32(Stream stream)
- {
- var crc32 = new CRC32();
- return crc32.Compute(stream);
- }
- public static uint ComputeCRC32(string filename)
- {
- if (!File.Exists(filename)) return 0;
- using (var stream = File.OpenRead(filename))
- {
- return ComputeCRC32(stream);
- }
- }
- }
- }
|