diff --git a/Assets/OxGFrame/AssetLoader/Scripts/Editor/Bundle/BundleHelper.cs b/Assets/OxGFrame/AssetLoader/Scripts/Editor/Bundle/BundleHelper.cs
index 647cf50a..eae3565d 100644
--- a/Assets/OxGFrame/AssetLoader/Scripts/Editor/Bundle/BundleHelper.cs
+++ b/Assets/OxGFrame/AssetLoader/Scripts/Editor/Bundle/BundleHelper.cs
@@ -1,14 +1,13 @@
using Newtonsoft.Json;
using OxGFrame.AssetLoader.Bundle;
+using OxGFrame.AssetLoader.Utility;
+using System;
using System.Collections.Generic;
using System.IO;
+using System.Linq;
using UnityEditor;
using UnityEngine;
-using OxGFrame.AssetLoader.Utility;
using YooAsset.Editor;
-using YooAsset;
-using System.Linq;
-using System;
namespace OxGFrame.AssetLoader.Editor
{
diff --git a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/AssetPatcher.cs b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/AssetPatcher.cs
index 64c01049..6ad9310c 100644
--- a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/AssetPatcher.cs
+++ b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/AssetPatcher.cs
@@ -2,6 +2,7 @@
using OxGFrame.AssetLoader.Bundle;
using OxGFrame.AssetLoader.Utility;
using System.Collections.Generic;
+using UnityEngine;
using YooAsset;
using static OxGFrame.AssetLoader.Utility.DownloadSpeedCalculator;
using static YooAsset.DownloaderOperation;
@@ -183,10 +184,9 @@ public static string GetAppVersion()
///
public static string GetPatchVersion(bool encode = false, int encodeLength = 6, string separator = "-")
{
- string patchVersion = (PatchManager.patchVersions != null &&
- PatchManager.patchVersions.Length > 0) ?
- PatchManager.patchVersions[0] :
- string.Empty;
+ string[] versions = PatchManager.patchVersions;
+ string newestVersion = BundleUtility.NewestPackageVersion(versions);
+ string patchVersion = string.IsNullOrEmpty(newestVersion) ? string.Empty : newestVersion;
if (encode)
{
@@ -269,46 +269,18 @@ public static async UniTask InitAppPackage(AppPackageInfoWithBuild package
///
public static async UniTask InitDlcPackage(DlcPackageInfoWithBuild packageInfo, bool autoUpdate = false)
{
- string hostServer = null;
- string fallbackHostServer = null;
- IBuildinQueryServices builtinQueryService = null;
- IDeliveryQueryServices deliveryQueryService = null;
- IDeliveryLoadServices deliveryLoadService = null;
+ string hostServer = packageInfo.hostServer;
+ string fallbackHostServer = packageInfo.fallbackHostServer;
+ IBuildinQueryServices builtinQueryService = packageInfo.builtinQueryService;
+ IDeliveryQueryServices deliveryQueryService = packageInfo.deliveryQueryService;
+ IDeliveryLoadServices deliveryLoadService = packageInfo.deliveryLoadService;
// Host Mode or WebGL Mode
if (BundleConfig.playMode == BundleConfig.PlayMode.HostMode ||
BundleConfig.playMode == BundleConfig.PlayMode.WebGLMode)
{
- hostServer = await BundleConfig.GetDlcHostServerUrl(packageInfo.packageName, packageInfo.dlcVersion, packageInfo.withoutPlatform);
- fallbackHostServer = await BundleConfig.GetDlcFallbackHostServerUrl(packageInfo.packageName, packageInfo.dlcVersion, packageInfo.withoutPlatform);
- builtinQueryService = new RequestBuiltinQuery();
- deliveryQueryService = new RequestDeliveryQuery();
- deliveryLoadService = new RequestDeliveryQuery();
- }
-
- return await PackageManager.InitPackage(packageInfo, autoUpdate, hostServer, fallbackHostServer, builtinQueryService, deliveryQueryService, deliveryLoadService);
- }
-
- ///
- /// Init dlc package (If PlayMode is HostMode will request from default host dlc path)
- ///
- ///
- ///
- ///
- ///
- ///
- ///
- public static async UniTask InitDlcPackage(DlcPackageInfoWithBuild packageInfo, bool autoUpdate = false, IBuildinQueryServices builtinQueryService = null, IDeliveryQueryServices deliveryQueryService = null, IDeliveryLoadServices deliveryLoadService = null)
- {
- string hostServer = null;
- string fallbackHostServer = null;
-
- // Host Mode or WebGL Mode
- if (BundleConfig.playMode == BundleConfig.PlayMode.HostMode ||
- BundleConfig.playMode == BundleConfig.PlayMode.WebGLMode)
- {
- hostServer = await BundleConfig.GetDlcHostServerUrl(packageInfo.packageName, packageInfo.dlcVersion, packageInfo.withoutPlatform);
- fallbackHostServer = await BundleConfig.GetDlcFallbackHostServerUrl(packageInfo.packageName, packageInfo.dlcVersion, packageInfo.withoutPlatform);
+ hostServer = string.IsNullOrEmpty(hostServer) ? await BundleConfig.GetDlcHostServerUrl(packageInfo.packageName, packageInfo.dlcVersion, packageInfo.withoutPlatform) : hostServer;
+ fallbackHostServer = string.IsNullOrEmpty(fallbackHostServer) ? await BundleConfig.GetDlcFallbackHostServerUrl(packageInfo.packageName, packageInfo.dlcVersion, packageInfo.withoutPlatform) : fallbackHostServer;
builtinQueryService = builtinQueryService == null ? new RequestBuiltinQuery() : builtinQueryService;
deliveryQueryService = deliveryQueryService == null ? new RequestDeliveryQuery() : deliveryQueryService;
deliveryLoadService = deliveryLoadService == null ? new RequestDeliveryQuery() : deliveryLoadService;
@@ -318,24 +290,6 @@ public static async UniTask InitDlcPackage(DlcPackageInfoWithBuild package
}
#endregion
- #region Custom Package
- ///
- /// Init package by package name (Custom your host path and query service)
- ///
- ///
- ///
- ///
- ///
- ///
- ///
- ///
- ///
- public static async UniTask InitCustomPackage(PackageInfoWithBuild packageInfo, string hostServer, string fallbackHostServer, bool autoUpdate, IBuildinQueryServices builtinQueryService, IDeliveryQueryServices deliveryQueryService, IDeliveryLoadServices deliveryLoadService)
- {
- return await PackageManager.InitPackage(packageInfo, autoUpdate, hostServer, fallbackHostServer, builtinQueryService, deliveryQueryService, deliveryLoadService);
- }
- #endregion
-
#region Update Package
///
/// Update package manifest by package name
diff --git a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/BundleConfig.cs b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/BundleConfig.cs
index 32e23e8c..d3d47027 100644
--- a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/BundleConfig.cs
+++ b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/BundleConfig.cs
@@ -62,7 +62,7 @@ public class CryptogramType
///
/// 跳過 Patch 創建主要下載器階段 (強制邊玩邊下載)
///
- public static bool skipCreateMainDownloder = false;
+ public static bool skipMainDownload = false;
///
/// App Preset Package 清單
diff --git a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/BundleInfos.cs b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/BundleInfos.cs
index 26b8acb2..73601d6c 100644
--- a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/BundleInfos.cs
+++ b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/BundleInfos.cs
@@ -2,6 +2,7 @@
using System;
using System.Collections.Generic;
using UnityEngine;
+using YooAsset;
using static OxGFrame.AssetLoader.Bundle.BundleConfig;
namespace OxGFrame.AssetLoader.Bundle
@@ -54,11 +55,25 @@ public class GroupInfo
}
[Serializable]
- public class PackageInfoWithBuild
+ public abstract class PackageInfoWithBuild
{
[Tooltip("Only for EditorSimulateMode")]
public BuildMode buildMode;
public string packageName;
+
+ ///
+ /// Custom host server
+ ///
+ [HideInInspector]
+ public string hostServer = null;
+ ///
+ /// Custom fallback host server
+ ///
+ [HideInInspector]
+ public string fallbackHostServer = null;
+ public IBuildinQueryServices builtinQueryService = null;
+ public IDeliveryQueryServices deliveryQueryService = null;
+ public IDeliveryLoadServices deliveryLoadService = null;
}
[Serializable]
diff --git a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PackageManager.cs b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PackageManager.cs
index d19b822e..26a81320 100644
--- a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PackageManager.cs
+++ b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PackageManager.cs
@@ -53,6 +53,7 @@ public async static UniTask InitSetup()
#region Init Preset Packages
bool appInitialized = await InitPresetAppPackages();
bool dlcInitialized = await InitPresetDlcPackages();
+ Logging.Print($"{appInitialized} {dlcInitialized}");
isInitialized = dlcInitialized && appInitialized;
#endregion
@@ -133,9 +134,11 @@ public static async UniTask InitPackage(PackageInfoWithBuild packageInfo,
var package = RegisterPackage(packageName);
if (package.InitializeStatus == EOperationStatus.Succeed)
{
- if (autoUpdate) await UpdatePackage(packageName);
+ // updated state default is true
+ bool updated = true;
+ if (autoUpdate) updated = await UpdatePackage(packageName);
Logging.Print($"Package: {packageName} is initialized. Status: {package.InitializeStatus}.");
- return true;
+ return updated;
}
// Simulate Mode
@@ -193,9 +196,11 @@ public static async UniTask InitPackage(PackageInfoWithBuild packageInfo,
if (initializationOperation.Status == EOperationStatus.Succeed)
{
- if (autoUpdate) await UpdatePackage(packageName);
+ // updated state default is true
+ bool updated = true;
+ if (autoUpdate) updated = await UpdatePackage(packageName);
Logging.Print($"Package: {packageName} Init completed successfully.");
- return true;
+ return updated;
}
else
{
@@ -275,17 +280,17 @@ public static bool CheckPackageHasAnyFilesInLocal(string packageName)
///
public static ulong GetPackageSizeInLocal(string packageName)
{
- if (BundleConfig.playMode == BundleConfig.PlayMode.EditorSimulateMode)
- {
- Logging.Print($"[{BundleConfig.PlayMode.EditorSimulateMode}] Get Package Size In Local return 1");
- return 1;
- }
-
try
{
var package = GetPackage(packageName);
if (package == null) return 0;
+ if (BundleConfig.playMode == BundleConfig.PlayMode.EditorSimulateMode)
+ {
+ Logging.Print($"[{BundleConfig.PlayMode.EditorSimulateMode}] Get Package Size In Local return 1");
+ return 1;
+ }
+
string path = BundleConfig.GetLocalSandboxPackagePath(packageName);
if (!Directory.Exists(path)) return 0;
diff --git a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PackageOperation.cs b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PackageOperation.cs
new file mode 100644
index 00000000..937fe931
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PackageOperation.cs
@@ -0,0 +1,426 @@
+using OxGFrame.AssetLoader.PatchEvent;
+using OxGFrame.AssetLoader.PatchFsm;
+using OxGKit.LoggingSystem;
+using System.Collections.Generic;
+using UniFramework.Event;
+using UniFramework.Machine;
+using YooAsset;
+
+namespace OxGFrame.AssetLoader.Bundle
+{
+ public class PackageOperation
+ {
+ ///
+ /// Instance id
+ ///
+ public int hashId
+ {
+ get
+ {
+ // Return instance hash code
+ return this.GetHashCode();
+ }
+ }
+
+ ///
+ /// Package group info
+ ///
+ public GroupInfo groupInfo { get; protected set; }
+
+ ///
+ /// Package operaion event group
+ ///
+ public EventGroup eventGroup { get; protected set; }
+
+ ///
+ /// Skip download step
+ ///
+ public bool skipDownload { get; protected set; }
+
+ private ResourceDownloaderOperation[] _downloaders;
+ private PackageInfoWithBuild[] _packageInfos;
+
+ private bool _isReady = false;
+ private bool _isBegin = false;
+ private bool _isRepair = false;
+ private bool _isDone = false;
+
+ private StateMachine _patchFsm;
+
+ internal const string KEY_PACKAGE_VERSIONS = "packageVersions";
+
+ protected PackageOperation()
+ {
+ // 註冊 Events 監聽事件
+ this.eventGroup = new EventGroup(this.hashId);
+ // Patch 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);
+ // 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);
+
+ // 註冊 PatchFsm 處理流程
+ this._patchFsm = new StateMachine(this);
+ this._patchFsm.AddNode();
+ this._patchFsm.AddNode();
+ this._patchFsm.AddNode();
+ this._patchFsm.AddNode();
+ this._patchFsm.AddNode();
+ this._patchFsm.AddNode();
+ this._patchFsm.AddNode();
+ this._patchFsm.AddNode();
+ this._patchFsm.AddNode();
+ this._patchFsm.AddNode();
+ }
+
+ public PackageOperation(string groupName, PackageInfoWithBuild packageInfo, bool skipDownload = false) : this(groupName, new PackageInfoWithBuild[] { packageInfo }, skipDownload)
+ {
+ }
+
+ public PackageOperation(string groupName, PackageInfoWithBuild[] packageInfos, bool skipDownload = false) : this()
+ {
+ this.groupInfo = new GroupInfo();
+ this.groupInfo.groupName = groupName;
+ this._packageInfos = packageInfos;
+ this.skipDownload = skipDownload;
+
+ // 開始 Package 初始流程
+ this._patchFsm.Run();
+ }
+
+ ~PackageOperation()
+ {
+ this.Cancel();
+ this.eventGroup.RemoveAllListener();
+ this._patchFsm = null;
+ }
+
+ #region Factory Mode
+ public static PackageOperation CreateOperation(string groupName, PackageInfoWithBuild packageInfo, bool skipDownload = false)
+ {
+ var packageOperation = new PackageOperation(groupName, packageInfo, skipDownload);
+ return packageOperation;
+ }
+
+ public static PackageOperation CreateOperation(string groupName, PackageInfoWithBuild[] packageInfos, bool skipDownload = false)
+ {
+ var packageOperation = new PackageOperation(groupName, packageInfos, skipDownload);
+ return packageOperation;
+ }
+ #endregion
+
+ #region Downloader
+ internal void SetDownloaders(ResourceDownloaderOperation[] downloaders)
+ {
+ this._downloaders = downloaders;
+ }
+ #endregion
+
+ #region Package Info
+ internal PackageInfoWithBuild[] GetPackageInfos()
+ {
+ return this._packageInfos;
+ }
+
+ internal string[] GetPackageNames()
+ {
+ List packageNames = new List();
+ foreach (var packageInfo in this._packageInfos)
+ {
+ packageNames.Add(packageInfo.packageName);
+ }
+ return packageNames.ToArray();
+ }
+
+ internal ResourcePackage[] GetPackages()
+ {
+ if (this._packageInfos != null && this._packageInfos.Length > 0)
+ {
+ List packages = new List();
+ foreach (var packageInfo in this._packageInfos)
+ {
+ var package = PackageManager.GetPackage(packageInfo.packageName);
+ if (package != null) packages.Add(package);
+ }
+
+ return packages.ToArray();
+ }
+
+ return new ResourcePackage[] { };
+ }
+ #endregion
+
+ #region Patch Operation
+ ///
+ /// 開啟下載流程
+ ///
+ public void Begin()
+ {
+ if (this._isReady && !this._isBegin && !this._isRepair)
+ {
+ this.MarkBeginState();
+ this._patchFsm.Run();
+ }
+ else
+ {
+ Logging.PrintWarning($"GroupName: {this.groupInfo.groupName} Patch maybe not ready yet or begin already...");
+ }
+ }
+
+ ///
+ /// 刪除所有緩存數據跟配置檔 (即清空下載目錄)
+ ///
+ public void Repair()
+ {
+ if (!this._isRepair)
+ {
+ this._patchFsm.Run();
+ }
+ else
+ {
+ Logging.PrintWarning($"GroupName: {this.groupInfo.groupName} Patch repairing...");
+ }
+ }
+
+ ///
+ /// 暫停下載
+ ///
+ public void Pause()
+ {
+ if (this._downloaders == null) return;
+ foreach (var downloader in this._downloaders)
+ {
+ downloader.PauseDownload();
+ }
+ }
+
+ ///
+ /// 繼續下載
+ ///
+ public void Resume()
+ {
+ if (this._downloaders == null) return;
+ foreach (var downloader in this._downloaders)
+ {
+ downloader.ResumeDownload();
+ }
+ }
+
+ ///
+ /// 取消下載
+ ///
+ public void Cancel(bool sendEvent = true)
+ {
+ if (this._downloaders == null) return;
+ foreach (var downloader in this._downloaders)
+ {
+ downloader.CancelDownload();
+ }
+ if (sendEvent) PackageEvents.PatchDownloadCanceled.SendEventMessage(this.hashId);
+ this.MarkBeginAsDone();
+ this.MarkRepairAsDone();
+ }
+ #endregion
+
+ #region Patch Flag
+ ///
+ /// 標記 Ready 狀態
+ ///
+ internal void MarkReadyState()
+ {
+ this._isReady = true;
+ }
+
+ ///
+ /// 標記 Ready 結束
+ ///
+ internal void MarkReadyAsDone()
+ {
+ this._isReady = false;
+ }
+
+ ///
+ /// 標記 Begin 狀態
+ ///
+ internal void MarkBeginState()
+ {
+ this._isDone = false;
+ this._isBegin = true;
+ }
+
+ ///
+ /// 標記 Begin 結束
+ ///
+ internal void MarkBeginAsDone()
+ {
+ this._isBegin = false;
+ }
+
+ ///
+ /// 標記 Repair 狀態
+ ///
+ internal void MarkRepairState()
+ {
+ this._isDone = false;
+ this._isRepair = true;
+ }
+
+ ///
+ /// 標記 Repair 結束
+ ///
+ internal void MarkRepairAsDone()
+ {
+ this._isRepair = false;
+ this._downloaders = null;
+ }
+
+ ///
+ /// 標記 Patch 結束
+ ///
+ internal void MarkPatchAsDone()
+ {
+ this._isDone = true;
+ this._isBegin = false;
+ this._isRepair = false;
+ this._downloaders = null;
+ }
+
+ ///
+ /// 是否更新結束
+ ///
+ ///
+ public bool IsDone()
+ {
+ return this._isDone;
+ }
+
+ ///
+ /// 是否開始準備
+ ///
+ ///
+ public bool IsReady()
+ {
+ return this._isReady;
+ }
+
+ ///
+ /// 是否開始下載
+ ///
+ ///
+ public bool IsBegin()
+ {
+ return this._isBegin;
+ }
+
+ ///
+ /// 是否開始修復
+ ///
+ ///
+ public bool IsRepair()
+ {
+ return this._isRepair;
+ }
+ #endregion
+
+ #region Event Handle
+ private void _OnHandleEventMessage(IEventMessage message)
+ {
+ // Package events
+ if (message is PackageEvents.PatchFsmState)
+ {
+#if UNITY_EDITOR
+ PackageEvents.PatchFsmState msgData = message as PackageEvents.PatchFsmState;
+
+ switch (msgData.stateNode)
+ {
+ case PackageFsmStates.FsmPatchRepair:
+ Logging.Print(" >>>> PackageFsmStates.FsmPatchRepair <<<< ");
+ break;
+ case PackageFsmStates.FsmPatchPrepare:
+ Logging.Print(" >>>> PackageFsmStates.FsmPatchPrepare <<<< ");
+ break;
+ case PackageFsmStates.FsmInitPatchMode:
+ Logging.Print(" >>>> PackageFsmStates.FsmInitPatchMode <<<< ");
+ break;
+ case PackageFsmStates.FsmPatchVersionUpdate:
+ Logging.Print(" >>>> PackageFsmStates.FsmPatchVersionUpdate <<<< ");
+ break;
+ case PackageFsmStates.FsmPatchManifestUpdate:
+ Logging.Print(" >>>> PackageFsmStates.FsmPatchManifestUpdate <<<< ");
+ break;
+ case PackageFsmStates.FsmCreateDownloader:
+ Logging.Print(" >>>> PackageFsmStates.FsmCreateDownloader <<<< ");
+ break;
+ case PackageFsmStates.FsmBeginDownload:
+ Logging.Print(" >>>> PackageFsmStates.FsmBeginDownloadFiles <<<< ");
+ break;
+ case PackageFsmStates.FsmDownloadOver:
+ Logging.Print(" >>>> PackageFsmStates.FsmDownloadOver <<<< ");
+ break;
+ case PackageFsmStates.FsmClearCache:
+ Logging.Print(" >>>> PackageFsmStates.FsmClearCache <<<< ");
+ break;
+ case PackageFsmStates.FsmPatchDone:
+ Logging.Print(" >>>> PackageFsmStates.FsmPatchDone <<<< ");
+ break;
+ }
+
+#endif
+ }
+ else if (message is PackageEvents.PatchRepairFailed)
+ {
+ PackageUserEvents.UserTryPatchRepair.SendEventMessage(this.hashId);
+ }
+ else if (message is PackageEvents.PatchInitPatchModeFailed)
+ {
+ PackageUserEvents.UserTryInitPatchMode.SendEventMessage(this.hashId);
+ }
+ else if (message is PackageEvents.PatchVersionUpdateFailed)
+ {
+ PackageUserEvents.UserTryPatchVersionUpdate.SendEventMessage(this.hashId);
+ }
+ else if (message is PackageEvents.PatchManifestUpdateFailed)
+ {
+ PackageUserEvents.UserTryPatchManifestUpdate.SendEventMessage(this.hashId);
+ }
+ else if (message is PackageEvents.PatchDownloadFailed)
+ {
+ PackageUserEvents.UserTryCreateDownloader.SendEventMessage(this.hashId);
+ }
+ // Package user events
+ else if (message is PackageUserEvents.UserTryPatchRepair)
+ {
+ this._patchFsm.ChangeState();
+ }
+ else if (message is PackageUserEvents.UserTryInitPatchMode)
+ {
+ this._patchFsm.ChangeState();
+ }
+ else if (message is PackageUserEvents.UserBeginDownload)
+ {
+ this._patchFsm.ChangeState();
+ }
+ else if (message is PackageUserEvents.UserTryPatchVersionUpdate)
+ {
+ this._patchFsm.ChangeState();
+ }
+ else if (message is PackageUserEvents.UserTryPatchManifestUpdate)
+ {
+ this._patchFsm.ChangeState();
+ }
+ else if (message is PackageUserEvents.UserTryCreateDownloader)
+ {
+ this._patchFsm.ChangeState();
+ }
+ }
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PackageOperation.cs.meta b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PackageOperation.cs.meta
new file mode 100644
index 00000000..83754d2f
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PackageOperation.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: db0e44f99ffe37a449754a3b4c6e9d4c
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchEvent/PackageEvents.cs b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchEvent/PackageEvents.cs
new file mode 100644
index 00000000..3926db74
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchEvent/PackageEvents.cs
@@ -0,0 +1,134 @@
+using UniFramework.Event;
+using UniFramework.Machine;
+
+namespace OxGFrame.AssetLoader.PatchEvent
+{
+ // 0. PatchRepairFailed
+ // 1. PatchFsmState
+ // 2. PatchInitPatchModeFailed
+ // 3. PatchVersionUpdateFailed
+ // 4. PatchManifestUpdateFailed
+ // 5. PatchDownloadProgression
+ // 6. PatchDownloadFailed
+ // 7. PatchDownloadCanceled
+
+ public static class PackageEvents
+ {
+ ///
+ /// Patch repair failed
+ ///
+ internal class PatchRepairFailed : IEventMessage
+ {
+ public static void SendEventMessage(int groupId)
+ {
+ var msg = new PatchRepairFailed();
+ UniEvent.SendMessage(groupId, msg);
+ }
+ }
+
+ ///
+ /// Patch fsm state
+ ///
+ public class PatchFsmState : IEventMessage
+ {
+ public IStateNode stateNode;
+
+ public static void SendEventMessage(int groupId, IStateNode stateNode)
+ {
+ var msg = new PatchFsmState();
+ msg.stateNode = stateNode;
+ UniEvent.SendMessage(groupId, msg);
+ }
+ }
+
+ ///
+ /// Patch init default package failed
+ ///
+ internal class PatchInitPatchModeFailed : IEventMessage
+ {
+ public static void SendEventMessage(int groupId)
+ {
+ var msg = new PatchInitPatchModeFailed();
+ UniEvent.SendMessage(groupId, msg);
+ }
+ }
+
+ ///
+ /// Patch version update failed
+ ///
+ internal class PatchVersionUpdateFailed : IEventMessage
+ {
+ public static void SendEventMessage(int groupId)
+ {
+ var msg = new PatchVersionUpdateFailed();
+ UniEvent.SendMessage(groupId, msg);
+ }
+ }
+
+ ///
+ /// Patch manifest update failed
+ ///
+ internal class PatchManifestUpdateFailed : IEventMessage
+ {
+ public static void SendEventMessage(int groupId)
+ {
+ var msg = new PatchManifestUpdateFailed();
+ UniEvent.SendMessage(groupId, msg);
+ }
+ }
+
+ ///
+ /// Patch download progression
+ ///
+ public class PatchDownloadProgression : IEventMessage
+ {
+ public float progress;
+ public int totalDownloadCount;
+ public int currentDownloadCount;
+ public long totalDownloadSizeBytes;
+ public long currentDownloadSizeBytes;
+ public long downloadSpeedBytes;
+
+ public static void SendEventMessage(int groupId, int totalDownloadCount, int currentDownloadCount, long totalDownloadSizeBytes, long currentDownloadSizeBytes, long downloadSpeedBytes)
+ {
+ var msg = new PatchDownloadProgression();
+ msg.totalDownloadCount = totalDownloadCount;
+ msg.currentDownloadCount = currentDownloadCount;
+ msg.totalDownloadSizeBytes = totalDownloadSizeBytes;
+ msg.currentDownloadSizeBytes = currentDownloadSizeBytes;
+ msg.downloadSpeedBytes = downloadSpeedBytes;
+ msg.progress = (msg.currentDownloadSizeBytes * 1f) / (msg.totalDownloadSizeBytes * 1f);
+ UniEvent.SendMessage(groupId, msg);
+ }
+ }
+
+ ///
+ /// Download file error
+ ///
+ internal class PatchDownloadFailed : IEventMessage
+ {
+ public string fileName;
+ public string error;
+
+ public static void SendEventMessage(int groupId, string fileName, string error)
+ {
+ var msg = new PatchDownloadFailed();
+ msg.fileName = fileName;
+ msg.error = error;
+ UniEvent.SendMessage(groupId, msg);
+ }
+ }
+
+ ///
+ /// Download canceled
+ ///
+ public class PatchDownloadCanceled : IEventMessage
+ {
+ public static void SendEventMessage(int groupId)
+ {
+ var msg = new PatchDownloadCanceled();
+ UniEvent.SendMessage(groupId, msg);
+ }
+ }
+ }
+}
diff --git a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchEvent/PackageEvents.cs.meta b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchEvent/PackageEvents.cs.meta
new file mode 100644
index 00000000..1ddc3cd6
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchEvent/PackageEvents.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d1504fa54f4684c47ad53e2da6ce2100
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchEvent/PackageUserEvents.cs b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchEvent/PackageUserEvents.cs
new file mode 100644
index 00000000..e5ac4bf4
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchEvent/PackageUserEvents.cs
@@ -0,0 +1,86 @@
+using UniFramework.Event;
+
+namespace OxGFrame.AssetLoader.PatchEvent
+{
+ // 0. UserTryPatchRepair
+ // 1. UserTryInitPatchMode
+ // 2. UserBeginDownload
+ // 3. UserTryPatchVersionUpdate
+ // 4. UserTryPatchManifestUpdate
+ // 5. UserTryCreateDownloader
+
+ public static class PackageUserEvents
+ {
+ ///
+ /// User retry patch repair again
+ ///
+ internal class UserTryPatchRepair : IEventMessage
+ {
+ public static void SendEventMessage(int groupId)
+ {
+ var msg = new UserTryPatchRepair();
+ UniEvent.SendMessage(groupId, msg);
+ }
+ }
+
+ ///
+ /// User retry init patch mode again
+ ///
+ internal class UserTryInitPatchMode : IEventMessage
+ {
+ public static void SendEventMessage(int groupId)
+ {
+ var msg = new UserTryInitPatchMode();
+ UniEvent.SendMessage(groupId, msg);
+ }
+ }
+
+ ///
+ /// User begin download
+ ///
+ public class UserBeginDownload : IEventMessage
+ {
+ public static void SendEventMessage(int groupId)
+ {
+ var msg = new UserBeginDownload();
+ UniEvent.SendMessage(groupId, msg);
+ }
+ }
+
+ ///
+ /// User retry update patch version again
+ ///
+ internal class UserTryPatchVersionUpdate : IEventMessage
+ {
+ public static void SendEventMessage(int groupId)
+ {
+ var msg = new UserTryPatchVersionUpdate();
+ UniEvent.SendMessage(groupId, msg);
+ }
+ }
+
+ ///
+ /// User retry update patch manifest again
+ ///
+ internal class UserTryPatchManifestUpdate : IEventMessage
+ {
+ public static void SendEventMessage(int groupId)
+ {
+ var msg = new UserTryPatchManifestUpdate();
+ UniEvent.SendMessage(groupId, msg);
+ }
+ }
+
+ ///
+ /// User retry download again
+ ///
+ internal class UserTryCreateDownloader : IEventMessage
+ {
+ public static void SendEventMessage(int groupId)
+ {
+ var msg = new UserTryCreateDownloader();
+ UniEvent.SendMessage(groupId, msg);
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchEvent/PackageUserEvents.cs.meta b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchEvent/PackageUserEvents.cs.meta
new file mode 100644
index 00000000..768030dd
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchEvent/PackageUserEvents.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 8da3799a65001054bb7cab19b5714f7b
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchEvent/PatchUserEvents.cs b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchEvent/PatchUserEvents.cs
index af86849f..62c0650c 100644
--- a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchEvent/PatchUserEvents.cs
+++ b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchEvent/PatchUserEvents.cs
@@ -54,7 +54,7 @@ public static void SendEventMessage()
///
public class UserBeginDownload : IEventMessage
{
- public static void SendEventMessage(GroupInfo groupInfo = null)
+ public static void SendEventMessage(GroupInfo groupInfo)
{
var msg = new UserBeginDownload();
PatchManager.SetLastGroupInfo(groupInfo);
diff --git a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchFsm/PackageFsmStates.cs b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchFsm/PackageFsmStates.cs
new file mode 100644
index 00000000..0f348776
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchFsm/PackageFsmStates.cs
@@ -0,0 +1,707 @@
+using Cysharp.Threading.Tasks;
+using Newtonsoft.Json;
+using OxGFrame.AssetLoader.Bundle;
+using OxGFrame.AssetLoader.PatchEvent;
+using OxGFrame.AssetLoader.Utility;
+using OxGKit.LoggingSystem;
+using System;
+using System.Collections.Generic;
+using UniFramework.Machine;
+using YooAsset;
+
+namespace OxGFrame.AssetLoader.PatchFsm
+{
+ public static class PackageFsmStates
+ {
+ ///
+ /// 0. 修復流程
+ ///
+ public class FsmPatchRepair : IStateNode
+ {
+ private StateMachine _machine;
+ private int _hashId;
+ private int _retryCount = _RETRY_COUNT;
+
+ private const int _RETRY_COUNT = 1;
+
+ public FsmPatchRepair() { }
+
+ void IStateNode.OnCreate(StateMachine machine)
+ {
+ this._machine = machine;
+ this._hashId = (this._machine.Owner as PackageOperation).hashId;
+ }
+
+ void IStateNode.OnEnter()
+ {
+ // 流程準備
+ PackageEvents.PatchFsmState.SendEventMessage(this._hashId, this);
+ (this._machine.Owner as PackageOperation).MarkRepairState();
+ this._DeleteLocalSaveFiles().Forget();
+ }
+
+ void IStateNode.OnUpdate()
+ {
+ }
+
+ void IStateNode.OnExit()
+ {
+ }
+
+ private async UniTask _DeleteLocalSaveFiles()
+ {
+ // EditorSimulateMode skip repair
+ if (BundleConfig.playMode == BundleConfig.PlayMode.EditorSimulateMode)
+ {
+ this._machine.ChangeState();
+ return;
+ }
+
+ // Cancel main download first
+ (this._machine.Owner as PackageOperation).Cancel(false);
+
+ // Wait a frame
+ await UniTask.NextFrame();
+
+ // Get package names
+ var packageNames = (this._machine.Owner as PackageOperation).GetPackageNames();
+
+ bool isCleared = false;
+ foreach (var packageName in packageNames)
+ {
+ // Clear cache and files of package
+ isCleared = await PackageManager.UnloadPackageAndClearCacheFiles(packageName);
+ if (!isCleared) break;
+ }
+
+ if (isCleared || this._retryCount <= 0)
+ {
+ this._retryCount = _RETRY_COUNT;
+ this._machine.ChangeState();
+ }
+ else
+ {
+ this._retryCount--;
+ PackageEvents.PatchRepairFailed.SendEventMessage(this._hashId);
+ }
+ }
+ }
+
+ ///
+ /// 1. 流程準備工作
+ ///
+ public class FsmPatchPrepare : IStateNode
+ {
+ private StateMachine _machine;
+ private int _hashId;
+
+ public FsmPatchPrepare() { }
+
+ void IStateNode.OnCreate(StateMachine machine)
+ {
+ this._machine = machine;
+ this._hashId = (this._machine.Owner as PackageOperation).hashId;
+ }
+
+ void IStateNode.OnEnter()
+ {
+ // 流程準備
+ PackageEvents.PatchFsmState.SendEventMessage(this._hashId, this);
+ (this._machine.Owner as PackageOperation).MarkReadyAsDone();
+ this._machine.ChangeState();
+ }
+
+ void IStateNode.OnUpdate()
+ {
+ }
+
+ void IStateNode.OnExit()
+ {
+ }
+ }
+
+ ///
+ /// 2. 初始 Patch Mode
+ ///
+ public class FsmInitPatchMode : IStateNode
+ {
+ private StateMachine _machine;
+ private int _hashId;
+
+ public FsmInitPatchMode() { }
+
+ void IStateNode.OnCreate(StateMachine machine)
+ {
+ this._machine = machine;
+ this._hashId = (this._machine.Owner as PackageOperation).hashId;
+ }
+
+ void IStateNode.OnEnter()
+ {
+ // 初始更新資源配置
+ PackageEvents.PatchFsmState.SendEventMessage(this._hashId, this);
+ this._InitPatchMode().Forget();
+ }
+
+ void IStateNode.OnUpdate()
+ {
+ }
+
+ void IStateNode.OnExit()
+ {
+ }
+
+ private async UniTask _InitPatchMode()
+ {
+ await UniTask.Delay(TimeSpan.FromSeconds(0.1f), true);
+
+ var packageInfos = (this._machine.Owner as PackageOperation).GetPackageInfos();
+ if (packageInfos != null)
+ {
+ bool isInitialized = false;
+ foreach (var packageInfo in packageInfos)
+ {
+ string hostServer;
+ string fallbackHostServer;
+ IBuildinQueryServices builtinQueryService;
+ IDeliveryQueryServices deliveryQueryService;
+ IDeliveryLoadServices deliveryLoadService;
+
+ if (packageInfo is DlcPackageInfoWithBuild)
+ {
+ var packageDetail = packageInfo as DlcPackageInfoWithBuild;
+ hostServer = packageDetail.hostServer;
+ fallbackHostServer = packageDetail.fallbackHostServer;
+ builtinQueryService = packageDetail.builtinQueryService;
+ deliveryQueryService = packageDetail.deliveryQueryService;
+ deliveryLoadService = packageDetail.deliveryLoadService;
+
+ // Host Mode or WebGL Mode
+ if (BundleConfig.playMode == BundleConfig.PlayMode.HostMode ||
+ BundleConfig.playMode == BundleConfig.PlayMode.WebGLMode)
+ {
+ hostServer = string.IsNullOrEmpty(hostServer) ? await BundleConfig.GetDlcHostServerUrl(packageDetail.packageName, packageDetail.dlcVersion, packageDetail.withoutPlatform) : hostServer;
+ fallbackHostServer = string.IsNullOrEmpty(fallbackHostServer) ? await BundleConfig.GetDlcFallbackHostServerUrl(packageDetail.packageName, packageDetail.dlcVersion, packageDetail.withoutPlatform) : fallbackHostServer;
+ builtinQueryService = builtinQueryService == null ? new RequestBuiltinQuery() : builtinQueryService;
+ deliveryQueryService = deliveryQueryService == null ? new RequestDeliveryQuery() : deliveryQueryService;
+ deliveryLoadService = deliveryLoadService == null ? new RequestDeliveryQuery() : deliveryLoadService;
+ }
+ }
+ else if (packageInfo is AppPackageInfoWithBuild)
+ {
+ var packageDetail = packageInfo as AppPackageInfoWithBuild;
+ hostServer = null;
+ fallbackHostServer = null;
+ builtinQueryService = null;
+ deliveryQueryService = null;
+ deliveryLoadService = null;
+
+ // Host Mode or WebGL Mode
+ if (BundleConfig.playMode == BundleConfig.PlayMode.HostMode ||
+ BundleConfig.playMode == BundleConfig.PlayMode.WebGLMode)
+ {
+ hostServer = await BundleConfig.GetHostServerUrl(packageDetail.packageName);
+ fallbackHostServer = await BundleConfig.GetFallbackHostServerUrl(packageDetail.packageName);
+ builtinQueryService = new RequestBuiltinQuery();
+ deliveryQueryService = new RequestDeliveryQuery();
+ deliveryLoadService = new RequestDeliveryQuery();
+ }
+ }
+ else throw new Exception("Package info type error.");
+
+ isInitialized = await PackageManager.InitPackage(packageInfo, false, hostServer, fallbackHostServer, builtinQueryService, deliveryQueryService, deliveryLoadService);
+ if (!isInitialized)
+ {
+ PackageEvents.PatchInitPatchModeFailed.SendEventMessage(this._hashId);
+ break;
+ }
+ }
+
+ if (isInitialized)
+ {
+ this._machine.ChangeState();
+ Logging.Print("(Init) Init Patch");
+ }
+ else
+ {
+ PackageEvents.PatchInitPatchModeFailed.SendEventMessage(this._hashId);
+ }
+ }
+ else throw new Exception("Cannot get package infos (NULL).");
+ }
+ }
+
+ ///
+ /// 3. 更新 Patch Version
+ ///
+ public class FsmPatchVersionUpdate : IStateNode
+ {
+ private StateMachine _machine;
+ private int _hashId;
+
+ public FsmPatchVersionUpdate() { }
+
+ void IStateNode.OnCreate(StateMachine machine)
+ {
+ this._machine = machine;
+ this._hashId = (this._machine.Owner as PackageOperation).hashId;
+ }
+
+ void IStateNode.OnEnter()
+ {
+ // 獲取最新的資源版本
+ PackageEvents.PatchFsmState.SendEventMessage(this._hashId, this);
+ (this._machine.Owner as PackageOperation).MarkRepairAsDone();
+ this._UpdatePatchVersion().Forget();
+ }
+
+ void IStateNode.OnUpdate()
+ {
+ }
+
+ void IStateNode.OnExit()
+ {
+ }
+
+ private async UniTask _UpdatePatchVersion()
+ {
+ await UniTask.Delay(TimeSpan.FromSeconds(0.1f), true);
+
+ // Get packages
+ var packages = (this._machine.Owner as PackageOperation).GetPackages();
+
+ bool succeed = false;
+ List patchVersions = new List();
+ foreach (var package in packages)
+ {
+ var operation = package.UpdatePackageVersionAsync();
+ await operation;
+
+ if (operation.Status == EOperationStatus.Succeed)
+ {
+ succeed = true;
+ patchVersions.Add(operation.PackageVersion);
+ }
+ else
+ {
+ succeed = false;
+ PackageEvents.PatchVersionUpdateFailed.SendEventMessage(this._hashId);
+ Logging.Print($"Package: {package.PackageName} update version failed.");
+ break;
+ }
+ }
+
+ if (succeed)
+ {
+ this._machine.SetBlackboardValue(PackageOperation.KEY_PACKAGE_VERSIONS, patchVersions.ToArray());
+ this._machine.ChangeState();
+ }
+ }
+ }
+
+ ///
+ /// 4. 更新 Patch Manifest
+ ///
+ public class FsmPatchManifestUpdate : IStateNode
+ {
+ private StateMachine _machine;
+ private int _hashId;
+
+ public FsmPatchManifestUpdate() { }
+
+ void IStateNode.OnCreate(StateMachine machine)
+ {
+ this._machine = machine;
+ this._hashId = (this._machine.Owner as PackageOperation).hashId;
+ }
+
+ void IStateNode.OnEnter()
+ {
+ // 更新資源清單
+ PackageEvents.PatchFsmState.SendEventMessage(this._hashId, this);
+ this._UpdatePatchManifest().Forget();
+ }
+
+ void IStateNode.OnUpdate()
+ {
+ }
+
+ void IStateNode.OnExit()
+ {
+ }
+
+ private async UniTask _UpdatePatchManifest()
+ {
+ await UniTask.Delay(TimeSpan.FromSeconds(0.1f), true);
+
+ // Get packages
+ var packages = (this._machine.Owner as PackageOperation).GetPackages();
+ var packageVersions = (string[])this._machine.GetBlackboardValue(PackageOperation.KEY_PACKAGE_VERSIONS);
+
+ bool succeed = false;
+ for (int i = 0; i < packages.Length; i++)
+ {
+ var operation = packages[i].UpdatePackageManifestAsync(packageVersions[i]);
+ await operation;
+
+ if (operation.Status == EOperationStatus.Succeed)
+ {
+ succeed = true;
+ operation.SavePackageVersion();
+ Logging.Print($"Package: {packages[i].PackageName} Update completed successfully.");
+ }
+ else
+ {
+ succeed = false;
+ PackageEvents.PatchManifestUpdateFailed.SendEventMessage(this._hashId);
+ Logging.Print($"Package: {packages[i].PackageName} update manifest failed.");
+ break;
+ }
+ }
+
+ if (succeed) this._machine.ChangeState();
+ }
+ }
+
+ ///
+ /// 5. 創建資源下載器
+ ///
+ public class FsmCreateDownloader : IStateNode
+ {
+ private StateMachine _machine;
+ private int _hashId;
+
+ public FsmCreateDownloader() { }
+
+ void IStateNode.OnCreate(StateMachine machine)
+ {
+ this._machine = machine;
+ this._hashId = (this._machine.Owner as PackageOperation).hashId;
+ }
+
+ void IStateNode.OnEnter()
+ {
+ // 創建資源下載器
+ PackageEvents.PatchFsmState.SendEventMessage(this._hashId, this);
+ this._CreateDownloader();
+ (this._machine.Owner as PackageOperation).MarkReadyState();
+ }
+
+ void IStateNode.OnUpdate()
+ {
+ }
+
+ void IStateNode.OnExit()
+ {
+ }
+
+ private void _CreateDownloader()
+ {
+ // EditorSimulateMode or OfflineMode skip directly
+ if (BundleConfig.playMode == BundleConfig.PlayMode.EditorSimulateMode ||
+ BundleConfig.playMode == BundleConfig.PlayMode.OfflineMode)
+ {
+ this._machine.ChangeState();
+ return;
+ }
+
+ #region Create Downloader by Tags
+ // Get packages
+ var packages = (this._machine.Owner as PackageOperation).GetPackages();
+ var groupInfo = (this._machine.Owner as PackageOperation).groupInfo;
+
+ // Reset group info
+ groupInfo.totalCount = 0;
+ groupInfo.totalBytes = 0;
+
+ int totalDownloadCount;
+ long totalDownloadBytes;
+ for (int i = 0; i < packages.Length; i++)
+ {
+ var package = packages[i];
+
+ // all package
+ var downloader = package.CreateResourceDownloader(BundleConfig.maxConcurrencyDownloadCount, BundleConfig.failedRetryCount);
+ totalDownloadCount = downloader.TotalDownloadCount;
+ totalDownloadBytes = downloader.TotalDownloadBytes;
+ if (totalDownloadCount > 0)
+ {
+ groupInfo.totalCount += totalDownloadCount;
+ groupInfo.totalBytes += totalDownloadBytes;
+ }
+ }
+ #endregion
+
+ if (groupInfo.totalCount > 0)
+ {
+ bool skipDownload = (this._machine.Owner as PackageOperation).skipDownload;
+ if (skipDownload) this._machine.ChangeState();
+ else if ((this._machine.Owner as PackageOperation).IsBegin()) this._machine.ChangeState();
+
+ // 開始等待使用者選擇是否開始下載
+ }
+ else
+ {
+ Logging.Print($"GroupName: {groupInfo.groupName} not found any download files!!!");
+ this._machine.ChangeState();
+ }
+ }
+ }
+
+ ///
+ /// 6. 下載資源檔案
+ ///
+ public class FsmBeginDownload : IStateNode
+ {
+ private StateMachine _machine;
+ private int _hashId;
+
+ public FsmBeginDownload() { }
+
+ void IStateNode.OnCreate(StateMachine machine)
+ {
+ this._machine = machine;
+ this._hashId = (this._machine.Owner as PackageOperation).hashId;
+ }
+
+ void IStateNode.OnEnter()
+ {
+ // 下載資源檔案中
+ PackageEvents.PatchFsmState.SendEventMessage(this._hashId, this);
+ (this._machine.Owner as PackageOperation).MarkBeginState();
+ this._StartDownload().Forget();
+ }
+
+ void IStateNode.OnUpdate()
+ {
+ }
+
+ void IStateNode.OnExit()
+ {
+ }
+
+ private async UniTask _StartDownload()
+ {
+ // Get packages
+ var packages = (this._machine.Owner as PackageOperation).GetPackages();
+
+ // Get last GroupInfo by UserEvent Set
+ GroupInfo lastGroupInfo = (this._machine.Owner as PackageOperation).groupInfo;
+
+ Logging.Print($"Start Download Group Name: {lastGroupInfo?.groupName}, Tags: {JsonConvert.SerializeObject(lastGroupInfo?.tags)}");
+
+ List downloaders = new List();
+ foreach (var package in packages)
+ {
+ if (lastGroupInfo != null)
+ {
+ if (lastGroupInfo.tags != null && lastGroupInfo.tags.Length > 0) downloaders.Add(package.CreateResourceDownloader(lastGroupInfo.tags, BundleConfig.maxConcurrencyDownloadCount, BundleConfig.failedRetryCount));
+ else downloaders.Add(package.CreateResourceDownloader(BundleConfig.maxConcurrencyDownloadCount, BundleConfig.failedRetryCount));
+ }
+ }
+
+ // Set downloaders
+ (this._machine.Owner as PackageOperation).SetDownloaders(downloaders.ToArray());
+
+ // Combine all downloaders count and bytes
+ int totalCount = 0;
+ long totalBytes = 0;
+ foreach (var downloader in downloaders)
+ {
+ totalCount += downloader.TotalDownloadCount;
+ totalBytes += downloader.TotalDownloadBytes;
+ }
+
+ // Begin Download
+ int currentCount = 0;
+ long currentBytes = 0;
+ var downloadSpeedCalculator = new DownloadSpeedCalculator();
+ downloadSpeedCalculator.onDownloadSpeedProgress = (
+ int totalDownloadCount,
+ int currentDownloadCount,
+ long totalDownloadBytes,
+ long currentDownloadBytes,
+ long downloadSpeedBytes) =>
+ {
+ PackageEvents.PatchDownloadProgression.SendEventMessage(
+ this._hashId,
+ totalDownloadCount,
+ currentDownloadCount,
+ totalDownloadBytes,
+ currentDownloadBytes,
+ downloadSpeedBytes);
+ };
+ foreach (var downloader in downloaders)
+ {
+ int lastCount = 0;
+ long lastBytes = 0;
+ downloader.OnDownloadErrorCallback = (
+ string fileName,
+ string error) =>
+ {
+ PackageEvents.PatchDownloadFailed.SendEventMessage(
+ this._hashId,
+ fileName,
+ error);
+ };
+ downloader.OnDownloadProgressCallback =
+ (
+ int totalDownloadCount,
+ int currentDownloadCount,
+ long totalDownloadBytes,
+ long currentDownloadBytes) =>
+ {
+ currentCount += currentDownloadCount - lastCount;
+ lastCount = currentDownloadCount;
+ currentBytes += currentDownloadBytes - lastBytes;
+ lastBytes = currentDownloadBytes;
+ downloadSpeedCalculator.OnDownloadProgress(totalCount, currentCount, totalBytes, currentBytes);
+ };
+
+ downloader.BeginDownload();
+ await downloader;
+
+ if (downloader.Status != EOperationStatus.Succeed) return;
+ }
+
+ this._machine.ChangeState();
+ }
+ }
+
+ ///
+ /// 7. 資源下載完成
+ ///
+ public class FsmDownloadOver : IStateNode
+ {
+ private StateMachine _machine;
+ private int _hashId;
+
+ public FsmDownloadOver() { }
+
+ void IStateNode.OnCreate(StateMachine machine)
+ {
+ this._machine = machine;
+ this._hashId = (this._machine.Owner as PackageOperation).hashId;
+ }
+
+ void IStateNode.OnEnter()
+ {
+ // 資源下載完成
+ PackageEvents.PatchFsmState.SendEventMessage(this._hashId, this);
+ this._DownloadOver().Forget();
+ }
+
+ void IStateNode.OnUpdate()
+ {
+ }
+
+ void IStateNode.OnExit()
+ {
+ }
+
+ private async UniTask _DownloadOver()
+ {
+ await UniTask.Delay(TimeSpan.FromSeconds(0.1f), true);
+
+ // Get packages
+ var packages = (this._machine.Owner as PackageOperation).GetPackages();
+ var groupInfo = (this._machine.Owner as PackageOperation).groupInfo;
+
+ int packageTotalCount = 0;
+ ulong packageTotalSize = 0;
+ for (int i = 0; i < packages.Length; i++)
+ {
+ var package = packages[i];
+ packageTotalSize += AssetPatcher.GetPackageSizeInLocal(package.PackageName);
+ packageTotalCount += 1;
+ }
+
+ // Set packages total size
+ groupInfo.totalCount = packageTotalCount;
+ groupInfo.totalBytes = (long)packageTotalSize;
+
+ this._machine.ChangeState();
+ }
+ }
+
+ ///
+ /// 8. 清理未使用的緩存文件
+ ///
+ public class FsmClearCache : IStateNode
+ {
+ private StateMachine _machine;
+ private int _hashId;
+
+ public FsmClearCache() { }
+
+ void IStateNode.OnCreate(StateMachine machine)
+ {
+ this._machine = machine;
+ this._hashId = (this._machine.Owner as PackageOperation).hashId;
+ }
+
+ void IStateNode.OnEnter()
+ {
+ // 清理未使用的緩存文件
+ PackageEvents.PatchFsmState.SendEventMessage(this._hashId, this);
+ this._ClearUnusedCache().Forget();
+ }
+
+ void IStateNode.OnUpdate()
+ {
+ }
+
+ void IStateNode.OnExit()
+ {
+ }
+
+ private async UniTask _ClearUnusedCache()
+ {
+ await UniTask.Delay(TimeSpan.FromSeconds(0.1f), true);
+
+ // Get packages
+ var packages = (this._machine.Owner as PackageOperation).GetPackages();
+
+ foreach (var package in packages)
+ {
+ var operation = package.ClearUnusedCacheFilesAsync();
+ await operation;
+ }
+
+ this._machine.ChangeState();
+ }
+ }
+
+ ///
+ /// 9. 更新完畢
+ ///
+ public class FsmPatchDone : IStateNode
+ {
+ private StateMachine _machine;
+ private int _hashId;
+
+ public FsmPatchDone() { }
+
+ void IStateNode.OnCreate(StateMachine machine)
+ {
+ this._machine = machine;
+ this._hashId = (this._machine.Owner as PackageOperation).hashId;
+ }
+
+ void IStateNode.OnEnter()
+ {
+ // 更新完畢
+ PackageEvents.PatchFsmState.SendEventMessage(this._hashId, this);
+ (this._machine.Owner as PackageOperation).MarkPatchAsDone();
+ }
+
+ void IStateNode.OnUpdate()
+ {
+ }
+
+ void IStateNode.OnExit()
+ {
+ }
+ }
+ }
+}
diff --git a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchFsm/PackageFsmStates.cs.meta b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchFsm/PackageFsmStates.cs.meta
new file mode 100644
index 00000000..c7c0d026
--- /dev/null
+++ b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchFsm/PackageFsmStates.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 8f6e4a0d413df9a48ade0fa6ec4ff47f
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchFsm/PatchFsmStates.cs b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchFsm/PatchFsmStates.cs
index cd09b948..cd580e25 100644
--- a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchFsm/PatchFsmStates.cs
+++ b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchFsm/PatchFsmStates.cs
@@ -111,8 +111,6 @@ void IStateNode.OnEnter()
{
// 流程準備
PatchEvents.PatchFsmState.SendEventMessage(this);
- // 不管怎樣都進行修復完成的標記
- PatchManager.GetInstance().MarkRepairAsDone();
PatchManager.GetInstance().MarkCheckState();
this._machine.ChangeState();
}
@@ -375,22 +373,7 @@ private async UniTask _InitPatchMode()
{
await UniTask.Delay(TimeSpan.FromSeconds(0.1f), true);
- if (PatchManager.GetInstance().IsRepair() &&
- PackageManager.isInitialized)
- {
- // SimulateMode and OfflineMode doesn't need to update patch version and manifest
- if (BundleConfig.playMode == BundleConfig.PlayMode.EditorSimulateMode ||
- BundleConfig.playMode == BundleConfig.PlayMode.OfflineMode)
- {
- this._machine.ChangeState();
- return;
- }
-
- this._machine.ChangeState();
- Logging.Print("(Repair) Repair Patch");
- return;
- }
- else if (PackageManager.isInitialized)
+ if (PackageManager.isInitialized)
{
this._machine.ChangeState();
Logging.Print("(Check) Check Patch");
@@ -428,6 +411,7 @@ void IStateNode.OnEnter()
{
// 獲取最新的資源版本
PatchEvents.PatchFsmState.SendEventMessage(this);
+ PatchManager.GetInstance().MarkRepairAsDone();
this._UpdatePatchVersion().Forget();
}
@@ -514,11 +498,12 @@ private async UniTask _UpdatePatchManifest()
var appPackages = PackageManager.GetPresetAppPackages();
var dlcPackages = PackageManager.GetPresetDlcPackages();
var packages = appPackages.Concat(dlcPackages).ToArray();
+ var packageVersions = PatchManager.patchVersions;
bool succeed = false;
for (int i = 0; i < packages.Length; i++)
{
- var operation = packages[i].UpdatePackageManifestAsync(PatchManager.patchVersions[i]);
+ var operation = packages[i].UpdatePackageManifestAsync(packageVersions[i]);
await operation;
if (operation.Status == EOperationStatus.Succeed)
@@ -538,7 +523,7 @@ private async UniTask _UpdatePatchManifest()
if (succeed)
{
- if (BundleConfig.skipCreateMainDownloder) this._machine.ChangeState();
+ if (BundleConfig.skipMainDownload) this._machine.ChangeState();
else this._machine.ChangeState();
}
}
@@ -562,6 +547,7 @@ void IStateNode.OnEnter()
{
// 創建資源下載器
PatchEvents.PatchFsmState.SendEventMessage(this);
+ if (!PatchManager.GetInstance().IsCheck()) PatchManager.GetInstance().MarkCheckState();
this._CreateDownloader().Forget();
}
@@ -590,7 +576,7 @@ private async UniTask _CreateDownloader()
GroupInfo lastGroupInfo = PatchManager.GetLastGroupInfo();
Logging.Print($"Get last GroupName: {lastGroupInfo?.groupName}");
- #region Create Downaloder by Tags
+ #region Create Downloader by Tags
string url = await BundleConfig.GetHostServerPatchConfigPath();
string hostCfgJson = await Requester.RequestText(url, null, PatchEvents.PatchDownloadFailed.SendEventMessage, null, false);
PatchConfig patchCfg = JsonConvert.DeserializeObject(hostCfgJson);
@@ -749,9 +735,7 @@ private async UniTask _CreateDownloader()
if (newGroupInfos.Count > 0)
{
Logging.Print($"Auto check last GroupName: {lastGroupInfo?.groupName}");
-
Logging.Print($"Found total group {newGroupInfos.Count} to choose download =>\n{JsonConvert.SerializeObject(newGroupInfos)}");
-
PatchEvents.PatchCreateDownloader.SendEventMessage(newGroupInfos.Values.ToArray());
// 開始等待使用者選擇是否開始下載
@@ -759,7 +743,6 @@ private async UniTask _CreateDownloader()
else
{
Logging.Print($"GroupName: {lastGroupInfo?.groupName} not found any download files!!!");
-
this._machine.ChangeState();
}
}
@@ -816,7 +799,7 @@ private async UniTask _StartDownload()
}
}
- // Set Main Downloaders
+ // Set main downloaders
PatchManager.GetInstance().mainDownloaders = mainDownloaders.ToArray();
// Combine all main downloaders count and bytes
@@ -851,8 +834,8 @@ private async UniTask _StartDownload()
lastBytes = currentDownloadBytes;
downloadSpeedCalculator.OnDownloadProgress(totalCount, currentCount, totalBytes, currentBytes);
};
- downloader.BeginDownload();
+ downloader.BeginDownload();
await downloader;
if (downloader.Status != EOperationStatus.Succeed) return;
diff --git a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchLauncher.cs b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchLauncher.cs
index 141b0364..1819c830 100644
--- a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchLauncher.cs
+++ b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchLauncher.cs
@@ -61,7 +61,7 @@ private async void Awake()
if (this.playMode == BundleConfig.PlayMode.HostMode)
{
BundleConfig.semanticRule = this.semanticRule;
- BundleConfig.skipCreateMainDownloder = this.skipMainDownload;
+ BundleConfig.skipMainDownload = this.skipMainDownload;
}
// 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 e90550d7..2b7266ba 100644
--- a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchManager.cs
+++ b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/PatchManager.cs
@@ -65,37 +65,37 @@ public PatchManager()
switch (msgData.stateNode)
{
case PatchFsmStates.FsmPatchRepair:
- Logging.Print(" >>>> PatchFsmStates.FsmPatchRepair <<<< ");
+ Logging.Print(" >>>> PatchFsmStates.FsmPatchRepair <<<< ");
break;
case PatchFsmStates.FsmPatchPrepare:
- Logging.Print(" >>>> PatchFsmStates.FsmPatchPrepare <<<< ");
+ Logging.Print(" >>>> PatchFsmStates.FsmPatchPrepare <<<< ");
break;
case PatchFsmStates.FsmAppVersionUpdate:
- Logging.Print(" >>>> PatchFsmStates.FsmAppVersionUpdate <<<< ");
+ Logging.Print(" >>>> PatchFsmStates.FsmAppVersionUpdate <<<< ");
break;
case PatchFsmStates.FsmInitPatchMode:
- Logging.Print(" >>>> PatchFsmStates.FsmInitPatchMode <<<< ");
+ Logging.Print(" >>>> PatchFsmStates.FsmInitPatchMode <<<< ");
break;
case PatchFsmStates.FsmPatchVersionUpdate:
- Logging.Print(" >>>> PatchFsmStates.FsmPatchVersionUpdate <<<< ");
+ Logging.Print(" >>>> PatchFsmStates.FsmPatchVersionUpdate <<<< ");
break;
case PatchFsmStates.FsmPatchManifestUpdate:
- Logging.Print(" >>>> PatchFsmStates.FsmPatchManifestUpdate <<<< ");
+ Logging.Print(" >>>> PatchFsmStates.FsmPatchManifestUpdate <<<< ");
break;
case PatchFsmStates.FsmCreateDownloader:
- Logging.Print(" >>>> PatchFsmStates.FsmCreateDownloader <<<< ");
+ Logging.Print(" >>>> PatchFsmStates.FsmCreateDownloader <<<< ");
break;
case PatchFsmStates.FsmBeginDownload:
- Logging.Print(" >>>> PatchFsmStates.FsmBeginDownloadFiles <<<< ");
+ Logging.Print(" >>>> PatchFsmStates.FsmBeginDownloadFiles <<<< ");
break;
case PatchFsmStates.FsmDownloadOver:
- Logging.Print(" >>>> PatchFsmStates.FsmDownloadOver <<<< ");
+ Logging.Print(" >>>> PatchFsmStates.FsmDownloadOver <<<< ");
break;
case PatchFsmStates.FsmClearCache:
- Logging.Print(" >>>> PatchFsmStates.FsmClearCache <<<< ");
+ Logging.Print(" >>>> PatchFsmStates.FsmClearCache <<<< ");
break;
case PatchFsmStates.FsmPatchDone:
- Logging.Print(" >>>> PatchFsmStates.FsmPatchDone <<<< ");
+ Logging.Print(" >>>> PatchFsmStates.FsmPatchDone <<<< ");
break;
}
});
@@ -126,6 +126,13 @@ public PatchManager()
this._patchFsm.AddNode();
}
+ ~PatchManager()
+ {
+ this.Cancel();
+ this._userEvents.RemoveAllListener();
+ this._patchFsm = null;
+ }
+
#region Patch Operation
///
/// 開啟檢查流程
@@ -138,7 +145,7 @@ public void Check()
}
else
{
- Logging.PrintWarning("Patch Checking...");
+ Logging.PrintWarning("Patch checking...");
}
}
@@ -153,7 +160,7 @@ public void Repair()
}
else
{
- Logging.PrintWarning("Patch Repairing...");
+ Logging.PrintWarning("Patch repairing...");
}
}
@@ -192,6 +199,8 @@ public void Cancel(bool sendEvent = true)
downloader.CancelDownload();
}
if (sendEvent) PatchEvents.PatchDownloadCanceled.SendEventMessage();
+ this.MarkCheckAsDone();
+ this.MarkRepairAsDone();
}
#endregion
@@ -205,6 +214,14 @@ public void MarkCheckState()
this._isCheck = true;
}
+ ///
+ /// 標記 Check 結束
+ ///
+ public void MarkCheckAsDone()
+ {
+ this._isCheck = false;
+ }
+
///
/// 標記 Repair 狀態
///
@@ -215,21 +232,21 @@ public void MarkRepairState()
}
///
- /// 標記 Patch 結束
+ /// 標記 Repair 結束
///
- public void MarkPatchAsDone()
+ public void MarkRepairAsDone()
{
- this._isDone = true;
- this._isCheck = false;
this._isRepair = false;
this.mainDownloaders = null;
}
///
- /// 標記 Repair 結束
+ /// 標記 Patch 結束
///
- public void MarkRepairAsDone()
+ public void MarkPatchAsDone()
{
+ this._isDone = true;
+ this._isCheck = false;
this._isRepair = false;
this.mainDownloaders = null;
}
@@ -299,11 +316,5 @@ private void _OnHandleEventMessage(IEventMessage message)
}
}
#endregion
-
- ~PatchManager()
- {
- this._userEvents.RemoveAllListener();
- this._patchFsm = null;
- }
}
}
diff --git a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Utility/BundleUtility.cs b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Utility/BundleUtility.cs
index 1a9c01ee..8adf4add 100644
--- a/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Utility/BundleUtility.cs
+++ b/Assets/OxGFrame/AssetLoader/Scripts/Runtime/Utility/BundleUtility.cs
@@ -7,6 +7,8 @@
using System.Threading;
using System.Collections.Generic;
using OxGKit.LoggingSystem;
+using System.Linq;
+using OxGFrame.AssetLoader.Bundle;
namespace OxGFrame.AssetLoader.Utility
{
@@ -257,6 +259,41 @@ public static async UniTask RequestAndCopyFileFromStreamingAssets(string sourceF
#endregion
#region Version
+ ///
+ /// Get newest version
+ ///
+ ///
+ ///
+ public static string NewestPackageVersion(string[] versions)
+ {
+ if (versions == null || (versions != null && versions.Length == 0)) return string.Empty;
+
+ #region Newest Filter
+ Dictionary packageVersions = new Dictionary();
+ foreach (var version in versions)
+ {
+ if (string.IsNullOrEmpty(version) ||
+ version.IndexOf('-') <= -1) continue;
+
+ string major = version.Substring(0, version.LastIndexOf("-"));
+ string minor = version.Substring(version.LastIndexOf("-") + 1, version.Length - version.LastIndexOf("-") - 1);
+
+ // yyyy-mm-dd
+ major = major.Trim().Replace("-", string.Empty);
+ // 24 h * 60 m = 1440 m (max is 4 num of digits)
+ minor = minor.Trim().PadLeft(4, '0');
+ //Debug.Log($"Major Date: {major}, Minor Minute: {minor} => {major}{minor}");
+
+ string refineVersionName = $"{major}{minor}";
+ if (decimal.TryParse(refineVersionName, out decimal value)) packageVersions.Add(version, value);
+ }
+
+ string newestVersion = packageVersions.Count > 0 ? packageVersions.Aggregate((x, y) => x.Value > y.Value ? x : y).Key : string.Empty;
+ #endregion
+
+ return newestVersion;
+ }
+
///
/// Get version hash
///
diff --git a/Assets/OxGFrame/CHANGELOG.md b/Assets/OxGFrame/CHANGELOG.md
index cdb2ad01..b65dea5e 100644
--- a/Assets/OxGFrame/CHANGELOG.md
+++ b/Assets/OxGFrame/CHANGELOG.md
@@ -1,5 +1,65 @@
# CHANGELOG
+## [2.9.9] - 2023-12-18
+- Added PackageOperation feature, can download packages more easier (please checkout BundleDLCDemo).
+```C#
+ // Factory Mode
+ public static PackageOperation CreateOperation(string groupName, PackageInfoWithBuild packageInfo, bool skipDownload = false)
+ public static PackageOperation CreateOperation(string groupName, PackageInfoWithBuild[] packageInfos, bool skipDownload = false)
+
+ // Use Example
+ var packageOperations = new PackageOperation[]
+ {
+ new PackageOperation
+ (
+ "DLC Package 1",
+ new DlcPackageInfoWithBuild()
+ {
+ buildMode = BuildMode.ScriptableBuildPipeline,
+ packageName = "DlcPackage",
+ dlcVersion = "latest"
+ },
+ false
+ ),
+ new PackageOperation
+ (
+ "DLC Pacakge 2",
+ new DlcPackageInfoWithBuild()
+ {
+ buildMode = BuildMode.ScriptableBuildPipeline,
+ packageName = "OtherPackage",
+ dlcVersion = "latest"
+ },
+ false
+ )
+ };
+```
+- Added BundleDLCDemo for operate PackageOperation.
+- Modified params to PackageInfoWithBuild.
+```C#
+ public abstract class PackageInfoWithBuild
+ {
+ [Tooltip("Only for EditorSimulateMode")]
+ public BuildMode buildMode;
+ public string packageName;
+
+ ///
+ /// Custom host server
+ ///
+ [HideInInspector]
+ public string hostServer = null;
+ ///
+ /// Custom fallback host server
+ ///
+ [HideInInspector]
+ public string fallbackHostServer = null;
+ public IBuildinQueryServices builtinQueryService = null;
+ public IDeliveryQueryServices deliveryQueryService = null;
+ public IDeliveryLoadServices deliveryLoadService = null;
+ }
+```
+- Removed method InitCustomPackage from AssetPatcher.
+
## [2.9.8] - 2023-12-08
- Added Generate binding code rule (MethodType: Manual, Auto, default is Auto).
```C#
diff --git a/Assets/OxGFrame/MediaFrame/Scripts/Runtime/Core/Implement/MediaBase.cs b/Assets/OxGFrame/MediaFrame/Scripts/Runtime/Core/Implement/MediaBase.cs
index 0f890007..c25dbdd9 100644
--- a/Assets/OxGFrame/MediaFrame/Scripts/Runtime/Core/Implement/MediaBase.cs
+++ b/Assets/OxGFrame/MediaFrame/Scripts/Runtime/Core/Implement/MediaBase.cs
@@ -167,9 +167,8 @@ public virtual void SetEndEvent(Action endEvent)
///
public virtual void OnRelease()
{
- this.mediaName = null;
- //this.bundleName = null;
this.assetName = null;
+ this.mediaName = null;
this._mediaLength = 0f;
this._currentLength = 0f;
this._endEvent = null;
diff --git a/Assets/OxGFrame/Samples~/BundleDLCDemo.meta b/Assets/OxGFrame/Samples~/BundleDLCDemo.meta
new file mode 100644
index 00000000..92ed3eed
--- /dev/null
+++ b/Assets/OxGFrame/Samples~/BundleDLCDemo.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: bd94bf871c20fa94b9842dbb95ae5a05
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/Samples~/BundleDLCDemo/BundleDLCDemo.unity b/Assets/OxGFrame/Samples~/BundleDLCDemo/BundleDLCDemo.unity
new file mode 100644
index 00000000..a3015a91
--- /dev/null
+++ b/Assets/OxGFrame/Samples~/BundleDLCDemo/BundleDLCDemo.unity
@@ -0,0 +1,6263 @@
+%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: 3
+ m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+ m_SkyboxMaterial: {fileID: 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 &3
+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: 0
+ m_EnableRealtimeLightmaps: 0
+ m_LightmapEditorSettings:
+ serializedVersion: 12
+ m_Resolution: 2
+ m_BakeResolution: 40
+ m_AtlasSize: 1024
+ m_AO: 0
+ m_AOMaxDistance: 1
+ m_CompAOExponent: 1
+ 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: 256
+ m_ReflectionCompression: 2
+ m_MixedBakeMode: 2
+ m_BakeBackend: 1
+ m_PVRSampling: 1
+ m_PVRDirectSampleCount: 32
+ m_PVRSampleCount: 512
+ m_PVRBounces: 2
+ m_PVREnvironmentSampleCount: 256
+ m_PVREnvironmentReferencePointCount: 2048
+ m_PVRFilteringMode: 1
+ m_PVRDenoiserTypeDirect: 1
+ m_PVRDenoiserTypeIndirect: 1
+ m_PVRDenoiserTypeAO: 1
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVREnvironmentMIS: 1
+ 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: 0}
+--- !u!196 &4
+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 &52105993
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 52105994}
+ - component: {fileID: 52105996}
+ - component: {fileID: 52105995}
+ m_Layer: 5
+ m_Name: Background
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &52105994
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 52105993}
+ 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:
+ - {fileID: 1990000096}
+ m_Father: {fileID: 1546549033}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &52105995
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 52105993}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.1792453, g: 0.1792453, b: 0.1792453, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &52105996
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 52105993}
+ m_CullTransparentMesh: 1
+--- !u!1 &117739117
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 117739118}
+ - component: {fileID: 117739120}
+ - component: {fileID: 117739119}
+ m_Layer: 5
+ m_Name: Checkmark
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &117739118
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 117739117}
+ 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: 942876986}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &117739119
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 117739117}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 0.68073237, b: 0, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &117739120
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 117739117}
+ m_CullTransparentMesh: 1
+--- !u!1 &134868441
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 134868442}
+ m_Layer: 5
+ m_Name: ProgressGroup
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 0
+--- !u!224 &134868442
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 134868441}
+ 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:
+ - {fileID: 1855075419}
+ - {fileID: 1370941817}
+ - {fileID: 520785769}
+ m_Father: {fileID: 705387328}
+ m_RootOrder: 5
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0}
+ m_AnchorMax: {x: 0.5, y: 0}
+ m_AnchoredPosition: {x: 0, y: 44.505005}
+ m_SizeDelta: {x: 960, y: 89.01}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &218859106
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 218859107}
+ - component: {fileID: 218859110}
+ - component: {fileID: 218859109}
+ - component: {fileID: 218859108}
+ m_Layer: 5
+ m_Name: Text (Legacy)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &218859107
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 218859106}
+ 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: 1683851492}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 1}
+ m_AnchorMax: {x: 0.5, y: 1}
+ m_AnchoredPosition: {x: 0, y: 30}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &218859108
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 218859106}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalFit: 2
+ m_VerticalFit: 2
+--- !u!114 &218859109
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 218859106}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 30
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 2
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: IsBegin
+--- !u!222 &218859110
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 218859106}
+ m_CullTransparentMesh: 1
+--- !u!1 &298761248
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 298761249}
+ - component: {fileID: 298761252}
+ - component: {fileID: 298761251}
+ - component: {fileID: 298761250}
+ m_Layer: 5
+ m_Name: Text (Legacy)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &298761249
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 298761248}
+ 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: 471363149}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 1}
+ m_AnchorMax: {x: 0.5, y: 1}
+ m_AnchoredPosition: {x: 0, y: 30}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &298761250
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 298761248}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalFit: 2
+ m_VerticalFit: 2
+--- !u!114 &298761251
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 298761248}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 30
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 2
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: IsBegin
+--- !u!222 &298761252
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 298761248}
+ m_CullTransparentMesh: 1
+--- !u!1 &306853279
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 306853280}
+ - component: {fileID: 306853282}
+ - component: {fileID: 306853281}
+ m_Layer: 5
+ m_Name: Checkmark
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &306853280
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 306853279}
+ 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: 1464378108}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &306853281
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 306853279}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 0.68073237, b: 0, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &306853282
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 306853279}
+ m_CullTransparentMesh: 1
+--- !u!1001 &380145766
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 5015912702362567905, guid: 992bffa5c79679749861326baa5441c6,
+ type: 3}
+ propertyPath: m_Name
+ value: PatchLauncher
+ objectReference: {fileID: 0}
+ - target: {fileID: 5015912702362567918, guid: 992bffa5c79679749861326baa5441c6,
+ type: 3}
+ propertyPath: m_RootOrder
+ value: 4
+ objectReference: {fileID: 0}
+ - target: {fileID: 5015912702362567918, guid: 992bffa5c79679749861326baa5441c6,
+ type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5015912702362567918, guid: 992bffa5c79679749861326baa5441c6,
+ type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5015912702362567918, guid: 992bffa5c79679749861326baa5441c6,
+ type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5015912702362567918, guid: 992bffa5c79679749861326baa5441c6,
+ type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 5015912702362567918, guid: 992bffa5c79679749861326baa5441c6,
+ type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5015912702362567918, guid: 992bffa5c79679749861326baa5441c6,
+ type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5015912702362567918, guid: 992bffa5c79679749861326baa5441c6,
+ type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5015912702362567918, guid: 992bffa5c79679749861326baa5441c6,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5015912702362567918, guid: 992bffa5c79679749861326baa5441c6,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5015912702362567918, guid: 992bffa5c79679749861326baa5441c6,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5015912702362567919, guid: 992bffa5c79679749861326baa5441c6,
+ type: 3}
+ propertyPath: playMode
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5015912702362567919, guid: 992bffa5c79679749861326baa5441c6,
+ type: 3}
+ propertyPath: decryptArgs
+ value: aes,aes_key_michaelO_birthday1125,birthday1125
+ objectReference: {fileID: 0}
+ - target: {fileID: 5015912702362567919, guid: 992bffa5c79679749861326baa5441c6,
+ type: 3}
+ propertyPath: skipMainDownload
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5015912702362567919, guid: 992bffa5c79679749861326baa5441c6,
+ type: 3}
+ propertyPath: semanticRule.patch
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5015912702362567919, guid: 992bffa5c79679749861326baa5441c6,
+ type: 3}
+ propertyPath: semanticRule._patch
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5015912702362567919, guid: 992bffa5c79679749861326baa5441c6,
+ type: 3}
+ propertyPath: skipPatchDownloadStep
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 5015912702362567919, guid: 992bffa5c79679749861326baa5441c6,
+ type: 3}
+ propertyPath: listPackage.Array.size
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 5015912702362567919, guid: 992bffa5c79679749861326baa5441c6,
+ type: 3}
+ propertyPath: listPackages.Array.size
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 5015912702362567919, guid: 992bffa5c79679749861326baa5441c6,
+ type: 3}
+ propertyPath: skipCreateMainDownloder
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 5015912702362567919, guid: 992bffa5c79679749861326baa5441c6,
+ type: 3}
+ propertyPath: _decryptInfo._decryptArgs
+ value: NONE
+ objectReference: {fileID: 0}
+ - target: {fileID: 5015912702362567919, guid: 992bffa5c79679749861326baa5441c6,
+ type: 3}
+ propertyPath: _decryptInfo.secureMemory
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 5015912702362567919, guid: 992bffa5c79679749861326baa5441c6,
+ type: 3}
+ propertyPath: listPackage.Array.data[1]
+ value: HotfixPackage
+ objectReference: {fileID: 0}
+ - target: {fileID: 5015912702362567919, guid: 992bffa5c79679749861326baa5441c6,
+ type: 3}
+ propertyPath: listAppPackages.Array.size
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 5015912702362567919, guid: 992bffa5c79679749861326baa5441c6,
+ type: 3}
+ propertyPath: listDlcPackages.Array.size
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5015912702362567919, guid: 992bffa5c79679749861326baa5441c6,
+ type: 3}
+ propertyPath: listPackages.Array.data[0]
+ value: DefaultPackage
+ objectReference: {fileID: 0}
+ - target: {fileID: 5015912702362567919, guid: 992bffa5c79679749861326baa5441c6,
+ type: 3}
+ propertyPath: listPackages.Array.data[1]
+ value: OtherPackage
+ objectReference: {fileID: 0}
+ - target: {fileID: 5015912702362567919, guid: 992bffa5c79679749861326baa5441c6,
+ type: 3}
+ propertyPath: breakpointFileSizeThreshold
+ value: 20971520
+ objectReference: {fileID: 0}
+ - target: {fileID: 5015912702362567919, guid: 992bffa5c79679749861326baa5441c6,
+ type: 3}
+ propertyPath: listDlcPackages.Array.data[0].dlcVersion
+ value:
+ objectReference: {fileID: 0}
+ - target: {fileID: 5015912702362567919, guid: 992bffa5c79679749861326baa5441c6,
+ type: 3}
+ propertyPath: listAppPackages.Array.data[1].packageName
+ value: DefaultPackage
+ objectReference: {fileID: 0}
+ - target: {fileID: 5015912702362567919, guid: 992bffa5c79679749861326baa5441c6,
+ type: 3}
+ propertyPath: listAppPackages.Array.data[2].packageName
+ value: OtherPackage
+ objectReference: {fileID: 0}
+ - target: {fileID: 5015912702362567919, guid: 992bffa5c79679749861326baa5441c6,
+ type: 3}
+ propertyPath: listDlcPackages.Array.data[0].packageName
+ value:
+ objectReference: {fileID: 0}
+ - target: {fileID: 5015912702362567919, guid: 992bffa5c79679749861326baa5441c6,
+ type: 3}
+ propertyPath: listDlcPackages.Array.data[0].withoutPlatform
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 992bffa5c79679749861326baa5441c6, type: 3}
+--- !u!1 &406124443
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 406124444}
+ - component: {fileID: 406124446}
+ - component: {fileID: 406124445}
+ m_Layer: 5
+ m_Name: Background
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &406124444
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 406124443}
+ 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:
+ - {fileID: 2072024459}
+ m_Father: {fileID: 1671256113}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &406124445
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 406124443}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.1792453, g: 0.1792453, b: 0.1792453, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &406124446
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 406124443}
+ m_CullTransparentMesh: 1
+--- !u!1 &428600411
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 428600412}
+ - component: {fileID: 428600415}
+ - component: {fileID: 428600414}
+ - component: {fileID: 428600413}
+ m_Layer: 5
+ m_Name: CancelBtn
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &428600412
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 428600411}
+ 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:
+ - {fileID: 1588311411}
+ m_Father: {fileID: 705387328}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 1, y: 1}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: -197.5, y: -50.5}
+ m_SizeDelta: {x: 125, y: 75}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &428600413
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 428600411}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 428600414}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!114 &428600414
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 428600411}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.9811321, g: 0.64486116, b: 0, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &428600415
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 428600411}
+ m_CullTransparentMesh: 1
+--- !u!1 &471363148
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 471363149}
+ - component: {fileID: 471363150}
+ m_Layer: 5
+ m_Name: BeginState
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &471363149
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 471363148}
+ 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:
+ - {fileID: 1084668552}
+ - {fileID: 298761249}
+ m_Father: {fileID: 996682633}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &471363150
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 471363148}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 0
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 0
+ m_TargetGraphic: {fileID: 1084668553}
+ toggleTransition: 0
+ graphic: {fileID: 1382782285}
+ m_Group: {fileID: 0}
+ onValueChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_IsOn: 0
+--- !u!1 &507659296
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 507659297}
+ - component: {fileID: 507659299}
+ - component: {fileID: 507659298}
+ m_Layer: 5
+ m_Name: StateToggles
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &507659297
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 507659296}
+ 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:
+ - {fileID: 1955078289}
+ - {fileID: 1683851492}
+ - {fileID: 837204696}
+ - {fileID: 1671256113}
+ m_Father: {fileID: 1325809837}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 275, y: -50}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &507659298
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 507659296}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalFit: 2
+ m_VerticalFit: 2
+--- !u!114 &507659299
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 507659296}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_ChildAlignment: 4
+ m_Spacing: 50
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 1
+ m_ChildControlWidth: 0
+ m_ChildControlHeight: 0
+ m_ChildScaleWidth: 1
+ m_ChildScaleHeight: 1
+ m_ReverseArrangement: 0
+--- !u!1 &520785768
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 520785769}
+ - component: {fileID: 520785772}
+ - component: {fileID: 520785771}
+ - component: {fileID: 520785770}
+ m_Layer: 5
+ m_Name: patchInfo
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &520785769
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 520785768}
+ 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: 134868442}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0}
+ m_AnchorMax: {x: 0.5, y: 0}
+ m_AnchoredPosition: {x: 0, y: 19.5}
+ m_SizeDelta: {x: 271, y: 39}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &520785770
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 520785768}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalFit: 2
+ m_VerticalFit: 2
+--- !u!114 &520785771
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 520785768}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 35
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 3
+ m_MaxSize: 50
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: 'Package Size: 00'
+--- !u!222 &520785772
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 520785768}
+ m_CullTransparentMesh: 1
+--- !u!1 &560227808
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 560227809}
+ - component: {fileID: 560227812}
+ - component: {fileID: 560227811}
+ - component: {fileID: 560227810}
+ m_Layer: 5
+ m_Name: BeginBtn
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &560227809
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 560227808}
+ 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:
+ - {fileID: 1080031726}
+ m_Father: {fileID: 705387328}
+ m_RootOrder: 4
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 1, y: 1}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: -332.5, y: -50.5}
+ m_SizeDelta: {x: 125, y: 75}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &560227810
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 560227808}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 560227811}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!114 &560227811
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 560227808}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0.7735849, b: 0.63542145, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &560227812
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 560227808}
+ m_CullTransparentMesh: 1
+--- !u!1 &611173463
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 611173464}
+ - component: {fileID: 611173467}
+ - component: {fileID: 611173466}
+ - component: {fileID: 611173465}
+ m_Layer: 5
+ m_Name: DeleteBtn
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &611173464
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 611173463}
+ 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:
+ - {fileID: 639958551}
+ m_Father: {fileID: 705387328}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 1, y: 1}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: -62.5, y: -50.5}
+ m_SizeDelta: {x: 125, y: 75}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &611173465
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 611173463}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 611173466}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!114 &611173466
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 611173463}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 0, b: 0.28477097, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &611173467
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 611173463}
+ m_CullTransparentMesh: 1
+--- !u!1 &623418968
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 623418969}
+ m_Layer: 5
+ m_Name: Sliding Area
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &623418969
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 623418968}
+ 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:
+ - {fileID: 1396931519}
+ m_Father: {fileID: 1855075419}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &639022565
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 639022566}
+ - component: {fileID: 639022569}
+ - component: {fileID: 639022568}
+ - component: {fileID: 639022567}
+ m_Layer: 5
+ m_Name: patchInfo
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &639022566
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 639022565}
+ 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: 1096993846}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0}
+ m_AnchorMax: {x: 0.5, y: 0}
+ m_AnchoredPosition: {x: 0, y: 19.5}
+ m_SizeDelta: {x: 271, y: 39}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &639022567
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 639022565}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalFit: 2
+ m_VerticalFit: 2
+--- !u!114 &639022568
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 639022565}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 35
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 3
+ m_MaxSize: 50
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: 'Package Size: 00'
+--- !u!222 &639022569
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 639022565}
+ m_CullTransparentMesh: 1
+--- !u!1 &639958550
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 639958551}
+ - component: {fileID: 639958553}
+ - component: {fileID: 639958552}
+ m_Layer: 5
+ m_Name: Text (Legacy)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &639958551
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 639958550}
+ 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: 611173464}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &639958552
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 639958550}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 30
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 2
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: Delete
+--- !u!222 &639958553
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 639958550}
+ m_CullTransparentMesh: 1
+--- !u!1 &642204883
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 642204884}
+ - component: {fileID: 642204887}
+ - component: {fileID: 642204886}
+ - component: {fileID: 642204885}
+ m_Layer: 5
+ m_Name: CancelBtn
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &642204884
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 642204883}
+ 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:
+ - {fileID: 1495822312}
+ m_Father: {fileID: 1325809837}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 1, y: 1}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: -197.5, y: -50.5}
+ m_SizeDelta: {x: 125, y: 75}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &642204885
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 642204883}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 642204886}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!114 &642204886
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 642204883}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.9811321, g: 0.64486116, b: 0, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &642204887
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 642204883}
+ m_CullTransparentMesh: 1
+--- !u!1 &669971853
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 669971854}
+ - component: {fileID: 669971857}
+ - component: {fileID: 669971856}
+ - component: {fileID: 669971855}
+ m_Layer: 5
+ m_Name: Text (Legacy)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &669971854
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 669971853}
+ 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: 705795399}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 1}
+ m_AnchorMax: {x: 0.5, y: 1}
+ m_AnchoredPosition: {x: 0, y: 30}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &669971855
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 669971853}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalFit: 2
+ m_VerticalFit: 2
+--- !u!114 &669971856
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 669971853}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 30
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 2
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: IsDone
+--- !u!222 &669971857
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 669971853}
+ m_CullTransparentMesh: 1
+--- !u!1 &678942805
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 678942806}
+ - component: {fileID: 678942809}
+ - component: {fileID: 678942808}
+ - component: {fileID: 678942807}
+ m_Layer: 5
+ m_Name: BeginBtn
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &678942806
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 678942805}
+ 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:
+ - {fileID: 1332041196}
+ m_Father: {fileID: 1325809837}
+ m_RootOrder: 4
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 1, y: 1}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: -332.5, y: -50.5}
+ m_SizeDelta: {x: 125, y: 75}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &678942807
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 678942805}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 678942808}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!114 &678942808
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 678942805}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0.7735849, b: 0.63542145, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &678942809
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 678942805}
+ m_CullTransparentMesh: 1
+--- !u!1 &705387327
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 705387328}
+ m_Layer: 5
+ m_Name: D2_Group
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &705387328
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 705387327}
+ 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:
+ - {fileID: 1134013814}
+ - {fileID: 996682633}
+ - {fileID: 611173464}
+ - {fileID: 428600412}
+ - {fileID: 560227809}
+ - {fileID: 134868442}
+ - {fileID: 1176204245}
+ m_Father: {fileID: 1525092496}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 960, y: 210}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &705795398
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 705795399}
+ - component: {fileID: 705795400}
+ m_Layer: 5
+ m_Name: DoneState
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &705795399
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 705795398}
+ 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:
+ - {fileID: 1620355712}
+ - {fileID: 669971854}
+ m_Father: {fileID: 996682633}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &705795400
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 705795398}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 0
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 0
+ m_TargetGraphic: {fileID: 1620355713}
+ toggleTransition: 0
+ graphic: {fileID: 1640049697}
+ m_Group: {fileID: 0}
+ onValueChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_IsOn: 0
+--- !u!1 &837204695
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 837204696}
+ - component: {fileID: 837204697}
+ m_Layer: 5
+ m_Name: RepairState
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &837204696
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 837204695}
+ 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:
+ - {fileID: 942876986}
+ - {fileID: 2027386937}
+ m_Father: {fileID: 507659297}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &837204697
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 837204695}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 0
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 0
+ m_TargetGraphic: {fileID: 942876987}
+ toggleTransition: 0
+ graphic: {fileID: 117739119}
+ m_Group: {fileID: 0}
+ onValueChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_IsOn: 0
+--- !u!1 &942876985
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 942876986}
+ - component: {fileID: 942876988}
+ - component: {fileID: 942876987}
+ m_Layer: 5
+ m_Name: Background
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &942876986
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 942876985}
+ 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:
+ - {fileID: 117739118}
+ m_Father: {fileID: 837204696}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &942876987
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 942876985}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.1792453, g: 0.1792453, b: 0.1792453, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &942876988
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 942876985}
+ m_CullTransparentMesh: 1
+--- !u!1 &996682632
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 996682633}
+ - component: {fileID: 996682635}
+ - component: {fileID: 996682634}
+ m_Layer: 5
+ m_Name: StateToggles
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &996682633
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 996682632}
+ 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:
+ - {fileID: 1546549033}
+ - {fileID: 471363149}
+ - {fileID: 1909827314}
+ - {fileID: 705795399}
+ m_Father: {fileID: 705387328}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 275, y: -50}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &996682634
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 996682632}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalFit: 2
+ m_VerticalFit: 2
+--- !u!114 &996682635
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 996682632}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_ChildAlignment: 4
+ m_Spacing: 50
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 1
+ m_ChildControlWidth: 0
+ m_ChildControlHeight: 0
+ m_ChildScaleWidth: 1
+ m_ChildScaleHeight: 1
+ m_ReverseArrangement: 0
+--- !u!1 &1074202647
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1074202648}
+ - component: {fileID: 1074202650}
+ - component: {fileID: 1074202649}
+ - component: {fileID: 1074202651}
+ m_Layer: 5
+ m_Name: DlcName
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1074202648
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1074202647}
+ 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: 1325809837}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 1, y: 1}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 30}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 1, y: 0.5}
+--- !u!114 &1074202649
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1074202647}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 35
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 3
+ m_MaxSize: 40
+ m_Alignment: 0
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: DLC Name
+--- !u!222 &1074202650
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1074202647}
+ m_CullTransparentMesh: 1
+--- !u!114 &1074202651
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1074202647}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalFit: 2
+ m_VerticalFit: 2
+--- !u!1 &1080031725
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1080031726}
+ - component: {fileID: 1080031728}
+ - component: {fileID: 1080031727}
+ m_Layer: 5
+ m_Name: Text (Legacy)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1080031726
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1080031725}
+ 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: 560227809}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1080031727
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1080031725}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 30
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 2
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: Begin
+--- !u!222 &1080031728
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1080031725}
+ m_CullTransparentMesh: 1
+--- !u!1 &1084668551
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1084668552}
+ - component: {fileID: 1084668554}
+ - component: {fileID: 1084668553}
+ m_Layer: 5
+ m_Name: Background
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1084668552
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1084668551}
+ 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:
+ - {fileID: 1382782284}
+ m_Father: {fileID: 471363149}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1084668553
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1084668551}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.1792453, g: 0.1792453, b: 0.1792453, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1084668554
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1084668551}
+ m_CullTransparentMesh: 1
+--- !u!1 &1096993845
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1096993846}
+ m_Layer: 5
+ m_Name: ProgressGroup
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 0
+--- !u!224 &1096993846
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1096993845}
+ 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:
+ - {fileID: 1560299452}
+ - {fileID: 2064449105}
+ - {fileID: 639022566}
+ m_Father: {fileID: 1325809837}
+ m_RootOrder: 5
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0}
+ m_AnchorMax: {x: 0.5, y: 0}
+ m_AnchoredPosition: {x: 0, y: 44.505005}
+ m_SizeDelta: {x: 960, y: 89.01}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1001 &1120686683
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 3415422755630365936, guid: 39c1e8f8b6463b041be46441ad8ef6b1,
+ type: 3}
+ propertyPath: m_Name
+ value: LoggingLauncher
+ objectReference: {fileID: 0}
+ - target: {fileID: 3415422755630365937, guid: 39c1e8f8b6463b041be46441ad8ef6b1,
+ type: 3}
+ propertyPath: loggerSetting
+ value:
+ objectReference: {fileID: 0}
+ - target: {fileID: 3415422755630365950, guid: 39c1e8f8b6463b041be46441ad8ef6b1,
+ type: 3}
+ propertyPath: m_RootOrder
+ value: 5
+ objectReference: {fileID: 0}
+ - target: {fileID: 3415422755630365950, guid: 39c1e8f8b6463b041be46441ad8ef6b1,
+ type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3415422755630365950, guid: 39c1e8f8b6463b041be46441ad8ef6b1,
+ type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3415422755630365950, guid: 39c1e8f8b6463b041be46441ad8ef6b1,
+ type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3415422755630365950, guid: 39c1e8f8b6463b041be46441ad8ef6b1,
+ type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 3415422755630365950, guid: 39c1e8f8b6463b041be46441ad8ef6b1,
+ type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3415422755630365950, guid: 39c1e8f8b6463b041be46441ad8ef6b1,
+ type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3415422755630365950, guid: 39c1e8f8b6463b041be46441ad8ef6b1,
+ type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3415422755630365950, guid: 39c1e8f8b6463b041be46441ad8ef6b1,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3415422755630365950, guid: 39c1e8f8b6463b041be46441ad8ef6b1,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3415422755630365950, guid: 39c1e8f8b6463b041be46441ad8ef6b1,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 39c1e8f8b6463b041be46441ad8ef6b1, type: 3}
+--- !u!1 &1130928125
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1130928126}
+ - component: {fileID: 1130928128}
+ - component: {fileID: 1130928127}
+ m_Layer: 5
+ m_Name: Text (Legacy)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1130928126
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1130928125}
+ 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: 1431001782}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1130928127
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1130928125}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 30
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 2
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: Delete
+--- !u!222 &1130928128
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1130928125}
+ m_CullTransparentMesh: 1
+--- !u!1 &1134013813
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1134013814}
+ - component: {fileID: 1134013817}
+ - component: {fileID: 1134013816}
+ - component: {fileID: 1134013815}
+ m_Layer: 5
+ m_Name: DlcName
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1134013814
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1134013813}
+ 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: 705387328}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 1, y: 1}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 30}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 1, y: 0.5}
+--- !u!114 &1134013815
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1134013813}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalFit: 2
+ m_VerticalFit: 2
+--- !u!114 &1134013816
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1134013813}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 35
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 3
+ m_MaxSize: 40
+ m_Alignment: 0
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: DLC Name
+--- !u!222 &1134013817
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1134013813}
+ m_CullTransparentMesh: 1
+--- !u!1 &1176204244
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1176204245}
+ - component: {fileID: 1176204248}
+ - component: {fileID: 1176204247}
+ - component: {fileID: 1176204246}
+ m_Layer: 5
+ m_Name: DlcInfo
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 0
+--- !u!224 &1176204245
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1176204244}
+ 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: 705387328}
+ m_RootOrder: 6
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 60}
+ m_SizeDelta: {x: 176, y: 33}
+ m_Pivot: {x: 0, y: 0.5}
+--- !u!114 &1176204246
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1176204244}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalFit: 2
+ m_VerticalFit: 2
+--- !u!114 &1176204247
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1176204244}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 30
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 3
+ m_MaxSize: 40
+ m_Alignment: 0
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: Package Info
+--- !u!222 &1176204248
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1176204244}
+ m_CullTransparentMesh: 1
+--- !u!1 &1220899403
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1220899406}
+ - component: {fileID: 1220899405}
+ - component: {fileID: 1220899404}
+ m_Layer: 0
+ m_Name: EventSystem
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1220899404
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1220899403}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 01614664b831546d2ae94a42149d80ac, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_SendPointerHoverToParent: 1
+ m_MoveRepeatDelay: 0.5
+ m_MoveRepeatRate: 0.1
+ m_XRTrackingOrigin: {fileID: 0}
+ m_ActionsAsset: {fileID: -944628639613478452, guid: ca9f5fa95ffab41fb9a615ab714db018,
+ type: 3}
+ m_PointAction: {fileID: 1054132383583890850, guid: ca9f5fa95ffab41fb9a615ab714db018,
+ type: 3}
+ m_MoveAction: {fileID: 3710738434707379630, guid: ca9f5fa95ffab41fb9a615ab714db018,
+ type: 3}
+ m_SubmitAction: {fileID: 2064916234097673511, guid: ca9f5fa95ffab41fb9a615ab714db018,
+ type: 3}
+ m_CancelAction: {fileID: -1967631576421560919, guid: ca9f5fa95ffab41fb9a615ab714db018,
+ type: 3}
+ m_LeftClickAction: {fileID: 8056856818456041789, guid: ca9f5fa95ffab41fb9a615ab714db018,
+ type: 3}
+ m_MiddleClickAction: {fileID: 3279352641294131588, guid: ca9f5fa95ffab41fb9a615ab714db018,
+ type: 3}
+ m_RightClickAction: {fileID: 3837173908680883260, guid: ca9f5fa95ffab41fb9a615ab714db018,
+ type: 3}
+ m_ScrollWheelAction: {fileID: 4502412055082496612, guid: ca9f5fa95ffab41fb9a615ab714db018,
+ type: 3}
+ m_TrackedDevicePositionAction: {fileID: 4754684134866288074, guid: ca9f5fa95ffab41fb9a615ab714db018,
+ type: 3}
+ m_TrackedDeviceOrientationAction: {fileID: 1025543830046995696, guid: ca9f5fa95ffab41fb9a615ab714db018,
+ type: 3}
+ m_DeselectOnBackgroundClick: 1
+ m_PointerBehavior: 0
+ m_CursorLockBehavior: 0
+--- !u!114 &1220899405
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1220899403}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_FirstSelected: {fileID: 0}
+ m_sendNavigationEvents: 1
+ m_DragThreshold: 10
+--- !u!4 &1220899406
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1220899403}
+ 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: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1267609142
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1267609143}
+ - component: {fileID: 1267609145}
+ - component: {fileID: 1267609144}
+ - component: {fileID: 1267609146}
+ m_Layer: 5
+ m_Name: DlcInfo
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 0
+--- !u!224 &1267609143
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1267609142}
+ 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: 1325809837}
+ m_RootOrder: 6
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 60}
+ m_SizeDelta: {x: 176, y: 33}
+ m_Pivot: {x: 0, y: 0.5}
+--- !u!114 &1267609144
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1267609142}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 30
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 3
+ m_MaxSize: 40
+ m_Alignment: 0
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: Package Info
+--- !u!222 &1267609145
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1267609142}
+ m_CullTransparentMesh: 1
+--- !u!114 &1267609146
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1267609142}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalFit: 2
+ m_VerticalFit: 2
+--- !u!1 &1308132461
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1308132462}
+ - component: {fileID: 1308132464}
+ - component: {fileID: 1308132463}
+ m_Layer: 5
+ m_Name: Background
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1308132462
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1308132461}
+ 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:
+ - {fileID: 2085075156}
+ m_Father: {fileID: 1683851492}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1308132463
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1308132461}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.1792453, g: 0.1792453, b: 0.1792453, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1308132464
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1308132461}
+ m_CullTransparentMesh: 1
+--- !u!1 &1311406598
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1311406599}
+ m_Layer: 5
+ m_Name: Sliding Area
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1311406599
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1311406598}
+ 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:
+ - {fileID: 1571326023}
+ m_Father: {fileID: 1560299452}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &1320248549
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1320248552}
+ - component: {fileID: 1320248551}
+ - component: {fileID: 1320248550}
+ m_Layer: 0
+ m_Name: Main Camera
+ m_TagString: MainCamera
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!81 &1320248550
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1320248549}
+ m_Enabled: 1
+--- !u!20 &1320248551
+Camera:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1320248549}
+ m_Enabled: 1
+ serializedVersion: 2
+ m_ClearFlags: 2
+ m_BackGroundColor: {r: 1, g: 1, b: 1, a: 0}
+ 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: 1
+ orthographic size: 5
+ m_Depth: -1
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_RenderingPath: -1
+ m_TargetTexture: {fileID: 0}
+ m_TargetDisplay: 0
+ m_TargetEye: 3
+ m_HDR: 1
+ m_AllowMSAA: 1
+ m_AllowDynamicResolution: 0
+ m_ForceIntoRT: 0
+ m_OcclusionCulling: 1
+ m_StereoConvergence: 10
+ m_StereoSeparation: 0.022
+--- !u!4 &1320248552
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1320248549}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: -10}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1325809836
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1325809837}
+ m_Layer: 5
+ m_Name: D1_Group
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1325809837
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1325809836}
+ 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:
+ - {fileID: 1074202648}
+ - {fileID: 507659297}
+ - {fileID: 1431001782}
+ - {fileID: 642204884}
+ - {fileID: 678942806}
+ - {fileID: 1096993846}
+ - {fileID: 1267609143}
+ m_Father: {fileID: 1525092496}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 960, y: 210}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &1332041195
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1332041196}
+ - component: {fileID: 1332041198}
+ - component: {fileID: 1332041197}
+ m_Layer: 5
+ m_Name: Text (Legacy)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1332041196
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1332041195}
+ 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: 678942806}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1332041197
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1332041195}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 30
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 2
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: Begin
+--- !u!222 &1332041198
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1332041195}
+ m_CullTransparentMesh: 1
+--- !u!1 &1370941816
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1370941817}
+ - component: {fileID: 1370941820}
+ - component: {fileID: 1370941819}
+ - component: {fileID: 1370941818}
+ m_Layer: 5
+ m_Name: percentage
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1370941817
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1370941816}
+ 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: 134868442}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 1, y: 1}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: -28}
+ m_SizeDelta: {x: 198, y: 56}
+ m_Pivot: {x: 1, y: 0.5}
+--- !u!114 &1370941818
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1370941816}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalFit: 2
+ m_VerticalFit: 2
+--- !u!114 &1370941819
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1370941816}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 50
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 5
+ m_MaxSize: 50
+ m_Alignment: 0
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: 000.00%
+--- !u!222 &1370941820
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1370941816}
+ m_CullTransparentMesh: 1
+--- !u!1 &1374129590
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1374129591}
+ - component: {fileID: 1374129593}
+ - component: {fileID: 1374129592}
+ m_Layer: 5
+ m_Name: Checkmark
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1374129591
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1374129590}
+ 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: 1891376211}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1374129592
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1374129590}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0.9118314, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1374129593
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1374129590}
+ m_CullTransparentMesh: 1
+--- !u!1 &1382782283
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1382782284}
+ - component: {fileID: 1382782286}
+ - component: {fileID: 1382782285}
+ m_Layer: 5
+ m_Name: Checkmark
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1382782284
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1382782283}
+ 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: 1084668552}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1382782285
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1382782283}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 0, b: 0.23765755, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1382782286
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1382782283}
+ m_CullTransparentMesh: 1
+--- !u!1 &1396931518
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1396931519}
+ - component: {fileID: 1396931521}
+ - component: {fileID: 1396931520}
+ m_Layer: 5
+ m_Name: Handle
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1396931519
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1396931518}
+ 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: 623418969}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0, y: 0.5}
+--- !u!114 &1396931520
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1396931518}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1396931521
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1396931518}
+ m_CullTransparentMesh: 1
+--- !u!1 &1431001781
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1431001782}
+ - component: {fileID: 1431001785}
+ - component: {fileID: 1431001784}
+ - component: {fileID: 1431001783}
+ m_Layer: 5
+ m_Name: DeleteBtn
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1431001782
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1431001781}
+ 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:
+ - {fileID: 1130928126}
+ m_Father: {fileID: 1325809837}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 1, y: 1}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: -62.5, y: -50.5}
+ m_SizeDelta: {x: 125, y: 75}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1431001783
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1431001781}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1431001784}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!114 &1431001784
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1431001781}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 0, b: 0.28477097, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1431001785
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1431001781}
+ m_CullTransparentMesh: 1
+--- !u!1 &1464378107
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1464378108}
+ - component: {fileID: 1464378110}
+ - component: {fileID: 1464378109}
+ m_Layer: 5
+ m_Name: Background
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1464378108
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1464378107}
+ 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:
+ - {fileID: 306853280}
+ m_Father: {fileID: 1909827314}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1464378109
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1464378107}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.1792453, g: 0.1792453, b: 0.1792453, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1464378110
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1464378107}
+ m_CullTransparentMesh: 1
+--- !u!1 &1495822311
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1495822312}
+ - component: {fileID: 1495822314}
+ - component: {fileID: 1495822313}
+ m_Layer: 5
+ m_Name: Text (Legacy)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1495822312
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1495822311}
+ 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: 642204884}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1495822313
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1495822311}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 30
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 2
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: Cancel
+--- !u!222 &1495822314
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1495822311}
+ m_CullTransparentMesh: 1
+--- !u!1 &1525092495
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1525092496}
+ - component: {fileID: 1525092498}
+ - component: {fileID: 1525092497}
+ m_Layer: 5
+ m_Name: Layout
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1525092496
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1525092495}
+ 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:
+ - {fileID: 1325809837}
+ - {fileID: 705387328}
+ m_Father: {fileID: 1558505175}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1525092497
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1525092495}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalFit: 2
+ m_VerticalFit: 2
+--- !u!114 &1525092498
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1525092495}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_ChildAlignment: 4
+ m_Spacing: 200
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 1
+ m_ChildControlWidth: 0
+ m_ChildControlHeight: 0
+ m_ChildScaleWidth: 1
+ m_ChildScaleHeight: 1
+ m_ReverseArrangement: 0
+--- !u!1 &1546549032
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1546549033}
+ - component: {fileID: 1546549034}
+ m_Layer: 5
+ m_Name: ReadyState
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1546549033
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1546549032}
+ 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:
+ - {fileID: 52105994}
+ - {fileID: 2018766420}
+ m_Father: {fileID: 996682633}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1546549034
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1546549032}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 0
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 0
+ m_TargetGraphic: {fileID: 52105995}
+ toggleTransition: 0
+ graphic: {fileID: 1990000097}
+ m_Group: {fileID: 0}
+ onValueChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_IsOn: 0
+--- !u!1 &1558505171
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1558505175}
+ - component: {fileID: 1558505174}
+ - component: {fileID: 1558505173}
+ - component: {fileID: 1558505172}
+ m_Layer: 5
+ m_Name: Canvas
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1558505172
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1558505171}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreReversedGraphics: 1
+ m_BlockingObjects: 0
+ m_BlockingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+--- !u!114 &1558505173
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1558505171}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_UiScaleMode: 0
+ m_ReferencePixelsPerUnit: 100
+ m_ScaleFactor: 1
+ m_ReferenceResolution: {x: 800, y: 600}
+ m_ScreenMatchMode: 0
+ m_MatchWidthOrHeight: 0
+ m_PhysicalUnit: 3
+ m_FallbackScreenDPI: 96
+ m_DefaultSpriteDPI: 96
+ m_DynamicPixelsPerUnit: 1
+ m_PresetInfoIsWorld: 0
+--- !u!223 &1558505174
+Canvas:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1558505171}
+ m_Enabled: 1
+ serializedVersion: 3
+ m_RenderMode: 0
+ m_Camera: {fileID: 0}
+ m_PlaneDistance: 100
+ m_PixelPerfect: 0
+ m_ReceivesEvents: 1
+ m_OverrideSorting: 0
+ m_OverridePixelPerfect: 0
+ m_SortingBucketNormalizedSize: 0
+ m_AdditionalShaderChannelsFlag: 0
+ m_SortingLayerID: 0
+ m_SortingOrder: 0
+ m_TargetDisplay: 0
+--- !u!224 &1558505175
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1558505171}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0, y: 0, z: 0}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 1525092496}
+ m_Father: {fileID: 0}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0, y: 0}
+--- !u!1 &1560299451
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1560299452}
+ - component: {fileID: 1560299455}
+ - component: {fileID: 1560299454}
+ - component: {fileID: 1560299453}
+ m_Layer: 5
+ m_Name: bar
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1560299452
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1560299451}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1.5, y: 1.5, z: 1.5}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 1311406599}
+ m_Father: {fileID: 1096993846}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 0, y: -27}
+ m_SizeDelta: {x: 500, y: 20}
+ m_Pivot: {x: 0, y: 0.5}
+--- !u!114 &1560299453
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1560299451}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 0
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 0
+ m_TargetGraphic: {fileID: 1571326024}
+ m_HandleRect: {fileID: 1571326023}
+ m_Direction: 0
+ m_Value: 0
+ m_Size: 0
+ m_NumberOfSteps: 0
+ m_OnValueChanged:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!114 &1560299454
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1560299451}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1560299455
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1560299451}
+ m_CullTransparentMesh: 1
+--- !u!1 &1571326022
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1571326023}
+ - component: {fileID: 1571326025}
+ - component: {fileID: 1571326024}
+ m_Layer: 5
+ m_Name: Handle
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1571326023
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1571326022}
+ 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: 1311406599}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0, y: 0.5}
+--- !u!114 &1571326024
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1571326022}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1571326025
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1571326022}
+ m_CullTransparentMesh: 1
+--- !u!1 &1588311410
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1588311411}
+ - component: {fileID: 1588311413}
+ - component: {fileID: 1588311412}
+ m_Layer: 5
+ m_Name: Text (Legacy)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1588311411
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1588311410}
+ 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: 428600412}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1588311412
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1588311410}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 30
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 2
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: Cancel
+--- !u!222 &1588311413
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1588311410}
+ m_CullTransparentMesh: 1
+--- !u!1 &1620355711
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1620355712}
+ - component: {fileID: 1620355714}
+ - component: {fileID: 1620355713}
+ m_Layer: 5
+ m_Name: Background
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1620355712
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1620355711}
+ 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:
+ - {fileID: 1640049696}
+ m_Father: {fileID: 705795399}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1620355713
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1620355711}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.1792453, g: 0.1792453, b: 0.1792453, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1620355714
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1620355711}
+ m_CullTransparentMesh: 1
+--- !u!1 &1640049695
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1640049696}
+ - component: {fileID: 1640049698}
+ - component: {fileID: 1640049697}
+ m_Layer: 5
+ m_Name: Checkmark
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1640049696
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1640049695}
+ 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: 1620355712}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1640049697
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1640049695}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 1, b: 0.18478084, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1640049698
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1640049695}
+ m_CullTransparentMesh: 1
+--- !u!1 &1671256112
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1671256113}
+ - component: {fileID: 1671256114}
+ m_Layer: 5
+ m_Name: DoneState
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1671256113
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1671256112}
+ 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:
+ - {fileID: 406124444}
+ - {fileID: 1975373191}
+ m_Father: {fileID: 507659297}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1671256114
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1671256112}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 0
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 0
+ m_TargetGraphic: {fileID: 406124445}
+ toggleTransition: 0
+ graphic: {fileID: 2072024460}
+ m_Group: {fileID: 0}
+ onValueChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_IsOn: 0
+--- !u!1 &1683851491
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1683851492}
+ - component: {fileID: 1683851493}
+ m_Layer: 5
+ m_Name: BeginState
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1683851492
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1683851491}
+ 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:
+ - {fileID: 1308132462}
+ - {fileID: 218859107}
+ m_Father: {fileID: 507659297}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1683851493
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1683851491}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 0
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 0
+ m_TargetGraphic: {fileID: 1308132463}
+ toggleTransition: 0
+ graphic: {fileID: 2085075157}
+ m_Group: {fileID: 0}
+ onValueChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_IsOn: 0
+--- !u!1 &1855075418
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1855075419}
+ - component: {fileID: 1855075422}
+ - component: {fileID: 1855075421}
+ - component: {fileID: 1855075420}
+ m_Layer: 5
+ m_Name: bar
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1855075419
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1855075418}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1.5, y: 1.5, z: 1.5}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 623418969}
+ m_Father: {fileID: 134868442}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 0, y: -27}
+ m_SizeDelta: {x: 500, y: 20}
+ m_Pivot: {x: 0, y: 0.5}
+--- !u!114 &1855075420
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1855075418}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 0
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 0
+ m_TargetGraphic: {fileID: 1396931520}
+ m_HandleRect: {fileID: 1396931519}
+ m_Direction: 0
+ m_Value: 0
+ m_Size: 0
+ m_NumberOfSteps: 0
+ m_OnValueChanged:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!114 &1855075421
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1855075418}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1855075422
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1855075418}
+ m_CullTransparentMesh: 1
+--- !u!1 &1861736869
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1861736871}
+ - component: {fileID: 1861736870}
+ m_Layer: 0
+ m_Name: BundleDLCDemo
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1861736870
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1861736869}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 7c05c37554361f64e85f05c129c67300, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ pkgCtrlPanels:
+ - dlcName: {fileID: 1134013816}
+ readyState: {fileID: 1955078290}
+ beginState: {fileID: 1683851493}
+ repairState: {fileID: 837204697}
+ doneState: {fileID: 1671256114}
+ beginBtn: {fileID: 678942807}
+ cancelBtn: {fileID: 642204885}
+ repairBtn: {fileID: 1431001783}
+ progressGroup: {fileID: 1096993845}
+ progress: {fileID: 1560299453}
+ percentage: {fileID: 2064449107}
+ patchInfo: {fileID: 639022568}
+ dlcInfo: {fileID: 1267609144}
+ - dlcName: {fileID: 1074202649}
+ readyState: {fileID: 1546549034}
+ beginState: {fileID: 471363150}
+ repairState: {fileID: 1909827315}
+ doneState: {fileID: 705795400}
+ beginBtn: {fileID: 560227810}
+ cancelBtn: {fileID: 428600413}
+ repairBtn: {fileID: 611173465}
+ progressGroup: {fileID: 134868441}
+ progress: {fileID: 1855075420}
+ percentage: {fileID: 1370941819}
+ patchInfo: {fileID: 520785771}
+ dlcInfo: {fileID: 1176204247}
+--- !u!4 &1861736871
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1861736869}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 307.01587, y: 1081.9905, z: -8.603216}
+ 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}
+--- !u!1 &1891376210
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1891376211}
+ - component: {fileID: 1891376213}
+ - component: {fileID: 1891376212}
+ m_Layer: 5
+ m_Name: Background
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1891376211
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1891376210}
+ 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:
+ - {fileID: 1374129591}
+ m_Father: {fileID: 1955078289}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1891376212
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1891376210}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.1792453, g: 0.1792453, b: 0.1792453, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1891376213
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1891376210}
+ m_CullTransparentMesh: 1
+--- !u!1 &1909827313
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1909827314}
+ - component: {fileID: 1909827315}
+ m_Layer: 5
+ m_Name: RepairState
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1909827314
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1909827313}
+ 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:
+ - {fileID: 1464378108}
+ - {fileID: 2047041301}
+ m_Father: {fileID: 996682633}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1909827315
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1909827313}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 0
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 0
+ m_TargetGraphic: {fileID: 1464378109}
+ toggleTransition: 0
+ graphic: {fileID: 306853281}
+ m_Group: {fileID: 0}
+ onValueChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_IsOn: 0
+--- !u!1 &1924338283
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1924338284}
+ - component: {fileID: 1924338287}
+ - component: {fileID: 1924338286}
+ - component: {fileID: 1924338285}
+ m_Layer: 5
+ m_Name: Text (Legacy)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1924338284
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1924338283}
+ 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: 1955078289}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 1}
+ m_AnchorMax: {x: 0.5, y: 1}
+ m_AnchoredPosition: {x: 0, y: 30}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1924338285
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1924338283}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalFit: 2
+ m_VerticalFit: 2
+--- !u!114 &1924338286
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1924338283}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 30
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 2
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: IsReady
+--- !u!222 &1924338287
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1924338283}
+ m_CullTransparentMesh: 1
+--- !u!1 &1955078288
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1955078289}
+ - component: {fileID: 1955078290}
+ m_Layer: 5
+ m_Name: ReadyState
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1955078289
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1955078288}
+ 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:
+ - {fileID: 1891376211}
+ - {fileID: 1924338284}
+ m_Father: {fileID: 507659297}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1955078290
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1955078288}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 0
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 0
+ m_TargetGraphic: {fileID: 1891376212}
+ toggleTransition: 0
+ graphic: {fileID: 1374129592}
+ m_Group: {fileID: 0}
+ onValueChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_IsOn: 0
+--- !u!1 &1975373190
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1975373191}
+ - component: {fileID: 1975373194}
+ - component: {fileID: 1975373193}
+ - component: {fileID: 1975373192}
+ m_Layer: 5
+ m_Name: Text (Legacy)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1975373191
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1975373190}
+ 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: 1671256113}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 1}
+ m_AnchorMax: {x: 0.5, y: 1}
+ m_AnchoredPosition: {x: 0, y: 30}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1975373192
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1975373190}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalFit: 2
+ m_VerticalFit: 2
+--- !u!114 &1975373193
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1975373190}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 30
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 2
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: IsDone
+--- !u!222 &1975373194
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1975373190}
+ m_CullTransparentMesh: 1
+--- !u!1 &1990000095
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1990000096}
+ - component: {fileID: 1990000098}
+ - component: {fileID: 1990000097}
+ m_Layer: 5
+ m_Name: Checkmark
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1990000096
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1990000095}
+ 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: 52105994}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1990000097
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1990000095}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0.9118314, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1990000098
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1990000095}
+ m_CullTransparentMesh: 1
+--- !u!1 &2018766419
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2018766420}
+ - component: {fileID: 2018766423}
+ - component: {fileID: 2018766422}
+ - component: {fileID: 2018766421}
+ m_Layer: 5
+ m_Name: Text (Legacy)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2018766420
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2018766419}
+ 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: 1546549033}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 1}
+ m_AnchorMax: {x: 0.5, y: 1}
+ m_AnchoredPosition: {x: 0, y: 30}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &2018766421
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2018766419}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalFit: 2
+ m_VerticalFit: 2
+--- !u!114 &2018766422
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2018766419}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 30
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 2
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: IsReady
+--- !u!222 &2018766423
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2018766419}
+ m_CullTransparentMesh: 1
+--- !u!1 &2027386936
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2027386937}
+ - component: {fileID: 2027386940}
+ - component: {fileID: 2027386939}
+ - component: {fileID: 2027386938}
+ m_Layer: 5
+ m_Name: Text (Legacy)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2027386937
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2027386936}
+ 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: 837204696}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 1}
+ m_AnchorMax: {x: 0.5, y: 1}
+ m_AnchoredPosition: {x: 0, y: 30}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &2027386938
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2027386936}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalFit: 2
+ m_VerticalFit: 2
+--- !u!114 &2027386939
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2027386936}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 30
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 2
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: IsRepair
+--- !u!222 &2027386940
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2027386936}
+ m_CullTransparentMesh: 1
+--- !u!1 &2047041300
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2047041301}
+ - component: {fileID: 2047041304}
+ - component: {fileID: 2047041303}
+ - component: {fileID: 2047041302}
+ m_Layer: 5
+ m_Name: Text (Legacy)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2047041301
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2047041300}
+ 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: 1909827314}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 1}
+ m_AnchorMax: {x: 0.5, y: 1}
+ m_AnchoredPosition: {x: 0, y: 30}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &2047041302
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2047041300}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalFit: 2
+ m_VerticalFit: 2
+--- !u!114 &2047041303
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2047041300}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 30
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 2
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: IsRepair
+--- !u!222 &2047041304
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2047041300}
+ m_CullTransparentMesh: 1
+--- !u!1 &2064449104
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2064449105}
+ - component: {fileID: 2064449108}
+ - component: {fileID: 2064449107}
+ - component: {fileID: 2064449106}
+ m_Layer: 5
+ m_Name: percentage
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2064449105
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2064449104}
+ 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: 1096993846}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 1, y: 1}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: -28}
+ m_SizeDelta: {x: 198, y: 56}
+ m_Pivot: {x: 1, y: 0.5}
+--- !u!114 &2064449106
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2064449104}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalFit: 2
+ m_VerticalFit: 2
+--- !u!114 &2064449107
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2064449104}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 50
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 5
+ m_MaxSize: 50
+ m_Alignment: 0
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: 000.00%
+--- !u!222 &2064449108
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2064449104}
+ m_CullTransparentMesh: 1
+--- !u!1 &2072024458
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2072024459}
+ - component: {fileID: 2072024461}
+ - component: {fileID: 2072024460}
+ m_Layer: 5
+ m_Name: Checkmark
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2072024459
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2072024458}
+ 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: 406124444}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &2072024460
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2072024458}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 1, b: 0.18478084, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &2072024461
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2072024458}
+ m_CullTransparentMesh: 1
+--- !u!1 &2085075155
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2085075156}
+ - component: {fileID: 2085075158}
+ - component: {fileID: 2085075157}
+ m_Layer: 5
+ m_Name: Checkmark
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2085075156
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2085075155}
+ 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: 1308132462}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &2085075157
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2085075155}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 0, b: 0.23765755, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &2085075158
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2085075155}
+ m_CullTransparentMesh: 1
diff --git a/Assets/OxGFrame/Samples~/BundleDLCDemo/BundleDLCDemo.unity.meta b/Assets/OxGFrame/Samples~/BundleDLCDemo/BundleDLCDemo.unity.meta
new file mode 100644
index 00000000..4e6afa2e
--- /dev/null
+++ b/Assets/OxGFrame/Samples~/BundleDLCDemo/BundleDLCDemo.unity.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 1ece66c418b3df6488a09fb140fa58ab
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/Samples~/BundleDLCDemo/Scripts.meta b/Assets/OxGFrame/Samples~/BundleDLCDemo/Scripts.meta
new file mode 100644
index 00000000..d2c120bf
--- /dev/null
+++ b/Assets/OxGFrame/Samples~/BundleDLCDemo/Scripts.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 41a424a49cc98b441ba0c1a0f9ac0ed5
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/Samples~/BundleDLCDemo/Scripts/BundleDLCDemo.cs b/Assets/OxGFrame/Samples~/BundleDLCDemo/Scripts/BundleDLCDemo.cs
new file mode 100644
index 00000000..da762b7f
--- /dev/null
+++ b/Assets/OxGFrame/Samples~/BundleDLCDemo/Scripts/BundleDLCDemo.cs
@@ -0,0 +1,185 @@
+using OxGFrame.AssetLoader;
+using OxGFrame.AssetLoader.Bundle;
+using OxGFrame.AssetLoader.PatchEvent;
+using OxGFrame.AssetLoader.PatchFsm;
+using OxGFrame.AssetLoader.Utility;
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+using static OxGFrame.AssetLoader.Bundle.BundleConfig;
+
+public class BundleDLCDemo : MonoBehaviour
+{
+ [Serializable]
+ public class PkgCtrlPanel
+ {
+ public Text dlcName;
+ public Toggle readyState;
+ public Toggle beginState;
+ public Toggle repairState;
+ public Toggle doneState;
+ public Button beginBtn;
+ public Button cancelBtn;
+ public Button repairBtn;
+ public GameObject progressGroup;
+ public Scrollbar progress;
+ public Text percentage;
+ public Text patchInfo;
+ public Text dlcInfo;
+ }
+
+ public List pkgCtrlPanels = new List();
+
+ private PackageOperation[] _packageOperations;
+ private bool _isInitialized = false;
+
+ private IEnumerator Start()
+ {
+ this._isInitialized = false;
+
+ // Wait Until IsInitialized
+ while (!AssetPatcher.IsInitialized()) yield return null;
+
+ // Create package operations
+ this._packageOperations = new PackageOperation[]
+ {
+ new PackageOperation
+ (
+ "DLC Package 1",
+ new DlcPackageInfoWithBuild()
+ {
+ buildMode = BuildMode.ScriptableBuildPipeline,
+ packageName = "Dlc1Package",
+ dlcVersion = "latest"
+ },
+ false
+ ),
+ new PackageOperation
+ (
+ "DLC Pacakge 2",
+ new DlcPackageInfoWithBuild()
+ {
+ buildMode = BuildMode.ScriptableBuildPipeline,
+ packageName = "Dlc2Package",
+ dlcVersion = "latest"
+ },
+ false
+ )
+ };
+
+ // Init events and display
+ for (int i = 0; i < this._packageOperations.Length; i++)
+ {
+ int idx = i;
+ var packageOperation = this._packageOperations[idx];
+
+ // Show dlc name
+ this.pkgCtrlPanels[idx].dlcName.text = packageOperation.groupInfo.groupName;
+
+ #region Btn events
+ // Begin download
+ this.pkgCtrlPanels[idx].beginBtn.onClick.RemoveAllListeners();
+ this.pkgCtrlPanels[idx].beginBtn.onClick.AddListener(() =>
+ {
+ packageOperation.Begin();
+ });
+
+ // Delete files
+ this.pkgCtrlPanels[idx].repairBtn.onClick.RemoveAllListeners();
+ this.pkgCtrlPanels[idx].repairBtn.onClick.AddListener(() =>
+ {
+ packageOperation.Repair();
+ });
+
+ // Cancel download
+ this.pkgCtrlPanels[idx].cancelBtn.onClick.RemoveAllListeners();
+ this.pkgCtrlPanels[idx].cancelBtn.onClick.AddListener(() =>
+ {
+ packageOperation.Cancel();
+ });
+ #endregion
+
+ #region Pacakge events
+ // Package state event
+ packageOperation.eventGroup.AddListener((message) =>
+ {
+ if (message is PackageEvents.PatchFsmState)
+ {
+ PackageEvents.PatchFsmState msgData = message as PackageEvents.PatchFsmState;
+ switch (msgData.stateNode)
+ {
+ case PackageFsmStates.FsmPatchRepair:
+ break;
+ case PackageFsmStates.FsmPatchPrepare:
+ if (this.pkgCtrlPanels[idx].progressGroup.activeSelf) this.pkgCtrlPanels[idx].progressGroup.SetActive(false);
+ if (this.pkgCtrlPanels[idx].dlcInfo.gameObject.activeSelf) this.pkgCtrlPanels[idx].dlcInfo.gameObject.SetActive(false);
+ break;
+ case PackageFsmStates.FsmInitPatchMode:
+ break;
+ case PackageFsmStates.FsmPatchVersionUpdate:
+ break;
+ case PackageFsmStates.FsmPatchManifestUpdate:
+ break;
+ case PackageFsmStates.FsmCreateDownloader:
+ break;
+ case PackageFsmStates.FsmBeginDownload:
+ if (!this.pkgCtrlPanels[idx].progressGroup.activeSelf) this.pkgCtrlPanels[idx].progressGroup.SetActive(true);
+ break;
+ case PackageFsmStates.FsmDownloadOver:
+ break;
+ case PackageFsmStates.FsmClearCache:
+ break;
+ case PackageFsmStates.FsmPatchDone:
+ if (this.pkgCtrlPanels[idx].progressGroup.activeSelf) this.pkgCtrlPanels[idx].progressGroup.SetActive(false);
+ if (!this.pkgCtrlPanels[idx].dlcInfo.gameObject.activeSelf) this.pkgCtrlPanels[idx].dlcInfo.gameObject.SetActive(true);
+ this.pkgCtrlPanels[idx].dlcInfo.text = $"DLC Size: {BundleUtility.GetBytesToString((ulong)packageOperation.groupInfo.totalBytes)}, Skip Download: {packageOperation.skipDownload}";
+ break;
+ }
+ }
+ });
+
+ // Download Progression event
+ packageOperation.eventGroup.AddListener((message) =>
+ {
+ if (message is PackageEvents.PatchDownloadProgression)
+ {
+ var downloadInfo = message as PackageEvents.PatchDownloadProgression;
+
+ this.pkgCtrlPanels[idx].progress.size = downloadInfo.progress;
+ this.pkgCtrlPanels[idx].percentage.text = (downloadInfo.progress * 100).ToString("f0") + "%";
+ this.pkgCtrlPanels[idx].patchInfo.text = $"Patch Size: {BundleUtility.GetBytesToString((ulong)downloadInfo.totalDownloadSizeBytes)}";
+
+ Debug.Log($"{packageOperation.groupInfo.groupName}, Load => Progress: {downloadInfo.progress}, CurrentCount: {downloadInfo.currentDownloadCount}, TotalCount: {downloadInfo.totalDownloadCount}, TotalBytes: {downloadInfo.totalDownloadSizeBytes}");
+ }
+ });
+
+ // Download cancel event
+ packageOperation.eventGroup.AddListener((message) =>
+ {
+ if (message is PackageEvents.PatchDownloadCanceled)
+ {
+ Debug.Log($"{packageOperation.groupInfo.groupName} canceled.");
+ }
+ });
+ #endregion
+ }
+
+ this._isInitialized = true;
+ }
+
+ private void Update()
+ {
+ if (!this._isInitialized) return;
+
+ // Update states
+ for (int i = 0; i < this._packageOperations.Length; i++)
+ {
+ this.pkgCtrlPanels[i].readyState.isOn = this._packageOperations[i].IsReady();
+ this.pkgCtrlPanels[i].beginState.isOn = this._packageOperations[i].IsBegin();
+ this.pkgCtrlPanels[i].repairState.isOn = this._packageOperations[i].IsRepair();
+ this.pkgCtrlPanels[i].doneState.isOn = this._packageOperations[i].IsDone();
+ }
+ }
+}
diff --git a/Assets/OxGFrame/Samples~/BundleDLCDemo/Scripts/BundleDLCDemo.cs.meta b/Assets/OxGFrame/Samples~/BundleDLCDemo/Scripts/BundleDLCDemo.cs.meta
new file mode 100644
index 00000000..4fb8df0b
--- /dev/null
+++ b/Assets/OxGFrame/Samples~/BundleDLCDemo/Scripts/BundleDLCDemo.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 7c05c37554361f64e85f05c129c67300
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/OxGFrame/Samples~/BundleDemo/BundleDemo.unity b/Assets/OxGFrame/Samples~/BundleDemo/BundleDemo.unity
index eea13a99..d02d544d 100644
--- a/Assets/OxGFrame/Samples~/BundleDemo/BundleDemo.unity
+++ b/Assets/OxGFrame/Samples~/BundleDemo/BundleDemo.unity
@@ -335,7 +335,7 @@ MonoBehaviour:
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
- m_Interactable: 1
+ m_Interactable: 0
m_TargetGraphic: {fileID: 1524521256}
toggleTransition: 0
graphic: {fileID: 770252346}
@@ -5712,7 +5712,7 @@ MonoBehaviour:
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
- m_Interactable: 1
+ m_Interactable: 0
m_TargetGraphic: {fileID: 1831777580}
toggleTransition: 0
graphic: {fileID: 2014836933}
@@ -6684,7 +6684,7 @@ MonoBehaviour:
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
- m_Interactable: 1
+ m_Interactable: 0
m_TargetGraphic: {fileID: 1939654151}
toggleTransition: 0
graphic: {fileID: 1529062192}
diff --git a/Assets/OxGFrame/ThirdParty/UniFramework/UniEvent/Runtime/EventGroup.cs b/Assets/OxGFrame/ThirdParty/UniFramework/UniEvent/Runtime/EventGroup.cs
index 26049bfd..75ec3555 100644
--- a/Assets/OxGFrame/ThirdParty/UniFramework/UniEvent/Runtime/EventGroup.cs
+++ b/Assets/OxGFrame/ThirdParty/UniFramework/UniEvent/Runtime/EventGroup.cs
@@ -4,45 +4,55 @@
namespace UniFramework.Event
{
- public class EventGroup
- {
- private readonly Dictionary>> _cachedListener = new Dictionary>>();
+ public class EventGroup
+ {
+ private readonly Dictionary>> _cachedListener = new Dictionary>>();
+ private int? _groupId = null;
- ///
- /// 添加一个监听
- ///
- public void AddListener(System.Action listener) where TEvent : IEventMessage
- {
- System.Type eventType = typeof(TEvent);
- if (_cachedListener.ContainsKey(eventType) == false)
- _cachedListener.Add(eventType, new List>());
+ public EventGroup() { }
- if (_cachedListener[eventType].Contains(listener) == false)
- {
- _cachedListener[eventType].Add(listener);
- UniEvent.AddListener(eventType, listener);
- }
- else
- {
- UniLogger.Warning($"Event listener is exist : {eventType}");
- }
- }
+ public EventGroup(int groupId)
+ {
+ this._groupId = groupId;
+ }
- ///
- /// 移除所有缓存的监听
- ///
- public void RemoveAllListener()
- {
- foreach (var pair in _cachedListener)
- {
- System.Type eventType = pair.Key;
- for (int i = 0; i < pair.Value.Count; i++)
- {
- UniEvent.RemoveListener(eventType, pair.Value[i]);
- }
- pair.Value.Clear();
- }
- _cachedListener.Clear();
- }
- }
+ ///
+ /// 添加一个监听
+ ///
+ public void AddListener(System.Action listener) where TEvent : IEventMessage
+ {
+ System.Type eventType = typeof(TEvent);
+ if (_cachedListener.ContainsKey(eventType) == false)
+ _cachedListener.Add(eventType, new List>());
+
+ if (_cachedListener[eventType].Contains(listener) == false)
+ {
+ _cachedListener[eventType].Add(listener);
+ if (this._groupId != null) UniEvent.AddListener((int)this._groupId, listener);
+ else UniEvent.AddListener(eventType, listener);
+ }
+ else
+ {
+ UniLogger.Warning($"Event listener is exist : {eventType}");
+ }
+ }
+
+ ///
+ /// 移除所有缓存的监听
+ ///
+ public void RemoveAllListener()
+ {
+ foreach (var pair in _cachedListener)
+ {
+ System.Type eventType = pair.Key;
+ for (int i = 0; i < pair.Value.Count; i++)
+ {
+ if (this._groupId != null) UniEvent.RemoveListener((int)this._groupId, pair.Value[i]);
+ else UniEvent.RemoveListener(eventType, pair.Value[i]);
+ }
+ pair.Value.Clear();
+ }
+ _cachedListener.Clear();
+ }
+ }
}
\ No newline at end of file
diff --git a/Assets/OxGFrame/package.json b/Assets/OxGFrame/package.json
index 738f7fae..17a29e17 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.8",
+ "version": "2.9.9",
"unity": "2021.3",
"license": "MIT",
"samples": [
diff --git a/Assets/Settings/OxGFrame/BindCodeSetting.asset b/Assets/Settings/OxGFrame/BindCodeSetting.asset
index 402ca640..68e46e65 100644
--- a/Assets/Settings/OxGFrame/BindCodeSetting.asset
+++ b/Assets/Settings/OxGFrame/BindCodeSetting.asset
@@ -15,10 +15,10 @@ MonoBehaviour:
variableCaseType: 0
variableAccessModifier: protected
variablePrefix: _
- methodType: 0
+ methodType: 1
methodAccessModifier: protected
methodPrefix:
- methodName: InitBindingComponents
+ methodName: InitBind
indicateModifier: 1
tailRules:
list:
diff --git a/Assets/Settings/YooAsset/AssetBundleCollectorSetting.asset b/Assets/Settings/YooAsset/AssetBundleCollectorSetting.asset
index 12bea68e..822a41c4 100644
--- a/Assets/Settings/YooAsset/AssetBundleCollectorSetting.asset
+++ b/Assets/Settings/YooAsset/AssetBundleCollectorSetting.asset
@@ -197,3 +197,45 @@ MonoBehaviour:
FilterRuleName: CollectAll
AssetTags:
UserData:
+ - PackageName: Dlc1Package
+ PackageDesc:
+ EnableAddressable: 1
+ LocationToLower: 0
+ IncludeAssetGUID: 0
+ IgnoreDefaultType: 1
+ AutoCollectShaders: 1
+ Groups:
+ - GroupName: ModelGroup
+ GroupDesc:
+ AssetTags: models
+ ActiveRuleName: EnableGroup
+ Collectors:
+ - CollectPath: Assets/OxGFrame/Samples/BundleDemo/Prefabs/model_01.prefab
+ CollectorGUID: b4ea3356cddbd8b41926c28adefdfbc5
+ CollectorType: 0
+ AddressRuleName: AddressByFileName
+ PackRuleName: PackSeparately
+ FilterRuleName: CollectAll
+ AssetTags:
+ UserData:
+ - PackageName: Dlc2Package
+ PackageDesc:
+ EnableAddressable: 1
+ LocationToLower: 0
+ IncludeAssetGUID: 0
+ IgnoreDefaultType: 1
+ AutoCollectShaders: 1
+ Groups:
+ - GroupName: ModelGroup
+ GroupDesc:
+ AssetTags: models
+ ActiveRuleName: EnableGroup
+ Collectors:
+ - CollectPath: Assets/OxGFrame/Samples/BundleDemo/Prefabs/model_01.prefab
+ CollectorGUID: b4ea3356cddbd8b41926c28adefdfbc5
+ CollectorType: 0
+ AddressRuleName: AddressByFileName
+ PackRuleName: PackSeparately
+ FilterRuleName: CollectAll
+ AssetTags:
+ UserData:
diff --git a/README.md b/README.md
index 3f969923..58fca6ec 100644
--- a/README.md
+++ b/README.md
@@ -239,6 +239,36 @@ https://github.com/michael811125/OxGFrame/assets/30960759/d84de519-6afd-4f32-b9c
- 路徑不管平台 (.../CDN/\/DLC/Packages)
- 支援特定版本 DLC package 的下載與 DLC package 卸載功能,需手動進行 AssetPatcher.InitDlcPackage,並且指定特定 dlcVersion,對於 dlcVersion 也可以單一固定 dlcVersion (ex: "latest"),變成只要 DLC 有更新就可以使用固定路徑進行更新。
+**使用 PackageOperation 進行 DLC 資源包的操作 (方便控管資源包)**
+```C#
+ // Use Example
+ var packageOperations = new PackageOperation[]
+ {
+ new PackageOperation
+ (
+ "DLC Package 1",
+ new DlcPackageInfoWithBuild()
+ {
+ buildMode = BuildMode.ScriptableBuildPipeline,
+ packageName = "DlcPackage",
+ dlcVersion = "latest"
+ },
+ false
+ ),
+ new PackageOperation
+ (
+ "DLC Pacakge 2",
+ new DlcPackageInfoWithBuild()
+ {
+ buildMode = BuildMode.ScriptableBuildPipeline,
+ packageName = "OtherPackage",
+ dlcVersion = "latest"
+ },
+ false
+ )
+ };
+```
+
**App Package**
```C#
// [Load asset and download from specific package (Export App Bundles for CDN)]