diff --git a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/BundleConfig.cs b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/BundleConfig.cs
index 8a68bfd1..ed928175 100644
--- a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/BundleConfig.cs
+++ b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/BundleConfig.cs
@@ -64,6 +64,11 @@ public class CryptogramType
///
public static bool skipMainDownload = false;
+ ///
+ /// 是否檢查磁碟空間
+ ///
+ public static bool checkDiskSpace = true;
+
///
/// App Preset Package 清單
///
diff --git a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PackageOperation.cs b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PackageOperation.cs
index cedd371c..ce8cea93 100644
--- a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PackageOperation.cs
+++ b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PackageOperation.cs
@@ -10,6 +10,13 @@ namespace OxGFrame.AssetLoader.Bundle
{
public class PackageOperation
{
+ public delegate void OnPatchRepairFailed();
+ public delegate void OnPatchInitPatchModeFailed();
+ public delegate void OnPatchVersionUpdateFailed();
+ public delegate void OnPatchManifestUpdateFailed();
+ public delegate void OnPatchCheckDiskNotEnoughSpace(int availableMegabytes, ulong patchTotalBytes);
+ public delegate void OnPatchDownloadFailed(string fileName, string error);
+
///
/// Instance id
///
@@ -28,7 +35,7 @@ public int hashId
public GroupInfo groupInfo { get; protected set; }
///
- /// Package operaion event group
+ /// Package operation event group
///
public EventGroup eventGroup { get; protected set; }
@@ -37,6 +44,18 @@ public int hashId
///
public bool skipDownload { get; protected set; }
+ ///
+ /// Enable or disable disk space check procedure (default is true)
+ ///
+ public bool checkDiskSpace = true;
+
+ public OnPatchRepairFailed onPatchRepairFailed;
+ public OnPatchInitPatchModeFailed onPatchInitPatchModeFailed;
+ public OnPatchVersionUpdateFailed onPatchVersionUpdateFailed;
+ public OnPatchManifestUpdateFailed onPatchManifestUpdateFailed;
+ public OnPatchCheckDiskNotEnoughSpace onPatchCheckDiskNotEnoughSpace;
+ public OnPatchDownloadFailed onPatchDownloadFailed;
+
private ResourceDownloaderOperation[] _downloaders;
private PackageInfoWithBuild[] _packageInfos;
@@ -58,14 +77,15 @@ protected PackageOperation()
this.eventGroup.AddListener(this._OnHandleEventMessage);
this.eventGroup.AddListener(this._OnHandleEventMessage);
this.eventGroup.AddListener(this._OnHandleEventMessage);
+ this.eventGroup.AddListener(this._OnHandleEventMessage);
this.eventGroup.AddListener(this._OnHandleEventMessage);
// User event receivers
this.eventGroup.AddListener(this._OnHandleEventMessage);
this.eventGroup.AddListener(this._OnHandleEventMessage);
- this.eventGroup.AddListener(this._OnHandleEventMessage);
this.eventGroup.AddListener(this._OnHandleEventMessage);
this.eventGroup.AddListener(this._OnHandleEventMessage);
this.eventGroup.AddListener(this._OnHandleEventMessage);
+ this.eventGroup.AddListener(this._OnHandleEventMessage);
// Register PatchFsm
this._patchFsm = new StateMachine(this);
@@ -351,6 +371,33 @@ public bool IsRepair()
}
#endregion
+ #region Retry Events
+ public void UserTryPatchRepair()
+ {
+ PackageUserEvents.UserTryPatchRepair.SendEventMessage(this.hashId);
+ }
+
+ public void UserTryInitPatchMode()
+ {
+ PackageUserEvents.UserTryInitPatchMode.SendEventMessage(this.hashId);
+ }
+
+ public void UserTryPatchVersionUpdate()
+ {
+ PackageUserEvents.UserTryPatchVersionUpdate.SendEventMessage(this.hashId);
+ }
+
+ public void UserTryPatchManifestUpdate()
+ {
+ PackageUserEvents.UserTryPatchManifestUpdate.SendEventMessage(this.hashId);
+ }
+
+ public void UserTryCreateDownloader()
+ {
+ PackageUserEvents.UserTryCreateDownloader.SendEventMessage(this.hashId);
+ }
+ #endregion
+
#region Event Handle
private void _OnHandleEventMessage(IEventMessage message)
{
@@ -397,23 +444,51 @@ private void _OnHandleEventMessage(IEventMessage message)
}
else if (message is PackageEvents.PatchRepairFailed)
{
- PackageUserEvents.UserTryPatchRepair.SendEventMessage(this.hashId);
+ if (this.onPatchRepairFailed != null)
+ this.onPatchRepairFailed.Invoke();
+ else
+ PackageUserEvents.UserTryPatchRepair.SendEventMessage(this.hashId);
}
else if (message is PackageEvents.PatchInitPatchModeFailed)
{
- PackageUserEvents.UserTryInitPatchMode.SendEventMessage(this.hashId);
+ if (this.onPatchInitPatchModeFailed != null)
+ this.onPatchInitPatchModeFailed.Invoke();
+ else
+ PackageUserEvents.UserTryInitPatchMode.SendEventMessage(this.hashId);
}
else if (message is PackageEvents.PatchVersionUpdateFailed)
{
- PackageUserEvents.UserTryPatchVersionUpdate.SendEventMessage(this.hashId);
+ if (this.onPatchVersionUpdateFailed != null)
+ this.onPatchVersionUpdateFailed.Invoke();
+ else
+ PackageUserEvents.UserTryPatchVersionUpdate.SendEventMessage(this.hashId);
}
else if (message is PackageEvents.PatchManifestUpdateFailed)
{
- PackageUserEvents.UserTryPatchManifestUpdate.SendEventMessage(this.hashId);
+ if (this.onPatchManifestUpdateFailed != null)
+ this.onPatchManifestUpdateFailed.Invoke();
+ else
+ PackageUserEvents.UserTryPatchManifestUpdate.SendEventMessage(this.hashId);
+ }
+ else if (message is PackageEvents.PatchCheckDiskNotEnoughSpace)
+ {
+ if (this.onPatchCheckDiskNotEnoughSpace != null)
+ {
+ var msgData = message as PackageEvents.PatchCheckDiskNotEnoughSpace;
+ this.onPatchCheckDiskNotEnoughSpace.Invoke(msgData.availableMegabytes, msgData.patchTotalBytes);
+ }
+ else
+ PackageUserEvents.UserTryCreateDownloader.SendEventMessage(this.hashId);
}
else if (message is PackageEvents.PatchDownloadFailed)
{
- PackageUserEvents.UserTryCreateDownloader.SendEventMessage(this.hashId);
+ if (this.onPatchDownloadFailed != null)
+ {
+ var msgData = message as PackageEvents.PatchDownloadFailed;
+ this.onPatchDownloadFailed.Invoke(msgData.fileName, msgData.error);
+ }
+ else
+ PackageUserEvents.UserTryCreateDownloader.SendEventMessage(this.hashId);
}
// Package user events
else if (message is PackageUserEvents.UserTryPatchRepair)
diff --git a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchEvent/PackageEvents.cs b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchEvent/PackageEvents.cs
index 3926db74..b6b99d8e 100644
--- a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchEvent/PackageEvents.cs
+++ b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchEvent/PackageEvents.cs
@@ -8,9 +8,10 @@ namespace OxGFrame.AssetLoader.PatchEvent
// 2. PatchInitPatchModeFailed
// 3. PatchVersionUpdateFailed
// 4. PatchManifestUpdateFailed
- // 5. PatchDownloadProgression
- // 6. PatchDownloadFailed
- // 7. PatchDownloadCanceled
+ // 5. PatchCheckDiskNotEnoughSpace
+ // 6. PatchDownloadProgression
+ // 7. PatchDownloadFailed
+ // 8. PatchDownloadCanceled
public static class PackageEvents
{
@@ -77,6 +78,23 @@ public static void SendEventMessage(int groupId)
}
}
+ ///
+ /// Patch check disk if not enough space
+ ///
+ public class PatchCheckDiskNotEnoughSpace : IEventMessage
+ {
+ public int availableMegabytes;
+ public ulong patchTotalBytes;
+
+ public static void SendEventMessage(int availableMegabytes, ulong patchTotalBytes)
+ {
+ var msg = new PatchCheckDiskNotEnoughSpace();
+ msg.availableMegabytes = availableMegabytes;
+ msg.patchTotalBytes = patchTotalBytes;
+ UniEvent.SendMessage(msg);
+ }
+ }
+
///
/// Patch download progression
///
diff --git a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchEvent/PatchEvents.cs b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchEvent/PatchEvents.cs
index e5566ca3..3c8eb8de 100644
--- a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchEvent/PatchEvents.cs
+++ b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchEvent/PatchEvents.cs
@@ -12,9 +12,10 @@ namespace OxGFrame.AssetLoader.PatchEvent
// 5. PatchVersionUpdateFailed
// 6. PatchManifestUpdateFailed
// 7. PatchCreateDownloader
- // 8. PatchDownloadProgression
- // 9. PatchDownloadFailed
- // 10. PatchDownloadCanceled
+ // 8. PatchCheckDiskNotEnoughSpace
+ // 9. PatchDownloadProgression
+ // 10. PatchDownloadFailed
+ // 11. PatchDownloadCanceled
public static class PatchEvents
{
@@ -120,6 +121,23 @@ public static void SendEventMessage(GroupInfo[] groupInfos)
}
}
+ ///
+ /// Patch check disk if not enough space
+ ///
+ public class PatchCheckDiskNotEnoughSpace : IEventMessage
+ {
+ public int availableMegabytes;
+ public ulong patchTotalBytes;
+
+ public static void SendEventMessage(int availableMegabytes, ulong patchTotalBytes)
+ {
+ var msg = new PatchCheckDiskNotEnoughSpace();
+ msg.availableMegabytes = availableMegabytes;
+ msg.patchTotalBytes = patchTotalBytes;
+ UniEvent.SendMessage(msg);
+ }
+ }
+
///
/// Patch download progression
///
diff --git a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchEvent/PatchUserEvents.cs b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchEvent/PatchUserEvents.cs
index 62c0650c..5aa7acf7 100644
--- a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchEvent/PatchUserEvents.cs
+++ b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchEvent/PatchUserEvents.cs
@@ -6,10 +6,10 @@ namespace OxGFrame.AssetLoader.PatchEvent
// 0. UserTryPatchRepair
// 1. UserTryAppVersionUpdate
// 2. UserTryInitPatchMode
- // 3. UserBeginDownload
- // 4. UserTryPatchVersionUpdate
- // 5. UserTryPatchManifestUpdate
- // 6. UserTryCreateDownloader
+ // 3. UserTryPatchVersionUpdate
+ // 4. UserTryPatchManifestUpdate
+ // 5. UserTryCreateDownloader
+ // 6. UserBeginDownload
public class PatchUserEvents
{
@@ -26,7 +26,7 @@ public static void SendEventMessage()
}
///
- /// User retry update app verison again
+ /// User retry update app version again
///
public class UserTryAppVersionUpdate : IEventMessage
{
@@ -49,19 +49,6 @@ public static void SendEventMessage()
}
}
- ///
- /// User begin download
- ///
- public class UserBeginDownload : IEventMessage
- {
- public static void SendEventMessage(GroupInfo groupInfo)
- {
- var msg = new UserBeginDownload();
- PatchManager.SetLastGroupInfo(groupInfo);
- UniEvent.SendMessage(msg);
- }
- }
-
///
/// User retry update patch version again
///
@@ -97,5 +84,18 @@ public static void SendEventMessage()
UniEvent.SendMessage(msg);
}
}
+
+ ///
+ /// User begin download
+ ///
+ public class UserBeginDownload : IEventMessage
+ {
+ public static void SendEventMessage(GroupInfo groupInfo)
+ {
+ var msg = new UserBeginDownload();
+ PatchManager.SetLastGroupInfo(groupInfo);
+ UniEvent.SendMessage(msg);
+ }
+ }
}
}
\ No newline at end of file
diff --git a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchFsm/PackageFsmStates.cs b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchFsm/PackageFsmStates.cs
index 274a2f01..9ab6f0f8 100644
--- a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchFsm/PackageFsmStates.cs
+++ b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchFsm/PackageFsmStates.cs
@@ -527,6 +527,23 @@ private async UniTask _StartDownload()
totalBytes += downloader.TotalDownloadBytes;
}
+#if !UNITY_WEBGL
+ // Check flag if enabled
+ if ((this._machine.Owner as PackageOperation).checkDiskSpace)
+ {
+ // Check disk space
+ int availableDiskSpaceMegabytes = BundleUtility.CheckAvailableDiskSpaceMegabytes();
+ int patchTotalMegabytes = (int)(totalBytes / (1 << 20));
+ Logging.Print($"[Disk Space Check] Available Disk Space Size: {BundleUtility.GetMegabytesToString(availableDiskSpaceMegabytes)}, Total Patch Size: {BundleUtility.GetBytesToString((ulong)totalBytes)}");
+ if (patchTotalMegabytes > availableDiskSpaceMegabytes)
+ {
+ PackageEvents.PatchCheckDiskNotEnoughSpace.SendEventMessage(availableDiskSpaceMegabytes, (ulong)totalBytes);
+ Logging.Print($"Disk Not Enough Space!!! Available Disk Space Size: {BundleUtility.GetMegabytesToString(availableDiskSpaceMegabytes)}, Total Patch Size: {BundleUtility.GetBytesToString((ulong)totalBytes)}");
+ return;
+ }
+ }
+#endif
+
// Begin Download
int currentCount = 0;
long currentBytes = 0;
diff --git a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchFsm/PatchFsmStates.cs b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchFsm/PatchFsmStates.cs
index c64b234c..8bbd499c 100644
--- a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchFsm/PatchFsmStates.cs
+++ b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchFsm/PatchFsmStates.cs
@@ -11,6 +11,7 @@
using System.Linq;
using UniFramework.Machine;
using YooAsset;
+using static UnityEngine.Mesh;
namespace OxGFrame.AssetLoader.PatchFsm
{
@@ -812,6 +813,23 @@ private async UniTask _StartDownload()
totalBytes += downloader.TotalDownloadBytes;
}
+#if !UNITY_WEBGL
+ // Check flag if enabled
+ if (BundleConfig.checkDiskSpace)
+ {
+ // Check disk space
+ int availableDiskSpaceMegabytes = BundleUtility.CheckAvailableDiskSpaceMegabytes();
+ int patchTotalMegabytes = (int)(totalBytes / (1 << 20));
+ Logging.Print($"[Disk Space Check] Available Disk Space Size: {BundleUtility.GetMegabytesToString(availableDiskSpaceMegabytes)}, Total Patch Size: {BundleUtility.GetBytesToString((ulong)totalBytes)}");
+ if (patchTotalMegabytes > availableDiskSpaceMegabytes)
+ {
+ PatchEvents.PatchCheckDiskNotEnoughSpace.SendEventMessage(availableDiskSpaceMegabytes, (ulong)totalBytes);
+ Logging.Print($"Disk Not Enough Space!!! Available Disk Space Size: {BundleUtility.GetMegabytesToString(availableDiskSpaceMegabytes)}, Total Patch Size: {BundleUtility.GetBytesToString((ulong)totalBytes)}");
+ return;
+ }
+ }
+#endif
+
// Begin Download
int currentCount = 0;
long currentBytes = 0;
diff --git a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchLauncher.cs b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchLauncher.cs
index c252ba82..45b54e3b 100644
--- a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchLauncher.cs
+++ b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchLauncher.cs
@@ -18,6 +18,8 @@ internal class PatchLauncher : MonoBehaviour
public BundleConfig.SemanticRule semanticRule = new BundleConfig.SemanticRule();
[Tooltip("If checked, will skip preset app packages download step of the patch (force download while playing)."), ConditionalField(nameof(playMode), false, BundleConfig.PlayMode.HostMode)]
public bool skipMainDownload = false;
+ [Tooltip("If checked, will check disk space is it enough while patch checking."), ConditionalField(new string[] { nameof(playMode), nameof(skipMainDownload) }, new bool[] { false, true }, BundleConfig.PlayMode.HostMode)]
+ public bool checkDiskSpace = true;
[Separator("Preset App Packages")]
[Tooltip("The first element will be default app package.\n\nNote: The presets will combine in main download of the patch.")]
@@ -62,6 +64,7 @@ private async void Awake()
{
BundleConfig.semanticRule = this.semanticRule;
BundleConfig.skipMainDownload = this.skipMainDownload;
+ BundleConfig.checkDiskSpace = this.checkDiskSpace;
}
// For WebGL Mode
else if (this.playMode == BundleConfig.PlayMode.WebGLMode)
diff --git a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchManager.cs b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchManager.cs
index 2b7266ba..ff08f833 100644
--- a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchManager.cs
+++ b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchManager.cs
@@ -106,10 +106,10 @@ public PatchManager()
this._userEvents.AddListener(this._OnHandleEventMessage);
this._userEvents.AddListener(this._OnHandleEventMessage);
this._userEvents.AddListener(this._OnHandleEventMessage);
- this._userEvents.AddListener(this._OnHandleEventMessage);
this._userEvents.AddListener(this._OnHandleEventMessage);
this._userEvents.AddListener(this._OnHandleEventMessage);
this._userEvents.AddListener(this._OnHandleEventMessage);
+ this._userEvents.AddListener(this._OnHandleEventMessage);
// 註冊 PatchFsm 處理流程
this._patchFsm = new StateMachine(this);
@@ -294,10 +294,6 @@ private void _OnHandleEventMessage(IEventMessage message)
{
this._patchFsm.ChangeState();
}
- else if (message is PatchUserEvents.UserBeginDownload)
- {
- this._patchFsm.ChangeState();
- }
else if (message is PatchUserEvents.UserTryPatchVersionUpdate)
{
this._patchFsm.ChangeState();
@@ -310,6 +306,10 @@ private void _OnHandleEventMessage(IEventMessage message)
{
this._patchFsm.ChangeState();
}
+ else if (message is PatchUserEvents.UserBeginDownload)
+ {
+ this._patchFsm.ChangeState();
+ }
else
{
throw new System.NotImplementedException($"{message.GetType()}");
diff --git a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/OxGFrame.AssetLoader.Runtime.asmdef b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/OxGFrame.AssetLoader.Runtime.asmdef
index 6c7a146b..dd08019b 100644
--- a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/OxGFrame.AssetLoader.Runtime.asmdef
+++ b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/OxGFrame.AssetLoader.Runtime.asmdef
@@ -8,7 +8,8 @@
"GUID:f22fac247a56d2d41b687bb0d900e54e",
"GUID:c55575a9f1747c240822f4b7e0400716",
"GUID:f3b8d4b152174ca47b578c325544e581",
- "GUID:981f0bbbcbf62b74c9821862b0cd0202"
+ "GUID:981f0bbbcbf62b74c9821862b0cd0202",
+ "GUID:bcd02d5781d1e4f13a52b4c351be62d5"
],
"includePlatforms": [],
"excludePlatforms": [],
diff --git a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Utility/BundleUtility.cs b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Utility/BundleUtility.cs
index 00a3090e..cd8b9cb4 100644
--- a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Utility/BundleUtility.cs
+++ b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Utility/BundleUtility.cs
@@ -1,14 +1,14 @@
-using System.IO;
-using System.Text;
+using Cysharp.Threading.Tasks;
+using OxGFrame.AssetLoader.Bundle;
+using OxGKit.LoggingSystem;
+using SimpleDiskUtils;
using System;
-using Cysharp.Threading.Tasks;
-using UnityEngine.Networking;
-using UnityEngine;
-using System.Threading;
using System.Collections.Generic;
-using OxGKit.LoggingSystem;
+using System.IO;
using System.Linq;
-using OxGFrame.AssetLoader.Bundle;
+using System.Text;
+using System.Threading;
+using UnityEngine.Networking;
namespace OxGFrame.AssetLoader.Utility
{
@@ -56,6 +56,23 @@ public static string GetBytesToString(ulong bytes)
return (bytes / (1024 * 1024 * 1024 * 1f)).ToString("f2") + "GB";
}
}
+
+ ///
+ /// Megabytes ToString (MB, GB)
+ ///
+ ///
+ ///
+ public static string GetMegabytesToString(int megabytes)
+ {
+ if (megabytes < (1024 * 1f))
+ {
+ return (megabytes).ToString("f2") + "MB";
+ }
+ else
+ {
+ return (megabytes / (1024 * 1f)).ToString("f2") + "GB";
+ }
+ }
#endregion
#region MD5
@@ -346,5 +363,21 @@ public static string GetVersionNumber(string seed, int length)
}
}
#endregion
+
+ #region Disk Operation
+ public static int CheckAvailableDiskSpaceMegabytes()
+ {
+#if UNITY_STANDALONE_WIN || UNITY_EDITOR_WIN
+ string rootPath = BundleConfig.GetLocalSandboxRootPath();
+ string diskLetter = rootPath.Substring(0, 3);
+ return DiskUtils.CheckAvailableSpace(diskLetter);
+#elif UNITY_ANDROID
+ string rootPath = BundleConfig.GetLocalSandboxRootPath();
+ return DiskUtils.CheckAvailableSpace(rootPath);
+#else
+ return DiskUtils.CheckAvailableSpace();
+#endif
+ }
+ #endregion
}
}
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils.meta
new file mode 100644
index 00000000..e2ceb3ec
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3db0875bbe7ca1542a15359d8e71d491
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/.gitignore b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/.gitignore
new file mode 100644
index 00000000..4293e442
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/.gitignore
@@ -0,0 +1,4 @@
+# Mac OS X
+*.DS_Store
+*mono_crash.*
+*.idea
\ No newline at end of file
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android.meta
new file mode 100644
index 00000000..70fe89fb
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 8212c9ee307404769ae11f70e4e6aa72
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/.gitignore b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/.gitignore
new file mode 100644
index 00000000..37d1e485
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/.gitignore
@@ -0,0 +1,94 @@
+reated by https://www.gitignore.io/api/andro,android,gradle,osx
+
+#!! ERROR: andro is undefined. Use list command to see defined gitignore types !!#
+
+### Android ###
+# Built application files
+*.apk
+*.ap_
+
+# Files for the ART/Dalvik VM
+*.dex
+
+# Java class files
+*.class
+
+# Generated files
+bin/
+gen/
+out/
+
+# Gradle files
+.gradle/
+build/
+
+# Local configuration file (sdk path, etc)
+local.properties
+
+# Proguard folder generated by Eclipse
+proguard/
+
+# Log Files
+*.log
+
+# Android Studio Navigation editor temp files
+.navigation/
+
+# Android Studio captures folder
+captures/
+
+# Intellij
+*.iml
+.idea/workspace.xml
+
+# Keystore files
+*.jks
+
+### Android Patch ###
+gen-external-apklibs
+
+
+### OSX ###
+*.DS_Store
+.AppleDouble
+.LSOverride
+
+# Icon must end with two \r
+Icon
+
+
+# Thumbnails
+._*
+
+# Files that might appear in the root of a volume
+.DocumentRevisions-V100
+.fseventsd
+.Spotlight-V100
+.TemporaryItems
+.Trashes
+.VolumeIcon.icns
+.com.apple.timemachine.donotpresent
+
+# Directories potentially created on remote AFP share
+.AppleDB
+.AppleDesktop
+Network Trash Folder
+Temporary Items
+.apdisk
+
+
+### Gradle ###
+.gradle
+build/
+
+# Ignore Gradle GUI config
+gradle-app.setting
+
+# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
+!gradle-wrapper.jar
+
+# Cache of project
+.gradletasknamecache
+
+# # Work around https://youtrack.jetbrains.com/issue/IDEA-116898
+# gradle/wrapper/gradle-wrapper.properties
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils.meta
new file mode 100644
index 00000000..27dae63a
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3c029577b9c71478a8ad49819b049cee
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/.gitignore b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/.gitignore
new file mode 100644
index 00000000..c6cbe562
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/.gitignore
@@ -0,0 +1,8 @@
+*.iml
+.gradle
+/local.properties
+/.idea/workspace.xml
+/.idea/libraries
+.DS_Store
+/build
+/captures
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app.meta
new file mode 100644
index 00000000..8f1dfec7
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 249115343360b4bee90caab2ed879e24
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/.gitignore b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/.gitignore
new file mode 100644
index 00000000..796b96d1
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/.gitignore
@@ -0,0 +1 @@
+/build
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/build.gradle b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/build.gradle
new file mode 100644
index 00000000..f58ffd54
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/build.gradle
@@ -0,0 +1,25 @@
+apply plugin: 'com.android.library'
+
+android {
+ compileSdkVersion 29
+ buildToolsVersion "29.0.0"
+
+ defaultConfig {
+ minSdkVersion 16
+ targetSdkVersion 23
+ }
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+ }
+ }
+}
+
+dependencies {
+ implementation fileTree(dir: 'libs', include: ['*.jar'])
+ implementation "androidx.core:core:1.1.0"
+
+ testCompile 'junit:junit:4.12'
+ compile 'com.android.support:appcompat-v7:23.2.0'
+}
\ No newline at end of file
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/build.gradle.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/build.gradle.meta
new file mode 100644
index 00000000..c4a8fcff
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/build.gradle.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: e78935c071cf749979ba15fae9184bc1
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/proguard-rules.pro b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/proguard-rules.pro
new file mode 100644
index 00000000..37ec7a0d
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/proguard-rules.pro
@@ -0,0 +1,17 @@
+# Add project specific ProGuard rules here.
+# By default, the flags in this file are appended to flags specified
+# in /Users/dikra-prasetya/Library/Android/sdk/tools/proguard/proguard-android.txt
+# You can edit the include path and order by changing the proguardFiles
+# directive in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# Add any project specific keep options here:
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/proguard-rules.pro.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/proguard-rules.pro.meta
new file mode 100644
index 00000000..8eda8ac7
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/proguard-rules.pro.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 623a1b4f2cbbd4423a9a585efa108728
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src.meta
new file mode 100644
index 00000000..682daf50
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3a4ffc0e2e525428595aa8fee6de5459
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/androidTest.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/androidTest.meta
new file mode 100644
index 00000000..1f4fc452
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/androidTest.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: cff7f12cc104e41fdbfc8fd3e37120e4
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/androidTest/java.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/androidTest/java.meta
new file mode 100644
index 00000000..01e1dd54
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/androidTest/java.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 84d6873492ce2496b83d35ab5bfae1d9
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/androidTest/java/com.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/androidTest/java/com.meta
new file mode 100644
index 00000000..4b93fc68
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/androidTest/java/com.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: cd1dc32d1295744eda2359adf31a05d1
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/androidTest/java/com/dikra.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/androidTest/java/com/dikra.meta
new file mode 100644
index 00000000..34a23a95
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/androidTest/java/com/dikra.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7393aaf4f8f024ad6a69e920fd77c81f
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/androidTest/java/com/dikra/diskutils.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/androidTest/java/com/dikra/diskutils.meta
new file mode 100644
index 00000000..8a753f46
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/androidTest/java/com/dikra/diskutils.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a0564657ee8af4238a71d8914b23285a
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/androidTest/java/com/dikra/diskutils/ApplicationTest.java b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/androidTest/java/com/dikra/diskutils/ApplicationTest.java
new file mode 100644
index 00000000..7d80361f
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/androidTest/java/com/dikra/diskutils/ApplicationTest.java
@@ -0,0 +1,13 @@
+package com.dikra.diskutils;
+
+import android.app.Application;
+import android.test.ApplicationTestCase;
+
+/**
+ * Testing Fundamentals
+ */
+public class ApplicationTest extends ApplicationTestCase {
+ public ApplicationTest() {
+ super(Application.class);
+ }
+}
\ No newline at end of file
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/androidTest/java/com/dikra/diskutils/ApplicationTest.java.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/androidTest/java/com/dikra/diskutils/ApplicationTest.java.meta
new file mode 100644
index 00000000..d6a8f03e
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/androidTest/java/com/dikra/diskutils/ApplicationTest.java.meta
@@ -0,0 +1,32 @@
+fileFormatVersion: 2
+guid: fbb21fc2aaba547beb452cd8d1552cc5
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 1
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Android: Android
+ second:
+ enabled: 1
+ settings: {}
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main.meta
new file mode 100644
index 00000000..a277bb60
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f1e51864063074a339c733a84fc6bf78
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/AndroidManifest.xml b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/AndroidManifest.xml
new file mode 100644
index 00000000..b7018ed7
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/AndroidManifest.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/AndroidManifest.xml.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/AndroidManifest.xml.meta
new file mode 100644
index 00000000..3a16642f
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/AndroidManifest.xml.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 9366909e4769f47889a1a4b1a3e07616
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/java.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/java.meta
new file mode 100644
index 00000000..63f0fef0
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/java.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 40a5da157f3084b8189c65c4ab6fe9ed
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/java/com.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/java/com.meta
new file mode 100644
index 00000000..783b6a3d
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/java/com.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f5644569e13644d3d9ebe68412d8a46c
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/java/com/dikra.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/java/com/dikra.meta
new file mode 100644
index 00000000..bb7dcf9f
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/java/com/dikra.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d32feb24b45184543ad3d63f39684309
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/java/com/dikra/diskutils.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/java/com/dikra/diskutils.meta
new file mode 100644
index 00000000..a94affba
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/java/com/dikra/diskutils.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: fbedf83d5dbee4dd8abf15f563f4153e
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/java/com/dikra/diskutils/DiskUtils.java b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/java/com/dikra/diskutils/DiskUtils.java
new file mode 100644
index 00000000..8b33deca
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/java/com/dikra/diskutils/DiskUtils.java
@@ -0,0 +1,136 @@
+package com.dikra.diskutils;
+
+/**
+ * Created by dikra-prasetya on 4/1/16.
+ */
+
+
+import android.os.Build;
+import android.os.Environment;
+import android.os.StatFs;
+import java.math.BigInteger;
+
+
+public class DiskUtils {
+ private static final long MEGA_BYTE = 1048576;
+
+ /**
+ * Calculates total space on disk.
+ * @param external Queries external disk if true, queries internal disk otherwise.
+ * @return Total disk space in MB.
+ */
+ public static int totalSpace(boolean external)
+ {
+ long totalBlocks;
+ long blockSize;
+
+ StatFs statFs = getStats(external);
+ if (Build.VERSION.SDK_INT < 18){
+ totalBlocks = statFs.getBlockCount();
+ blockSize = statFs.getBlockSize();
+ }
+ else
+ {
+ totalBlocks = statFs.getBlockCountLong();
+ blockSize = statFs.getBlockSizeLong();
+ }
+
+ BigInteger total = BigInteger.valueOf(totalBlocks).multiply(BigInteger.valueOf(blockSize)).divide(BigInteger.valueOf(MEGA_BYTE));
+
+ return total.intValue();
+ }
+
+ /**
+ * Calculates available space on disk.
+ * @param path Gets the disk that contains the path, queries the internal disk if this is null or empty
+ * @return Available disk space in MB.
+ */
+ public static int availableSpace(String path)
+ {
+ if (path == null || path.isEmpty()) {
+ path = Environment.getRootDirectory().getAbsolutePath();
+ }
+
+ long totalBlocks;
+ long blockSize;
+
+ StatFs statFs = new StatFs(path);
+ if (Build.VERSION.SDK_INT < 18) {
+ totalBlocks = statFs.getAvailableBlocks();
+ blockSize = statFs.getBlockSize();
+ } else {
+ totalBlocks = statFs.getAvailableBlocksLong();
+ blockSize = statFs.getBlockSizeLong();
+ }
+ BigInteger total = BigInteger.valueOf(totalBlocks).multiply(BigInteger.valueOf(blockSize)).divide(BigInteger.valueOf(MEGA_BYTE));
+
+ return total.intValue();
+ }
+ /**
+ * Calculates available space on disk.
+ * @param external Queries external disk if true, queries internal disk otherwise.
+ * @return Available disk space in MB.
+ */
+ public static int availableSpace(boolean external)
+ {
+ long availableBlocks;
+ long blockSize;
+
+ StatFs statFs = getStats(external);
+ if (Build.VERSION.SDK_INT < 18){
+ availableBlocks = statFs.getAvailableBlocks();
+ blockSize = statFs.getBlockSize();
+ }
+ else
+ {
+ availableBlocks = statFs.getAvailableBlocksLong();
+ blockSize = statFs.getBlockSizeLong();
+ }
+
+ BigInteger free = BigInteger.valueOf(availableBlocks).multiply(BigInteger.valueOf(blockSize)).divide(BigInteger.valueOf(MEGA_BYTE));
+
+ return free.intValue();
+ }
+
+ /**
+ * Calculates busy space on disk.
+ * @param external Queries external disk if true, queries internal disk otherwise.
+ * @return Busy disk space in MB.
+ */
+ public static int busySpace(boolean external)
+ {
+ BigInteger total;
+ BigInteger free;
+
+ StatFs statFs = getStats(external);
+
+ if (Build.VERSION.SDK_INT < 18){
+ total = BigInteger.valueOf(statFs.getBlockCount()).multiply(BigInteger.valueOf(statFs.getBlockSize()));
+ free = BigInteger.valueOf(statFs.getFreeBlocks()).multiply(BigInteger.valueOf(statFs.getBlockSize()));
+ }
+ else
+ {
+ total = BigInteger.valueOf(statFs.getBlockCountLong()).multiply(BigInteger.valueOf(statFs.getBlockSizeLong()));
+ free = BigInteger.valueOf(statFs.getFreeBlocksLong()).multiply(BigInteger.valueOf(statFs.getBlockSizeLong()));
+ }
+
+ BigInteger ret = total.subtract(free).divide(BigInteger.valueOf(MEGA_BYTE));
+
+ return ret.intValue();
+ }
+
+ private static StatFs getStats(boolean external){
+ String path;
+
+ if (external){
+ path = Environment.getExternalStorageDirectory().getAbsolutePath();
+ }
+ else{
+ path = Environment.getRootDirectory().getAbsolutePath();
+ }
+
+ return new StatFs(path);
+ }
+
+}
+
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/java/com/dikra/diskutils/DiskUtils.java.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/java/com/dikra/diskutils/DiskUtils.java.meta
new file mode 100644
index 00000000..efe3ed35
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/java/com/dikra/diskutils/DiskUtils.java.meta
@@ -0,0 +1,32 @@
+fileFormatVersion: 2
+guid: 4daab3d9ca9314098a4ad541470103c5
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 1
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Android: Android
+ second:
+ enabled: 1
+ settings: {}
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res.meta
new file mode 100644
index 00000000..7006eb3e
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 939c5b7cbcf5b427299dace8285b14a9
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-hdpi.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-hdpi.meta
new file mode 100644
index 00000000..76ec2a48
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-hdpi.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 9da43d5f2815f442abceca3bcc4ca201
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-hdpi/ic_launcher.png b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-hdpi/ic_launcher.png
new file mode 100644
index 00000000..cde69bcc
Binary files /dev/null and b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-hdpi/ic_launcher.png.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-hdpi/ic_launcher.png.meta
new file mode 100644
index 00000000..433faaf9
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-hdpi/ic_launcher.png.meta
@@ -0,0 +1,96 @@
+fileFormatVersion: 2
+guid: 48010182466aa4d8c9ade424b0a6aa9e
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 0
+ wrapV: 0
+ wrapW: 0
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 0
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-mdpi.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-mdpi.meta
new file mode 100644
index 00000000..b08b5338
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-mdpi.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 816be5006e27d40ffa34994787e6d32d
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-mdpi/ic_launcher.png b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-mdpi/ic_launcher.png
new file mode 100644
index 00000000..c133a0cb
Binary files /dev/null and b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-mdpi/ic_launcher.png.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-mdpi/ic_launcher.png.meta
new file mode 100644
index 00000000..aa7bd61c
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-mdpi/ic_launcher.png.meta
@@ -0,0 +1,96 @@
+fileFormatVersion: 2
+guid: 10259f8f744144bbba3deb2435ad8e4c
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 0
+ wrapV: 0
+ wrapW: 0
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 0
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-xhdpi.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-xhdpi.meta
new file mode 100644
index 00000000..5ec0b6a1
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-xhdpi.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ec8cce1fd993c42f4b1df2ad743ea7c1
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-xhdpi/ic_launcher.png
new file mode 100644
index 00000000..bfa42f0e
Binary files /dev/null and b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-xhdpi/ic_launcher.png.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-xhdpi/ic_launcher.png.meta
new file mode 100644
index 00000000..c7c0ff60
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-xhdpi/ic_launcher.png.meta
@@ -0,0 +1,96 @@
+fileFormatVersion: 2
+guid: 14a173a444a3f42dbaf06c7b8a26243c
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 0
+ wrapV: 0
+ wrapW: 0
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 0
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-xxhdpi.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-xxhdpi.meta
new file mode 100644
index 00000000..697f8ed6
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-xxhdpi.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b68360aef4f9a4d4da09c978d8a0abd6
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
new file mode 100644
index 00000000..324e72cd
Binary files /dev/null and b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-xxhdpi/ic_launcher.png.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-xxhdpi/ic_launcher.png.meta
new file mode 100644
index 00000000..c59102e0
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-xxhdpi/ic_launcher.png.meta
@@ -0,0 +1,96 @@
+fileFormatVersion: 2
+guid: 49c7844e379de42c6bf80a9d43928a7e
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 0
+ wrapV: 0
+ wrapW: 0
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 0
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-xxxhdpi.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-xxxhdpi.meta
new file mode 100644
index 00000000..dd2b18b1
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-xxxhdpi.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5b849b2d17ea14951bc00ba411312858
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
new file mode 100644
index 00000000..aee44e13
Binary files /dev/null and b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png.meta
new file mode 100644
index 00000000..77dd6de0
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png.meta
@@ -0,0 +1,96 @@
+fileFormatVersion: 2
+guid: 409d1713e643549b48e2eddc100865bf
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 0
+ wrapV: 0
+ wrapW: 0
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 0
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/values.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/values.meta
new file mode 100644
index 00000000..48a46509
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/values.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1af7363bd9baa4173a60159e85118aa2
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/values/colors.xml b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/values/colors.xml
new file mode 100644
index 00000000..3ab3e9cb
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/values/colors.xml
@@ -0,0 +1,6 @@
+
+
+ #3F51B5
+ #303F9F
+ #FF4081
+
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/values/colors.xml.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/values/colors.xml.meta
new file mode 100644
index 00000000..e8f3e9e6
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/values/colors.xml.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 0bf9daadcba794bd7bc8cfa7fe16971b
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/values/strings.xml b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/values/strings.xml
new file mode 100644
index 00000000..9e71328a
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/values/strings.xml
@@ -0,0 +1,3 @@
+
+ simple-disk-utils
+
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/values/strings.xml.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/values/strings.xml.meta
new file mode 100644
index 00000000..e2e092f8
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/values/strings.xml.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: b98dbd27371fa4fc2a5eeb53dfd32a39
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/values/styles.xml b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/values/styles.xml
new file mode 100644
index 00000000..5885930d
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/values/styles.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/values/styles.xml.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/values/styles.xml.meta
new file mode 100644
index 00000000..b1bf49aa
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/main/res/values/styles.xml.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 8c56c993581a247429fda5fec68d9651
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/test.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/test.meta
new file mode 100644
index 00000000..22c418c2
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/test.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7ac0af82b2ab6465095bfe5e27f79344
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/test/java.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/test/java.meta
new file mode 100644
index 00000000..f0d9f83d
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/test/java.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: eec7b5af7914447bfaefa71d723b8ad7
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/test/java/com.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/test/java/com.meta
new file mode 100644
index 00000000..35c83863
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/test/java/com.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 21be63ccef8e54297a6f71eacf90481f
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/test/java/com/dikra.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/test/java/com/dikra.meta
new file mode 100644
index 00000000..93dc8be7
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/test/java/com/dikra.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 8cf1659b206fa44e7ac186b22aba59cc
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/test/java/com/dikra/simple_unity_diskutils.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/test/java/com/dikra/simple_unity_diskutils.meta
new file mode 100644
index 00000000..d15049ae
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/test/java/com/dikra/simple_unity_diskutils.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 585a7dfc5a7434abfb72f5072f8aac0b
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/test/java/com/dikra/simple_unity_diskutils/ExampleUnitTest.java b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/test/java/com/dikra/simple_unity_diskutils/ExampleUnitTest.java
new file mode 100644
index 00000000..0a082201
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/test/java/com/dikra/simple_unity_diskutils/ExampleUnitTest.java
@@ -0,0 +1,15 @@
+package com.dikra.diskutils;
+
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+/**
+ * To work on unit tests, switch the Test Artifact in the Build Variants view.
+ */
+public class ExampleUnitTest {
+ @Test
+ public void addition_isCorrect() throws Exception {
+ assertEquals(4, 2 + 2);
+ }
+}
\ No newline at end of file
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/test/java/com/dikra/simple_unity_diskutils/ExampleUnitTest.java.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/test/java/com/dikra/simple_unity_diskutils/ExampleUnitTest.java.meta
new file mode 100644
index 00000000..78bb4d9f
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/app/src/test/java/com/dikra/simple_unity_diskutils/ExampleUnitTest.java.meta
@@ -0,0 +1,70 @@
+fileFormatVersion: 2
+guid: b2b18c09b1e7b4852ad39163a63a8dad
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 1
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ : Any
+ second:
+ enabled: 0
+ settings:
+ Exclude Android: 1
+ Exclude Editor: 1
+ Exclude Linux64: 1
+ Exclude OSXUniversal: 1
+ Exclude Win: 1
+ Exclude Win64: 1
+ - first:
+ Android: Android
+ second:
+ enabled: 0
+ settings:
+ CPU: ARMv7
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ DefaultValueInitialized: true
+ OS: AnyOS
+ - first:
+ Standalone: Linux64
+ second:
+ enabled: 0
+ settings:
+ CPU: x86_64
+ - first:
+ Standalone: OSXUniversal
+ second:
+ enabled: 0
+ settings:
+ CPU: None
+ - first:
+ Standalone: Win
+ second:
+ enabled: 0
+ settings:
+ CPU: x86
+ - first:
+ Standalone: Win64
+ second:
+ enabled: 0
+ settings:
+ CPU: x86_64
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/build.gradle b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/build.gradle
new file mode 100644
index 00000000..279fad14
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/build.gradle
@@ -0,0 +1,25 @@
+// Top-level build file where you can add configuration options common to all sub-projects/modules.
+
+buildscript {
+ repositories {
+ jcenter()
+ google()
+ }
+
+ dependencies {
+ classpath 'com.android.tools.build:gradle:3.5.0'
+
+ }
+}
+
+
+allprojects {
+ repositories {
+ jcenter()
+ google()
+ }
+}
+
+task clean(type: Delete) {
+ delete rootProject.buildDir
+}
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/build.gradle.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/build.gradle.meta
new file mode 100644
index 00000000..a6c3ec39
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/build.gradle.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 6585e2db0959e45c480c0cd7fc23fc85
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/gradle.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/gradle.meta
new file mode 100644
index 00000000..f31be803
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/gradle.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ea9b6a427d9fe4d338f4b1e89f00db17
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/gradle.properties b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/gradle.properties
new file mode 100644
index 00000000..8e107272
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/gradle.properties
@@ -0,0 +1,20 @@
+# Project-wide Gradle settings.
+
+# IDE (e.g. Android Studio) users:
+# Gradle settings configured through the IDE *will override*
+# any settings specified in this file.
+
+# For more details on how to configure your build environment visit
+# http://www.gradle.org/docs/current/userguide/build_environment.html
+
+# Specifies the JVM arguments used for the daemon process.
+# The setting is particularly useful for tweaking memory settings.
+# Default value: -Xmx10248m -XX:MaxPermSize=256m
+# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
+
+# When configured, Gradle will run in incubating parallel mode.
+# This option should only be used with decoupled projects. More details, visit
+# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
+# org.gradle.parallel=true
+
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
\ No newline at end of file
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/gradle.properties.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/gradle.properties.meta
new file mode 100644
index 00000000..2b588e3e
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/gradle.properties.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: d8bf4fc7961b94731a030e43fe627892
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/gradle/wrapper.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/gradle/wrapper.meta
new file mode 100644
index 00000000..b84a40b2
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/gradle/wrapper.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7e140836d717d4317908c495854dc5da
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/gradle/wrapper/gradle-wrapper.jar b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 00000000..05ef575b
Binary files /dev/null and b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/gradle/wrapper/gradle-wrapper.jar.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/gradle/wrapper/gradle-wrapper.jar.meta
new file mode 100644
index 00000000..ca8241f1
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/gradle/wrapper/gradle-wrapper.jar.meta
@@ -0,0 +1,32 @@
+fileFormatVersion: 2
+guid: 96dfda7b0bda34c38bcfa25c640603fc
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 1
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Android: Android
+ second:
+ enabled: 1
+ settings: {}
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/gradle/wrapper/gradle-wrapper.properties b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 00000000..b6d1b478
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,6 @@
+#Wed Oct 21 11:34:03 PDT 2015
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/gradle/wrapper/gradle-wrapper.properties.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/gradle/wrapper/gradle-wrapper.properties.meta
new file mode 100644
index 00000000..06078795
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/gradle/wrapper/gradle-wrapper.properties.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 8086224f6293f47448634e12567071f8
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/gradlew b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/gradlew
new file mode 100644
index 00000000..9d82f789
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/gradlew
@@ -0,0 +1,160 @@
+#!/usr/bin/env bash
+
+##############################################################################
+##
+## Gradle start up script for UN*X
+##
+##############################################################################
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS=""
+
+APP_NAME="Gradle"
+APP_BASE_NAME=`basename "$0"`
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn ( ) {
+ echo "$*"
+}
+
+die ( ) {
+ echo
+ echo "$*"
+ echo
+ exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+case "`uname`" in
+ CYGWIN* )
+ cygwin=true
+ ;;
+ Darwin* )
+ darwin=true
+ ;;
+ MINGW* )
+ msys=true
+ ;;
+esac
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG=`dirname "$PRG"`"/$link"
+ fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/" >/dev/null
+APP_HOME="`pwd -P`"
+cd "$SAVED" >/dev/null
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ if [ ! -x "$JAVACMD" ] ; then
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+else
+ JAVACMD="java"
+ which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
+ MAX_FD_LIMIT=`ulimit -H -n`
+ if [ $? -eq 0 ] ; then
+ if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
+ MAX_FD="$MAX_FD_LIMIT"
+ fi
+ ulimit -n $MAX_FD
+ if [ $? -ne 0 ] ; then
+ warn "Could not set maximum file descriptor limit: $MAX_FD"
+ fi
+ else
+ warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+ fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+ GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin ; then
+ APP_HOME=`cygpath --path --mixed "$APP_HOME"`
+ CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+ JAVACMD=`cygpath --unix "$JAVACMD"`
+
+ # We build the pattern for arguments to be converted via cygpath
+ ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
+ SEP=""
+ for dir in $ROOTDIRSRAW ; do
+ ROOTDIRS="$ROOTDIRS$SEP$dir"
+ SEP="|"
+ done
+ OURCYGPATTERN="(^($ROOTDIRS))"
+ # Add a user-defined pattern to the cygpath arguments
+ if [ "$GRADLE_CYGPATTERN" != "" ] ; then
+ OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+ fi
+ # Now convert the arguments - kludge to limit ourselves to /bin/sh
+ i=0
+ for arg in "$@" ; do
+ CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
+ CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
+
+ if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
+ eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
+ else
+ eval `echo args$i`="\"$arg\""
+ fi
+ i=$((i+1))
+ done
+ case $i in
+ (0) set -- ;;
+ (1) set -- "$args0" ;;
+ (2) set -- "$args0" "$args1" ;;
+ (3) set -- "$args0" "$args1" "$args2" ;;
+ (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+ (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+ (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+ (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+ (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+ (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+ esac
+fi
+
+# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
+function splitJvmOpts() {
+ JVM_OPTS=("$@")
+}
+eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
+JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
+
+exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/gradlew.bat b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/gradlew.bat
new file mode 100644
index 00000000..8a0b282a
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/gradlew.bat
@@ -0,0 +1,90 @@
+@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS=
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto init
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto init
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:init
+@rem Get command-line arguments, handling Windowz variants
+
+if not "%OS%" == "Windows_NT" goto win9xME_args
+if "%@eval[2+2]" == "4" goto 4NT_args
+
+:win9xME_args
+@rem Slurp the command line arguments.
+set CMD_LINE_ARGS=
+set _SKIP=2
+
+:win9xME_args_slurp
+if "x%~1" == "x" goto execute
+
+set CMD_LINE_ARGS=%*
+goto execute
+
+:4NT_args
+@rem Get arguments from the 4NT Shell from JP Software
+set CMD_LINE_ARGS=%$
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/gradlew.bat.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/gradlew.bat.meta
new file mode 100644
index 00000000..2f0fbc9f
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/gradlew.bat.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: c6779819912564720b19733b883768b3
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/gradlew.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/gradlew.meta
new file mode 100644
index 00000000..34a3faff
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/gradlew.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 293a2237f004a4ad3b1a3d1fa2b2f264
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/settings.gradle b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/settings.gradle
new file mode 100644
index 00000000..e7b4def4
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/settings.gradle
@@ -0,0 +1 @@
+include ':app'
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/settings.gradle.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/settings.gradle.meta
new file mode 100644
index 00000000..bfb286dd
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Android/simple-disk-utils/settings.gradle.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 756230ccdb0e3460ca0a0acae30d437f
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac.meta
new file mode 100644
index 00000000..bcae7bd9
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f49138c4f48d542f0b9c99cf4a522cf7
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/.gitignore b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/.gitignore
new file mode 100644
index 00000000..388560bd
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/.gitignore
@@ -0,0 +1,55 @@
+reated by https://www.gitignore.io/api/xcode,osx
+
+### Xcode ###
+# Xcode
+#
+# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
+
+## Build generated
+build/
+DerivedData/
+
+## Various settings
+*.pbxuser
+!default.pbxuser
+*.mode1v3
+!default.mode1v3
+*.mode2v3
+!default.mode2v3
+*.perspectivev3
+!default.perspectivev3
+xcuserdata/
+
+## Other
+*.moved-aside
+*.xccheckout
+*.xcscmblueprint
+
+
+### OSX ###
+*.DS_Store
+.AppleDouble
+.LSOverride
+
+# Icon must end with two \r
+Icon
+
+
+# Thumbnails
+._*
+
+# Files that might appear in the root of a volume
+.DocumentRevisions-V100
+.fseventsd
+.Spotlight-V100
+.TemporaryItems
+.Trashes
+.VolumeIcon.icns
+.com.apple.timemachine.donotpresent
+
+# Directories potentially created on remote AFP share
+.AppleDB
+.AppleDesktop
+Network Trash Folder
+Temporary Items
+.apdisk
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils.meta
new file mode 100644
index 00000000..f385ad23
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5591b32cde4ab47dd84b19c92f95f45d
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils.cpp b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils.cpp
new file mode 100644
index 00000000..f0515ebe
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils.cpp
@@ -0,0 +1,49 @@
+//
+// diskutils.cpp
+// diskutils
+//
+// Created by dikra-prasetya on 3/28/16.
+// Copyright © 2016 dikra-prasetya. All rights reserved.
+//
+
+
+#include "diskutils.hpp"
+
+int getTotalDiskSpace(){
+ struct statfs statf;
+
+ statfs(".", &statf);
+
+ char buf[12];
+ sprintf(buf, "%llu", statf.f_blocks * statf.f_bsize / 1048576ULL );
+ int ret;
+ sscanf(buf, "%d", &ret);
+
+ return ret;
+}
+
+int getAvailableDiskSpace(){
+ struct statfs statf;
+
+ statfs(".", &statf);
+
+ char buf[12];
+ sprintf(buf, "%llu", statf.f_bavail * statf.f_bsize /1048576ULL);
+ int ret;
+ sscanf(buf, "%d", &ret);
+
+ return ret;
+}
+
+int getBusyDiskSpace(){
+ struct statfs statf;
+
+ statfs(".", &statf);
+
+ char buf[12];
+ sprintf(buf, "%llu", (statf.f_blocks - statf.f_bfree) * statf.f_bsize /1048576ULL);
+ int ret;
+ sscanf(buf, "%d", &ret);
+
+ return ret;
+}
\ No newline at end of file
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils.cpp.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils.cpp.meta
new file mode 100644
index 00000000..b30db17a
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils.cpp.meta
@@ -0,0 +1,80 @@
+fileFormatVersion: 2
+guid: d5d9a5df0fe774cb8b93a556b4e56d3b
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 1
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ : Any
+ second:
+ enabled: 0
+ settings:
+ Exclude Android: 1
+ Exclude Editor: 0
+ Exclude Linux64: 0
+ Exclude OSXUniversal: 0
+ Exclude Win: 0
+ Exclude Win64: 0
+ Exclude iOS: 1
+ - first:
+ Android: Android
+ second:
+ enabled: 0
+ settings:
+ CPU: ARMv7
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ DefaultValueInitialized: true
+ OS: OSX
+ - first:
+ Standalone: Linux64
+ second:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ - first:
+ Standalone: OSXUniversal
+ second:
+ enabled: 1
+ settings:
+ CPU: None
+ - first:
+ Standalone: Win
+ second:
+ enabled: 1
+ settings:
+ CPU: x86
+ - first:
+ Standalone: Win64
+ second:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ - first:
+ iPhone: iOS
+ second:
+ enabled: 0
+ settings:
+ AddToEmbeddedBinaries: false
+ CPU: AnyCPU
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils.hpp b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils.hpp
new file mode 100644
index 00000000..ec20cdef
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils.hpp
@@ -0,0 +1,24 @@
+//
+// diskutils.hpp
+// diskutils
+//
+// Created by dikra-prasetya on 3/28/16.
+// Copyright © 2016 dikra-prasetya. All rights reserved.
+//
+
+#include
+#include
+#include
+#include
+
+#ifndef diskutils_hpp
+#define diskutils_hpp
+
+extern "C" {
+ int getTotalDiskSpace();
+ int getAvailableDiskSpace();
+ int getBusyDiskSpace();
+}
+
+
+#endif /* diskutils_hpp */
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils.hpp.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils.hpp.meta
new file mode 100644
index 00000000..8c670387
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils.hpp.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 9ffff8a20b8ce4804a112ee43ffed32b
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils.meta
new file mode 100644
index 00000000..fa447abf
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5871ca5f331a54e149b4ab668604f719
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils.xcodeproj.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils.xcodeproj.meta
new file mode 100644
index 00000000..4a6e3287
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils.xcodeproj.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: dbe60631405b0493cb21c71730f834e2
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils.xcodeproj/project.pbxproj b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils.xcodeproj/project.pbxproj
new file mode 100644
index 00000000..b0ba9815
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils.xcodeproj/project.pbxproj
@@ -0,0 +1,260 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 8D8E8D861D0AAD160036F755 /* diskutils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8D8E8D841D0AAD160036F755 /* diskutils.cpp */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ 8D8E8D7B1D0AACFB0036F755 /* diskutils.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = diskutils.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
+ 8D8E8D7E1D0AACFB0036F755 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ 8D8E8D841D0AAD160036F755 /* diskutils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = diskutils.cpp; sourceTree = ""; };
+ 8D8E8D851D0AAD160036F755 /* diskutils.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = diskutils.hpp; sourceTree = ""; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 8D8E8D781D0AACFB0036F755 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 8D8E8D721D0AACFB0036F755 = {
+ isa = PBXGroup;
+ children = (
+ 8D8E8D841D0AAD160036F755 /* diskutils.cpp */,
+ 8D8E8D851D0AAD160036F755 /* diskutils.hpp */,
+ 8D8E8D7D1D0AACFB0036F755 /* diskutils */,
+ 8D8E8D7C1D0AACFB0036F755 /* Products */,
+ );
+ sourceTree = "";
+ };
+ 8D8E8D7C1D0AACFB0036F755 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 8D8E8D7B1D0AACFB0036F755 /* diskutils.bundle */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ 8D8E8D7D1D0AACFB0036F755 /* diskutils */ = {
+ isa = PBXGroup;
+ children = (
+ 8D8E8D7E1D0AACFB0036F755 /* Info.plist */,
+ );
+ path = diskutils;
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 8D8E8D7A1D0AACFB0036F755 /* diskutils */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 8D8E8D811D0AACFB0036F755 /* Build configuration list for PBXNativeTarget "diskutils" */;
+ buildPhases = (
+ 8D8E8D771D0AACFB0036F755 /* Sources */,
+ 8D8E8D781D0AACFB0036F755 /* Frameworks */,
+ 8D8E8D791D0AACFB0036F755 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = diskutils;
+ productName = diskutils;
+ productReference = 8D8E8D7B1D0AACFB0036F755 /* diskutils.bundle */;
+ productType = "com.apple.product-type.bundle";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 8D8E8D731D0AACFB0036F755 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 0730;
+ ORGANIZATIONNAME = "dikra-prasetya";
+ TargetAttributes = {
+ 8D8E8D7A1D0AACFB0036F755 = {
+ CreatedOnToolsVersion = 7.3.1;
+ };
+ };
+ };
+ buildConfigurationList = 8D8E8D761D0AACFB0036F755 /* Build configuration list for PBXProject "diskutils" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ );
+ mainGroup = 8D8E8D721D0AACFB0036F755;
+ productRefGroup = 8D8E8D7C1D0AACFB0036F755 /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 8D8E8D7A1D0AACFB0036F755 /* diskutils */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 8D8E8D791D0AACFB0036F755 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 8D8E8D771D0AACFB0036F755 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8D8E8D861D0AAD160036F755 /* diskutils.cpp in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin XCBuildConfiguration section */
+ 8D8E8D7F1D0AACFB0036F755 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGN_IDENTITY = "-";
+ COPY_PHASE_STRIP = NO;
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ MACOSX_DEPLOYMENT_TARGET = 10.11;
+ MTL_ENABLE_DEBUG_INFO = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = macosx;
+ };
+ name = Debug;
+ };
+ 8D8E8D801D0AACFB0036F755 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGN_IDENTITY = "-";
+ COPY_PHASE_STRIP = NO;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ MACOSX_DEPLOYMENT_TARGET = 10.11;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ SDKROOT = macosx;
+ };
+ name = Release;
+ };
+ 8D8E8D821D0AACFB0036F755 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COMBINE_HIDPI_IMAGES = YES;
+ INFOPLIST_FILE = diskutils/Info.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles";
+ PRODUCT_BUNDLE_IDENTIFIER = com.dikra.diskutils;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SKIP_INSTALL = YES;
+ WRAPPER_EXTENSION = bundle;
+ };
+ name = Debug;
+ };
+ 8D8E8D831D0AACFB0036F755 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COMBINE_HIDPI_IMAGES = YES;
+ INFOPLIST_FILE = diskutils/Info.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles";
+ PRODUCT_BUNDLE_IDENTIFIER = com.dikra.diskutils;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SKIP_INSTALL = YES;
+ WRAPPER_EXTENSION = bundle;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 8D8E8D761D0AACFB0036F755 /* Build configuration list for PBXProject "diskutils" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 8D8E8D7F1D0AACFB0036F755 /* Debug */,
+ 8D8E8D801D0AACFB0036F755 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 8D8E8D811D0AACFB0036F755 /* Build configuration list for PBXNativeTarget "diskutils" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 8D8E8D821D0AACFB0036F755 /* Debug */,
+ 8D8E8D831D0AACFB0036F755 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 8D8E8D731D0AACFB0036F755 /* Project object */;
+}
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils.xcodeproj/project.pbxproj.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils.xcodeproj/project.pbxproj.meta
new file mode 100644
index 00000000..fcd1b4b4
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils.xcodeproj/project.pbxproj.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 718f0aee937894204b2db0a5971a1db8
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils.xcodeproj/project.xcworkspace.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils.xcodeproj/project.xcworkspace.meta
new file mode 100644
index 00000000..03f6050c
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils.xcodeproj/project.xcworkspace.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ead110d8567984d0c8454d7ac6d33829
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 00000000..acc50cb4
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils.xcodeproj/project.xcworkspace/contents.xcworkspacedata.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils.xcodeproj/project.xcworkspace/contents.xcworkspacedata.meta
new file mode 100644
index 00000000..7a2d2adc
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils.xcodeproj/project.xcworkspace/contents.xcworkspacedata.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 0691745809e7e48b68fc55b050825b13
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils/Info.plist b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils/Info.plist
new file mode 100644
index 00000000..e2e79722
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils/Info.plist
@@ -0,0 +1,28 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ $(EXECUTABLE_NAME)
+ CFBundleIdentifier
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ $(PRODUCT_NAME)
+ CFBundlePackageType
+ BNDL
+ CFBundleShortVersionString
+ 1.0
+ CFBundleSignature
+ ????
+ CFBundleVersion
+ 1
+ NSHumanReadableCopyright
+ Copyright © 2016 dikra-prasetya. All rights reserved.
+ NSPrincipalClass
+
+
+
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils/Info.plist.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils/Info.plist.meta
new file mode 100644
index 00000000..d0c7259a
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Mac/diskutils/diskutils/Info.plist.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 9a8a90de726a64a89af7ea440098830c
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows.meta
new file mode 100644
index 00000000..3283d58f
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: acc49c4abfaec4ba6af86f917eca0720
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI.meta
new file mode 100644
index 00000000..f2060a50
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d0fe7a82ac85a451ca10d91dedb6a408
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/.gitignore b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/.gitignore
new file mode 100644
index 00000000..3335cf8e
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/.gitignore
@@ -0,0 +1,308 @@
+
+# Created by https://www.gitignore.io/api/visualstudio,c++,windows
+
+### VisualStudio ###
+## Ignore Visual Studio temporary files, build results, and
+## files generated by popular Visual Studio add-ons.
+
+# User-specific files
+*.suo
+*.user
+*.userosscache
+*.sln.docstates
+
+# User-specific files (MonoDevelop/Xamarin Studio)
+*.userprefs
+
+# Build results
+[Dd]ebug/
+[Dd]ebugPublic/
+[Rr]elease/
+[Rr]eleases/
+x64/
+x86/
+bld/
+[Bb]in/
+[Oo]bj/
+[Ll]og/
+
+# Visual Studio 2015 cache/options directory
+.vs/
+# Uncomment if you have tasks that create the project's static files in wwwroot
+#wwwroot/
+
+# MSTest test Results
+[Tt]est[Rr]esult*/
+[Bb]uild[Ll]og.*
+
+# NUNIT
+*.VisualState.xml
+TestResult.xml
+
+# Build Results of an ATL Project
+[Dd]ebugPS/
+[Rr]eleasePS/
+dlldata.c
+
+# DNX
+project.lock.json
+artifacts/
+
+*_i.c
+*_p.c
+*_i.h
+*.ilk
+*.obj
+*.pch
+*.pdb
+*.pgc
+*.pgd
+*.rsp
+*.sbr
+*.tlb
+*.tli
+*.tlh
+*.tmp
+*.tmp_proj
+*.log
+*.vspscc
+*.vssscc
+.builds
+*.pidb
+*.svclog
+*.scc
+
+# Chutzpah Test files
+_Chutzpah*
+
+# Visual C++ cache files
+ipch/
+*.aps
+*.ncb
+*.opendb
+*.opensdf
+*.sdf
+*.cachefile
+*.VC.db
+*.VC.VC.opendb
+
+# Visual Studio profiler
+*.psess
+*.vsp
+*.vspx
+*.sap
+
+# TFS 2012 Local Workspace
+$tf/
+
+# Guidance Automation Toolkit
+*.gpState
+
+# ReSharper is a .NET coding add-in
+_ReSharper*/
+*.[Rr]e[Ss]harper
+*.DotSettings.user
+
+# JustCode is a .NET coding add-in
+.JustCode
+
+# TeamCity is a build add-in
+_TeamCity*
+
+# DotCover is a Code Coverage Tool
+*.dotCover
+
+# NCrunch
+_NCrunch_*
+.*crunch*.local.xml
+nCrunchTemp_*
+
+# MightyMoose
+*.mm.*
+AutoTest.Net/
+
+# Web workbench (sass)
+.sass-cache/
+
+# Installshield output folder
+[Ee]xpress/
+
+# DocProject is a documentation generator add-in
+DocProject/buildhelp/
+DocProject/Help/*.HxT
+DocProject/Help/*.HxC
+DocProject/Help/*.hhc
+DocProject/Help/*.hhk
+DocProject/Help/*.hhp
+DocProject/Help/Html2
+DocProject/Help/html
+
+# Click-Once directory
+publish/
+
+# Publish Web Output
+*.[Pp]ublish.xml
+*.azurePubxml
+# TODO: Comment the next line if you want to checkin your web deploy settings
+# but database connection strings (with potential passwords) will be unencrypted
+*.pubxml
+*.publishproj
+
+# Microsoft Azure Web App publish settings. Comment the next line if you want to
+# checkin your Azure Web App publish settings, but sensitive information contained
+# in these scripts will be unencrypted
+PublishScripts/
+
+# NuGet Packages
+*.nupkg
+# The packages folder can be ignored because of Package Restore
+**/packages/*
+# except build/, which is used as an MSBuild target.
+!**/packages/build/
+# Uncomment if necessary however generally it will be regenerated when needed
+#!**/packages/repositories.config
+# NuGet v3's project.json files produces more ignoreable files
+*.nuget.props
+*.nuget.targets
+
+# Microsoft Azure Build Output
+csx/
+*.build.csdef
+
+# Microsoft Azure Emulator
+ecf/
+rcf/
+
+# Windows Store app package directories and files
+AppPackages/
+BundleArtifacts/
+Package.StoreAssociation.xml
+_pkginfo.txt
+
+# Visual Studio cache files
+# files ending in .cache can be ignored
+*.[Cc]ache
+# but keep track of directories ending in .cache
+!*.[Cc]ache/
+
+# Others
+ClientBin/
+~$*
+*~
+*.dbmdl
+*.dbproj.schemaview
+*.pfx
+*.publishsettings
+node_modules/
+orleans.codegen.cs
+
+# Since there are multiple workflows, uncomment next line to ignore bower_components
+# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
+#bower_components/
+
+# RIA/Silverlight projects
+Generated_Code/
+
+# Backup & report files from converting an old project file
+# to a newer Visual Studio version. Backup files are not needed,
+# because we have git ;-)
+_UpgradeReport_Files/
+Backup*/
+UpgradeLog*.XML
+UpgradeLog*.htm
+
+# SQL Server files
+*.mdf
+*.ldf
+
+# Business Intelligence projects
+*.rdl.data
+*.bim.layout
+*.bim_*.settings
+
+# Microsoft Fakes
+FakesAssemblies/
+
+# GhostDoc plugin setting file
+*.GhostDoc.xml
+
+# Node.js Tools for Visual Studio
+.ntvs_analysis.dat
+
+# Visual Studio 6 build log
+*.plg
+
+# Visual Studio 6 workspace options file
+*.opt
+
+# Visual Studio LightSwitch build output
+**/*.HTMLClient/GeneratedArtifacts
+**/*.DesktopClient/GeneratedArtifacts
+**/*.DesktopClient/ModelManifest.xml
+**/*.Server/GeneratedArtifacts
+**/*.Server/ModelManifest.xml
+_Pvt_Extensions
+
+# Paket dependency manager
+.paket/paket.exe
+paket-files/
+
+# FAKE - F# Make
+.fake/
+
+# JetBrains Rider
+.idea/
+*.sln.iml
+
+
+### C++ ###
+# Compiled Object files
+*.slo
+*.lo
+*.o
+*.obj
+
+# Precompiled Headers
+*.gch
+*.pch
+
+# Compiled Dynamic libraries
+*.so
+*.dylib
+*.dll
+
+# Fortran module files
+*.mod
+*.smod
+
+# Compiled Static libraries
+*.lai
+*.la
+*.a
+*.lib
+
+# Executables
+*.exe
+*.out
+*.app
+
+
+### Windows ###
+# Windows image file caches
+Thumbs.db
+ehthumbs.db
+
+# Folder config file
+Desktop.ini
+
+# Recycle Bin used on file shares
+$RECYCLE.BIN/
+
+# Windows Installer files
+*.cab
+*.msi
+*.msm
+*.msp
+
+# Windows shortcuts
+*.lnk
\ No newline at end of file
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI.meta
new file mode 100644
index 00000000..62c9f176
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ea69133e7168d4dc88fb95be03dc3379
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI.sln b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI.sln
new file mode 100644
index 00000000..644ddd37
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DiskUtilsWinAPI", "DiskUtilsWinAPI\DiskUtilsWinAPI.vcxproj", "{6B8E6A90-B630-4483-90E4-D664C2089893}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {6B8E6A90-B630-4483-90E4-D664C2089893}.Debug|x64.ActiveCfg = Debug|x64
+ {6B8E6A90-B630-4483-90E4-D664C2089893}.Debug|x64.Build.0 = Debug|x64
+ {6B8E6A90-B630-4483-90E4-D664C2089893}.Debug|x86.ActiveCfg = Debug|Win32
+ {6B8E6A90-B630-4483-90E4-D664C2089893}.Debug|x86.Build.0 = Debug|Win32
+ {6B8E6A90-B630-4483-90E4-D664C2089893}.Release|x64.ActiveCfg = Release|x64
+ {6B8E6A90-B630-4483-90E4-D664C2089893}.Release|x64.Build.0 = Release|x64
+ {6B8E6A90-B630-4483-90E4-D664C2089893}.Release|x86.ActiveCfg = Release|Win32
+ {6B8E6A90-B630-4483-90E4-D664C2089893}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI.sln.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI.sln.meta
new file mode 100644
index 00000000..b3259163
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI.sln.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 75c66877dac3c4c69b6bc1b2479fd287
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI/DiskUtilsAPI.cpp b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI/DiskUtilsAPI.cpp
new file mode 100644
index 00000000..047a4394
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI/DiskUtilsAPI.cpp
@@ -0,0 +1,90 @@
+#include "DiskUtilsAPI.h"
+
+
+
+DISKUTILS_API int getAvailableDiskSpace(char* drive)
+{
+ PULARGE_INTEGER _available = new ULARGE_INTEGER;
+ PULARGE_INTEGER _total = new ULARGE_INTEGER;
+ PULARGE_INTEGER _free = new ULARGE_INTEGER;
+
+ GetDiskFreeSpaceEx(drive, _available, _total, _free);
+
+ DWORD64 MEGA_BYTE = 1048576;
+
+ DWORD64 free = _available->QuadPart / MEGA_BYTE;
+
+ char s[12];
+ sprintf_s(s, "%llu", free);
+
+ int ret;
+ sscanf_s(s, "%d", &ret);
+
+ delete(_available);
+ delete(_total);
+ delete(_free);
+
+ return ret;
+}
+
+
+DISKUTILS_API int getTotalDiskSpace(char* drive)
+{
+ PULARGE_INTEGER _available = new ULARGE_INTEGER;
+ PULARGE_INTEGER _total = new ULARGE_INTEGER;
+ PULARGE_INTEGER _free = new ULARGE_INTEGER;
+
+ GetDiskFreeSpaceEx(drive, _available, _total, _free);
+
+ DWORD64 MEGA_BYTE = 1048576;
+
+ DWORD64 total = _total->QuadPart / MEGA_BYTE;
+
+ char s[12];
+ sprintf_s(s, "%llu", total);
+
+ int ret;
+ sscanf_s(s, "%d", &ret);
+
+ delete(_available);
+ delete(_total);
+ delete(_free);
+
+ return ret;
+}
+
+
+DISKUTILS_API int getBusyDiskSpace(char* drive)
+{
+ PULARGE_INTEGER _available = new ULARGE_INTEGER;
+ PULARGE_INTEGER _total = new ULARGE_INTEGER;
+ PULARGE_INTEGER _free = new ULARGE_INTEGER;
+
+ GetDiskFreeSpaceEx(drive, _available, _total, _free);
+
+ DWORD64 MEGA_BYTE = 1048576;
+
+ DWORD64 busy = (_total->QuadPart - _free->QuadPart) / MEGA_BYTE;
+
+ char s[12];
+ sprintf_s(s, "%llu", busy);
+
+ int ret;
+ sscanf_s(s, "%d", &ret);
+
+ delete(_available);
+ delete(_total);
+ delete(_free);
+
+ return ret;
+}
+
+
+DiskUtilsAPI::DiskUtilsAPI()
+{
+}
+
+
+DiskUtilsAPI::~DiskUtilsAPI()
+{
+}
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI/DiskUtilsAPI.cpp.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI/DiskUtilsAPI.cpp.meta
new file mode 100644
index 00000000..b053f75f
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI/DiskUtilsAPI.cpp.meta
@@ -0,0 +1,80 @@
+fileFormatVersion: 2
+guid: 7e79c3ee59c62431799898217a9e8ba4
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 1
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ : Any
+ second:
+ enabled: 0
+ settings:
+ Exclude Android: 1
+ Exclude Editor: 0
+ Exclude Linux64: 1
+ Exclude OSXUniversal: 0
+ Exclude Win: 0
+ Exclude Win64: 0
+ Exclude iOS: 1
+ - first:
+ Android: Android
+ second:
+ enabled: 0
+ settings:
+ CPU: ARMv7
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ DefaultValueInitialized: true
+ OS: Windows
+ - first:
+ Standalone: Linux64
+ second:
+ enabled: 0
+ settings:
+ CPU: None
+ - first:
+ Standalone: OSXUniversal
+ second:
+ enabled: 1
+ settings:
+ CPU: None
+ - first:
+ Standalone: Win
+ second:
+ enabled: 1
+ settings:
+ CPU: x86
+ - first:
+ Standalone: Win64
+ second:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ - first:
+ iPhone: iOS
+ second:
+ enabled: 0
+ settings:
+ AddToEmbeddedBinaries: false
+ CPU: AnyCPU
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI/DiskUtilsAPI.h b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI/DiskUtilsAPI.h
new file mode 100644
index 00000000..2c5eb88f
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI/DiskUtilsAPI.h
@@ -0,0 +1,25 @@
+#pragma once
+
+#include "HardDiskManager.h"
+#include
+#include
+using namespace std;
+
+#define DISKUTILS_API __declspec(dllexport)
+
+
+extern "C"
+{
+ DISKUTILS_API int getAvailableDiskSpace(char* drive);
+ DISKUTILS_API int getTotalDiskSpace(char* drive);
+ DISKUTILS_API int getBusyDiskSpace(char* drive);
+}
+
+class DiskUtilsAPI
+{
+public:
+ DiskUtilsAPI();
+ ~DiskUtilsAPI();
+};
+
+
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI/DiskUtilsAPI.h.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI/DiskUtilsAPI.h.meta
new file mode 100644
index 00000000..5a1026b5
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI/DiskUtilsAPI.h.meta
@@ -0,0 +1,80 @@
+fileFormatVersion: 2
+guid: ff27fe18f72144e55a1fc003f175e3a9
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 1
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ : Any
+ second:
+ enabled: 0
+ settings:
+ Exclude Android: 1
+ Exclude Editor: 0
+ Exclude Linux64: 0
+ Exclude OSXUniversal: 0
+ Exclude Win: 0
+ Exclude Win64: 0
+ Exclude iOS: 1
+ - first:
+ Android: Android
+ second:
+ enabled: 0
+ settings:
+ CPU: ARMv7
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ DefaultValueInitialized: true
+ OS: Windows
+ - first:
+ Standalone: Linux64
+ second:
+ enabled: 1
+ settings:
+ CPU: None
+ - first:
+ Standalone: OSXUniversal
+ second:
+ enabled: 1
+ settings:
+ CPU: None
+ - first:
+ Standalone: Win
+ second:
+ enabled: 1
+ settings:
+ CPU: x86
+ - first:
+ Standalone: Win64
+ second:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ - first:
+ iPhone: iOS
+ second:
+ enabled: 0
+ settings:
+ AddToEmbeddedBinaries: false
+ CPU: AnyCPU
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI/DiskUtilsWinAPI.vcxproj b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI/DiskUtilsWinAPI.vcxproj
new file mode 100644
index 00000000..01350262
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI/DiskUtilsWinAPI.vcxproj
@@ -0,0 +1,123 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ {6B8E6A90-B630-4483-90E4-D664C2089893}
+ DiskUtilsWinAPI
+ 8.1
+
+
+
+ DynamicLibrary
+ true
+ v140
+ MultiByte
+
+
+ DynamicLibrary
+ false
+ v140
+ true
+ MultiByte
+
+
+ Application
+ true
+ v140
+ MultiByte
+
+
+ DynamicLibrary
+ false
+ v140
+ true
+ MultiByte
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Level3
+ Disabled
+ true
+
+
+
+
+ Level3
+ Disabled
+ true
+
+
+
+
+ Level3
+ MaxSpeed
+ true
+ true
+ true
+
+
+ true
+ true
+
+
+
+
+ Level3
+ MaxSpeed
+ true
+ true
+ true
+
+
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI/DiskUtilsWinAPI.vcxproj.filters b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI/DiskUtilsWinAPI.vcxproj.filters
new file mode 100644
index 00000000..8863755c
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI/DiskUtilsWinAPI.vcxproj.filters
@@ -0,0 +1,33 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;hm;inl;inc;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ Header Files
+
+
+ Header Files
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+
\ No newline at end of file
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI/DiskUtilsWinAPI.vcxproj.filters.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI/DiskUtilsWinAPI.vcxproj.filters.meta
new file mode 100644
index 00000000..57845238
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI/DiskUtilsWinAPI.vcxproj.filters.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 445608599346b4812aea57e094251a73
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI/DiskUtilsWinAPI.vcxproj.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI/DiskUtilsWinAPI.vcxproj.meta
new file mode 100644
index 00000000..f29e8b4a
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI/DiskUtilsWinAPI.vcxproj.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 0b5a050eb851e4669b1890431bcc8eb6
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI/HardDiskManager.cpp b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI/HardDiskManager.cpp
new file mode 100644
index 00000000..7aba44c9
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI/HardDiskManager.cpp
@@ -0,0 +1,65 @@
+// HardDiskManager.cpp: implementation of the CHardDiskManager class.
+// LICENSE: http://www.codeproject.com/info/cpol10.aspx
+//////////////////////////////////////////////////////////////////////
+
+#include "HardDiskManager.h"
+
+//////////////////////////////////////////////////////////////////////
+// Construction/Destruction
+//////////////////////////////////////////////////////////////////////
+
+CHardDiskManager::CHardDiskManager()
+{
+ // bytes available to caller
+ m_uliFreeBytesAvailable.QuadPart = 0L;
+ // bytes on disk
+ m_uliTotalNumberOfBytes.QuadPart = 0L;
+ // free bytes on disk
+ m_uliTotalNumberOfFreeBytes.QuadPart = 0L;
+}
+
+CHardDiskManager::~CHardDiskManager()
+{
+}
+
+bool CHardDiskManager::CheckFreeSpace(LPCTSTR lpDirectoryName)
+{
+ if( !GetDiskFreeSpaceEx(
+ lpDirectoryName, // directory name
+ &m_uliFreeBytesAvailable, // bytes available to caller
+ &m_uliTotalNumberOfBytes, // bytes on disk
+ &m_uliTotalNumberOfFreeBytes) ) // free bytes on disk
+ return false;
+
+ return true;
+}
+
+DWORD64 CHardDiskManager::GetFreeBytesAvailable(void)
+{
+ return m_uliFreeBytesAvailable.QuadPart;
+}
+
+DWORD64 CHardDiskManager::GetTotalNumberOfBytes(void)
+{
+ return m_uliTotalNumberOfBytes.QuadPart;
+}
+
+DWORD64 CHardDiskManager::GetTotalNumberOfFreeBytes(void)
+{
+ return m_uliTotalNumberOfFreeBytes.QuadPart;
+}
+
+double CHardDiskManager::GetFreeGBytesAvailable(void)
+{
+ return (double)( (signed __int64)(m_uliFreeBytesAvailable.QuadPart)/1.0e9 );
+}
+
+double CHardDiskManager::GetTotalNumberOfGBytes(void)
+{
+ return (double)( (signed __int64)(m_uliTotalNumberOfBytes.QuadPart)/1.0e9 );
+}
+
+double CHardDiskManager::GetTotalNumberOfFreeGBytes(void)
+{
+ return (double)( (signed __int64)(m_uliTotalNumberOfFreeBytes.QuadPart)/1.0e9 );
+}
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI/HardDiskManager.cpp.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI/HardDiskManager.cpp.meta
new file mode 100644
index 00000000..6ac6dad7
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI/HardDiskManager.cpp.meta
@@ -0,0 +1,80 @@
+fileFormatVersion: 2
+guid: 3856d50385f4e4507a2c95c2dd590516
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 1
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ : Any
+ second:
+ enabled: 0
+ settings:
+ Exclude Android: 1
+ Exclude Editor: 0
+ Exclude Linux64: 0
+ Exclude OSXUniversal: 0
+ Exclude Win: 0
+ Exclude Win64: 0
+ Exclude iOS: 1
+ - first:
+ Android: Android
+ second:
+ enabled: 0
+ settings:
+ CPU: ARMv7
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ DefaultValueInitialized: true
+ OS: Windows
+ - first:
+ Standalone: Linux64
+ second:
+ enabled: 1
+ settings:
+ CPU: None
+ - first:
+ Standalone: OSXUniversal
+ second:
+ enabled: 1
+ settings:
+ CPU: None
+ - first:
+ Standalone: Win
+ second:
+ enabled: 1
+ settings:
+ CPU: x86
+ - first:
+ Standalone: Win64
+ second:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ - first:
+ iPhone: iOS
+ second:
+ enabled: 0
+ settings:
+ AddToEmbeddedBinaries: false
+ CPU: AnyCPU
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI/HardDiskManager.h b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI/HardDiskManager.h
new file mode 100644
index 00000000..4e3ca584
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI/HardDiskManager.h
@@ -0,0 +1,36 @@
+// HardDiskManager.h: interface for the CHardDiskManager class.
+// LICENSE: http://www.codeproject.com/info/cpol10.aspx
+//////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_HARDDISKMANAGER_H__27F8E542_FA4A_43FF_B29D_59BCD13E31C3__INCLUDED_)
+#define AFX_HARDDISKMANAGER_H__27F8E542_FA4A_43FF_B29D_59BCD13E31C3__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include
+
+class CHardDiskManager
+{
+public:
+ CHardDiskManager();
+ virtual ~CHardDiskManager();
+
+ bool CheckFreeSpace(LPCTSTR lpDirectoryName);
+
+ DWORD64 GetFreeBytesAvailable(void);
+ DWORD64 GetTotalNumberOfBytes(void);
+ DWORD64 GetTotalNumberOfFreeBytes(void);
+
+ double GetFreeGBytesAvailable(void);
+ double GetTotalNumberOfGBytes(void);
+ double GetTotalNumberOfFreeGBytes(void);
+
+private:
+ ULARGE_INTEGER m_uliFreeBytesAvailable; // bytes disponiveis no disco associado a thread de chamada
+ ULARGE_INTEGER m_uliTotalNumberOfBytes; // bytes no disco
+ ULARGE_INTEGER m_uliTotalNumberOfFreeBytes; // bytes livres no disco
+};
+
+#endif // !defined(AFX_HARDDISKMANAGER_H__27F8E542_FA4A_43FF_B29D_59BCD13E31C3__INCLUDED_)
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI/HardDiskManager.h.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI/HardDiskManager.h.meta
new file mode 100644
index 00000000..ccbb7565
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/Windows/DiskUtilsWinAPI/DiskUtilsWinAPI/HardDiskManager.h.meta
@@ -0,0 +1,80 @@
+fileFormatVersion: 2
+guid: c4bc784ce5a5e4a05bb5bae6bbd9119b
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 1
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ : Any
+ second:
+ enabled: 0
+ settings:
+ Exclude Android: 1
+ Exclude Editor: 0
+ Exclude Linux64: 0
+ Exclude OSXUniversal: 0
+ Exclude Win: 0
+ Exclude Win64: 0
+ Exclude iOS: 1
+ - first:
+ Android: Android
+ second:
+ enabled: 0
+ settings:
+ CPU: ARMv7
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ DefaultValueInitialized: true
+ OS: Windows
+ - first:
+ Standalone: Linux64
+ second:
+ enabled: 1
+ settings:
+ CPU: None
+ - first:
+ Standalone: OSXUniversal
+ second:
+ enabled: 1
+ settings:
+ CPU: None
+ - first:
+ Standalone: Win
+ second:
+ enabled: 1
+ settings:
+ CPU: x86
+ - first:
+ Standalone: Win64
+ second:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ - first:
+ iPhone: iOS
+ second:
+ enabled: 0
+ settings:
+ AddToEmbeddedBinaries: false
+ CPU: AnyCPU
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/iOS.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/iOS.meta
new file mode 100644
index 00000000..9eeff57f
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/iOS.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 280958f78e3cc4c5ab25763150680c32
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/iOS/DiskUtils.mm b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/iOS/DiskUtils.mm
new file mode 100644
index 00000000..b3523246
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/iOS/DiskUtils.mm
@@ -0,0 +1,68 @@
+extern "C"
+{
+ uint64_t getAvailableDiskSpace () {
+ uint64_t totalFreeSpace = 0;
+ if (@available(iOS 11.0, *)) {
+ NSURL *fileURL = [[NSURL alloc] initFileURLWithPath:NSHomeDirectory()];
+ NSError *error = nil;
+ NSDictionary *results = [fileURL resourceValuesForKeys:@[NSURLVolumeAvailableCapacityForImportantUsageKey] error:&error];
+ if (!results) {
+ NSLog(@"Error Obtaining System Memory Info: Domain = %@, Code = %ld", [error domain], (long)[error code]);
+ } else {
+ NSLog(@"Available capacity for important usage: %@", results[NSURLVolumeAvailableCapacityForImportantUsageKey]);
+ totalFreeSpace = ((NSString *)results[NSURLVolumeAvailableCapacityForImportantUsageKey]).longLongValue;
+ }
+ } else {
+ NSError *error = nil;
+ NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
+ NSDictionary *dictionary = [[NSFileManager defaultManager] attributesOfFileSystemForPath:[paths lastObject] error: &error];
+
+ if (dictionary) {
+ NSNumber *fileSystemSizeInBytes = [dictionary objectForKey: NSFileSystemSize];
+ NSNumber *freeFileSystemSizeInBytes = [dictionary objectForKey:NSFileSystemFreeSize];
+ totalFreeSpace = [freeFileSystemSizeInBytes unsignedLongLongValue];
+ } else {
+ NSLog(@"Error Obtaining System Memory Info: Domain = %@, Code = %ld", [error domain], (long)[error code]);
+ }
+
+ }
+ return (uint64_t)(totalFreeSpace/1024ll)/1024ll;
+ }
+
+ uint64_t getTotalDiskSpace (){
+ uint64_t totalSpace = 0;
+ NSError *error = nil;
+ NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
+ NSDictionary *dictionary = [[NSFileManager defaultManager] attributesOfFileSystemForPath:[paths lastObject] error: &error];
+
+ if (dictionary) {
+ NSNumber *fileSystemSizeInBytes = [dictionary objectForKey: NSFileSystemSize];
+ NSNumber *freeFileSystemSizeInBytes = [dictionary objectForKey:NSFileSystemFreeSize];
+ totalSpace = [fileSystemSizeInBytes unsignedLongLongValue];
+ } else {
+ NSLog(@"Error Obtaining System Memory Info: Domain = %@, Code = %ld", [error domain], (long)[error code]);
+ }
+
+ return (uint64_t)(totalSpace/1024ll)/1024ll;
+ }
+
+ uint64_t getBusyDiskSpace (){
+ uint64_t totalSpace = 0;
+ uint64_t totalFreeSpace = 0;
+ NSError *error = nil;
+ NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
+ NSDictionary *dictionary = [[NSFileManager defaultManager] attributesOfFileSystemForPath:[paths lastObject] error: &error];
+
+ if (dictionary) {
+ NSNumber *fileSystemSizeInBytes = [dictionary objectForKey: NSFileSystemSize];
+ NSNumber *freeFileSystemSizeInBytes = [dictionary objectForKey:NSFileSystemFreeSize];
+ totalSpace = [fileSystemSizeInBytes unsignedLongLongValue];
+ totalFreeSpace = [freeFileSystemSizeInBytes unsignedLongLongValue];
+ } else {
+ NSLog(@"Error Obtaining System Memory Info: Domain = %@, Code = %ld", [error domain], (long)[error code]);
+ }
+
+ return (uint64_t)((totalSpace-totalFreeSpace)/1024ll)/1024ll;
+ }
+}
+
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/iOS/DiskUtils.mm.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/iOS/DiskUtils.mm.meta
new file mode 100644
index 00000000..d3868341
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Native~/iOS/DiskUtils.mm.meta
@@ -0,0 +1,37 @@
+fileFormatVersion: 2
+guid: 7b9ecc359edf848a09d4a15808fb071c
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 1
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ - first:
+ iPhone: iOS
+ second:
+ enabled: 1
+ settings: {}
+ - first:
+ tvOS: tvOS
+ second:
+ enabled: 1
+ settings: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/README.md b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/README.md
new file mode 100644
index 00000000..1097a9dc
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/README.md
@@ -0,0 +1,62 @@
+This library is maintained by Active Theory Inc.
+
+This is a fork of the `simple-disk-utils` asset by M Dikra Prasetya, Available on Unity Asset Store: http://u3d.as/qF1.
+
+# simple-disk-utils
+Disk/storage capacity check helper methods for Windows, OSX, iOS, and Android platform.
+
+Simply checks available, busy, and total storage space of your platform. File managing functions like save and delete to text or binary file with special cases handling are also provided.
+
+The implementation for each platforms are also can be found in this repository.
+
+If you have any idea on improvement or anything, please feel free to contribute!
+
+## Implemented Methods
+```
+
+///////////////////////////////////////////////////////////////////////
+/// For all platforms. These methods return space size in Mega Bytes.
+
+int CheckAvailableSpace();
+int CheckBusySpace();
+int CheckTotalSpace();
+
+///////////////////////////////////////////////////////////////////////
+/// Additional space check methods for Android
+/// The default storage for Android, the one that is usually used when saving file, etc., is External.
+
+int CheckAvailableSpace(bool isExternalStorage = true);
+int CheckBusySpace(bool isExternalStorage = true);
+int CheckTotalSpace(bool isExternalStorage = true);
+
+///////////////////////////////////////////////////////////////////////
+/// Additional methods for Windows
+
+int CheckAvailableSpace(string drive = “C:/“);
+int CheckBusySpace(string drive = “C:/“);
+int CheckTotalSpace(string drive = “C:/“);
+string[] GetDriveNames();
+
+///////////////////////////////////////////////////////////////////////
+/// File helper. Handled directory availability check, iOS special case on deleting files, etc.
+
+void DeleteFile (string filePath);
+void SaveFile (object obj, string filePath);
+void SaveFile (object obj, string dirPath, string fileName);
+void SaveTextFile (string str, string filePath);
+void SaveTextFile (string str, string dirPath, string fileName);
+string LoadTextFile (string filePath);
+byte[] ObjectToByteArray (object obj);
+T ByteArrayToObject (byte[] bytes);
+```
+
+If the definitions are not clear enough, please see the included sample scene in the project.
+
+## Notes
+1. Tested on Windows, OSX, iOS, and Android platform.
+2. Implemented file handling methods are not including methods that are already covered in standard library (most likely on System.IO).
+
+
+## License
+
+MIT.
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/README.md.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/README.md.meta
new file mode 100644
index 00000000..55de1fd8
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/README.md.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 9f8e97e2c5eff4d60946506f4732dd8a
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime.meta
new file mode 100644
index 00000000..49ccba62
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0573a113f43804a82883a8a2a8c0cbd5
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/Android.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/Android.meta
new file mode 100644
index 00000000..7f210647
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/Android.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 38ed00fb7ab6b41df8addcd46dde08aa
+folderAsset: yes
+timeCreated: 1458809122
+licenseType: Free
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/Android/DiskUtils.java b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/Android/DiskUtils.java
new file mode 100644
index 00000000..15938758
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/Android/DiskUtils.java
@@ -0,0 +1,136 @@
+package com.activetheoryinc.diskutils;
+
+/**
+ * Created by dikra-prasetya on 4/1/16.
+ */
+
+
+import android.os.Build;
+import android.os.Environment;
+import android.os.StatFs;
+import java.math.BigInteger;
+
+
+public class DiskUtils {
+ private static final long MEGA_BYTE = 1048576;
+
+ /**
+ * Calculates total space on disk.
+ * @param external Queries external disk if true, queries internal disk otherwise.
+ * @return Total disk space in MB.
+ */
+ public static int totalSpace(boolean external)
+ {
+ long totalBlocks;
+ long blockSize;
+
+ StatFs statFs = getStats(external);
+ if (Build.VERSION.SDK_INT < 18){
+ totalBlocks = statFs.getBlockCount();
+ blockSize = statFs.getBlockSize();
+ }
+ else
+ {
+ totalBlocks = statFs.getBlockCountLong();
+ blockSize = statFs.getBlockSizeLong();
+ }
+
+ BigInteger total = BigInteger.valueOf(totalBlocks).multiply(BigInteger.valueOf(blockSize)).divide(BigInteger.valueOf(MEGA_BYTE));
+
+ return total.intValue();
+ }
+
+ /**
+ * Calculates available space on disk.
+ * @param path Gets the disk that contains the path, queries the internal disk if this is null or empty
+ * @return Available disk space in MB.
+ */
+ public static int availableSpace(String path)
+ {
+ if (path == null || path.isEmpty()) {
+ path = Environment.getRootDirectory().getAbsolutePath();
+ }
+
+ long totalBlocks;
+ long blockSize;
+
+ StatFs statFs = new StatFs(path);
+ if (Build.VERSION.SDK_INT < 18) {
+ totalBlocks = statFs.getAvailableBlocks();
+ blockSize = statFs.getBlockSize();
+ } else {
+ totalBlocks = statFs.getAvailableBlocksLong();
+ blockSize = statFs.getBlockSizeLong();
+ }
+ BigInteger total = BigInteger.valueOf(totalBlocks).multiply(BigInteger.valueOf(blockSize)).divide(BigInteger.valueOf(MEGA_BYTE));
+
+ return total.intValue();
+ }
+ /**
+ * Calculates available space on disk.
+ * @param external Queries external disk if true, queries internal disk otherwise.
+ * @return Available disk space in MB.
+ */
+ public static int availableSpace(boolean external)
+ {
+ long availableBlocks;
+ long blockSize;
+
+ StatFs statFs = getStats(external);
+ if (Build.VERSION.SDK_INT < 18){
+ availableBlocks = statFs.getAvailableBlocks();
+ blockSize = statFs.getBlockSize();
+ }
+ else
+ {
+ availableBlocks = statFs.getAvailableBlocksLong();
+ blockSize = statFs.getBlockSizeLong();
+ }
+
+ BigInteger free = BigInteger.valueOf(availableBlocks).multiply(BigInteger.valueOf(blockSize)).divide(BigInteger.valueOf(MEGA_BYTE));
+
+ return free.intValue();
+ }
+
+ /**
+ * Calculates busy space on disk.
+ * @param external Queries external disk if true, queries internal disk otherwise.
+ * @return Busy disk space in MB.
+ */
+ public static int busySpace(boolean external)
+ {
+ BigInteger total;
+ BigInteger free;
+
+ StatFs statFs = getStats(external);
+
+ if (Build.VERSION.SDK_INT < 18){
+ total = BigInteger.valueOf(statFs.getBlockCount()).multiply(BigInteger.valueOf(statFs.getBlockSize()));
+ free = BigInteger.valueOf(statFs.getFreeBlocks()).multiply(BigInteger.valueOf(statFs.getBlockSize()));
+ }
+ else
+ {
+ total = BigInteger.valueOf(statFs.getBlockCountLong()).multiply(BigInteger.valueOf(statFs.getBlockSizeLong()));
+ free = BigInteger.valueOf(statFs.getFreeBlocksLong()).multiply(BigInteger.valueOf(statFs.getBlockSizeLong()));
+ }
+
+ BigInteger ret = total.subtract(free).divide(BigInteger.valueOf(MEGA_BYTE));
+
+ return ret.intValue();
+ }
+
+ private static StatFs getStats(boolean external){
+ String path;
+
+ if (external){
+ path = Environment.getExternalStorageDirectory().getAbsolutePath();
+ }
+ else{
+ path = Environment.getRootDirectory().getAbsolutePath();
+ }
+
+ return new StatFs(path);
+ }
+
+}
+
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/Android/DiskUtils.java.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/Android/DiskUtils.java.meta
new file mode 100644
index 00000000..77459f9b
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/Android/DiskUtils.java.meta
@@ -0,0 +1,32 @@
+fileFormatVersion: 2
+guid: 57473bb44761c4eab8b10d7262546a50
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 1
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Android: Android
+ second:
+ enabled: 1
+ settings: {}
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/DiskUtils.asmdef b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/DiskUtils.asmdef
new file mode 100644
index 00000000..6ba904cf
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/DiskUtils.asmdef
@@ -0,0 +1,3 @@
+{
+ "name": "DiskUtils"
+}
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/DiskUtils.asmdef.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/DiskUtils.asmdef.meta
new file mode 100644
index 00000000..fe8b2a56
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/DiskUtils.asmdef.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: bcd02d5781d1e4f13a52b4c351be62d5
+AssemblyDefinitionImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/DiskUtils.cs b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/DiskUtils.cs
new file mode 100644
index 00000000..71807d69
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/DiskUtils.cs
@@ -0,0 +1,437 @@
+/*
+
+Class: DiskUtils.cs
+==============================================
+Last update: 2022-08-24 (by keerthiko)
+==============================================
+
+Copyright (c) 2016 M Dikra Prasetya
+
+ * MIT LICENSE
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+*/
+
+using System;
+using System.Runtime.InteropServices;
+using System.IO;
+using System.Runtime.Serialization.Formatters.Binary;
+using System.Text;
+using UnityEngine;
+
+namespace SimpleDiskUtils
+{
+
+ public class DiskUtils
+ {
+ #region DISK_TOOLS
+
+#if UNITY_STANDALONE || UNITY_EDITOR
+
+#if UNITY_STANDALONE_OSX || UNITY_EDITOR_OSX
+ [DllImport ("diskutils")]
+ private static extern int getAvailableDiskSpace ();
+
+ [DllImport ("diskutils")]
+ private static extern int getTotalDiskSpace ();
+
+ [DllImport ("diskutils")]
+ private static extern int getBusyDiskSpace ();
+
+ ///
+ /// Checks the available space.
+ ///
+ /// The available space in MB.
+ public static int CheckAvailableSpace ()
+ {
+ return DiskUtils.getAvailableDiskSpace ();
+ }
+
+ ///
+ /// Checks the total space.
+ ///
+ /// The total space in MB.
+ public static int CheckTotalSpace ()
+ {
+ return DiskUtils.getTotalDiskSpace ();
+ }
+
+ ///
+ /// Checks the busy space.
+ ///
+ /// The busy space in MB.
+ public static int CheckBusySpace ()
+ {
+ return DiskUtils.getBusyDiskSpace ();
+ }
+
+
+#elif UNITY_STANDALONE_WIN || UNITY_EDITOR_WIN
+ [DllImport("DiskUtilsWinAPI")]
+ private static extern int getAvailableDiskSpace(StringBuilder drive);
+
+ [DllImport("DiskUtilsWinAPI")]
+ private static extern int getTotalDiskSpace(StringBuilder drive);
+
+ [DllImport("DiskUtilsWinAPI")]
+ private static extern int getBusyDiskSpace(StringBuilder drive);
+
+ private const string DEFAULT_DRIVE = "C:/";
+
+ ///
+ /// Checks the available space.
+ ///
+ /// The available spaces in MB.
+ /// Disk name. For example, "C:/"
+ public static int CheckAvailableSpace(string drive = DEFAULT_DRIVE)
+ {
+ return DiskUtils.getAvailableDiskSpace(new StringBuilder(drive));
+ }
+
+ ///
+ /// Checks the total space.
+ ///
+ /// The total space in MB.
+ /// Disk name. For example, "C:/"
+ public static int CheckTotalSpace(string drive = DEFAULT_DRIVE)
+ {
+ return DiskUtils.getTotalDiskSpace(new StringBuilder(drive));
+ }
+
+ ///
+ /// Checks the busy space.
+ ///
+ /// The busy space in MB.
+ /// Disk name. For example, "C:/"
+ public static int CheckBusySpace(string drive = DEFAULT_DRIVE)
+ {
+ return DiskUtils.getBusyDiskSpace(new StringBuilder(drive));
+ }
+
+ public static string[] GetDriveNames()
+ {
+ return Directory.GetLogicalDrives();
+ }
+
+#else
+
+ private const long MEGA_BYTE = 1048576;
+ private const string DEFAULT_DRIVE = "/";
+
+ ///
+ /// Checks the available space.
+ ///
+ /// The available space in MB.
+ public static int CheckAvailableSpace(){
+ DriveInfo drive = GetDrive (DEFAULT_DRIVE);
+ if (drive == null)
+ return -1;
+ return int.Parse((drive.AvailableFreeSpace / MEGA_BYTE).ToString());
+ }
+
+ ///
+ /// Checks the total space.
+ ///
+ /// The total space in MB.
+ public static int CheckTotalSpace(){
+ DriveInfo drive = GetDrive (DEFAULT_DRIVE);
+ if (drive == null)
+ return -1;
+ return int.Parse ((drive.TotalSize / MEGA_BYTE).ToString());
+ }
+
+ ///
+ /// Checks the busy space.
+ ///
+ /// The busy space in MB.
+ public static int CheckBusySpace(){
+ DriveInfo drive = GetDrive (DEFAULT_DRIVE);
+ if (drive == null)
+ return -1;
+
+ return int.Parse (((drive.TotalSize - drive.AvailableFreeSpace) / MEGA_BYTE).ToString());
+ }
+
+#endif
+
+#elif UNITY_ANDROID
+ private const string package_domain = "com.activetheoryinc.diskutils";
+ // private const string package_domain = "com.dikra.diskutils";
+ ///
+ /// Checks the available space.
+ ///
+ /// The available space in MB.
+ /// Finds the space remaining in the disk which this path leads to. Default is internal storage
+ public static int CheckAvailableSpace(string path){
+ AndroidJavaClass dataUtils = new AndroidJavaClass ($"{package_domain}.DiskUtils");
+ return dataUtils.CallStatic("availableSpace", path);
+ }
+
+
+ ///
+ /// Checks the available space.
+ ///
+ /// The available space in MB.
+ /// If set to true is external storage.
+ public static int CheckAvailableSpace(bool isExternalStorage = true){
+ AndroidJavaClass dataUtils = new AndroidJavaClass ($"{package_domain}.DiskUtils");
+ return dataUtils.CallStatic("availableSpace", isExternalStorage);
+ }
+
+ ///
+ /// Checks the total space.
+ ///
+ /// The total space in MB.
+ /// If set to true is external storage.
+ public static int CheckTotalSpace(bool isExternalStorage = true){
+ AndroidJavaClass dataUtils = new AndroidJavaClass ($"{package_domain}.DiskUtils");
+ return dataUtils.CallStatic("totalSpace", isExternalStorage);
+ }
+
+ ///
+ /// Checks the busy space.
+ ///
+ /// The busy space in MB.
+ /// If set to true is external storage.
+ public static int CheckBusySpace(bool isExternalStorage = true){
+ AndroidJavaClass dataUtils = new AndroidJavaClass ($"{package_domain}.DiskUtils");
+ return dataUtils.CallStatic("busySpace", isExternalStorage);
+ }
+
+
+#elif UNITY_IOS
+
+ [DllImport ("__Internal")]
+ private static extern ulong getAvailableDiskSpace();
+ [DllImport ("__Internal")]
+ private static extern ulong getTotalDiskSpace();
+ [DllImport ("__Internal")]
+ private static extern ulong getBusyDiskSpace();
+
+ ///
+ /// Checks the available space.
+ ///
+ /// The available space in MB.
+ public static int CheckAvailableSpace(){
+ ulong ret = DiskUtils.getAvailableDiskSpace();
+ return int.Parse(ret.ToString());
+ }
+
+ ///
+ /// Checks the total space.
+ ///
+ /// The total space in MB.
+ public static int CheckTotalSpace(){
+ ulong ret = DiskUtils.getTotalDiskSpace();
+ return int.Parse(ret.ToString());
+ }
+
+ ///
+ /// Checks the busy space.
+ ///
+ /// The busy space in MB.
+ public static int CheckBusySpace(){
+ ulong ret = DiskUtils.getBusyDiskSpace();
+ return int.Parse(ret.ToString());
+ }
+#endif
+
+ #endregion
+
+ #region FILE_TOOLS
+
+ ///
+ /// Deletes the file.
+ ///
+ /// File path.
+ public static void DeleteFile (string filePath)
+ {
+ #if UNITY_IOS
+ if (!filePath.StartsWith("/private"))
+ filePath = "/private" + filePath;
+ #endif
+
+ if (File.Exists (filePath))
+ File.Delete (filePath);
+ }
+
+ ///
+ /// Saves object to file.
+ ///
+ /// Object.
+ /// File path.
+ public static void SaveFile (object obj, string filePath)
+ {
+ if (!obj.GetType ().IsSerializable) {
+ throw new ArgumentException ("Passed data is invalid: not serializable.", "obj");
+ }
+
+ int i = filePath.Length;
+ while (i > 0 && filePath [i - 1] != '/')
+ --i;
+
+ if (i <= 0)
+ SaveFile (obj, "", filePath);
+ else
+ SaveFile (obj, filePath.Substring (0, i), filePath.Substring (i));
+ }
+
+ ///
+ /// Saves object to file.
+ ///
+ /// Serializable Object.
+ /// Directory path.
+ /// File name.
+ public static void SaveFile (object obj, string dirPath, string fileName)
+ {
+ if (!obj.GetType ().IsSerializable) {
+ throw new ArgumentException ("Passed data is invalid: not serializable.", "obj");
+ }
+
+ string filePath;
+
+ if (dirPath == "") {
+ filePath = fileName;
+ } else {
+ if (dirPath.EndsWith ("/"))
+ filePath = dirPath + fileName;
+ else
+ filePath = dirPath + "/" + fileName;
+
+ if (!Directory.Exists (dirPath))
+ Directory.CreateDirectory (dirPath);
+ }
+
+ File.WriteAllBytes (filePath, ObjectToByteArray (obj));
+ }
+
+ ///
+ /// Loads the file.
+ ///
+ /// The file.
+ /// File path.
+ /// Return type of the loaded object.
+ public static T LoadFile (string filePath)
+ {
+ if (File.Exists (filePath)) {
+ return ByteArrayToObject (File.ReadAllBytes (filePath));
+ } else {
+ return default(T);
+ }
+ }
+
+ ///
+ /// Saves a string to text file.
+ ///
+ /// String.
+ /// File path.
+ public static void SaveTextFile (string str, string filePath)
+ {
+ int i = filePath.Length;
+ while (i > 0 && filePath [i - 1] != '/')
+ --i;
+
+ if (i <= 0)
+ SaveTextFile (str, "", filePath);
+ else
+ SaveTextFile (str, filePath.Substring (0, i), filePath.Substring (i));
+ }
+
+ ///
+ /// Saves a string to text file.
+ ///
+ /// String.
+ /// Directory path.
+ /// File name.
+ public static void SaveTextFile (string str, string dirPath, string fileName)
+ {
+ string filePath;
+
+ if (dirPath == "") {
+ filePath = fileName;
+ } else {
+ if (dirPath.EndsWith ("/"))
+ filePath = dirPath + fileName;
+ else
+ filePath = dirPath + "/" + fileName;
+
+ if (!Directory.Exists (dirPath))
+ Directory.CreateDirectory (dirPath);
+ }
+
+
+ StreamWriter sw = new StreamWriter (filePath);
+ sw.WriteLine (str);
+ sw.Close ();
+ }
+
+ ///
+ /// Loads the file.
+ ///
+ /// The file.
+ /// File path.
+ /// Return type of the loaded object.
+ public static string LoadTextFile (string filePath)
+ {
+ if (File.Exists (filePath)) {
+ StreamReader sr = new StreamReader (filePath);
+ string str = sr.ReadToEnd ();
+ sr.Close ();
+ return str;
+ } else {
+ return null;
+ }
+ }
+
+
+ public static byte[] ObjectToByteArray (object obj)
+ {
+ if (obj == null)
+ return null;
+
+ if (obj is byte[])
+ return (byte[])obj;
+
+ BinaryFormatter bf = new BinaryFormatter ();
+ using (MemoryStream ms = new MemoryStream ()) {
+ bf.Serialize (ms, obj);
+ byte[] bytes = ms.ToArray ();
+ ms.Close ();
+ return bytes;
+ }
+ }
+
+ public static T ByteArrayToObject (byte[] bytes)
+ {
+ using (MemoryStream memStream = new MemoryStream ()) {
+ BinaryFormatter bf = new BinaryFormatter ();
+ memStream.Write (bytes, 0, bytes.Length);
+ memStream.Seek (0, SeekOrigin.Begin);
+ T obj = (T)bf.Deserialize (memStream);
+ memStream.Close ();
+ return obj;
+ }
+ }
+
+ #endregion
+ }
+
+}
\ No newline at end of file
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/DiskUtils.cs.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/DiskUtils.cs.meta
new file mode 100644
index 00000000..b9b83eef
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/DiskUtils.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 2d00e766200314a0797180e9ac528644
+timeCreated: 1459149326
+licenseType: Free
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/diskutils.bundle.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/diskutils.bundle.meta
new file mode 100644
index 00000000..1fbaa0e3
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/diskutils.bundle.meta
@@ -0,0 +1,64 @@
+fileFormatVersion: 2
+guid: 2938277d748c74389a227118f03785ae
+folderAsset: yes
+timeCreated: 1459136743
+licenseType: Free
+PluginImporter:
+ serializedVersion: 1
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ platformData:
+ Android:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ Any:
+ enabled: 0
+ settings: {}
+ Editor:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ DefaultValueInitialized: true
+ OS: OSX
+ Linux:
+ enabled: 1
+ settings:
+ CPU: x86
+ Linux64:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ LinuxUniversal:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ OSXIntel:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ OSXIntel64:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ OSXUniversal:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ Win:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ Win64:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ iOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/diskutils.bundle/Contents.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/diskutils.bundle/Contents.meta
new file mode 100644
index 00000000..5a3dfd77
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/diskutils.bundle/Contents.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: d4e19f99e5c05421da13163e0489947b
+folderAsset: yes
+timeCreated: 1459136743
+licenseType: Free
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/diskutils.bundle/Contents/Info.plist b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/diskutils.bundle/Contents/Info.plist
new file mode 100644
index 00000000..0f5192ae
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/diskutils.bundle/Contents/Info.plist
@@ -0,0 +1,50 @@
+
+
+
+
+ BuildMachineOSBuild
+ 22E261
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ diskutils
+ CFBundleIdentifier
+ com.dikra.diskutils
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ diskutils
+ CFBundlePackageType
+ BNDL
+ CFBundleShortVersionString
+ 1.0
+ CFBundleSignature
+ ????
+ CFBundleSupportedPlatforms
+
+ MacOSX
+
+ CFBundleVersion
+ 1
+ DTCompiler
+ com.apple.compilers.llvm.clang.1_0
+ DTPlatformBuild
+
+ DTPlatformName
+ macosx
+ DTPlatformVersion
+ 13.3
+ DTSDKBuild
+ 22E245
+ DTSDKName
+ macosx13.3
+ DTXcode
+ 1430
+ DTXcodeBuild
+ 14E222b
+ LSMinimumSystemVersion
+ 10.11
+ NSHumanReadableCopyright
+ Copyright © 2016 dikra-prasetya. All rights reserved.
+
+
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/diskutils.bundle/Contents/Info.plist.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/diskutils.bundle/Contents/Info.plist.meta
new file mode 100644
index 00000000..a72d6886
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/diskutils.bundle/Contents/Info.plist.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 8d33101928e944c488fd2d265a59831b
+timeCreated: 1465546294
+licenseType: Pro
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/diskutils.bundle/Contents/MacOS.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/diskutils.bundle/Contents/MacOS.meta
new file mode 100644
index 00000000..e2f8aea0
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/diskutils.bundle/Contents/MacOS.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: e2674c8f80a5d4c4ab8347f734e24772
+folderAsset: yes
+timeCreated: 1459136743
+licenseType: Free
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/diskutils.bundle/Contents/MacOS/diskutils b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/diskutils.bundle/Contents/MacOS/diskutils
new file mode 100644
index 00000000..4eea62c0
Binary files /dev/null and b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/diskutils.bundle/Contents/MacOS/diskutils differ
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/diskutils.bundle/Contents/MacOS/diskutils.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/diskutils.bundle/Contents/MacOS/diskutils.meta
new file mode 100644
index 00000000..d48ebc68
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/diskutils.bundle/Contents/MacOS/diskutils.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7cf3ca26bda78415896c2ad3f3e27679
+timeCreated: 1465549853
+licenseType: Pro
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/diskutils.bundle/Contents/_CodeSignature.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/diskutils.bundle/Contents/_CodeSignature.meta
new file mode 100644
index 00000000..2df5515a
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/diskutils.bundle/Contents/_CodeSignature.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 87abbe268d5774b72a76fc6b7da1d08f
+folderAsset: yes
+timeCreated: 1459136743
+licenseType: Free
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/diskutils.bundle/Contents/_CodeSignature/CodeResources b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/diskutils.bundle/Contents/_CodeSignature/CodeResources
new file mode 100644
index 00000000..d5d0fd74
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/diskutils.bundle/Contents/_CodeSignature/CodeResources
@@ -0,0 +1,115 @@
+
+
+
+
+ files
+
+ files2
+
+ rules
+
+ ^Resources/
+
+ ^Resources/.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^Resources/.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Resources/Base\.lproj/
+
+ weight
+ 1010
+
+ ^version.plist$
+
+
+ rules2
+
+ .*\.dSYM($|/)
+
+ weight
+ 11
+
+ ^(.*/)?\.DS_Store$
+
+ omit
+
+ weight
+ 2000
+
+ ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/
+
+ nested
+
+ weight
+ 10
+
+ ^.*
+
+ ^Info\.plist$
+
+ omit
+
+ weight
+ 20
+
+ ^PkgInfo$
+
+ omit
+
+ weight
+ 20
+
+ ^Resources/
+
+ weight
+ 20
+
+ ^Resources/.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^Resources/.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Resources/Base\.lproj/
+
+ weight
+ 1010
+
+ ^[^/]+$
+
+ nested
+
+ weight
+ 10
+
+ ^embedded\.provisionprofile$
+
+ weight
+ 20
+
+ ^version\.plist$
+
+ weight
+ 20
+
+
+
+
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/diskutils.bundle/Contents/_CodeSignature/CodeResources.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/diskutils.bundle/Contents/_CodeSignature/CodeResources.meta
new file mode 100644
index 00000000..50e499ff
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/diskutils.bundle/Contents/_CodeSignature/CodeResources.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f842470912d1c4049901cffbe1f618aa
+timeCreated: 1465549853
+licenseType: Pro
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/iOS.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/iOS.meta
new file mode 100644
index 00000000..62397484
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/iOS.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 1e07b0520068548d5bfe50789624df74
+folderAsset: yes
+timeCreated: 1458815165
+licenseType: Free
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/iOS/DiskUtils.mm b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/iOS/DiskUtils.mm
new file mode 100644
index 00000000..e28f690e
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/iOS/DiskUtils.mm
@@ -0,0 +1,56 @@
+extern "C"
+{
+ uint64_t getAvailableDiskSpace (){
+ uint64_t totalFreeSpace = 0;
+ NSError *error = nil;
+ NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
+ NSDictionary *dictionary = [[NSFileManager defaultManager] attributesOfFileSystemForPath:[paths lastObject] error: &error];
+
+ if (dictionary) {
+ NSNumber *fileSystemSizeInBytes = [dictionary objectForKey: NSFileSystemSize];
+ NSNumber *freeFileSystemSizeInBytes = [dictionary objectForKey:NSFileSystemFreeSize];
+ totalFreeSpace = [freeFileSystemSizeInBytes unsignedLongLongValue];
+ } else {
+ NSLog(@"Error Obtaining System Memory Info: Domain = %@, Code = %ld", [error domain], (long)[error code]);
+ }
+
+ return (uint64_t)(totalFreeSpace/1024ll)/1024ll;
+ }
+
+ uint64_t getTotalDiskSpace (){
+ uint64_t totalSpace = 0;
+ NSError *error = nil;
+ NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
+ NSDictionary *dictionary = [[NSFileManager defaultManager] attributesOfFileSystemForPath:[paths lastObject] error: &error];
+
+ if (dictionary) {
+ NSNumber *fileSystemSizeInBytes = [dictionary objectForKey: NSFileSystemSize];
+ NSNumber *freeFileSystemSizeInBytes = [dictionary objectForKey:NSFileSystemFreeSize];
+ totalSpace = [fileSystemSizeInBytes unsignedLongLongValue];
+ } else {
+ NSLog(@"Error Obtaining System Memory Info: Domain = %@, Code = %ld", [error domain], (long)[error code]);
+ }
+
+ return (uint64_t)(totalSpace/1024ll)/1024ll;
+ }
+
+ uint64_t getBusyDiskSpace (){
+ uint64_t totalSpace = 0;
+ uint64_t totalFreeSpace = 0;
+ NSError *error = nil;
+ NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
+ NSDictionary *dictionary = [[NSFileManager defaultManager] attributesOfFileSystemForPath:[paths lastObject] error: &error];
+
+ if (dictionary) {
+ NSNumber *fileSystemSizeInBytes = [dictionary objectForKey: NSFileSystemSize];
+ NSNumber *freeFileSystemSizeInBytes = [dictionary objectForKey:NSFileSystemFreeSize];
+ totalSpace = [fileSystemSizeInBytes unsignedLongLongValue];
+ totalFreeSpace = [freeFileSystemSizeInBytes unsignedLongLongValue];
+ } else {
+ NSLog(@"Error Obtaining System Memory Info: Domain = %@, Code = %ld", [error domain], (long)[error code]);
+ }
+
+ return (uint64_t)((totalSpace-totalFreeSpace)/1024ll)/1024ll;
+ }
+}
+
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/iOS/DiskUtils.mm.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/iOS/DiskUtils.mm.meta
new file mode 100644
index 00000000..ba1955b8
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/iOS/DiskUtils.mm.meta
@@ -0,0 +1,32 @@
+fileFormatVersion: 2
+guid: f172f888ca5ba41a6addc3c333d78747
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ - first:
+ iPhone: iOS
+ second:
+ enabled: 1
+ settings: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/tvOS.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/tvOS.meta
new file mode 100644
index 00000000..fb1eb0b6
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/tvOS.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1964cf866c7ad4520926de7e66e1803b
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/tvOS/DiskUtils.mm b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/tvOS/DiskUtils.mm
new file mode 100644
index 00000000..86cac59a
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/tvOS/DiskUtils.mm
@@ -0,0 +1,56 @@
+extern "C"
+{
+ uint64_t getAvailableDiskSpace () {
+ uint64_t totalFreeSpace;
+ NSError *error = nil;
+ NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
+ NSDictionary *dictionary = [[NSFileManager defaultManager] attributesOfFileSystemForPath:[paths lastObject] error: &error];
+
+ if (dictionary) {
+ NSNumber *fileSystemSizeInBytes = [dictionary objectForKey: NSFileSystemSize];
+ NSNumber *freeFileSystemSizeInBytes = [dictionary objectForKey:NSFileSystemFreeSize];
+ totalFreeSpace = [freeFileSystemSizeInBytes unsignedLongLongValue];
+ } else {
+ NSLog(@"Error Obtaining System Memory Info: Domain = %@, Code = %ld", [error domain], (long)[error code]);
+ }
+
+ return (uint64_t)(totalFreeSpace/1024ll)/1024ll;
+ }
+
+ uint64_t getTotalDiskSpace (){
+ uint64_t totalSpace = 0;
+ NSError *error = nil;
+ NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
+ NSDictionary *dictionary = [[NSFileManager defaultManager] attributesOfFileSystemForPath:[paths lastObject] error: &error];
+
+ if (dictionary) {
+ NSNumber *fileSystemSizeInBytes = [dictionary objectForKey: NSFileSystemSize];
+ NSNumber *freeFileSystemSizeInBytes = [dictionary objectForKey:NSFileSystemFreeSize];
+ totalSpace = [fileSystemSizeInBytes unsignedLongLongValue];
+ } else {
+ NSLog(@"Error Obtaining System Memory Info: Domain = %@, Code = %ld", [error domain], (long)[error code]);
+ }
+
+ return (uint64_t)(totalSpace/1024ll)/1024ll;
+ }
+
+ uint64_t getBusyDiskSpace (){
+ uint64_t totalSpace = 0;
+ uint64_t totalFreeSpace = 0;
+ NSError *error = nil;
+ NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
+ NSDictionary *dictionary = [[NSFileManager defaultManager] attributesOfFileSystemForPath:[paths lastObject] error: &error];
+
+ if (dictionary) {
+ NSNumber *fileSystemSizeInBytes = [dictionary objectForKey: NSFileSystemSize];
+ NSNumber *freeFileSystemSizeInBytes = [dictionary objectForKey:NSFileSystemFreeSize];
+ totalSpace = [fileSystemSizeInBytes unsignedLongLongValue];
+ totalFreeSpace = [freeFileSystemSizeInBytes unsignedLongLongValue];
+ } else {
+ NSLog(@"Error Obtaining System Memory Info: Domain = %@, Code = %ld", [error domain], (long)[error code]);
+ }
+
+ return (uint64_t)((totalSpace-totalFreeSpace)/1024ll)/1024ll;
+ }
+}
+
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/tvOS/DiskUtils.mm.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/tvOS/DiskUtils.mm.meta
new file mode 100644
index 00000000..03eb8478
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/tvOS/DiskUtils.mm.meta
@@ -0,0 +1,82 @@
+fileFormatVersion: 2
+guid: 428f081802e274819bc1fa3714156c31
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ : Any
+ second:
+ enabled: 0
+ settings:
+ Exclude Editor: 1
+ Exclude Linux64: 1
+ Exclude OSXUniversal: 1
+ Exclude Win: 1
+ Exclude Win64: 1
+ Exclude iOS: 1
+ Exclude tvOS: 0
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ DefaultValueInitialized: true
+ OS: AnyOS
+ - first:
+ Standalone: Linux64
+ second:
+ enabled: 0
+ settings:
+ CPU: x86_64
+ - first:
+ Standalone: OSXUniversal
+ second:
+ enabled: 0
+ settings:
+ CPU: x86_64
+ - first:
+ Standalone: Win
+ second:
+ enabled: 0
+ settings:
+ CPU: x86
+ - first:
+ Standalone: Win64
+ second:
+ enabled: 0
+ settings:
+ CPU: x86_64
+ - first:
+ iPhone: iOS
+ second:
+ enabled: 0
+ settings:
+ AddToEmbeddedBinaries: false
+ CPU: AnyCPU
+ CompileFlags:
+ FrameworkDependencies:
+ - first:
+ tvOS: tvOS
+ second:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/x86.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/x86.meta
new file mode 100644
index 00000000..ef93cf5a
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/x86.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: d5e6f3e3b0619534ca8b03217b3d44b3
+folderAsset: yes
+timeCreated: 1463014266
+licenseType: Free
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/x86/DiskUtilsWinAPI.dll b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/x86/DiskUtilsWinAPI.dll
new file mode 100644
index 00000000..438d723c
Binary files /dev/null and b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/x86/DiskUtilsWinAPI.dll differ
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/x86/DiskUtilsWinAPI.dll.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/x86/DiskUtilsWinAPI.dll.meta
new file mode 100644
index 00000000..f19c721a
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/x86/DiskUtilsWinAPI.dll.meta
@@ -0,0 +1,107 @@
+fileFormatVersion: 2
+guid: 077c7c499d55eb842b6544ceceb45723
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ : Linux
+ second:
+ enabled: 1
+ settings:
+ CPU: x86
+ - first:
+ : LinuxUniversal
+ second:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ - first:
+ : OSXIntel
+ second:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ - first:
+ : OSXIntel64
+ second:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ - first:
+ : WP8
+ second:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ DontProcess: False
+ PlaceholderPath:
+ - first:
+ Android: Android
+ second:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 1
+ settings:
+ CPU: x86
+ DefaultValueInitialized: true
+ OS: Windows
+ - first:
+ Standalone: Linux64
+ second:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ - first:
+ Standalone: OSXUniversal
+ second:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ - first:
+ Standalone: Win
+ second:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ - first:
+ Standalone: Win64
+ second:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ - first:
+ Windows Store Apps: WindowsStoreApps
+ second:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ DontProcess: False
+ PlaceholderPath:
+ SDK: AnySDK
+ - first:
+ iPhone: iOS
+ second:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/x86_64.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/x86_64.meta
new file mode 100644
index 00000000..1242f820
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/x86_64.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: c6f1236dc5adbd2439a97cd95c197f20
+folderAsset: yes
+timeCreated: 1463014260
+licenseType: Free
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/x86_64/DiskUtilsWinAPI.dll b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/x86_64/DiskUtilsWinAPI.dll
new file mode 100644
index 00000000..2da3c8ba
Binary files /dev/null and b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/x86_64/DiskUtilsWinAPI.dll differ
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/x86_64/DiskUtilsWinAPI.dll.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/x86_64/DiskUtilsWinAPI.dll.meta
new file mode 100644
index 00000000..f15a714c
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Runtime/x86_64/DiskUtilsWinAPI.dll.meta
@@ -0,0 +1,76 @@
+fileFormatVersion: 2
+guid: 82687a06e60640148a87b59205a60790
+timeCreated: 1477575654
+licenseType: Pro
+PluginImporter:
+ serializedVersion: 1
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ platformData:
+ Android:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ Any:
+ enabled: 0
+ settings: {}
+ Editor:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ DefaultValueInitialized: true
+ OS: Windows
+ Linux:
+ enabled: 1
+ settings:
+ CPU: x86
+ Linux64:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ LinuxUniversal:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ OSXIntel:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ OSXIntel64:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ OSXUniversal:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ WP8:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ DontProcess: False
+ PlaceholderPath:
+ Win:
+ enabled: 1
+ settings:
+ CPU: None
+ Win64:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ WindowsStoreApps:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ DontProcess: False
+ PlaceholderPath:
+ SDK: AnySDK
+ iOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Samples~/DiskUtilsDemo/TestDiskUtils.cs b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Samples~/DiskUtilsDemo/TestDiskUtils.cs
new file mode 100644
index 00000000..17fd8008
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Samples~/DiskUtilsDemo/TestDiskUtils.cs
@@ -0,0 +1,127 @@
+using UnityEngine;
+using System.Collections;
+using System.IO;
+using System.Runtime.Serialization.Formatters.Binary;
+using System.Runtime.InteropServices;
+using SimpleDiskUtils;
+
+public class TestDiskUtils : MonoBehaviour {
+
+ [SerializeField]
+ TextMesh text;
+
+ string obj = "A";
+
+
+ void PrintDebug(string str)
+ {
+ if (text != null)
+ text.text += str;
+ Debug.Log(str);
+ }
+
+ void PrintDebugLn(string str = "")
+ {
+ PrintDebug(str + "\n");
+ }
+
+ void Update(){
+ if (obj.Length >= 3000000)
+ return;
+
+ obj += obj;
+
+ // Append until obj size is at least 3 MB
+ if (obj.Length < 3000000)
+ return;
+
+ StartCoroutine(Tests());
+ }
+
+ // Update is called once per frame
+
+ void PrintStorageStats () {
+ PrintDebugLn("=========== AVAILABLE SPACE : " + DiskUtils.CheckAvailableSpace() + " MB ===========");
+ PrintDebugLn("=========== BUSY SPACE : " + DiskUtils.CheckBusySpace() + " MB ===========");
+ PrintDebugLn("=========== TOTAL SPACE : " + DiskUtils.CheckTotalSpace() + " MB ===========");
+ }
+
+#if UNITY_STANDALONE_WIN || UNITY_EDITOR_WIN
+ void PrintStorageStats(string drive)
+ {
+ PrintDebugLn("=========== AVAILABLE SPACE : " + DiskUtils.CheckAvailableSpace(drive) + " MB ===========");
+ PrintDebugLn("=========== BUSY SPACE : " + DiskUtils.CheckBusySpace(drive) + " MB ===========");
+ PrintDebugLn("=========== TOTAL SPACE : " + DiskUtils.CheckTotalSpace(drive) + " MB ===========");
+ }
+ #endif
+
+ IEnumerator Tests()
+ {
+ text.text = "";
+
+ string dir = Application.persistentDataPath + "/TestDiskUtils/";
+ string storePath = Application.persistentDataPath + "/TestDiskUtils/Test.txt";
+
+
+#if UNITY_STANDALONE_WIN || UNITY_EDITOR_WIN
+ foreach (string drive in DiskUtils.GetDriveNames())
+ {
+ if (drive != "C:/")
+ {
+ dir = drive + "TestDiskUtils/";
+ storePath = drive + "TestDiskUtils/Test.txt";
+ }
+
+ PrintDebugLn();
+ PrintDebugLn(">>> NOW TESTING ON DRIVE " + drive + " <<<");
+#endif
+
+ if (!Directory.Exists(dir))
+ Directory.CreateDirectory(dir);
+
+ if (File.Exists(storePath))
+ File.Delete(storePath);
+
+
+PrintStorageStats(
+#if UNITY_STANDALONE_WIN || UNITY_EDITOR_WIN
+ drive
+#endif
+);
+
+ if (!Directory.Exists(dir))
+ Directory.CreateDirectory(dir);
+
+ DiskUtils.SaveFile(obj, storePath);
+
+ PrintDebugLn("===== FILE ADDED!!! (Test File is around 3-4 MB) =====");
+
+PrintStorageStats(
+#if UNITY_STANDALONE_WIN || UNITY_EDITOR_WIN
+ drive
+#endif
+);
+
+ if (File.Exists(storePath))
+ {
+ File.Delete(storePath);
+ PrintDebugLn("===== FILE DELETED!!! =====");
+ }
+ else {
+ PrintDebugLn("===== File not found: most likely also failed on create =====");
+ }
+
+PrintStorageStats(
+#if UNITY_STANDALONE_WIN || UNITY_EDITOR_WIN
+ drive
+#endif
+);
+
+#if UNITY_STANDALONE_WIN || UNITY_EDITOR_WIN
+ }
+#endif
+
+ yield return null;
+ }
+
+}
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Samples~/DiskUtilsDemo/TestDiskUtils.cs.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Samples~/DiskUtilsDemo/TestDiskUtils.cs.meta
new file mode 100644
index 00000000..6659568e
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Samples~/DiskUtilsDemo/TestDiskUtils.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: da2a729d532794cf1a770a0fd09818f1
+timeCreated: 1458810329
+licenseType: Free
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Samples~/DiskUtilsDemo/TestDiskUtils.unity b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Samples~/DiskUtilsDemo/TestDiskUtils.unity
new file mode 100644
index 00000000..26a398e1
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Samples~/DiskUtilsDemo/TestDiskUtils.unity
@@ -0,0 +1,376 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_OcclusionBakeSettings:
+ smallestOccluder: 5
+ smallestHole: 0.25
+ backfaceThreshold: 100
+ m_SceneGUID: 00000000000000000000000000000000
+ m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 9
+ m_Fog: 0
+ m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+ m_FogMode: 3
+ m_FogDensity: 0.01
+ m_LinearFogStart: 0
+ m_LinearFogEnd: 300
+ m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+ m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+ m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+ m_AmbientIntensity: 1
+ m_AmbientMode: 0
+ m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+ m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+ m_HaloStrength: 0.5
+ m_FlareStrength: 1
+ m_FlareFadeSpeed: 3
+ m_HaloTexture: {fileID: 0}
+ m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+ m_DefaultReflectionMode: 0
+ m_DefaultReflectionResolution: 128
+ m_ReflectionBounces: 1
+ m_ReflectionIntensity: 1
+ m_CustomReflection: {fileID: 0}
+ m_Sun: {fileID: 0}
+ m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
+ m_UseRadianceAmbientProbe: 0
+--- !u!157 &4
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 12
+ m_GIWorkflowMode: 1
+ m_GISettings:
+ serializedVersion: 2
+ m_BounceScale: 1
+ m_IndirectOutputScale: 1
+ m_AlbedoBoost: 1
+ m_EnvironmentLightingMode: 0
+ m_EnableBakedLightmaps: 1
+ m_EnableRealtimeLightmaps: 1
+ m_LightmapEditorSettings:
+ serializedVersion: 12
+ m_Resolution: 2
+ m_BakeResolution: 40
+ m_AtlasSize: 1024
+ m_AO: 0
+ m_AOMaxDistance: 1
+ m_CompAOExponent: 0
+ m_CompAOExponentDirect: 0
+ m_ExtractAmbientOcclusion: 0
+ m_Padding: 2
+ m_LightmapParameters: {fileID: 0}
+ m_LightmapsBakeMode: 1
+ m_TextureCompression: 1
+ m_FinalGather: 0
+ m_FinalGatherFiltering: 1
+ m_FinalGatherRayCount: 1024
+ m_ReflectionCompression: 2
+ m_MixedBakeMode: 1
+ m_BakeBackend: 0
+ m_PVRSampling: 1
+ m_PVRDirectSampleCount: 32
+ m_PVRSampleCount: 512
+ m_PVRBounces: 2
+ m_PVREnvironmentSampleCount: 512
+ m_PVREnvironmentReferencePointCount: 2048
+ m_PVRFilteringMode: 0
+ m_PVRDenoiserTypeDirect: 0
+ m_PVRDenoiserTypeIndirect: 0
+ m_PVRDenoiserTypeAO: 0
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVREnvironmentMIS: 0
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_ExportTrainingData: 0
+ m_TrainingDataDestination: TrainingData
+ m_LightProbeSampleCountMultiplier: 4
+ m_LightingDataAsset: {fileID: 0}
+ m_LightingSettings: {fileID: 4890085278179872738, guid: 8cbe530666c9a48a2b91515d6390468e, type: 2}
+--- !u!196 &5
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ m_BuildSettings:
+ serializedVersion: 2
+ agentTypeID: 0
+ agentRadius: 0.5
+ agentHeight: 2
+ agentSlope: 45
+ agentClimb: 0.4
+ ledgeDropHeight: 0
+ maxJumpAcrossDistance: 0
+ minRegionArea: 2
+ manualCellSize: 0
+ cellSize: 0.16666667
+ manualTileSize: 0
+ tileSize: 256
+ accuratePlacement: 0
+ maxJobWorkers: 0
+ preserveTilesOutsideBounds: 0
+ debug:
+ m_Flags: 0
+ m_NavMeshData: {fileID: 0}
+--- !u!1 &112422414
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 112422417}
+ - component: {fileID: 112422416}
+ - component: {fileID: 112422415}
+ - component: {fileID: 112422418}
+ m_Layer: 0
+ m_Name: OutputText
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!102 &112422415
+TextMesh:
+ serializedVersion: 3
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 112422414}
+ m_Text: '
+
+'
+ m_OffsetZ: 0
+ m_CharacterSize: 1
+ m_LineSpacing: 1
+ m_Anchor: 0
+ m_Alignment: 0
+ m_TabSize: 4
+ m_FontSize: 0
+ m_FontStyle: 0
+ m_RichText: 1
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_Color:
+ serializedVersion: 2
+ rgba: 4294967295
+--- !u!23 &112422416
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 112422414}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 10100, guid: 0000000000000000e000000000000000, type: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!4 &112422417
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 112422414}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: -1.43, y: 2.42, z: 0}
+ m_LocalScale: {x: 0.12968254, y: 0.12968254, z: 0.12968254}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &112422418
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 112422414}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: b86aed48af6427b49918b8de3da5a5ac, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ speed: 3
+--- !u!1 &325732734
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 325732736}
+ - component: {fileID: 325732735}
+ m_Layer: 0
+ m_Name: TestDiskUtils
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &325732735
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 325732734}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: da2a729d532794cf1a770a0fd09818f1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ text: {fileID: 112422415}
+--- !u!4 &325732736
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 325732734}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1937442275
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1937442280}
+ - component: {fileID: 1937442279}
+ - component: {fileID: 1937442278}
+ - component: {fileID: 1937442276}
+ m_Layer: 0
+ m_Name: Camera
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!81 &1937442276
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1937442275}
+ m_Enabled: 1
+--- !u!124 &1937442278
+Behaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1937442275}
+ m_Enabled: 1
+--- !u!20 &1937442279
+Camera:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1937442275}
+ m_Enabled: 1
+ serializedVersion: 2
+ m_ClearFlags: 2
+ m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844}
+ m_projectionMatrixMode: 1
+ m_GateFitMode: 2
+ m_FOVAxisMode: 0
+ m_SensorSize: {x: 36, y: 24}
+ m_LensShift: {x: 0, y: 0}
+ m_FocalLength: 50
+ m_NormalizedViewPortRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ near clip plane: 0.3
+ far clip plane: 1000
+ field of view: 60
+ orthographic: 0
+ orthographic size: 5
+ m_Depth: 0
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_RenderingPath: -1
+ m_TargetTexture: {fileID: 0}
+ m_TargetDisplay: 0
+ m_TargetEye: 3
+ m_HDR: 0
+ m_AllowMSAA: 1
+ m_AllowDynamicResolution: 0
+ m_ForceIntoRT: 0
+ m_OcclusionCulling: 1
+ m_StereoConvergence: 10
+ m_StereoSeparation: 0.022
+--- !u!4 &1937442280
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1937442275}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: -5.27}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Samples~/DiskUtilsDemo/TestDiskUtils.unity.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Samples~/DiskUtilsDemo/TestDiskUtils.unity.meta
new file mode 100644
index 00000000..baa2b30b
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Samples~/DiskUtilsDemo/TestDiskUtils.unity.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6c0de2a9e7c8c4c35a45db77a7aa7d8e
+timeCreated: 1458810439
+licenseType: Free
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Samples~/DiskUtilsDemo/TextMover.cs b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Samples~/DiskUtilsDemo/TextMover.cs
new file mode 100644
index 00000000..9c6daccd
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Samples~/DiskUtilsDemo/TextMover.cs
@@ -0,0 +1,43 @@
+using UnityEngine;
+using System.Collections;
+
+public class TextMover: MonoBehaviour {
+
+ [SerializeField]
+ float speed = 30f;
+
+ // Update is called once per frame
+ void Update()
+ {
+ float h, v;
+
+ #if !UNITY_EDITOR && (UNITY_ANDROID || UNITY_IPHONE)
+ GetMobile(out h, out v);
+ #else
+ GetDesktop(out h, out v);
+ #endif
+
+ transform.position = (transform.position + new Vector3(h, v) * speed * Time.deltaTime);
+ }
+
+ void GetMobile(out float h, out float v)
+ {
+ if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved)
+ {
+ Vector2 delta = Input.GetTouch(0).deltaPosition;
+
+ h = delta.x;
+ v = delta.y;
+ }
+ else
+ {
+ h = v = 0f;
+ }
+ }
+
+ void GetDesktop(out float h, out float v)
+ {
+ h = Input.GetAxis("Horizontal");
+ v = Input.GetAxis("Vertical");
+ }
+}
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Samples~/DiskUtilsDemo/TextMover.cs.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Samples~/DiskUtilsDemo/TextMover.cs.meta
new file mode 100644
index 00000000..394b2f47
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/Samples~/DiskUtilsDemo/TextMover.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: b86aed48af6427b49918b8de3da5a5ac
+timeCreated: 1463016937
+licenseType: Free
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/package.json b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/package.json
new file mode 100644
index 00000000..7745bcd6
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/package.json
@@ -0,0 +1,20 @@
+{
+ "name": "com.activetheoryinc.diskutils",
+ "version": "1.2.2",
+ "displayName": "Simple Disk Utils",
+ "description": "Useful cross-platform analysis of device disk. Updated by Active Theory Inc for modern UPM support",
+ "unity": "2020.3",
+ "dependencies": {
+ },
+ "keywords": [
+ "Disk",
+ "Memory",
+ "Hard drive"
+ ],
+ "author": {
+ "name": "Active Theory Inc",
+ "email": "developers@bitgym.com",
+ "url": "https://github.com/keerthik/simple-disk-utils/"
+ },
+ "type": "library"
+}
\ No newline at end of file
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/package.json.meta b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/package.json.meta
new file mode 100644
index 00000000..95518dae
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/SimpleDiskUtils/package.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 4186347e62c414a39ae06e6367d69a0e
+PackageManifestImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/YooAsset/CHANGELOG.md b/Assets/OxGFrame/AssetLoader/ThirdParty/YooAsset/CHANGELOG.md
index 96069c8c..c6cd07e8 100644
--- a/Assets/OxGFrame/AssetLoader/ThirdParty/YooAsset/CHANGELOG.md
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/YooAsset/CHANGELOG.md
@@ -2,6 +2,29 @@
All notable changes to this package will be documented in this file.
+## [2.1.1] - 2024-01-17
+
+### Fixed
+
+- (#224) 修复了编辑器模式打包时 SimulateBuild 报错的问题。
+- (#223) 修复了资源构建界面读取配置导致的报错问题。
+
+### Added
+
+- 支持共享资源打包规则,可以定制化独立的构建规则。
+
+ ```c#
+ public class BuildParameters
+ {
+ ///
+ /// 是否启用共享资源打包
+ ///
+ public bool EnableSharePackRule = false;
+ }
+ ```
+
+- 微信小游戏平台,资源下载器支持底层缓存查询。
+
## [2.1.0] - 2023-12-27
升级了 Scriptable build pipeline (SBP) 的版本,来解决图集引用的精灵图片冗余问题。
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/YooAsset/Editor/AssetBundleBuilder/BuildBundleInfo.cs b/Assets/OxGFrame/AssetLoader/ThirdParty/YooAsset/Editor/AssetBundleBuilder/BuildBundleInfo.cs
index 5b9997d2..d009ec5a 100644
--- a/Assets/OxGFrame/AssetLoader/ThirdParty/YooAsset/Editor/AssetBundleBuilder/BuildBundleInfo.cs
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/YooAsset/Editor/AssetBundleBuilder/BuildBundleInfo.cs
@@ -142,7 +142,7 @@ public List GetAllBuiltinAssetPaths()
///
public UnityEditor.AssetBundleBuild CreatePipelineBuild()
{
- // 注意:我们不在支持AssetBundle的变种机制
+ // 注意:我们不再支持AssetBundle的变种机制
AssetBundleBuild build = new AssetBundleBuild();
build.assetBundleName = BundleName;
build.assetBundleVariant = string.Empty;
diff --git a/Assets/OxGFrame/AssetLoader/ThirdParty/YooAsset/package.json b/Assets/OxGFrame/AssetLoader/ThirdParty/YooAsset/package.json
index bbc37e81..e11449b9 100644
--- a/Assets/OxGFrame/AssetLoader/ThirdParty/YooAsset/package.json
+++ b/Assets/OxGFrame/AssetLoader/ThirdParty/YooAsset/package.json
@@ -1,7 +1,7 @@
{
"name": "com.tuyoogame.yooasset",
"displayName": "YooAsset",
- "version": "2.1.0",
+ "version": "2.1.1",
"unity": "2019.4",
"description": "unity3d resources management system.",
"author": {
diff --git a/Assets/OxGFrame/CHANGELOG.md b/Assets/OxGFrame/CHANGELOG.md
index 639102e9..60b75ec9 100644
--- a/Assets/OxGFrame/CHANGELOG.md
+++ b/Assets/OxGFrame/CHANGELOG.md
@@ -1,5 +1,45 @@
# CHANGELOG
+## [2.9.13] - 2024-02-01
+- Updated yooasset to [v2.1.1](https://github.com/tuyoogame/YooAsset/releases/tag/2.1.1).
+- Added [DiskUtil by keerthik](https://github.com/keerthik/simple-disk-utils) third party in AssetLoader module (not supported WebGL).
+- Added Check available disk space in patch and package download step (not supported WebGL).
+ - Must add PatchEvents.PatchCheckDiskNotEnoughSpace in patchEvents to handle it (checkout BundleDemo).
+- Added CheckDiskSpace flag setting on PatchLauncher inspector.
+- Added Can set user event handler to PackageOperation.
+```C#
+public class PackageOperation
+{
+ ///
+ /// Enable or disable disk space check procedure (default is true)
+ ///
+ public bool checkDiskSpace = true;
+
+ public OnPatchRepairFailed onPatchRepairFailed;
+ public OnPatchInitPatchModeFailed onPatchInitPatchModeFailed;
+ public OnPatchVersionUpdateFailed onPatchVersionUpdateFailed;
+ public OnPatchManifestUpdateFailed onPatchManifestUpdateFailed;
+ public OnPatchCheckDiskNotEnoughSpace onPatchCheckDiskNotEnoughSpace;
+ public OnPatchDownloadFailed onPatchDownloadFailed;
+
+ public void UserTryPatchRepair()
+ public void UserTryInitPatchMode()
+ public void UserTryPatchVersionUpdate()
+ public void UserTryPatchManifestUpdate()
+ public void UserTryCreateDownloader()
+}
+```
+- Modified method name [#1adf602](https://github.com/michael811125/OxGFrame/commit/1adf6028aa980169732ea1a40f2d8df1b8c4584e) (Replace all below).
+```
+method ShowAnime => ShowAnimation
+
+method HideAnime => HideAnimation
+
+delegate AnimeEndCb => AnimationEnd
+
+param animeEndCb => animationEnd
+```
+
## [2.9.12] - 2024-01-16
- Added CoreFrames.UIFrame.GetStackByStackCount method.
```C#
diff --git a/Assets/OxGFrame/Samples~/BundleDemo/BundleDemo.unity b/Assets/OxGFrame/Samples~/BundleDemo/BundleDemo.unity
index d02d544d..45d34b3d 100644
--- a/Assets/OxGFrame/Samples~/BundleDemo/BundleDemo.unity
+++ b/Assets/OxGFrame/Samples~/BundleDemo/BundleDemo.unity
@@ -2054,6 +2054,11 @@ PrefabInstance:
propertyPath: decryptArgs
value: aes,aes_key_michaelO_birthday1125,birthday1125
objectReference: {fileID: 0}
+ - target: {fileID: 5015912702362567919, guid: 992bffa5c79679749861326baa5441c6,
+ type: 3}
+ propertyPath: checkDiskSpace
+ value: 1
+ objectReference: {fileID: 0}
- target: {fileID: 5015912702362567919, guid: 992bffa5c79679749861326baa5441c6,
type: 3}
propertyPath: skipMainDownload
diff --git a/Assets/OxGFrame/Samples~/BundleDemo/Scripts/BundleDemo.cs b/Assets/OxGFrame/Samples~/BundleDemo/Scripts/BundleDemo.cs
index 2742c895..21339aa6 100644
--- a/Assets/OxGFrame/Samples~/BundleDemo/Scripts/BundleDemo.cs
+++ b/Assets/OxGFrame/Samples~/BundleDemo/Scripts/BundleDemo.cs
@@ -37,7 +37,6 @@ public class BundleDemo : MonoBehaviour
public Toggle groupToggle = null;
private EventGroup _patchEvents = new EventGroup();
-
private int _retryType = 0;
private IEnumerator Start()
@@ -88,12 +87,13 @@ private void _InitPatchEvents()
// 2. PatchGoToAppStore
// 3. PatchAppVersionUpdateFailed
// 4. PatchInitPatchModeFailed
- // 5. PatchCreateDownloader
- // 6. PatchDownloadProgression
- // 7. PatchVersionUpdateFailed
- // 8. PatchManifestUpdateFailed
- // 9. PatchDownloadFailed
- // 10. PatchDownloadCanceled
+ // 5. PatchVersionUpdateFailed
+ // 6. PatchManifestUpdateFailed
+ // 7. PatchCreateDownloader
+ // 8. PatchCheckDiskNotEnoughSpace
+ // 9. PatchDownloadProgression
+ // 10. PatchDownloadFailed
+ // 11. PatchDownloadCanceled
#region Add PatchEvents Handle
this._patchEvents.AddListener(this._OnHandleEventMessage);
@@ -101,10 +101,11 @@ private void _InitPatchEvents()
this._patchEvents.AddListener(this._OnHandleEventMessage);
this._patchEvents.AddListener(this._OnHandleEventMessage);
this._patchEvents.AddListener(this._OnHandleEventMessage);
- this._patchEvents.AddListener(this._OnHandleEventMessage);
- this._patchEvents.AddListener(this._OnHandleEventMessage);
this._patchEvents.AddListener(this._OnHandleEventMessage);
this._patchEvents.AddListener(this._OnHandleEventMessage);
+ this._patchEvents.AddListener(this._OnHandleEventMessage);
+ this._patchEvents.AddListener(this._OnHandleEventMessage);
+ this._patchEvents.AddListener(this._OnHandleEventMessage);
this._patchEvents.AddListener(this._OnHandleEventMessage);
this._patchEvents.AddListener(this._OnHandleEventMessage);
#endregion
@@ -208,6 +209,21 @@ private void _OnHandleEventMessage(IEventMessage message)
this._retryType = 2;
this.ShowRetryWindow("Init Patch Mode Failed");
}
+ else if (message is PatchEvents.PatchVersionUpdateFailed)
+ {
+ // Show Patch Version Update Failed Retry UI
+
+ this._retryType = 3;
+ this.ShowRetryWindow("Patch Version Update Failed");
+
+ }
+ else if (message is PatchEvents.PatchManifestUpdateFailed)
+ {
+ // Show Patch Manifest Update Failed Retry UI
+
+ this._retryType = 4;
+ this.ShowRetryWindow("Patch Manifest Update Failed");
+ }
else if (message is PatchEvents.PatchCreateDownloader)
{
// Show GroupInfos UI for user to choose which one they want to download
@@ -221,6 +237,18 @@ private void _OnHandleEventMessage(IEventMessage message)
this.ShowConfirmWindow(msgData.groupInfos);
#endregion
}
+ else if (message is PatchEvents.PatchCheckDiskNotEnoughSpace)
+ {
+ // Show Disk Not Enough Space Retry UI
+
+ // Note: You can retry create downloader again (unless, user frees up space) or submit Application.Quit event!!!
+
+ var msgData = message as PatchEvents.PatchCheckDiskNotEnoughSpace;
+
+ // Here use action type is 6 (Application.Quit)
+ this._retryType = 6; // 5 or 6
+ this.ShowRetryWindow($"Disk Not Enough Space!!!\nAvailable Disk Space Size: {BundleUtility.GetMegabytesToString(msgData.availableMegabytes)}\nTotal Patch Size: {BundleUtility.GetBytesToString((ulong)msgData.patchTotalBytes)}");
+ }
else if (message is PatchEvents.PatchDownloadProgression)
{
#region Download Progression
@@ -247,21 +275,6 @@ private void _OnHandleEventMessage(IEventMessage message)
);
#endregion
}
- else if (message is PatchEvents.PatchVersionUpdateFailed)
- {
- // Show Patch Version Update Failed Retry UI
-
- this._retryType = 3;
- this.ShowRetryWindow("Patch Version Update Failed");
-
- }
- else if (message is PatchEvents.PatchManifestUpdateFailed)
- {
- // Show Patch Manifest Update Failed Retry UI
-
- this._retryType = 4;
- this.ShowRetryWindow("Patch Manifest Update Failed");
- }
else if (message is PatchEvents.PatchDownloadFailed)
{
// Show Patch Download Files Failed Retry UI
@@ -377,6 +390,11 @@ public void RetryEvent()
// Add send event in Retry UI (click event)
PatchUserEvents.UserTryCreateDownloader.SendEventMessage();
break;
+
+ case 6:
+ // Application quit
+ Application.Quit();
+ break;
}
#endregion
}
diff --git a/Assets/OxGFrame/package.json b/Assets/OxGFrame/package.json
index 1786cf29..fa726b06 100644
--- a/Assets/OxGFrame/package.json
+++ b/Assets/OxGFrame/package.json
@@ -2,7 +2,7 @@
"name": "com.michaelo.oxgframe",
"displayName": "OxGFrame",
"description": "The OxGFrame is a framework based on Unity for accelerating game development. Supports multi-platform Win, OSX, Android, iOS, WebGL.",
- "version": "2.9.12",
+ "version": "2.9.13",
"unity": "2021.3",
"license": "MIT",
"samples": [
diff --git a/Assets/Settings/OxGFrame/BindCodeSetting.asset b/Assets/Settings/OxGFrame/BindCodeSetting.asset
index 68e46e65..e2c7d3c3 100644
--- a/Assets/Settings/OxGFrame/BindCodeSetting.asset
+++ b/Assets/Settings/OxGFrame/BindCodeSetting.asset
@@ -15,7 +15,7 @@ MonoBehaviour:
variableCaseType: 0
variableAccessModifier: protected
variablePrefix: _
- methodType: 1
+ methodType: 0
methodAccessModifier: protected
methodPrefix:
methodName: InitBind
diff --git a/Assets/Settings/OxGKit/LoggerSetting.asset b/Assets/Settings/OxGKit/LoggerSetting.asset
index c53da5e3..cb490192 100644
--- a/Assets/Settings/OxGKit/LoggerSetting.asset
+++ b/Assets/Settings/OxGKit/LoggerSetting.asset
@@ -28,5 +28,7 @@ MonoBehaviour:
logActive: 1
- loggerName: OxGFrame.CenterFrame.Logger
logActive: 1
+ - loggerName: OxGKit.Utilities.Logger
+ logActive: 1
loadLoggers: 0
resetLoggers: 0
diff --git a/Packages/manifest.json b/Packages/manifest.json
index e9a36f0f..b20ba828 100644
--- a/Packages/manifest.json
+++ b/Packages/manifest.json
@@ -22,6 +22,7 @@
"com.unity.test-framework": "1.1.33",
"com.unity.textmeshpro": "3.0.6",
"com.unity.timeline": "1.6.5",
+ "com.unity.toolchain.win-x86_64-linux-x86_64": "2.0.6",
"com.unity.ugui": "1.0.0",
"com.unity.modules.ai": "1.0.0",
"com.unity.modules.androidjni": "1.0.0",
diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json
index 43a4cbbc..8c28f391 100644
--- a/Packages/packages-lock.json
+++ b/Packages/packages-lock.json
@@ -5,7 +5,7 @@
"depth": 0,
"source": "git",
"dependencies": {},
- "hash": "51da1d4c433504f3171fff66217035b89c45d823"
+ "hash": "6ffb977ef31eb20ab1824f92174fc6e891209401"
},
"com.domybest.lwmybox": {
"version": "https://github.com/michael811125/LWMyBox.git",
@@ -28,14 +28,14 @@
"depth": 0,
"source": "git",
"dependencies": {},
- "hash": "92afc360afec061e35a88a87409e432c74f63c42"
+ "hash": "fafc7e74f295da723fee38d7e675bfffaf21c849"
},
"com.michaelo.oxgkit.utilities": {
"version": "https://github.com/michael811125/OxGKit.git?path=Assets/OxGKit/Utilities/Scripts",
"depth": 0,
"source": "git",
"dependencies": {},
- "hash": "92afc360afec061e35a88a87409e432c74f63c42"
+ "hash": "fafc7e74f295da723fee38d7e675bfffaf21c849"
},
"com.unity.2d.animation": {
"version": "7.0.12",
@@ -232,6 +232,22 @@
"com.unity.searcher": "4.9.1"
}
},
+ "com.unity.sysroot": {
+ "version": "2.0.7",
+ "depth": 1,
+ "source": "registry",
+ "dependencies": {},
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.sysroot.linux-x86_64": {
+ "version": "2.0.6",
+ "depth": 1,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.sysroot": "2.0.7"
+ },
+ "url": "https://packages.unity.com"
+ },
"com.unity.test-framework": {
"version": "1.1.33",
"depth": 0,
@@ -264,6 +280,16 @@
},
"url": "https://packages.unity.com"
},
+ "com.unity.toolchain.win-x86_64-linux-x86_64": {
+ "version": "2.0.6",
+ "depth": 0,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.sysroot": "2.0.7",
+ "com.unity.sysroot.linux-x86_64": "2.0.6"
+ },
+ "url": "https://packages.unity.com"
+ },
"com.unity.ugui": {
"version": "1.0.0",
"depth": 0,