Unity 2017.03 版本
请大佬们指正、补充
Application类,可以访问和控制应用程序的运行时数据,分为4部分来看
(1)静态属性
(2)静态方法
(3)事件
(4)委托类型
几个路径 (有空看看 Path类以及csharp的相关类)(对应的页面上有具体信息)(几个路径具体可以用来干啥???)
(6) dataPath —— 包含游戏数据文件夹的路径(只读)
(18) persistentDataPath —— 包含持久数据目录的路径(只读)
(27) temporaryCachePath —— 包含临时数据/缓存目录的路径(只读)
(24) streamingAssetPath —— 包含到StreamingAsset文件夹的路径(只读)。(AssetBundle)
简单来说,
dataPath是游戏打包的数据的文件夹的路径,然后这部分数据在游戏新版本覆盖旧版本的时候,里边的东西会变;
persistentDataPath是包含了持久数据目录的路径,不太明白是unity提供的还是操作系统提供的,但是可以用来保存一些数据,游戏版本更新,只要Bundle Identifier保持一致,那么还是会指向相同的位置。(如果是用自己建的一个文件夹来保存数据呢???)
应用程序此时运行的平台
(13) isConsolePlatform
(14) isEditor
(16) isMobilePlatform
(19) platform —— 返回游戏运行的平台(只读)。 (RuntimePlatform类型)
(22) sandboxType —— 返回在沙箱中运行的应用程序(只读)。(ApplicationSandboxType) ???
(9) identifier —— 在运行时返回应用程序标识符。在Apple平台上,这是保存在info.plist文件中的“bundleIdfier”,在Android上是AndroidManifest.xml中的“package”。
(20) productName —— 返回应用程序的产品名称
(3) buildGUID —— Returns a GUID for this build (Read Only).(string类型)
(4) cloudProjectId —— A unique cloud project identifier. It is unique for every project (Read Only).(string类型)
(5) companyName —— Return application company name (Read Only).
(7) genuine —— 判断游戏创建后有没有被修改(反盗版)(这是个比较重的操作,不适合update)(bool类型)
(8) genuineCheckAvailable —— 如果可以确认应用程序完整性,则返回true。一般和 if(genuine) 一起使用
(10) installerName —— 返回安装应用程序的存储区或包的名称(只读)。貌似是说类似apk的名称??(string类型)
(11) installMode —— 返回应用程序安装模式(只读)。(ApplicationInstallMode类型)
(15) isFocused —— MonoBehaviour.OnApplicationFocus
(17) isPlaying
(1) absoluteURL —— 到web播放器数据文件夹的绝对路径(只读)。(”http://www/…..”)
(2) backgroundLoadingPriority —— 设置后台加载线程的优先级(ThreadPriority 枚举)(对比异步加载)
(12) internetReachability —— 返回当前设备上可能的Internet可达性的类型。(NetworkReachability类型)这一属性在手持设备上非常有用,可以区分快速和廉价的WiFi连接和载波网络。
注意:不要使用此属性来确定实际的连接性。例如,该设备可能连接到热点,但没有实际的网络路由。
非手持设备被认为始终有能力NetworkReachability.ReachableViaLocalAreaNetwork。
(21) runInBackground —— 应用程序是否应该在后台运行
(23) streamedBytes —— 我们从主Unity网页流中下载了多少字节(只读)。 ???
(25) systemLanguage —— 用户操作系统正在运行的语言
(26) targetFrameRate —— 命令游戏尝试以一个特定的帧率渲染。 (手机一般是30帧)
(28) unityVersion —— unity运行时版本
(29) version —— 应用程序的版本(string)(只读)。设置版本:Edit./ Project Settings / Player / other settings
(1) CancelQuit —— 取消退出申请。这对于在游戏结束时显示splash画面很有用。
(10) Quit —— 退出游戏
(2) CanStreamedLevelBeLoaded —— 验证是否可以加载(但是这个Streamed Level是只有assetbundle还是普通关卡)(貌似是用来做页游流式加载)
(6) GetStreamedProgressForLevel —— 下载进度(0~1)(webplayer)
(8) HasUserAuthorization —— 检查用户是否已授权在web player中使用网络摄像头或麦克风。
(12) RequestUserAuthorization —— 请求授权使用网络播放器中的摄像头或麦克风。
(4) GetBuildTags —— 返回一个 Tags数组
(13) SetBuildTags —— 设置Tags数组
(5) GetStackTraceLogType —— 获取堆栈跟踪日志选项。默认值是StackTraceLogTypes.criptOnly。
(14) SetStackTraceLogType ——设置堆栈跟踪日志选项。
(7) HasProLicense —— unity是否有专业许可证
(9) OpenURL —— 在浏览器中打开网页
(11) RequestAdvertisingIdentifierAsync —— 请求iOS、Android和WindowsStore的广告ID
(15) Unload —— Unloads the Unity runtime.(一般不会用到)()
Unload the Unity runtime. Similar to quitting but the application process does not exit.
This is useful when using Unity as a component in another application.
.
IMPORTANT: Only supported on iOS and Windows Store.
IMPORTANT: This function does not return.
另外,Application.CaptureScreen 改为 ScreenCapture.CaptureScreenshot
//
// Static Events
//
//Event that is fired if a log message is received.
public static event Application.LogCallback logMessageReceived {
add;
remove;
}
//Event that is fired if a log message is received.
public static event Application.LogCallback logMessageReceivedThreaded {
add;
remove;
}
//iOS 或 Android 设备内存偏低时触发
public static event Application.LowMemoryCallback lowMemory {
add;
remove;
}
//用于VR设备
public static event UnityAction onBeforeRender {
add;
remove;
}
class LowMemoryTrigger : MonoBehaviour
{
List _textures;
private void Start()
{
_textures = new List();
Application.lowMemory += OnLowMemory;
}
private void Update()
{
// allocate textures until we run out of memory
_textures.Add(new Texture2D(256, 256));
}
private void OnLowMemory()
{
// release all cached textures
_textures = new List();
Resources.UnloadUnusedAssets();
}
}
public delegate void AdvertisingIdentifierCallback (string advertisingId, bool trackingEnabled, string errorMsg);
public delegate void LogCallback (string condition, string stackTrace, LogType type);
public delegate void LowMemoryCallback ();