来自于:Jave.Lin

    1. // 过时的API、不常用的我就不说了
    2. // auhtor : Jave.Lin,独念
    3. // date : 2018-05-16,2021.01.08
    4. public sealed class Application
    5. {
    6. // 项目日志开启后在用户本地的文件位置
    7. public static string consoleLogPath { get; set; }
    8. // 可以设置U3D后台下载线程的:线程优先级,可了解DotNet中的线程优先级作用
    9. public static ThreadPriority backgroundLoadingPriority { get; set; }
    10. // 可以设置U3D后台下载线程的:线程优先级,可了解DotNet中的线程优先级作用
    11. public static ThreadPriority backgroundLoadingPriority { get; set; }
    12. // build时的GUID,估计可以用于判断程序合法性
    13. public static string buildGUID { get; }
    14. // 获取你的App的公司名称,在:U3D的PlayerSettings中的CompanyName
    15. public static string companyName { get; }
    16. // Assets目录,注意不用的平台结果不一(PC,iOS,Android)
    17. public static string dataPath { get; }
    18. // 可检测安装模式,如,检测是否Development build模式,都可以,查看:ApplicationInstallMode枚举
    19. public static ApplicationInstallMode installMode { get; }
    20. // 可检测当前网络是否可用,还有辨别网络载体类型
    21. public static NetworkReachability internetReachability { get; }
    22. // 判断当前是否基于U3D 编辑器下运行的
    23. public static bool isEditor { get; }
    24. // 判断U3D程序是否激活(如:iOS, Android如果有其他程序置顶,
    25. // 处于后台那么return false,PC就是没有程序交互焦点时return false,其他情况return true)
    26. public static bool isFocused { get; }
    27. // 判断是否在移动平台在运行
    28. public static bool isMobilePlatform { get; }
    29. // 运行时可读写目录,具体什么内容,自己到不同平台下都输出看看吧
    30. public static string persistentDataPath { get; }
    31. // 返回当前枚举中的运行时平台信息,具体看:RuntimePlatform 枚举定义
    32. public static RuntimePlatform platform { get; }
    33. // 你的发布程序名称,在U3D PlayerSettings中的ProductName可设置
    34. public static string productName { get; }
    35. // 还没用过,估计和:isFocused 差不多
    36. public static bool runInBackground { get; set; }
    37. // 返回运行时的系统语言类型
    38. public static SystemLanguage systemLanguage { get; }
    39. // 可获取或设置U3D程序的目标帧率,如:设置为:60,本身可以运行200FPS的,
    40. // 但限制后只会到60,手机端上可节省电量,如果设置:60,运行时小于60FPS,那就尽量优化程序吧,因为掉帧了
    41. public static int targetFrameRate { get; set; }
    42. // 临时缓存目录,具体什么内容,自己到不同平台下都输出看看吧
    43. public static string temporaryCachePath { get; }
    44. // 返回当前运行时的unity版本号
    45. public static string unityVersion { get; }
    46. // 返回你的程序版本号,在PlayerSettings中的Version可设置
    47. public static string version { get; }
    48. // 字面上意思:当收到log日志消息时触发的事件
    49. public static event LogCallback logMessageReceived;
    50. // 这个比较有用了,当能用内存量低时会触发的事件,至于怎么判断当前低能用量内存的方式,大家去搜索吧
    51. public static event LowMemoryCallback lowMemory;
    52. // 渲染前的事件?这个没用过
    53. public static event UnityAction onBeforeRender;
    54. // 有否Pro授权版的
    55. public static bool HasProLicense();
    56. // 在浏览器中打开一个URL(之前不知道有这个API,还去了解了Unity for Android/iOS的开发,
    57. // 来调用不同平台下的浏览器来打开URL,好麻烦,现在知道有这个接口就方便多了,
    58. // 不过如果要实现在同一个进程中来打开网页的话,那么这个就需要去了解Unity for xxx的开发了,
    59. // 因为Application.OpenURL是在操作系统的默认浏览器来打开的)
    60. public static void OpenURL(string url);
    61. // 手动退出程序
    62. public static void Quit();
    63. // 貌似可用于:摄像头(图像验证)、麦克风(语音验证)的验证请求,还没用过,大家可以试试
    64. public static AsyncOperation RequestUserAuthorization(UserAuthorization mode);
    65. // Quit前,先Unload吧,其实觉得这个API有点鸡肋,因为Application.Quit()是进程级别退出,
    66. // 进程退出的话,那么之前在这个进程申请的所有资源都会自动回收的(线程、内存、等)
    67. public static void Unload();
    68. //检测用户退出程序
    69. public static event Func<bool> wantsToQuit;
    70. }