From 828caebb84f67955e80eea1a479ad097aee48eb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Artur=20Gon=C3=A7alves?= Date: Fri, 13 Aug 2021 17:17:28 +0900 Subject: [PATCH 1/2] Import RuntimeFileBrowser to let user select CSV file See https://assetstore.unity.com/packages/tools/gui/runtime-file-browser-113006 --- Assets/Plugins.meta | 8 + Assets/Plugins/SimpleFileBrowser.meta | 8 + Assets/Plugins/SimpleFileBrowser/Android.meta | 9 + .../Android/FBCallbackHelper.cs | 31 + .../Android/FBCallbackHelper.cs.meta | 12 + .../FBDirectoryReceiveCallbackAndroid.cs | 36 + .../FBDirectoryReceiveCallbackAndroid.cs.meta | 12 + .../Android/FBPermissionCallbackAndroid.cs | 29 + .../FBPermissionCallbackAndroid.cs.meta | 12 + .../Android/SimpleFileBrowser.aar | Bin 0 -> 18182 bytes .../Android/SimpleFileBrowser.aar.meta | 33 + Assets/Plugins/SimpleFileBrowser/Prefabs.meta | 9 + .../Prefabs/SimpleFileBrowserItem.prefab | 310 + .../Prefabs/SimpleFileBrowserItem.prefab.meta | 8 + .../Prefabs/SimpleFileBrowserQuickLink.prefab | 241 + .../SimpleFileBrowserQuickLink.prefab.meta | 8 + Assets/Plugins/SimpleFileBrowser/README.txt | 103 + .../Plugins/SimpleFileBrowser/README.txt.meta | 8 + .../Plugins/SimpleFileBrowser/Resources.meta | 9 + .../Resources/SimpleFileBrowserCanvas.prefab | 10074 ++++++++++++++++ .../SimpleFileBrowserCanvas.prefab.meta | 8 + Assets/Plugins/SimpleFileBrowser/Scripts.meta | 9 + .../SimpleFileBrowser/Scripts/FileBrowser.cs | 2625 ++++ .../Scripts/FileBrowser.cs.meta | 12 + .../Scripts/FileBrowserContextMenu.cs | 118 + .../Scripts/FileBrowserContextMenu.cs.meta | 12 + .../Scripts/FileBrowserCursorHandler.cs | 61 + .../Scripts/FileBrowserCursorHandler.cs.meta | 12 + .../FileBrowserDeleteConfirmationPanel.cs | 121 + ...FileBrowserDeleteConfirmationPanel.cs.meta | 12 + .../Scripts/FileBrowserHelpers.cs | 506 + .../Scripts/FileBrowserHelpers.cs.meta | 12 + .../Scripts/FileBrowserItem.cs | 212 + .../Scripts/FileBrowserItem.cs.meta | 12 + .../Scripts/FileBrowserMovement.cs | 105 + .../Scripts/FileBrowserMovement.cs.meta | 12 + .../Scripts/FileBrowserQuickLink.cs | 21 + .../Scripts/FileBrowserQuickLink.cs.meta | 12 + .../Scripts/FileBrowserRenamedItem.cs | 66 + .../Scripts/FileBrowserRenamedItem.cs.meta | 12 + .../Scripts/NonDrawingGraphic.cs | 19 + .../Scripts/NonDrawingGraphic.cs.meta | 12 + .../Scripts/SimpleRecycledListView.meta | 9 + .../IListViewAdapter.cs | 16 + .../IListViewAdapter.cs.meta | 12 + .../SimpleRecycledListView/ListItem.cs | 24 + .../SimpleRecycledListView/ListItem.cs.meta | 12 + .../RecycledListView.cs | 238 + .../RecycledListView.cs.meta | 12 + .../SimpleFileBrowser.Runtime.asmdef | 3 + .../SimpleFileBrowser.Runtime.asmdef.meta | 7 + Assets/Plugins/SimpleFileBrowser/Sprites.meta | 9 + .../SimpleFileBrowser/Sprites/Checkmark.psd | Bin 0 -> 26940 bytes .../Sprites/Checkmark.psd.meta | 88 + .../Sprites/DefaultFileIcon.png | Bin 0 -> 826 bytes .../Sprites/DefaultFileIcon.png.meta | 88 + .../SimpleFileBrowser/Sprites/DriveIcon.png | Bin 0 -> 1485 bytes .../Sprites/DriveIcon.png.meta | 88 + .../Sprites/DropdownArrow.psd | Bin 0 -> 26204 bytes .../Sprites/DropdownArrow.psd.meta | 88 + .../SimpleFileBrowser/Sprites/FolderIcon.png | Bin 0 -> 2222 bytes .../Sprites/FolderIcon.png.meta | 88 + .../Sprites/ForwardArrow.psd | Bin 0 -> 30812 bytes .../Sprites/ForwardArrow.psd.meta | 88 + .../Sprites/ImageFileIcon.png | Bin 0 -> 1488 bytes .../Sprites/ImageFileIcon.png.meta | 88 + .../Sprites/MultiSelectionToggleOff.psd | Bin 0 -> 31094 bytes .../Sprites/MultiSelectionToggleOff.psd.meta | 88 + .../Sprites/MultiSelectionToggleOn.psd | Bin 0 -> 34440 bytes .../Sprites/MultiSelectionToggleOn.psd.meta | 88 + .../Sprites/ResizeCursor.psd | Bin 0 -> 39212 bytes .../Sprites/ResizeCursor.psd.meta | 92 + .../Sprites/SimpleFileBrowserDrag.psd | Bin 0 -> 23863 bytes .../Sprites/SimpleFileBrowserDrag.psd.meta | 88 + .../Sprites/SimpleFileBrowserMoreOptions.psd | Bin 0 -> 47652 bytes .../SimpleFileBrowserMoreOptions.psd.meta | 88 + .../SimpleFileBrowserSlicedBackground1.psd | Bin 0 -> 27012 bytes ...impleFileBrowserSlicedBackground1.psd.meta | 88 + .../SimpleFileBrowserSlicedBackground2.psd | Bin 0 -> 22308 bytes ...impleFileBrowserSlicedBackground2.psd.meta | 88 + .../SimpleFileBrowserSlicedBackground3.psd | Bin 0 -> 25310 bytes ...impleFileBrowserSlicedBackground3.psd.meta | 88 + .../SimpleFileBrowserSlicedBackground4.psd | Bin 0 -> 25304 bytes ...impleFileBrowserSlicedBackground4.psd.meta | 88 + .../SimpleFileBrowserSlicedBackground5.psd | Bin 0 -> 26938 bytes ...impleFileBrowserSlicedBackground5.psd.meta | 88 + .../Sprites/TextFileIcon.png | Bin 0 -> 1301 bytes .../Sprites/TextFileIcon.png.meta | 88 + 88 files changed, 16881 insertions(+) create mode 100644 Assets/Plugins.meta create mode 100644 Assets/Plugins/SimpleFileBrowser.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Android.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Android/FBCallbackHelper.cs create mode 100644 Assets/Plugins/SimpleFileBrowser/Android/FBCallbackHelper.cs.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Android/FBDirectoryReceiveCallbackAndroid.cs create mode 100644 Assets/Plugins/SimpleFileBrowser/Android/FBDirectoryReceiveCallbackAndroid.cs.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Android/FBPermissionCallbackAndroid.cs create mode 100644 Assets/Plugins/SimpleFileBrowser/Android/FBPermissionCallbackAndroid.cs.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Android/SimpleFileBrowser.aar create mode 100644 Assets/Plugins/SimpleFileBrowser/Android/SimpleFileBrowser.aar.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Prefabs.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Prefabs/SimpleFileBrowserItem.prefab create mode 100644 Assets/Plugins/SimpleFileBrowser/Prefabs/SimpleFileBrowserItem.prefab.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Prefabs/SimpleFileBrowserQuickLink.prefab create mode 100644 Assets/Plugins/SimpleFileBrowser/Prefabs/SimpleFileBrowserQuickLink.prefab.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/README.txt create mode 100644 Assets/Plugins/SimpleFileBrowser/README.txt.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Resources.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Resources/SimpleFileBrowserCanvas.prefab create mode 100644 Assets/Plugins/SimpleFileBrowser/Resources/SimpleFileBrowserCanvas.prefab.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Scripts.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowser.cs create mode 100644 Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowser.cs.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserContextMenu.cs create mode 100644 Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserContextMenu.cs.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserCursorHandler.cs create mode 100644 Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserCursorHandler.cs.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserDeleteConfirmationPanel.cs create mode 100644 Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserDeleteConfirmationPanel.cs.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserHelpers.cs create mode 100644 Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserHelpers.cs.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserItem.cs create mode 100644 Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserItem.cs.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserMovement.cs create mode 100644 Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserMovement.cs.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserQuickLink.cs create mode 100644 Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserQuickLink.cs.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserRenamedItem.cs create mode 100644 Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserRenamedItem.cs.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Scripts/NonDrawingGraphic.cs create mode 100644 Assets/Plugins/SimpleFileBrowser/Scripts/NonDrawingGraphic.cs.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Scripts/SimpleRecycledListView.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Scripts/SimpleRecycledListView/IListViewAdapter.cs create mode 100644 Assets/Plugins/SimpleFileBrowser/Scripts/SimpleRecycledListView/IListViewAdapter.cs.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Scripts/SimpleRecycledListView/ListItem.cs create mode 100644 Assets/Plugins/SimpleFileBrowser/Scripts/SimpleRecycledListView/ListItem.cs.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Scripts/SimpleRecycledListView/RecycledListView.cs create mode 100644 Assets/Plugins/SimpleFileBrowser/Scripts/SimpleRecycledListView/RecycledListView.cs.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/SimpleFileBrowser.Runtime.asmdef create mode 100644 Assets/Plugins/SimpleFileBrowser/SimpleFileBrowser.Runtime.asmdef.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites/Checkmark.psd create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites/Checkmark.psd.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites/DefaultFileIcon.png create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites/DefaultFileIcon.png.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites/DriveIcon.png create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites/DriveIcon.png.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites/DropdownArrow.psd create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites/DropdownArrow.psd.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites/FolderIcon.png create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites/FolderIcon.png.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites/ForwardArrow.psd create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites/ForwardArrow.psd.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites/ImageFileIcon.png create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites/ImageFileIcon.png.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites/MultiSelectionToggleOff.psd create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites/MultiSelectionToggleOff.psd.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites/MultiSelectionToggleOn.psd create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites/MultiSelectionToggleOn.psd.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites/ResizeCursor.psd create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites/ResizeCursor.psd.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserDrag.psd create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserDrag.psd.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserMoreOptions.psd create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserMoreOptions.psd.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground1.psd create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground1.psd.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground2.psd create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground2.psd.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground3.psd create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground3.psd.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground4.psd create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground4.psd.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground5.psd create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground5.psd.meta create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites/TextFileIcon.png create mode 100644 Assets/Plugins/SimpleFileBrowser/Sprites/TextFileIcon.png.meta diff --git a/Assets/Plugins.meta b/Assets/Plugins.meta new file mode 100644 index 0000000..f572401 --- /dev/null +++ b/Assets/Plugins.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 55a076303fb2b754381144eb929e13ac +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser.meta b/Assets/Plugins/SimpleFileBrowser.meta new file mode 100644 index 0000000..a8b8760 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 60dcb569c596e444695af5b8663cb883 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Android.meta b/Assets/Plugins/SimpleFileBrowser/Android.meta new file mode 100644 index 0000000..2e6c447 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Android.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ff366e107d0770a41a2afe8ad87ef708 +folderAsset: yes +timeCreated: 1509396159 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Android/FBCallbackHelper.cs b/Assets/Plugins/SimpleFileBrowser/Android/FBCallbackHelper.cs new file mode 100644 index 0000000..7311c3a --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Android/FBCallbackHelper.cs @@ -0,0 +1,31 @@ +#if !UNITY_EDITOR && UNITY_ANDROID +using UnityEngine; + +namespace SimpleFileBrowser +{ + public class FBCallbackHelper : MonoBehaviour + { + private System.Action mainThreadAction = null; + + private void Awake() + { + DontDestroyOnLoad( gameObject ); + } + + private void Update() + { + if( mainThreadAction != null ) + { + System.Action temp = mainThreadAction; + mainThreadAction = null; + temp(); + } + } + + public void CallOnMainThread( System.Action function ) + { + mainThreadAction = function; + } + } +} +#endif \ No newline at end of file diff --git a/Assets/Plugins/SimpleFileBrowser/Android/FBCallbackHelper.cs.meta b/Assets/Plugins/SimpleFileBrowser/Android/FBCallbackHelper.cs.meta new file mode 100644 index 0000000..a0f179e --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Android/FBCallbackHelper.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 997bfc59716c24c41ad03bcbd7f8ef0a +timeCreated: 1570918076 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Android/FBDirectoryReceiveCallbackAndroid.cs b/Assets/Plugins/SimpleFileBrowser/Android/FBDirectoryReceiveCallbackAndroid.cs new file mode 100644 index 0000000..ae7308a --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Android/FBDirectoryReceiveCallbackAndroid.cs @@ -0,0 +1,36 @@ +#if !UNITY_EDITOR && UNITY_ANDROID +using UnityEngine; + +namespace SimpleFileBrowser +{ + public class FBDirectoryReceiveCallbackAndroid : AndroidJavaProxy + { + private readonly FileBrowser.DirectoryPickCallback callback; + private readonly FBCallbackHelper callbackHelper; + + public FBDirectoryReceiveCallbackAndroid( FileBrowser.DirectoryPickCallback callback ) : base( "com.yasirkula.unity.FileBrowserDirectoryReceiver" ) + { + this.callback = callback; + callbackHelper = new GameObject( "FBCallbackHelper" ).AddComponent(); + } + + public void OnDirectoryPicked( string rawUri, string name ) + { + callbackHelper.CallOnMainThread( () => DirectoryPickedCallback( rawUri, name ) ); + } + + private void DirectoryPickedCallback( string rawUri, string name ) + { + try + { + if( callback != null ) + callback( rawUri, name ); + } + finally + { + Object.Destroy( callbackHelper.gameObject ); + } + } + } +} +#endif \ No newline at end of file diff --git a/Assets/Plugins/SimpleFileBrowser/Android/FBDirectoryReceiveCallbackAndroid.cs.meta b/Assets/Plugins/SimpleFileBrowser/Android/FBDirectoryReceiveCallbackAndroid.cs.meta new file mode 100644 index 0000000..2f4be05 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Android/FBDirectoryReceiveCallbackAndroid.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8dec4dc5be16ca84e9c147627361671d +timeCreated: 1520199471 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Android/FBPermissionCallbackAndroid.cs b/Assets/Plugins/SimpleFileBrowser/Android/FBPermissionCallbackAndroid.cs new file mode 100644 index 0000000..6bbee51 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Android/FBPermissionCallbackAndroid.cs @@ -0,0 +1,29 @@ +#if !UNITY_EDITOR && UNITY_ANDROID +using System.Threading; +using UnityEngine; + +namespace SimpleFileBrowser +{ + public class FBPermissionCallbackAndroid : AndroidJavaProxy + { + private object threadLock; + public int Result { get; private set; } + + public FBPermissionCallbackAndroid( object threadLock ) : base( "com.yasirkula.unity.FileBrowserPermissionReceiver" ) + { + Result = -1; + this.threadLock = threadLock; + } + + public void OnPermissionResult( int result ) + { + Result = result; + + lock( threadLock ) + { + Monitor.Pulse( threadLock ); + } + } + } +} +#endif \ No newline at end of file diff --git a/Assets/Plugins/SimpleFileBrowser/Android/FBPermissionCallbackAndroid.cs.meta b/Assets/Plugins/SimpleFileBrowser/Android/FBPermissionCallbackAndroid.cs.meta new file mode 100644 index 0000000..6216316 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Android/FBPermissionCallbackAndroid.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2cd91db0ba676ef47af67e3597037d1a +timeCreated: 1520199471 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Android/SimpleFileBrowser.aar b/Assets/Plugins/SimpleFileBrowser/Android/SimpleFileBrowser.aar new file mode 100644 index 0000000000000000000000000000000000000000..2cfb6ed44fe1ee6ac32cd19759a5b63cd3b53d0c GIT binary patch literal 18182 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" tag from AndroidManifest.xml. + +- Can't show the file browser on Android, it says "java.lang.ClassNotFoundException: com.yasirkula.unity.FileBrowserPermissionReceiver" in Logcat +If you are sure that your plugin is up-to-date, then enable "Custom Proguard File" option from Player Settings and add the following line to that file: -keep class com.yasirkula.unity.* { *; } + +- File browser doesn't show any files on Android 10+ +File browser uses Storage Access Framework on these Android versions and users must first click the "Pick Folder" button in the quick links section + +- RequestPermission returns Permission.Denied on Android +Declare the WRITE_EXTERNAL_STORAGE permission manually in your Plugins/Android/AndroidManifest.xml file as follows: +You'll need to add the following attribute to the '' element: xmlns:tools="http://schemas.android.com/tools" + + +### SCRIPTING API +Please see the online documentation for a more in-depth documentation of the Scripting API: https://github.com/yasirkula/UnitySimpleFileBrowser + +NOTE: On Android Q (10) or later, it is impossible to work with File APIs. On these devices, SimpleFileBrowser uses Storage Access Framework (SAF) to browse the files. However, paths returned by SAF are not File API compatible. To simulate the behaviour of the File API on all devices (including SAF), you can check out the FileBrowserHelpers functions. For reference, here is an example SAF path: content://com.android.externalstorage.documents/tree/primary%3A/document/primary%3APictures + +// Namespace +using SimpleFileBrowser; + +public enum Permission { Denied = 0, Granted = 1, ShouldAsk = 2 }; +public enum PickMode { Files = 0, Folders = 1, FilesAndFolders = 2 }; + +public delegate void OnSuccess( string[] paths ); +public delegate void OnCancel(); + +// Showing dialog +bool ShowSaveDialog( OnSuccess onSuccess, OnCancel onCancel, PickMode pickMode, bool allowMultiSelection = false, string initialPath = null, string initialFilename = null, string title = "Save", string saveButtonText = "Save" ); +bool ShowLoadDialog( OnSuccess onSuccess, OnCancel onCancel, PickMode pickMode, bool allowMultiSelection = false, string initialPath = null, string initialFilename = null, string title = "Load", string loadButtonText = "Select" ); + +IEnumerator WaitForSaveDialog( PickMode pickMode, bool allowMultiSelection = false, string initialPath = null, string initialFilename = null, string title = "Save", string saveButtonText = "Save" ); +IEnumerator WaitForLoadDialog( PickMode pickMode, bool allowMultiSelection = false, string initialPath = null, string initialFilename = null, string title = "Load", string loadButtonText = "Select" ); + +// Force closing an open dialog +void HideDialog( bool invokeCancelCallback = false ); + +// Customizing the dialog +bool AddQuickLink( string name, string path, Sprite icon = null ); +void SetExcludedExtensions( params string[] excludedExtensions ); + +// Filters should include the period (e.g. ".jpg" instead of "jpg") +void SetFilters( bool showAllFilesFilter, IEnumerable filters ); +void SetFilters( bool showAllFilesFilter, params string[] filters ); +void SetFilters( bool showAllFilesFilter, IEnumerable filters ); +void SetFilters( bool showAllFilesFilter, params FileBrowser.Filter[] filters ); + +bool SetDefaultFilter( string defaultFilter ); + +// Android runtime permissions +FileBrowser.Permission CheckPermission(); +FileBrowser.Permission RequestPermission(); + +// File manipulation functions that work on all platforms (including Storage Access Framework (SAF) on Android 10+) +// These functions should be called with the paths returned by the FileBrowser functions only +bool FileBrowserHelpers.FileExists( string path ); +bool FileBrowserHelpers.DirectoryExists( string path ); +bool FileBrowserHelpers.IsDirectory( string path ); +string FileBrowserHelpers.GetDirectoryName( string path ); +FileSystemEntry[] FileBrowserHelpers.GetEntriesInDirectory( string path ); // Returns all files and folders in a directory +string FileBrowserHelpers.CreateFileInDirectory( string directoryPath, string filename ); // Returns the created file's path +string FileBrowserHelpers.CreateFolderInDirectory( string directoryPath, string folderName ); // Returns the created folder's path +void FileBrowserHelpers.WriteBytesToFile( string targetPath, byte[] bytes ); +void FileBrowserHelpers.WriteTextToFile( string targetPath, string text ); +void FileBrowserHelpers.AppendBytesToFile( string targetPath, byte[] bytes ); +void FileBrowserHelpers.AppendTextToFile( string targetPath, string text ); +byte[] FileBrowserHelpers.ReadBytesFromFile( string sourcePath ); +string FileBrowserHelpers.ReadTextFromFile( string sourcePath ); +void FileBrowserHelpers.CopyFile( string sourcePath, string destinationPath ); +void FileBrowserHelpers.CopyDirectory( string sourcePath, string destinationPath ); +void FileBrowserHelpers.MoveFile( string sourcePath, string destinationPath ); +void FileBrowserHelpers.MoveDirectory( string sourcePath, string destinationPath ); +string FileBrowserHelpers.RenameFile( string path, string newName ); // Returns the new path of the file +string FileBrowserHelpers.RenameDirectory( string path, string newName ); // Returns the new path of the directory +void FileBrowserHelpers.DeleteFile( string path ); +void FileBrowserHelpers.DeleteDirectory( string path ); +string FileBrowserHelpers.GetFilename( string path ); +long FileBrowserHelpers.GetFilesize( string path ); +DateTime FileBrowserHelpers.GetLastModifiedDate( string path ); \ No newline at end of file diff --git a/Assets/Plugins/SimpleFileBrowser/README.txt.meta b/Assets/Plugins/SimpleFileBrowser/README.txt.meta new file mode 100644 index 0000000..58c9a99 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/README.txt.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 02a0a0f34932297429c157aca8b9a977 +timeCreated: 1563308858 +licenseType: Store +TextScriptImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Resources.meta b/Assets/Plugins/SimpleFileBrowser/Resources.meta new file mode 100644 index 0000000..377c0ad --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Resources.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f4cd9780a618bad4b821ad3b1a68bacd +folderAsset: yes +timeCreated: 1479561120 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Resources/SimpleFileBrowserCanvas.prefab b/Assets/Plugins/SimpleFileBrowser/Resources/SimpleFileBrowserCanvas.prefab new file mode 100644 index 0000000..2118865 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Resources/SimpleFileBrowserCanvas.prefab @@ -0,0 +1,10074 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1000010010525506 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000012041644098} + - component: {fileID: 222000011986528912} + - component: {fileID: 114000010879594700} + m_Layer: 5 + m_Name: MidView + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000012041644098 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010010525506} + 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_Children: + - {fileID: 224000011581190364} + m_Father: {fileID: 224000010868828018} + m_RootOrder: 2 + 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: 22.5} + m_SizeDelta: {x: 0, y: -145} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000011986528912 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010010525506} + m_CullTransparentMesh: 0 +--- !u!114 &114000010879594700 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010010525506} + 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: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: b9c5fedc997f125448c4d8be2fc43bcd, type: 3} + 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!1 &1000010113651986 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000011406587750} + - component: {fileID: 114000013198154200} + - component: {fileID: 222000014052645996} + - component: {fileID: 114000013463924600} + m_Layer: 5 + m_Name: QuickLinks + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000011406587750 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010113651986} + 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_Children: + - {fileID: 224000012294561952} + - {fileID: 224000010556846038} + m_Father: {fileID: 224000011581190364} + 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: 145, y: 0} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &114000013198154200 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010113651986} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 224000010383356806} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 2 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.00001 + m_ScrollSensitivity: 35 + m_Viewport: {fileID: 224000012294561952} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 114000013668631192} + m_HorizontalScrollbarVisibility: 2 + m_VerticalScrollbarVisibility: 2 + m_HorizontalScrollbarSpacing: -3 + m_VerticalScrollbarSpacing: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!222 &222000014052645996 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010113651986} + m_CullTransparentMesh: 0 +--- !u!114 &114000013463924600 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010113651986} + 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: 0} + 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: 21300000, guid: b9c5fedc997f125448c4d8be2fc43bcd, type: 3} + 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!1 &1000010132146630 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000010798928374} + m_Layer: 5 + m_Name: Padding + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000010798928374 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010132146630} + 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_Children: + - {fileID: 224000012168552762} + - {fileID: 224000012381179108} + m_Father: {fileID: 224000011802050754} + 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: 2.5} + m_SizeDelta: {x: 0, y: -5} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1000010188797014 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000012296159396} + - component: {fileID: 222000013689350110} + - component: {fileID: 114000010998986284} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000012296159396 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010188797014} + 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_Children: + - {fileID: 224000011643570440} + m_Father: {fileID: 224000012317678330} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 10, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000013689350110 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010188797014} + m_CullTransparentMesh: 0 +--- !u!114 &114000010998986284 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010188797014} + 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: 21300000, guid: f668f62689b67d242ad33ff665594344, type: 3} + 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!1 &1000010239749110 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000011643570440} + - component: {fileID: 222000010628702794} + - component: {fileID: 114000010132642896} + m_Layer: 5 + m_Name: Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000011643570440 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010239749110} + 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_Children: [] + m_Father: {fileID: 224000012296159396} + 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: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000010628702794 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010239749110} + m_CullTransparentMesh: 0 +--- !u!114 &114000010132642896 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010239749110} + 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: 21300000, guid: 4924b77159e651e4aaa9a22286725d94, type: 3} + 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!1 &1000010375479560 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000013343736860} + - component: {fileID: 222000011372262478} + - component: {fileID: 114000013840550810} + m_Layer: 5 + m_Name: Item Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000013343736860 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010375479560} + 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_Children: [] + m_Father: {fileID: 224000013486352002} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 5, y: -0.5} + m_SizeDelta: {x: -30, y: -3} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000011372262478 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010375479560} + m_CullTransparentMesh: 0 +--- !u!114 &114000013840550810 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010375479560} + 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.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + 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: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Option A +--- !u!1 &1000010476647798 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000014130156650} + - component: {fileID: 222000011610908622} + - component: {fileID: 114000013462916440} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000014130156650 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010476647798} + 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_Children: [] + m_Father: {fileID: 224000013618918798} + 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!222 &222000011610908622 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010476647798} + m_CullTransparentMesh: 0 +--- !u!114 &114000013462916440 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010476647798} + 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.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + 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: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + 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!1 &1000010571070120 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000011462177674} + 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 &224000011462177674 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010571070120} + 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_Children: + - {fileID: 224000013440901968} + m_Father: {fileID: 224000013917225860} + 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: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1000010629955072 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000014068651142} + - component: {fileID: 223383913520683742} + - component: {fileID: 114369654339803456} + - component: {fileID: 114000011744356224} + - component: {fileID: 222000012900979236} + - component: {fileID: 114000013452696640} + - component: {fileID: 114985255881820402} + m_Layer: 5 + m_Name: Files + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000014068651142 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010629955072} + 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_Children: + - {fileID: 224000010015050490} + - {fileID: 224000013917225860} + m_Father: {fileID: 224000011581190364} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 145, y: 0} + m_SizeDelta: {x: -145, y: 0} + m_Pivot: {x: 0, y: 0.5} +--- !u!223 &223383913520683742 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010629955072} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + 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!114 &114369654339803456 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010629955072} + 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 &114000011744356224 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010629955072} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 224000012931849942} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 2 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.00001 + m_ScrollSensitivity: 35 + m_Viewport: {fileID: 224000010015050490} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 114000010855942864} + m_HorizontalScrollbarVisibility: 2 + m_VerticalScrollbarVisibility: 2 + m_HorizontalScrollbarSpacing: 0 + m_VerticalScrollbarSpacing: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!222 &222000012900979236 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010629955072} + m_CullTransparentMesh: 0 +--- !u!114 &114000013452696640 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010629955072} + 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: 0} + 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: 21300000, guid: b9c5fedc997f125448c4d8be2fc43bcd, type: 3} + 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!114 &114985255881820402 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010629955072} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 87ad67b4806678e40a492e337338760b, type: 3} + m_Name: + m_EditorClassIdentifier: + fileBrowser: {fileID: 114000013689746302} + viewportTransform: {fileID: 224000010015050490} + contentTransform: {fileID: 224000012931849942} +--- !u!1 &1000010633767952 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000011374570446} + - component: {fileID: 222000013652262360} + - component: {fileID: 114000013569220760} + m_Layer: 5 + m_Name: TitlebarText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000011374570446 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010633767952} + 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_Children: [] + m_Father: {fileID: 224000014125199124} + 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: 5, y: 0} + m_SizeDelta: {x: -10, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000013652262360 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010633767952} + m_CullTransparentMesh: 0 +--- !u!114 &114000013569220760 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010633767952} + 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: 0 + 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: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!1 &1000010658878508 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000012589068232} + - component: {fileID: 222000011353148296} + - component: {fileID: 114000010162871592} + - component: {fileID: 114000011184475620} + m_Layer: 5 + m_Name: SimpleFileBrowserWindow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000012589068232 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010658878508} + 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_Children: + - {fileID: 224000014125199124} + - {fileID: 224000010868828018} + m_Father: {fileID: 224000013577827562} + 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: 750, y: 500} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000011353148296 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010658878508} + m_CullTransparentMesh: 0 +--- !u!114 &114000010162871592 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010658878508} + 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.9338235, g: 0.9338235, b: 0.9338235, 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: 21300000, guid: 90bee1ddeeef38a4f860f96b5510c136, type: 3} + 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!114 &114000011184475620 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010658878508} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 46d41d79fe7c3d44ca846b4f3d81a476, type: 3} + m_Name: + m_EditorClassIdentifier: + window: {fileID: 224000012589068232} + listView: {fileID: 114985255881820402} +--- !u!1 &1000010673215448 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000010672092756} + - component: {fileID: 222000011098022640} + - component: {fileID: 114000010543305560} + m_Layer: 5 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000010672092756 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010673215448} + 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_Children: [] + m_Father: {fileID: 224000013875672764} + 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.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000011098022640 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010673215448} + m_CullTransparentMesh: 0 +--- !u!114 &114000010543305560 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010673215448} + 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.19607843, g: 0.19607843, b: 0.19607843, a: 0.5} + m_RaycastTarget: 0 + 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: 14 + m_FontStyle: 2 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Filename +--- !u!1 &1000010810923626 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000012317678330} + - component: {fileID: 114000011511084512} + m_Layer: 5 + m_Name: ShowHiddenFilesToggle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000012317678330 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010810923626} + 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_Children: + - {fileID: 224000012296159396} + - {fileID: 224000013306948866} + m_Father: {fileID: 224000012381179108} + 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: 10, y: 2.5} + m_SizeDelta: {x: -240, y: -15} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &114000011511084512 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010810923626} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114000010998986284} + toggleTransition: 1 + graphic: {fileID: 114000010132642896} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114000013689746302} + m_TargetAssemblyTypeName: SimpleFileBrowser.FileBrowser, SimpleFileBrowser.Runtime + m_MethodName: OnShowHiddenFilesToggleChanged + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_IsOn: 0 +--- !u!1 &1000010852360162 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000010556846038} + - component: {fileID: 222000013713099062} + - component: {fileID: 114000011549431246} + - component: {fileID: 114000013668631192} + m_Layer: 5 + m_Name: Scrollbar Vertical + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000010556846038 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010852360162} + 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_Children: + - {fileID: 224000013973408554} + m_Father: {fileID: 224000011406587750} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 0} + m_Pivot: {x: 1, y: 1} +--- !u!222 &222000013713099062 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010852360162} + m_CullTransparentMesh: 0 +--- !u!114 &114000011549431246 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010852360162} + 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.9191176, g: 0.9191176, b: 0.9191176, 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: 21300000, guid: 6ff773ea42aedd04c8bb96a1fe9a73b8, type: 3} + 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!114 &114000013668631192 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000010852360162} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114000011769758306} + m_HandleRect: {fileID: 224000011063755118} + m_Direction: 2 + m_Value: 1 + m_Size: 1 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &1000011054273442 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000012142118144} + - component: {fileID: 222000013929998272} + - component: {fileID: 114000013387536912} + m_Layer: 5 + m_Name: Arrow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000012142118144 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011054273442} + 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_Children: [] + m_Father: {fileID: 224000011367034048} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -15, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000013929998272 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011054273442} + m_CullTransparentMesh: 0 +--- !u!114 &114000013387536912 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011054273442} + 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: 21300000, guid: f73f38102c749484bbd884d4d8d87440, type: 3} + 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!1 &1000011058280352 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000014075494044} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000014075494044 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011058280352} + 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_Children: + - {fileID: 224000013486352002} + m_Father: {fileID: 224000010499347580} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -2, y: 28} + m_Pivot: {x: 0.5, y: 1} +--- !u!1 &1000011137665842 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000014041540182} + - component: {fileID: 222000010703752694} + - component: {fileID: 114000013476289924} + - component: {fileID: 114000013838333444} + m_Layer: 5 + m_Name: UpButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000014041540182 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011137665842} + m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224367545595026078} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 109.499985, y: 0} + m_SizeDelta: {x: 35, y: -16} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000010703752694 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011137665842} + m_CullTransparentMesh: 0 +--- !u!114 &114000013476289924 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011137665842} + 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: 21300000, guid: 130f660889a70c947bff4c8ba8a2c73e, type: 3} + 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!114 &114000013838333444 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011137665842} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114000013476289924} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114000013689746302} + m_TargetAssemblyTypeName: + m_MethodName: OnUpButtonPressed + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!1 &1000011194676206 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000014138464828} + - component: {fileID: 222000014149132480} + - component: {fileID: 114000012182958498} + m_Layer: 5 + m_Name: Item Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000014138464828 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011194676206} + 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_Children: [] + m_Father: {fileID: 224000013486352002} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 10, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000014149132480 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011194676206} + m_CullTransparentMesh: 0 +--- !u!114 &114000012182958498 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011194676206} + 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: 21300000, guid: 4924b77159e651e4aaa9a22286725d94, type: 3} + 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!1 &1000011227951356 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000013618918798} + - component: {fileID: 222000014067881966} + - component: {fileID: 114000011782691694} + - component: {fileID: 114000013207029700} + m_Layer: 5 + m_Name: CancelButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000013618918798 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011227951356} + 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_Children: + - {fileID: 224000014130156650} + m_Father: {fileID: 224000012381179108} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -10, y: 2.5} + m_SizeDelta: {x: 100, y: -15} + m_Pivot: {x: 1, y: 0.5} +--- !u!222 &222000014067881966 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011227951356} + m_CullTransparentMesh: 0 +--- !u!114 &114000011782691694 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011227951356} + 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: 21300000, guid: 2c46fa192de46b04e8281f225bee0230, type: 3} + 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!114 &114000013207029700 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011227951356} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114000011782691694} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114000013689746302} + m_TargetAssemblyTypeName: + m_MethodName: OnCancelButtonClicked + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!1 &1000011341460266 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000010015050490} + - component: {fileID: 114000013266928238} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000010015050490 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011341460266} + 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_Children: + - {fileID: 224000012931849942} + m_Father: {fileID: 224000014068651142} + 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: 0, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!114 &114000013266928238 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011341460266} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: {x: 0, y: 0, z: 0, w: 0} + m_Softness: {x: 0, y: 0} +--- !u!1 &1000011348573804 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000012745327036} + - component: {fileID: 222000010902474546} + - component: {fileID: 114000010438744136} + m_Layer: 5 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000012745327036 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011348573804} + 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_Children: [] + m_Father: {fileID: 224000014003395874} + 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.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000010902474546 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011348573804} + m_CullTransparentMesh: 0 +--- !u!114 &114000010438744136 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011348573804} + 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.19607843, g: 0.19607843, b: 0.19607843, a: 0.5} + m_RaycastTarget: 0 + 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: 14 + m_FontStyle: 2 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Search... +--- !u!1 &1000011474259412 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000011665288554} + - component: {fileID: 222000012128669634} + - component: {fileID: 114000012289665222} + m_Layer: 5 + m_Name: Separator + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000011665288554 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011474259412} + 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_Children: [] + m_Father: {fileID: 224000011581190364} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 145, y: 0} + m_SizeDelta: {x: 1, y: 0} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &222000012128669634 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011474259412} + m_CullTransparentMesh: 0 +--- !u!114 &114000012289665222 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011474259412} + 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.6397059, g: 0.6397059, b: 0.6397059, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 6ff773ea42aedd04c8bb96a1fe9a73b8, type: 3} + 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!1 &1000011474835320 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000012381179108} + m_Layer: 5 + m_Name: BottomRow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000012381179108 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011474835320} + 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_Children: + - {fileID: 224000012317678330} + - {fileID: 224000011218060110} + - {fileID: 224000013618918798} + m_Father: {fileID: 224000010798928374} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1000011549626880 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000012236837694} + m_Layer: 5 + m_Name: TopViewNarrowScreen + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000012236837694 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011549626880} + 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_Children: + - {fileID: 224127867913948392} + m_Father: {fileID: 224000010868828018} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -50} + m_SizeDelta: {x: 0, y: 42} + m_Pivot: {x: 0.5, y: 1} +--- !u!1 &1000011661046550 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000011163845922} + - component: {fileID: 222000010475481380} + - component: {fileID: 114000014168093110} + m_Layer: 5 + m_Name: EditingText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000011163845922 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011661046550} + 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_Children: [] + m_Father: {fileID: 224358462403105482} + 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!222 &222000010475481380 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011661046550} + m_CullTransparentMesh: 0 +--- !u!114 &114000014168093110 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011661046550} + 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.19607843, g: 0.19607843, b: 0.19607843, a: 0} + m_RaycastTarget: 0 + 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: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!1 &1000011792530648 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000012168552762} + m_Layer: 5 + m_Name: TopRow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000012168552762 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011792530648} + 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_Children: + - {fileID: 224000013875672764} + - {fileID: 224000011367034048} + m_Father: {fileID: 224000010798928374} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + 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 &1000011796028112 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000011063755118} + - component: {fileID: 222000010831424782} + - component: {fileID: 114000011769758306} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000011063755118 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011796028112} + 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_Children: [] + m_Father: {fileID: 224000013973408554} + 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: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000010831424782 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011796028112} + m_CullTransparentMesh: 0 +--- !u!114 &114000011769758306 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011796028112} + 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.7647059, g: 0.7647059, b: 0.7647059, 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: 21300000, guid: 6ff773ea42aedd04c8bb96a1fe9a73b8, type: 3} + 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!1 &1000011816699128 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000014003395874} + - component: {fileID: 222000013590941762} + - component: {fileID: 114000010854019824} + - component: {fileID: 114000010785476448} + m_Layer: 5 + m_Name: SearchInputField + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000014003395874 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011816699128} + 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_Children: + - {fileID: 224000012745327036} + - {fileID: 224000014261500554} + m_Father: {fileID: 224367545595026078} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -35, y: 0} + m_SizeDelta: {x: 110, y: -16} + m_Pivot: {x: 1, y: 0.5} +--- !u!222 &222000013590941762 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011816699128} + m_CullTransparentMesh: 0 +--- !u!114 &114000010854019824 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011816699128} + 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: 21300000, guid: f668f62689b67d242ad33ff665594344, type: 3} + 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!114 &114000010785476448 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011816699128} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114000010854019824} + m_TextComponent: {fileID: 114000013552538998} + m_Placeholder: {fileID: 114000010438744136} + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 0 + m_CharacterLimit: 0 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: [] + m_OnValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114000013689746302} + m_TargetAssemblyTypeName: + m_MethodName: OnSearchStringChanged + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 +--- !u!1 &1000011817404238 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000013577827562} + - component: {fileID: 223000012645506472} + - component: {fileID: 114000011218353566} + - component: {fileID: 114000010865040046} + - component: {fileID: 114000013689746302} + m_Layer: 5 + m_Name: SimpleFileBrowserCanvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000013577827562 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011817404238} + 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_Children: + - {fileID: 224000012589068232} + - {fileID: 224266136694922796} + - {fileID: 224387572643228028} + - {fileID: 4904278185319220} + m_Father: {fileID: 0} + 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: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!223 &223000012645506472 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011817404238} + 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: 25 + m_SortingLayerID: 0 + m_SortingOrder: 2016 + m_TargetDisplay: 0 +--- !u!114 &114000011218353566 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011817404238} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 1 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!114 &114000010865040046 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011817404238} + 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 &114000013689746302 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011817404238} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f51dc09bf9e35804ba0f5e76c527025e, type: 3} + m_Name: + m_EditorClassIdentifier: + normalFileColor: {r: 1, g: 1, b: 1, a: 1} + hoveredFileColor: {r: 0.88235295, g: 0.88235295, b: 1, a: 1} + selectedFileColor: {r: 0, g: 0.5882353, b: 1, a: 1} + wrongFilenameColor: {r: 1, g: 0.39215687, b: 0.39215687, a: 1} + minWidth: 380 + minHeight: 300 + narrowScreenWidth: 380 + quickLinksMaxWidthPercentage: 0.4 + sortFilesByName: 1 + excludeExtensions: + - .lnk + - .tmp + quickLinks: + - target: 5 + name: Documents + icon: {fileID: 0} + - target: 0 + name: Desktop + icon: {fileID: 0} + generateQuickLinksForDrives: 1 + contextMenuShowDeleteButton: 1 + contextMenuShowRenameButton: 1 + showResizeCursor: 1 + folderIcon: {fileID: 21300000, guid: 05e18bb0a86cfdb4dbf887d382b69249, type: 3} + driveIcon: {fileID: 21300000, guid: c3f6bb04213791646b2e4824be1436dc, type: 3} + defaultIcon: {fileID: 21300000, guid: 372a6728b63455845bdad04ffc8a323b, type: 3} + filetypeIcons: + - extension: .txt + icon: {fileID: 21300000, guid: d9b30118e14d81742a606dac7cc44d7e, type: 3} + - extension: .doc + icon: {fileID: 21300000, guid: d9b30118e14d81742a606dac7cc44d7e, type: 3} + - extension: .docx + icon: {fileID: 21300000, guid: d9b30118e14d81742a606dac7cc44d7e, type: 3} + - extension: .jpg + icon: {fileID: 21300000, guid: d95a00b6cdb17884682cd580102f14e0, type: 3} + - extension: .jpeg + icon: {fileID: 21300000, guid: d95a00b6cdb17884682cd580102f14e0, type: 3} + - extension: .png + icon: {fileID: 21300000, guid: d95a00b6cdb17884682cd580102f14e0, type: 3} + multiSelectionToggleOffIcon: {fileID: 21300000, guid: d6beaeac8de2af749a48581db778df3e, type: 3} + multiSelectionToggleOnIcon: {fileID: 21300000, guid: 30a2566f94f937b4998542121050e68b, type: 3} + window: {fileID: 114000011184475620} + topViewNarrowScreen: {fileID: 224000012236837694} + middleView: {fileID: 224000012041644098} + middleViewQuickLinks: {fileID: 224000011406587750} + middleViewFiles: {fileID: 224000014068651142} + middleViewSeparator: {fileID: 224000011665288554} + itemPrefab: {fileID: 114000012265032802, guid: c2db22c1e3cd2584fa0e9168745a4536, type: 3} + quickLinkPrefab: {fileID: 114000012163346592, guid: 419c1f8581236d6469bd13ae862bfb50, type: 3} + titleText: {fileID: 114000013569220760} + backButton: {fileID: 114000010360865314} + forwardButton: {fileID: 114000012076811388} + upButton: {fileID: 114000013838333444} + pathInputField: {fileID: 114000013413615576} + pathInputFieldSlotTop: {fileID: 224811477075121130} + pathInputFieldSlotBottom: {fileID: 224127867913948392} + searchInputField: {fileID: 114000010785476448} + quickLinksContainer: {fileID: 224000010383356806} + filesContainer: {fileID: 224000012931849942} + filesScrollRect: {fileID: 114000011744356224} + listView: {fileID: 114985255881820402} + filenameInputField: {fileID: 114000013378699490} + filenameInputFieldOverlayText: {fileID: 114509553718010344} + filenameImage: {fileID: 114000011987843938} + filtersDropdown: {fileID: 114000014203150582} + filtersDropdownContainer: {fileID: 224000011220798992} + filterItemTemplate: {fileID: 114000013840550810} + showHiddenFilesToggle: {fileID: 114000011511084512} + submitButtonText: {fileID: 114000013382491478} + moreOptionsContextMenuPosition: {fileID: 224838098161518584} + renameItem: {fileID: 114205106981145908} + contextMenu: {fileID: 114581495326313396} + deleteConfirmationPanel: {fileID: 114966523907925700} + resizeCursorHandler: {fileID: 114458032168439820} +--- !u!1 &1000011827953324 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000010499347580} + - component: {fileID: 114000011152927276} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000010499347580 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011827953324} + 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_Children: + - {fileID: 224000014075494044} + m_Father: {fileID: 224000011220798992} + 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: -17, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!114 &114000011152927276 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011827953324} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: {x: 0, y: 0, z: 0, w: 0} + m_Softness: {x: 0, y: 0} +--- !u!1 &1000011911796228 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000012294561952} + - component: {fileID: 114000011243553722} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000012294561952 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011911796228} + 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_Children: + - {fileID: 224000010383356806} + m_Father: {fileID: 224000011406587750} + 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: 0, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!114 &114000011243553722 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011911796228} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: {x: 0, y: 0, z: 0, w: 0} + m_Softness: {x: 0, y: 0} +--- !u!1 &1000011939367974 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000011367034048} + - component: {fileID: 222000012971412988} + - component: {fileID: 114000012532027292} + - component: {fileID: 114000014203150582} + m_Layer: 5 + m_Name: FilterDropdown + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000011367034048 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011939367974} + 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_Children: + - {fileID: 224000011386471866} + - {fileID: 224000012142118144} + - {fileID: 224000011220798992} + m_Father: {fileID: 224000012168552762} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -10, y: -2.5} + m_SizeDelta: {x: 110, y: -15} + m_Pivot: {x: 1, y: 0.5} +--- !u!222 &222000012971412988 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011939367974} + m_CullTransparentMesh: 0 +--- !u!114 &114000012532027292 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011939367974} + 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: 21300000, guid: 2c46fa192de46b04e8281f225bee0230, type: 3} + 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!114 &114000014203150582 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011939367974} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0d0b652f32a2cc243917e4028fa0f046, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114000012532027292} + m_Template: {fileID: 224000011220798992} + m_CaptionText: {fileID: 114000010889886896} + m_CaptionImage: {fileID: 0} + m_ItemText: {fileID: 114000013840550810} + m_ItemImage: {fileID: 0} + m_Value: 0 + m_Options: + m_Options: + - m_Text: All Files (.*) + m_Image: {fileID: 0} + m_OnValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114000013689746302} + m_TargetAssemblyTypeName: + m_MethodName: OnFilterChanged + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_AlphaFadeSpeed: 0.15 +--- !u!1 &1000011958843056 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000014125199124} + - component: {fileID: 222000010304419626} + - component: {fileID: 114000014252605456} + - component: {fileID: 114000012524170498} + m_Layer: 5 + m_Name: Titlebar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000014125199124 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011958843056} + 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_Children: + - {fileID: 224000011374570446} + m_Father: {fileID: 224000012589068232} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 30} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &222000010304419626 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011958843056} + m_CullTransparentMesh: 0 +--- !u!114 &114000014252605456 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011958843056} + 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.30882353, g: 0.30882353, b: 0.30882353, 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: 21300000, guid: 6ff773ea42aedd04c8bb96a1fe9a73b8, type: 3} + 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!114 &114000012524170498 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011958843056} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0b148fe25e99eb48b9724523833bab1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Delegates: + - eventID: 13 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114000011184475620} + m_TargetAssemblyTypeName: + m_MethodName: OnDragStarted + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + - eventID: 5 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114000011184475620} + m_TargetAssemblyTypeName: + m_MethodName: OnDrag + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + - eventID: 14 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114000011184475620} + m_TargetAssemblyTypeName: + m_MethodName: OnEndDrag + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!1 &1000011961382914 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000011331339624} + - component: {fileID: 222000010698304110} + - component: {fileID: 114000013797747800} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000011331339624 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011961382914} + 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_Children: [] + m_Father: {fileID: 224000010349777518} + 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.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000010698304110 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011961382914} + m_CullTransparentMesh: 0 +--- !u!114 &114000013797747800 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011961382914} + 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.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + 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: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!1 &1000011968004860 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000011386471866} + - component: {fileID: 222000011100394514} + - component: {fileID: 114000010889886896} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000011386471866 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011968004860} + 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_Children: [] + m_Father: {fileID: 224000011367034048} + 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: -7.5, y: -0.5} + m_SizeDelta: {x: -35, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000011100394514 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011968004860} + m_CullTransparentMesh: 0 +--- !u!114 &114000010889886896 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000011968004860} + 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.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + 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: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: All Files (.*) +--- !u!1 &1000012001667450 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000010179883522} + - component: {fileID: 222000010581818120} + - component: {fileID: 114000013270539482} + - component: {fileID: 114000012076811388} + m_Layer: 5 + m_Name: ForwardButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000010179883522 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012001667450} + 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_Children: [] + m_Father: {fileID: 224367545595026078} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 67.500015, y: 0} + m_SizeDelta: {x: 35, y: -16} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000010581818120 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012001667450} + m_CullTransparentMesh: 0 +--- !u!114 &114000013270539482 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012001667450} + 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: 21300000, guid: 130f660889a70c947bff4c8ba8a2c73e, type: 3} + 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!114 &114000012076811388 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012001667450} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114000013270539482} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114000013689746302} + m_TargetAssemblyTypeName: + m_MethodName: OnForwardButtonPressed + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!1 &1000012025912812 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000010566807834} + - component: {fileID: 222000010078375718} + - component: {fileID: 114000013375539332} + m_Layer: 5 + m_Name: Item Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000010566807834 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012025912812} + 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_Children: [] + m_Father: {fileID: 224000013486352002} + 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!222 &222000010078375718 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012025912812} + m_CullTransparentMesh: 0 +--- !u!114 &114000013375539332 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012025912812} + 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.9607843, g: 0.9607843, b: 0.9607843, 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: 21300000, guid: 6ff773ea42aedd04c8bb96a1fe9a73b8, type: 3} + 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!1 &1000012300833210 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000010142423696} + - component: {fileID: 222000014084106484} + - component: {fileID: 114000014287647564} + - component: {fileID: 114000011715092176} + - component: {fileID: 114458032168439820} + m_Layer: 5 + m_Name: WindowDragGizmo + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000010142423696 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012300833210} + 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_Children: [] + m_Father: {fileID: 224000011802050754} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 15, y: 15} + m_Pivot: {x: 1, y: 0} +--- !u!222 &222000014084106484 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012300833210} + m_CullTransparentMesh: 0 +--- !u!114 &114000014287647564 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012300833210} + 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.5294118, g: 0.5294118, b: 0.5294118, 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: 21300000, guid: 285f1e681b119ce48ae469448241360b, type: 3} + 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!114 &114000011715092176 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012300833210} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0b148fe25e99eb48b9724523833bab1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Delegates: + - eventID: 5 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114000011184475620} + m_TargetAssemblyTypeName: + m_MethodName: OnResize + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + - eventID: 13 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114000011184475620} + m_TargetAssemblyTypeName: + m_MethodName: OnResizeStarted + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + - eventID: 14 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114000011184475620} + m_TargetAssemblyTypeName: + m_MethodName: OnEndResize + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &114458032168439820 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012300833210} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 759524cf7ef37f244bb00cd9724f0349, type: 3} + m_Name: + m_EditorClassIdentifier: + resizeCursor: {fileID: 2800000, guid: f54814069fd98ae45be23283803a557c, type: 3} +--- !u!1 &1000012315450066 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000014061230590} + - component: {fileID: 222000010797736174} + - component: {fileID: 114000013382491478} + m_Layer: 5 + m_Name: SubmitButtonText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000014061230590 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012315450066} + 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_Children: [] + m_Father: {fileID: 224000011218060110} + 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!222 &222000010797736174 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012315450066} + m_CullTransparentMesh: 0 +--- !u!114 &114000013382491478 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012315450066} + 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.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + 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: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: OK +--- !u!1 &1000012351584372 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000013440901968} + - component: {fileID: 222000013957468740} + - component: {fileID: 114000010382772448} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000013440901968 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012351584372} + 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_Children: [] + m_Father: {fileID: 224000011462177674} + 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: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000013957468740 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012351584372} + m_CullTransparentMesh: 0 +--- !u!114 &114000010382772448 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012351584372} + 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.7647059, g: 0.7647059, b: 0.7647059, 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: 21300000, guid: 6ff773ea42aedd04c8bb96a1fe9a73b8, type: 3} + 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!1 &1000012361136444 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000010522970158} + - component: {fileID: 222000013540651912} + - component: {fileID: 114000013073782528} + - component: {fileID: 114000012329259882} + m_Layer: 5 + m_Name: Scrollbar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000010522970158 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012361136444} + 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_Children: + - {fileID: 224000011699808258} + m_Father: {fileID: 224000011220798992} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 0} + m_Pivot: {x: 1, y: 1} +--- !u!222 &222000013540651912 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012361136444} + m_CullTransparentMesh: 0 +--- !u!114 &114000013073782528 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012361136444} + 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.9191176, g: 0.9191176, b: 0.9191176, 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: 21300000, guid: 6ff773ea42aedd04c8bb96a1fe9a73b8, type: 3} + 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!114 &114000012329259882 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012361136444} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114000011727769908} + m_HandleRect: {fileID: 224000013035464314} + m_Direction: 2 + m_Value: 0 + m_Size: 1 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &1000012383891400 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000011581190364} + m_Layer: 5 + m_Name: Padding + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000011581190364 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012383891400} + 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_Children: + - {fileID: 224000011406587750} + - {fileID: 224000014068651142} + - {fileID: 224000011665288554} + m_Father: {fileID: 224000012041644098} + 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.5, y: 0} + m_SizeDelta: {x: -3, y: -2} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1000012446612768 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000011220798992} + - component: {fileID: 222000011398895488} + - component: {fileID: 114000010205140010} + - component: {fileID: 114000011683700572} + m_Layer: 5 + m_Name: Template + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &224000011220798992 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012446612768} + 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_Children: + - {fileID: 224000010499347580} + - {fileID: 224000010522970158} + m_Father: {fileID: 224000011367034048} + 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: 2} + m_SizeDelta: {x: 128, y: 150} + m_Pivot: {x: 0, y: 1} +--- !u!222 &222000011398895488 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012446612768} + m_CullTransparentMesh: 0 +--- !u!114 &114000010205140010 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012446612768} + 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.9607843, g: 0.9607843, b: 0.9607843, 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: 21300000, guid: b9c5fedc997f125448c4d8be2fc43bcd, type: 3} + 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!114 &114000011683700572 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012446612768} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 224000014075494044} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 2 + m_Elasticity: 0.1 + m_Inertia: 0 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 35 + m_Viewport: {fileID: 224000010499347580} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 114000012329259882} + m_HorizontalScrollbarVisibility: 0 + m_VerticalScrollbarVisibility: 2 + m_HorizontalScrollbarSpacing: 0 + m_VerticalScrollbarSpacing: -3 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &1000012576622962 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000014261500554} + - component: {fileID: 222000010178425172} + - component: {fileID: 114000013552538998} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000014261500554 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012576622962} + 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_Children: [] + m_Father: {fileID: 224000014003395874} + m_RootOrder: 1 + 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.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000010178425172 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012576622962} + m_CullTransparentMesh: 0 +--- !u!114 &114000013552538998 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012576622962} + 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.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + 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: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!1 &1000012784981006 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000013486352002} + - component: {fileID: 114000013864222756} + m_Layer: 5 + m_Name: Item + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000013486352002 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012784981006} + 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_Children: + - {fileID: 224000010566807834} + - {fileID: 224000014138464828} + - {fileID: 224000013343736860} + m_Father: {fileID: 224000014075494044} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &114000013864222756 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012784981006} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114000013375539332} + toggleTransition: 1 + graphic: {fileID: 114000012182958498} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 1 +--- !u!1 &1000012812517942 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000013973408554} + 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 &224000013973408554 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012812517942} + 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_Children: + - {fileID: 224000011063755118} + m_Father: {fileID: 224000010556846038} + 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: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1000012814992156 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000010349777518} + - component: {fileID: 222000010477223708} + - component: {fileID: 114000013573802796} + - component: {fileID: 114000013413615576} + m_Layer: 5 + m_Name: PathInputField + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000010349777518 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012814992156} + 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_Children: + - {fileID: 224000011331339624} + m_Father: {fileID: 224811477075121130} + 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!222 &222000010477223708 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012814992156} + m_CullTransparentMesh: 0 +--- !u!114 &114000013573802796 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012814992156} + 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: 21300000, guid: f668f62689b67d242ad33ff665594344, type: 3} + 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!114 &114000013413615576 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012814992156} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114000013573802796} + m_TextComponent: {fileID: 114000013797747800} + m_Placeholder: {fileID: 0} + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 0 + m_CharacterLimit: 0 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114000013689746302} + m_TargetAssemblyTypeName: + m_MethodName: OnPathChanged + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 +--- !u!1 &1000012821827198 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000011699808258} + 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 &224000011699808258 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012821827198} + 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_Children: + - {fileID: 224000013035464314} + m_Father: {fileID: 224000010522970158} + 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: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1000012959090740 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000013917225860} + - component: {fileID: 222000011980200048} + - component: {fileID: 114000013170144416} + - component: {fileID: 114000010855942864} + m_Layer: 5 + m_Name: Scrollbar Vertical + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000013917225860 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012959090740} + 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_Children: + - {fileID: 224000011462177674} + m_Father: {fileID: 224000014068651142} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 0} + m_Pivot: {x: 1, y: 1} +--- !u!222 &222000011980200048 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012959090740} + m_CullTransparentMesh: 0 +--- !u!114 &114000013170144416 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012959090740} + 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.9191176, g: 0.9191176, b: 0.9191176, 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: 21300000, guid: 6ff773ea42aedd04c8bb96a1fe9a73b8, type: 3} + 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!114 &114000010855942864 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012959090740} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114000010382772448} + m_HandleRect: {fileID: 224000013440901968} + m_Direction: 2 + m_Value: 1 + m_Size: 1 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &1000012994600004 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000013875672764} + - component: {fileID: 222000012457330136} + - component: {fileID: 114000011987843938} + - component: {fileID: 114000013378699490} + m_Layer: 5 + m_Name: FilenameInputField + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000013875672764 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012994600004} + 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_Children: + - {fileID: 224000010672092756} + - {fileID: 224358462403105482} + m_Father: {fileID: 224000012168552762} + 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: -60, y: -2.5} + m_SizeDelta: {x: -140, y: -15} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000012457330136 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012994600004} + m_CullTransparentMesh: 0 +--- !u!114 &114000011987843938 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012994600004} + 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: 21300000, guid: f668f62689b67d242ad33ff665594344, type: 3} + 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!114 &114000013378699490 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000012994600004} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114000011987843938} + m_TextComponent: {fileID: 114000014168093110} + m_Placeholder: {fileID: 114000010543305560} + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 2 + m_HideMobileInput: 0 + m_CharacterValidation: 0 + m_CharacterLimit: 0 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: [] + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 1 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 +--- !u!1 &1000013226046060 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000011218060110} + - component: {fileID: 222000010868730420} + - component: {fileID: 114000012871191802} + - component: {fileID: 114000014005904746} + m_Layer: 5 + m_Name: SubmitButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000011218060110 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013226046060} + 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_Children: + - {fileID: 224000014061230590} + m_Father: {fileID: 224000012381179108} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -120, y: 2.5} + m_SizeDelta: {x: 100, y: -15} + m_Pivot: {x: 1, y: 0.5} +--- !u!222 &222000010868730420 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013226046060} + m_CullTransparentMesh: 0 +--- !u!114 &114000012871191802 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013226046060} + 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: 21300000, guid: 2c46fa192de46b04e8281f225bee0230, type: 3} + 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!114 &114000014005904746 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013226046060} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114000012871191802} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114000013689746302} + m_TargetAssemblyTypeName: + m_MethodName: OnSubmitButtonClicked + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!1 &1000013285083442 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000010383356806} + m_Layer: 5 + m_Name: QuickLinksContainer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000010383356806 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013285083442} + 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_Children: [] + m_Father: {fileID: 224000012294561952} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0.0000076293945} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!1 &1000013405706838 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000010868828018} + m_Layer: 5 + m_Name: Padding + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000010868828018 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013405706838} + 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_Children: + - {fileID: 224367545595026078} + - {fileID: 224000012236837694} + - {fileID: 224000012041644098} + - {fileID: 224000011802050754} + m_Father: {fileID: 224000012589068232} + m_RootOrder: 1 + 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: -14.5} + m_SizeDelta: {x: -2, y: -31} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1000013596507910 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000011802050754} + m_Layer: 5 + m_Name: BottomView + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000011802050754 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013596507910} + 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_Children: + - {fileID: 224000010798928374} + - {fileID: 224000010142423696} + m_Father: {fileID: 224000010868828018} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 95} + m_Pivot: {x: 0.5, y: 0} +--- !u!1 &1000013654652970 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000012931849942} + m_Layer: 5 + m_Name: FilesContainer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000012931849942 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013654652970} + 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_Children: + - {fileID: 224857456558362622} + m_Father: {fileID: 224000010015050490} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -0.000061035156} + m_SizeDelta: {x: 0, y: 300} + m_Pivot: {x: 0, y: 1} +--- !u!1 &1000013666513282 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000012440297122} + - component: {fileID: 222000011752544576} + - component: {fileID: 114000010862285312} + - component: {fileID: 114000010360865314} + m_Layer: 5 + m_Name: BackButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000012440297122 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013666513282} + m_LocalRotation: {x: 0, y: 0, z: 1, w: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224367545595026078} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 180} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 25.5, y: 0} + m_SizeDelta: {x: 35, y: -16} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000011752544576 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013666513282} + m_CullTransparentMesh: 0 +--- !u!114 &114000010862285312 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013666513282} + 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: 21300000, guid: 130f660889a70c947bff4c8ba8a2c73e, type: 3} + 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!114 &114000010360865314 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013666513282} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114000010862285312} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114000013689746302} + m_TargetAssemblyTypeName: + m_MethodName: OnBackButtonPressed + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!1 &1000013860710196 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000013035464314} + - component: {fileID: 222000013722913620} + - component: {fileID: 114000011727769908} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000013035464314 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013860710196} + 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_Children: [] + m_Father: {fileID: 224000011699808258} + 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: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000013722913620 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013860710196} + m_CullTransparentMesh: 0 +--- !u!114 &114000011727769908 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013860710196} + 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.7647059, g: 0.7647059, b: 0.7647059, 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: 21300000, guid: 6ff773ea42aedd04c8bb96a1fe9a73b8, type: 3} + 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!1 &1000013999945244 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224000013306948866} + - component: {fileID: 222000013296734396} + - component: {fileID: 114000013617996844} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224000013306948866 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013999945244} + 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_Children: [] + m_Father: {fileID: 224000012317678330} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 9, y: -0.5} + m_SizeDelta: {x: -28, y: -3} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222000013296734396 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013999945244} + m_CullTransparentMesh: 0 +--- !u!114 &114000013617996844 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1000013999945244} + 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.19607843, g: 0.19607843, b: 0.19607843, 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: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Show hidden files +--- !u!1 &1017798384541682 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224857456558362622} + - component: {fileID: 222868148075697168} + - component: {fileID: 114713651679604354} + - component: {fileID: 114205106981145908} + m_Layer: 5 + m_Name: RenamedItem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &224857456558362622 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1017798384541682} + 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_Children: + - {fileID: 224160221478621668} + - {fileID: 224600721066704016} + m_Father: {fileID: 224000012931849942} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 1, y: 0} + m_SizeDelta: {x: 0, y: 30} + m_Pivot: {x: 0, y: 1} +--- !u!222 &222868148075697168 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1017798384541682} + m_CullTransparentMesh: 0 +--- !u!114 &114713651679604354 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1017798384541682} + 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: 21300000, guid: 6ff773ea42aedd04c8bb96a1fe9a73b8, type: 3} + 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!114 &114205106981145908 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1017798384541682} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c7397ff7ae1ba4c47b6dfd3c84936584, type: 3} + m_Name: + m_EditorClassIdentifier: + background: {fileID: 114713651679604354} + icon: {fileID: 114618009950600020} + nameInputField: {fileID: 114431454406163400} +--- !u!1 &1032822122238656 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224976749748923606} + - component: {fileID: 222696871981828198} + - component: {fileID: 114537443433290408} + m_Layer: 5 + m_Name: Name + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224976749748923606 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1032822122238656} + 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_Children: [] + m_Father: {fileID: 224612077775479484} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 19, y: 0} + m_SizeDelta: {x: -38, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222696871981828198 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1032822122238656} + m_CullTransparentMesh: 0 +--- !u!114 &114537443433290408 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1032822122238656} + 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.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + 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: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Filename +--- !u!1 &1039567369712514 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224501555033979764} + - component: {fileID: 222405281052678562} + - component: {fileID: 114012833862146622} + - component: {fileID: 114908669291619784} + - component: {fileID: 114529857037090406} + m_Layer: 5 + m_Name: RaycastBlocker + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224501555033979764 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1039567369712514} + 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_Children: [] + m_Father: {fileID: 224387572643228028} + 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: 10000, y: 10000} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222405281052678562 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1039567369712514} + m_CullTransparentMesh: 0 +--- !u!114 &114012833862146622 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1039567369712514} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b4fd8cdb8c068dd4bb48c415877496ba, 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} +--- !u!114 &114908669291619784 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1039567369712514} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0b148fe25e99eb48b9724523833bab1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Delegates: + - eventID: 2 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114581495326313396} + m_TargetAssemblyTypeName: + m_MethodName: Hide + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &114529857037090406 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1039567369712514} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &1045906935792316 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224220852933180436} + - component: {fileID: 222540281714838890} + - component: {fileID: 114522847327260972} + - component: {fileID: 114975456595458294} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224220852933180436 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1045906935792316} + 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_Children: [] + m_Father: {fileID: 224945766401846030} + 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: 20, y: -15.5} + m_SizeDelta: {x: 54.88959, y: 21} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &222540281714838890 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1045906935792316} + m_CullTransparentMesh: 0 +--- !u!114 &114522847327260972 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1045906935792316} + 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.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + 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: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: Select All +--- !u!114 &114975456595458294 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1045906935792316} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 2 + m_VerticalFit: 0 +--- !u!1 &1047042883948646 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224878520749080566} + - component: {fileID: 222566150310660492} + - component: {fileID: 114644076772715040} + m_Layer: 5 + m_Name: Icon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224878520749080566 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1047042883948646} + 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_Children: [] + m_Father: {fileID: 224339630385967890} + 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: 19, y: 0} + m_SizeDelta: {x: 30, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222566150310660492 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1047042883948646} + m_CullTransparentMesh: 0 +--- !u!114 &114644076772715040 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1047042883948646} + 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: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &1084585696436250 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224742478263042688} + - component: {fileID: 222976976949987356} + - component: {fileID: 114202282007228346} + - component: {fileID: 114411366083395940} + - component: {fileID: 114602554078926738} + - component: {fileID: 114866502439342396} + m_Layer: 5 + m_Name: RenameButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224742478263042688 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1084585696436250} + 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_Children: + - {fileID: 224826572783568050} + m_Father: {fileID: 224387572643228028} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 1, y: -139} + m_SizeDelta: {x: 110.03155, y: 30} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &222976976949987356 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1084585696436250} + m_CullTransparentMesh: 0 +--- !u!114 &114202282007228346 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1084585696436250} + 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.955, g: 0.955, b: 0.955, 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: 21300000, guid: 6ff773ea42aedd04c8bb96a1fe9a73b8, type: 3} + 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!114 &114411366083395940 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1084585696436250} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114202282007228346} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114581495326313396} + m_TargetAssemblyTypeName: + m_MethodName: OnRenameButtonClicked + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &114602554078926738 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1084585696436250} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: 30 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &114866502439342396 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1084585696436250} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 20 + m_Right: 20 + m_Top: 5 + m_Bottom: 5 + m_ChildAlignment: 0 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!1 &1115395523925442 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224968234521661378} + - component: {fileID: 222746693721564418} + - component: {fileID: 114302359538897432} + - component: {fileID: 114906565208794506} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224968234521661378 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1115395523925442} + 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_Children: [] + m_Father: {fileID: 224180484781794126} + 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: 20, y: -15.5} + m_SizeDelta: {x: 38.801266, y: 21} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &222746693721564418 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1115395523925442} + m_CullTransparentMesh: 0 +--- !u!114 &114302359538897432 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1115395523925442} + 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.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + 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: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: Delete +--- !u!114 &114906565208794506 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1115395523925442} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 2 + m_VerticalFit: 0 +--- !u!1 &1118279780387764 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224266136694922796} + - component: {fileID: 223713414452530926} + - component: {fileID: 114344696691822798} + - component: {fileID: 114966523907925700} + - component: {fileID: 114206147818356958} + m_Layer: 5 + m_Name: DeleteConfirmationPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &224266136694922796 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118279780387764} + 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_Children: + - {fileID: 224591811834369706} + - {fileID: 224528182894209024} + m_Father: {fileID: 224000013577827562} + m_RootOrder: 1 + 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: -20, y: -100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!223 &223713414452530926 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118279780387764} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + 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!114 &114344696691822798 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118279780387764} + 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 &114966523907925700 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118279780387764} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e63253265f9892b4f903968d5f58c0f0, type: 3} + m_Name: + m_EditorClassIdentifier: + deletedItems: + - {fileID: 1993517787700380} + - {fileID: 1662553362089260} + - {fileID: 1403116251523746} + - {fileID: 1628886504746956} + - {fileID: 1828702684466812} + deletedItemIcons: + - {fileID: 114490386416446264} + - {fileID: 114559354246090904} + - {fileID: 114644076772715040} + - {fileID: 114688142498443454} + - {fileID: 114999919211664452} + deletedItemNames: + - {fileID: 114537443433290408} + - {fileID: 114329718623174410} + - {fileID: 114900374411104580} + - {fileID: 114174822176540134} + - {fileID: 114339731131638318} + deletedItemsRest: {fileID: 1871003747564276} + deletedItemsRestLabel: {fileID: 114094015756707196} + yesButtonTransform: {fileID: 224653188807837000} + noButtonTransform: {fileID: 224366934613293246} + narrowScreenWidth: 500 +--- !u!114 &114206147818356958 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118279780387764} + 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: 0 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!1 &1118377256305244 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224591811834369706} + - component: {fileID: 222863206528099286} + - component: {fileID: 114302888222685676} + - component: {fileID: 114513488977380248} + m_Layer: 5 + m_Name: RaycastBlocker + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224591811834369706 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118377256305244} + 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_Children: [] + m_Father: {fileID: 224266136694922796} + 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: 10000, y: 10000} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222863206528099286 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118377256305244} + m_CullTransparentMesh: 0 +--- !u!114 &114302888222685676 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118377256305244} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b4fd8cdb8c068dd4bb48c415877496ba, 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} +--- !u!114 &114513488977380248 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1118377256305244} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &1123161949036024 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224838098161518584} + m_Layer: 5 + m_Name: MoreOptionsContextMenuPosition + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224838098161518584 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1123161949036024} + 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_Children: [] + m_Father: {fileID: 224367545595026078} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 10, y: 10} + m_Pivot: {x: 1, y: 1} +--- !u!1 &1151794855490460 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224895875343623328} + - component: {fileID: 222336820766335928} + - component: {fileID: 114875424048882362} + m_Layer: 5 + m_Name: TitleText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224895875343623328 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1151794855490460} + 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_Children: [] + m_Father: {fileID: 224528182894209024} + 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: 245.34074, y: -17.606972} + m_SizeDelta: {x: 470.6815, y: 15.213947} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222336820766335928 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1151794855490460} + m_CullTransparentMesh: 0 +--- !u!114 &114875424048882362 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1151794855490460} + 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.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + 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: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Are you sure you want to delete these files? This operation cannot be undone. +--- !u!1 &1167292262143336 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224778155638663352} + - component: {fileID: 114935999190282984} + m_Layer: 5 + m_Name: Buttons + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224778155638663352 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1167292262143336} + 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_Children: + - {fileID: 224653188807837000} + - {fileID: 224366934613293246} + m_Father: {fileID: 224528182894209024} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 20} + m_SizeDelta: {x: -50, y: 30} + m_Pivot: {x: 0.5, y: 0} +--- !u!114 &114935999190282984 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1167292262143336} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &1171342637537398 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224238202155165620} + - component: {fileID: 222054528745619754} + - component: {fileID: 114094015756707196} + m_Layer: 5 + m_Name: Name + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224238202155165620 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1171342637537398} + 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_Children: [] + m_Father: {fileID: 224428437787852036} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 19, y: 0} + m_SizeDelta: {x: -38, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222054528745619754 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1171342637537398} + m_CullTransparentMesh: 0 +--- !u!114 &114094015756707196 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1171342637537398} + 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.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + 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: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: ...and 1 other +--- !u!1 &1181530787890102 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224729756021937082} + - component: {fileID: 222777756029992576} + - component: {fileID: 114339731131638318} + m_Layer: 5 + m_Name: Name + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224729756021937082 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1181530787890102} + 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_Children: [] + m_Father: {fileID: 224805519747973880} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 19, y: 0} + m_SizeDelta: {x: -38, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222777756029992576 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1181530787890102} + m_CullTransparentMesh: 0 +--- !u!114 &114339731131638318 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1181530787890102} + 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.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + 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: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Filename +--- !u!1 &1183286242104644 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224667401959175920} + - component: {fileID: 222458615791619182} + - component: {fileID: 114041711672230222} + - component: {fileID: 114520439492911304} + m_Layer: 5 + m_Name: Separator + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224667401959175920 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1183286242104644} + 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_Children: [] + m_Father: {fileID: 224210293626551430} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -14, y: 1} + m_Pivot: {x: 0.5, y: 0} +--- !u!222 &222458615791619182 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1183286242104644} + m_CullTransparentMesh: 0 +--- !u!114 &114041711672230222 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1183286242104644} + 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.6397059, g: 0.6397059, b: 0.6397059, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 6ff773ea42aedd04c8bb96a1fe9a73b8, type: 3} + 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!114 &114520439492911304 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1183286242104644} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &1194639342920472 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224491748653748466} + - component: {fileID: 222389444148571120} + - component: {fileID: 114938008637452676} + - component: {fileID: 114144994822079520} + m_Layer: 5 + m_Name: MoreOptionsButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224491748653748466 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1194639342920472} + 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_Children: [] + m_Father: {fileID: 224367545595026078} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 35, y: -16} + m_Pivot: {x: 1, y: 0.5} +--- !u!222 &222389444148571120 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1194639342920472} + m_CullTransparentMesh: 0 +--- !u!114 &114938008637452676 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1194639342920472} + 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: 21300000, guid: 3eb0ab0fddc930a498bef8ce7e149ea0, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &114144994822079520 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1194639342920472} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114938008637452676} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114000013689746302} + m_TargetAssemblyTypeName: + m_MethodName: OnMoreOptionsButtonClicked + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!1 &1199555316942912 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224600721066704016} + - component: {fileID: 222867589216164922} + - component: {fileID: 114980400322576558} + - component: {fileID: 114431454406163400} + m_Layer: 5 + m_Name: NameInputField + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224600721066704016 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1199555316942912} + 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_Children: + - {fileID: 224629007158093994} + m_Father: {fileID: 224857456558362622} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 16, y: 0} + m_SizeDelta: {x: -36, y: -2} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222867589216164922 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1199555316942912} + m_CullTransparentMesh: 0 +--- !u!114 &114980400322576558 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1199555316942912} + 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: 21300000, guid: f668f62689b67d242ad33ff665594344, type: 3} + 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!114 &114431454406163400 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1199555316942912} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114980400322576558} + m_TextComponent: {fileID: 114736820354341176} + m_Placeholder: {fileID: 0} + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 0 + m_CharacterLimit: 0 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114205106981145908} + m_TargetAssemblyTypeName: + m_MethodName: OnInputFieldEndEdit + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 +--- !u!1 &1206614593168194 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224127867913948392} + m_Layer: 5 + m_Name: PathInputFieldSlotBottom + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224127867913948392 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1206614593168194} + 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_Children: [] + m_Father: {fileID: 224000012236837694} + 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: 4} + m_SizeDelta: {x: -20, y: -8} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1220010475224892 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224994857637170592} + - component: {fileID: 222137941452735390} + - component: {fileID: 114509553718010344} + m_Layer: 5 + m_Name: OverlayText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224994857637170592 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1220010475224892} + 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_Children: [] + m_Father: {fileID: 224358462403105482} + m_RootOrder: 1 + 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!222 &222137941452735390 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1220010475224892} + m_CullTransparentMesh: 0 +--- !u!114 &114509553718010344 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1220010475224892} + 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.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + 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: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!1 &1254239407579514 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224254816764787534} + - component: {fileID: 222045562886155196} + - component: {fileID: 114174822176540134} + m_Layer: 5 + m_Name: Name + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224254816764787534 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1254239407579514} + 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_Children: [] + m_Father: {fileID: 224287151320632504} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 19, y: 0} + m_SizeDelta: {x: -38, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222045562886155196 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1254239407579514} + m_CullTransparentMesh: 0 +--- !u!114 &114174822176540134 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1254239407579514} + 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.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + 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: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Filename +--- !u!1 &1286188004436562 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224811477075121130} + m_Layer: 5 + m_Name: PathInputFieldSlotTop + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224811477075121130 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1286188004436562} + 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_Children: + - {fileID: 224000010349777518} + m_Father: {fileID: 224367545595026078} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -10.5, y: 0} + m_SizeDelta: {x: -289, y: -16} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1344831917772668 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224710151233061090} + - component: {fileID: 222754384321455642} + - component: {fileID: 114490386416446264} + m_Layer: 5 + m_Name: Icon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224710151233061090 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1344831917772668} + 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_Children: [] + m_Father: {fileID: 224612077775479484} + 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: 19, y: 0} + m_SizeDelta: {x: 30, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222754384321455642 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1344831917772668} + m_CullTransparentMesh: 0 +--- !u!114 &114490386416446264 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1344831917772668} + 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: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &1352454224458750 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224999068213333118} + - component: {fileID: 222372755958818208} + - component: {fileID: 114559354246090904} + m_Layer: 5 + m_Name: Icon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224999068213333118 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1352454224458750} + 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_Children: [] + m_Father: {fileID: 224917160840910854} + 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: 19, y: 0} + m_SizeDelta: {x: 30, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222372755958818208 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1352454224458750} + m_CullTransparentMesh: 0 +--- !u!114 &114559354246090904 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1352454224458750} + 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: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &1363148212006182 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224671979781234494} + - component: {fileID: 222905629628785182} + - component: {fileID: 114999919211664452} + m_Layer: 5 + m_Name: Icon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224671979781234494 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1363148212006182} + 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_Children: [] + m_Father: {fileID: 224805519747973880} + 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: 19, y: 0} + m_SizeDelta: {x: 30, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222905629628785182 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1363148212006182} + m_CullTransparentMesh: 0 +--- !u!114 &114999919211664452 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1363148212006182} + 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: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &1371217670851380 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224210293626551430} + - component: {fileID: 222840457201773196} + - component: {fileID: 114582105816722586} + - component: {fileID: 114364461900096894} + - component: {fileID: 114250224012945672} + - component: {fileID: 114529936178937370} + m_Layer: 5 + m_Name: DeselectAllButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224210293626551430 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1371217670851380} + 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_Children: + - {fileID: 224667401959175920} + - {fileID: 224731226730921728} + m_Father: {fileID: 224387572643228028} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 1, y: -47.5} + m_SizeDelta: {x: 110.03155, y: 31} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &222840457201773196 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1371217670851380} + m_CullTransparentMesh: 0 +--- !u!114 &114582105816722586 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1371217670851380} + 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.955, g: 0.955, b: 0.955, 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: 21300000, guid: 6ff773ea42aedd04c8bb96a1fe9a73b8, type: 3} + 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!114 &114364461900096894 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1371217670851380} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114582105816722586} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114581495326313396} + m_TargetAssemblyTypeName: + m_MethodName: OnDeselectAllButtonClicked + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &114250224012945672 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1371217670851380} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: 31 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &114529936178937370 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1371217670851380} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 20 + m_Right: 20 + m_Top: 5 + m_Bottom: 5 + m_ChildAlignment: 0 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!1 &1392761110000372 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224387572643228028} + - component: {fileID: 114581495326313396} + - component: {fileID: 223343947268237976} + - component: {fileID: 114316989975752164} + - component: {fileID: 222292635105406868} + - component: {fileID: 114016452581339190} + - component: {fileID: 114277150645603946} + - component: {fileID: 114071748841153460} + m_Layer: 5 + m_Name: ContextMenu + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &224387572643228028 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1392761110000372} + 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_Children: + - {fileID: 224501555033979764} + - {fileID: 224945766401846030} + - {fileID: 224210293626551430} + - {fileID: 224009688569940338} + - {fileID: 224180484781794126} + - {fileID: 224742478263042688} + m_Father: {fileID: 224000013577827562} + m_RootOrder: 2 + 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: 112.031555, y: 155} + m_Pivot: {x: 0, y: 1} +--- !u!114 &114581495326313396 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1392761110000372} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0d5261bc2717e6143961d30ccb76fb66, type: 3} + m_Name: + m_EditorClassIdentifier: + fileBrowser: {fileID: 114000013689746302} + rectTransform: {fileID: 224387572643228028} + selectAllButton: {fileID: 114370003170116688} + deselectAllButton: {fileID: 114364461900096894} + deleteButton: {fileID: 114128867067796106} + renameButton: {fileID: 114411366083395940} + selectAllButtonSeparator: {fileID: 1743655712281856} + minDistanceToEdges: 10 +--- !u!223 &223343947268237976 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1392761110000372} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 1 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 2020 + m_TargetDisplay: 0 +--- !u!114 &114316989975752164 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1392761110000372} + 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!222 &222292635105406868 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1392761110000372} + m_CullTransparentMesh: 0 +--- !u!114 &114016452581339190 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1392761110000372} + 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.955, g: 0.955, b: 0.955, 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: 21300000, guid: b9c5fedc997f125448c4d8be2fc43bcd, type: 3} + 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!114 &114277150645603946 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1392761110000372} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 1 + m_Right: 1 + m_Top: 1 + m_Bottom: 1 + m_ChildAlignment: 0 + m_Spacing: 0 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!114 &114071748841153460 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1392761110000372} + 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 &1401151329615976 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224629007158093994} + - component: {fileID: 222482284729687946} + - component: {fileID: 114736820354341176} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224629007158093994 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1401151329615976} + 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_Children: [] + m_Father: {fileID: 224600721066704016} + 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: -8, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222482284729687946 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1401151329615976} + m_CullTransparentMesh: 0 +--- !u!114 &114736820354341176 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1401151329615976} + 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.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + 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: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!1 &1403116251523746 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224339630385967890} + - component: {fileID: 114531045137026284} + m_Layer: 5 + m_Name: DeletedItem3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224339630385967890 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1403116251523746} + 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_Children: + - {fileID: 224878520749080566} + - {fileID: 224579978660468938} + m_Father: {fileID: 224528182894209024} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 10, y: -110.21394} + m_SizeDelta: {x: 465, y: 30} + m_Pivot: {x: 0, y: 1} +--- !u!114 &114531045137026284 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1403116251523746} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 465 + m_PreferredHeight: 30 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &1414856304093004 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224653188807837000} + - component: {fileID: 222860798903739830} + - component: {fileID: 114625667920685068} + - component: {fileID: 114698690279555360} + m_Layer: 5 + m_Name: YesButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224653188807837000 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1414856304093004} + 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_Children: + - {fileID: 224378325536902244} + m_Father: {fileID: 224778155638663352} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: -2.5, y: 0} + m_SizeDelta: {x: -5, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222860798903739830 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1414856304093004} + m_CullTransparentMesh: 0 +--- !u!114 &114625667920685068 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1414856304093004} + 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: 21300000, guid: 2c46fa192de46b04e8281f225bee0230, type: 3} + 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!114 &114698690279555360 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1414856304093004} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114625667920685068} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114966523907925700} + m_TargetAssemblyTypeName: + m_MethodName: YesButtonClicked + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!1 &1415466660983166 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224180484781794126} + - component: {fileID: 222085511415262082} + - component: {fileID: 114979685639805002} + - component: {fileID: 114128867067796106} + - component: {fileID: 114512122434902734} + - component: {fileID: 114545190460066226} + m_Layer: 5 + m_Name: DeleteButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224180484781794126 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1415466660983166} + 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_Children: + - {fileID: 224615493904165516} + - {fileID: 224968234521661378} + m_Father: {fileID: 224387572643228028} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 1, y: -108.5} + m_SizeDelta: {x: 110.03155, y: 31} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &222085511415262082 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1415466660983166} + m_CullTransparentMesh: 0 +--- !u!114 &114979685639805002 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1415466660983166} + 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.955, g: 0.955, b: 0.955, 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: 21300000, guid: 6ff773ea42aedd04c8bb96a1fe9a73b8, type: 3} + 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!114 &114128867067796106 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1415466660983166} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114979685639805002} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114581495326313396} + m_TargetAssemblyTypeName: + m_MethodName: OnDeleteButtonClicked + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &114512122434902734 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1415466660983166} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: 31 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &114545190460066226 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1415466660983166} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 20 + m_Right: 20 + m_Top: 5 + m_Bottom: 5 + m_ChildAlignment: 0 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!1 &1501240792967194 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224528182894209024} + - component: {fileID: 222610136704142508} + - component: {fileID: 114011919482879176} + - component: {fileID: 114455833942722318} + m_Layer: 5 + m_Name: Contents + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224528182894209024 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1501240792967194} + 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_Children: + - {fileID: 224895875343623328} + - {fileID: 224259126733759176} + - {fileID: 224612077775479484} + - {fileID: 224917160840910854} + - {fileID: 224339630385967890} + - {fileID: 224287151320632504} + - {fileID: 224805519747973880} + - {fileID: 224428437787852036} + - {fileID: 224778155638663352} + m_Father: {fileID: 224266136694922796} + 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: 508.22507, y: -250} + m_SizeDelta: {x: 490.6815, y: 290.21393} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222610136704142508 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1501240792967194} + m_CullTransparentMesh: 0 +--- !u!114 &114011919482879176 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1501240792967194} + 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.955, g: 0.955, b: 0.955, 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: 21300000, guid: b9c5fedc997f125448c4d8be2fc43bcd, type: 3} + 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!114 &114455833942722318 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1501240792967194} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 20 + m_Right: 20 + m_Top: 20 + m_Bottom: 60 + m_ChildAlignment: 0 + m_Spacing: 5 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!1 &1522591338055258 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224259126733759176} + - component: {fileID: 114632553065245236} + m_Layer: 5 + m_Name: Space + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224259126733759176 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1522591338055258} + 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_Children: [] + m_Father: {fileID: 224528182894209024} + 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: 10, y: -32.713943} + m_SizeDelta: {x: 0, y: 5} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &114632553065245236 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1522591338055258} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: 5 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &1595574248274308 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224579978660468938} + - component: {fileID: 222683994645252540} + - component: {fileID: 114900374411104580} + m_Layer: 5 + m_Name: Name + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224579978660468938 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1595574248274308} + 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_Children: [] + m_Father: {fileID: 224339630385967890} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 19, y: 0} + m_SizeDelta: {x: -38, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222683994645252540 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1595574248274308} + m_CullTransparentMesh: 0 +--- !u!114 &114900374411104580 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1595574248274308} + 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.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + 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: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Filename +--- !u!1 &1628495760451836 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224404137521161490} + - component: {fileID: 222772221329009366} + - component: {fileID: 114173752668573194} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224404137521161490 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1628495760451836} + 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_Children: [] + m_Father: {fileID: 224366934613293246} + 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!222 &222772221329009366 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1628495760451836} + m_CullTransparentMesh: 0 +--- !u!114 &114173752668573194 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1628495760451836} + 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.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + 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: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: No +--- !u!1 &1628886504746956 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224287151320632504} + - component: {fileID: 114351978993012462} + m_Layer: 5 + m_Name: DeletedItem4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224287151320632504 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1628886504746956} + 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_Children: + - {fileID: 224352439219928090} + - {fileID: 224254816764787534} + m_Father: {fileID: 224528182894209024} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 10, y: -145.21394} + m_SizeDelta: {x: 465, y: 30} + m_Pivot: {x: 0, y: 1} +--- !u!114 &114351978993012462 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1628886504746956} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 465 + m_PreferredHeight: 30 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &1639969918461738 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4904278185319220} + - component: {fileID: 114264229365648150} + - component: {fileID: 114987523097433500} + - component: {fileID: 114249932998432414} + m_Layer: 5 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &4904278185319220 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1639969918461738} + 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_Children: [] + m_Father: {fileID: 224000013577827562} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &114264229365648150 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1639969918461738} + 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: 5 +--- !u!114 &114987523097433500 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1639969918461738} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &114249932998432414 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1639969918461738} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1511ccae7919cfc46b603b9b337fdc94, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1641356320230866 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224700969652192598} + - component: {fileID: 222341821613882866} + - component: {fileID: 114329718623174410} + m_Layer: 5 + m_Name: Name + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224700969652192598 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1641356320230866} + 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_Children: [] + m_Father: {fileID: 224917160840910854} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 19, y: 0} + m_SizeDelta: {x: -38, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222341821613882866 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1641356320230866} + m_CullTransparentMesh: 0 +--- !u!114 &114329718623174410 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1641356320230866} + 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.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + 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: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Filename +--- !u!1 &1662553362089260 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224917160840910854} + - component: {fileID: 114991255790000676} + m_Layer: 5 + m_Name: DeletedItem2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224917160840910854 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1662553362089260} + 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_Children: + - {fileID: 224999068213333118} + - {fileID: 224700969652192598} + m_Father: {fileID: 224528182894209024} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 10, y: -75.21394} + m_SizeDelta: {x: 465, y: 30} + m_Pivot: {x: 0, y: 1} +--- !u!114 &114991255790000676 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1662553362089260} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 465 + m_PreferredHeight: 30 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &1696201915293482 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224352439219928090} + - component: {fileID: 222596191243205734} + - component: {fileID: 114688142498443454} + m_Layer: 5 + m_Name: Icon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224352439219928090 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1696201915293482} + 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_Children: [] + m_Father: {fileID: 224287151320632504} + 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: 19, y: 0} + m_SizeDelta: {x: 30, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222596191243205734 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1696201915293482} + m_CullTransparentMesh: 0 +--- !u!114 &114688142498443454 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1696201915293482} + 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: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &1727841728426566 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224448863046366790} + - component: {fileID: 222773604375578486} + - component: {fileID: 114339422463366890} + m_Layer: 5 + m_Name: Icon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &224448863046366790 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1727841728426566} + 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_Children: [] + m_Father: {fileID: 224428437787852036} + 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: 19, y: 0} + m_SizeDelta: {x: 30, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222773604375578486 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1727841728426566} + m_CullTransparentMesh: 0 +--- !u!114 &114339422463366890 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1727841728426566} + 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: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &1742488419803120 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224367545595026078} + m_Layer: 5 + m_Name: TopView + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224367545595026078 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1742488419803120} + 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_Children: + - {fileID: 224000012440297122} + - {fileID: 224000010179883522} + - {fileID: 224000014041540182} + - {fileID: 224811477075121130} + - {fileID: 224000014003395874} + - {fileID: 224491748653748466} + - {fileID: 224838098161518584} + m_Father: {fileID: 224000010868828018} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 50} + m_Pivot: {x: 0.5, y: 1} +--- !u!1 &1743655712281856 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224879149458412328} + - component: {fileID: 222009336802652680} + - component: {fileID: 114076502751505788} + - component: {fileID: 114566098502354050} + m_Layer: 5 + m_Name: Separator + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &224879149458412328 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1743655712281856} + 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_Children: [] + m_Father: {fileID: 224945766401846030} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -14, y: 1} + m_Pivot: {x: 0.5, y: 0} +--- !u!222 &222009336802652680 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1743655712281856} + m_CullTransparentMesh: 0 +--- !u!114 &114076502751505788 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1743655712281856} + 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.6397059, g: 0.6397059, b: 0.6397059, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 6ff773ea42aedd04c8bb96a1fe9a73b8, type: 3} + 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!114 &114566098502354050 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1743655712281856} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &1766934271893524 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224358462403105482} + - component: {fileID: 114036704718389764} + m_Layer: 5 + m_Name: TextHolder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224358462403105482 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1766934271893524} + 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_Children: + - {fileID: 224000011163845922} + - {fileID: 224994857637170592} + m_Father: {fileID: 224000013875672764} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 4, y: -0.5} + m_SizeDelta: {x: -12, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &114036704718389764 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1766934271893524} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: {x: 0, y: 0, z: 0, w: 0} + m_Softness: {x: 0, y: 0} +--- !u!1 &1781664147393650 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224378325536902244} + - component: {fileID: 222443444073920332} + - component: {fileID: 114314042280724206} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224378325536902244 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1781664147393650} + 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_Children: [] + m_Father: {fileID: 224653188807837000} + 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!222 &222443444073920332 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1781664147393650} + m_CullTransparentMesh: 0 +--- !u!114 &114314042280724206 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1781664147393650} + 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.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + 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: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Yes +--- !u!1 &1783948981068786 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224160221478621668} + - component: {fileID: 222673228713899592} + - component: {fileID: 114618009950600020} + m_Layer: 5 + m_Name: Icon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224160221478621668 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1783948981068786} + 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_Children: [] + m_Father: {fileID: 224857456558362622} + 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: 19, y: 0} + m_SizeDelta: {x: 30, y: -6} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222673228713899592 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1783948981068786} + m_CullTransparentMesh: 0 +--- !u!114 &114618009950600020 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1783948981068786} + 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: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &1808582822678028 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224366934613293246} + - component: {fileID: 222833333968716816} + - component: {fileID: 114598182042052440} + - component: {fileID: 114438238768779492} + m_Layer: 5 + m_Name: NoButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224366934613293246 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1808582822678028} + 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_Children: + - {fileID: 224404137521161490} + m_Father: {fileID: 224778155638663352} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 2.5, y: 0} + m_SizeDelta: {x: -5, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &222833333968716816 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1808582822678028} + m_CullTransparentMesh: 0 +--- !u!114 &114598182042052440 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1808582822678028} + 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: 21300000, guid: 2c46fa192de46b04e8281f225bee0230, type: 3} + 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!114 &114438238768779492 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1808582822678028} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114598182042052440} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114966523907925700} + m_TargetAssemblyTypeName: + m_MethodName: NoButtonClicked + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!1 &1810475167515568 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224009688569940338} + - component: {fileID: 222770684167431508} + - component: {fileID: 114280106910162478} + - component: {fileID: 114346774628667646} + - component: {fileID: 114906368162061808} + - component: {fileID: 114837575635243700} + m_Layer: 5 + m_Name: CreateFolderButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224009688569940338 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1810475167515568} + 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_Children: + - {fileID: 224858762309318048} + m_Father: {fileID: 224387572643228028} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 1, y: -78} + m_SizeDelta: {x: 110.03155, y: 30} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &222770684167431508 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1810475167515568} + m_CullTransparentMesh: 0 +--- !u!114 &114280106910162478 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1810475167515568} + 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.955, g: 0.955, b: 0.955, 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: 21300000, guid: 6ff773ea42aedd04c8bb96a1fe9a73b8, type: 3} + 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!114 &114346774628667646 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1810475167515568} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114280106910162478} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114581495326313396} + m_TargetAssemblyTypeName: + m_MethodName: OnCreateFolderButtonClicked + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &114906368162061808 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1810475167515568} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: 30 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &114837575635243700 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1810475167515568} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 20 + m_Right: 20 + m_Top: 5 + m_Bottom: 5 + m_ChildAlignment: 0 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!1 &1828702684466812 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224805519747973880} + - component: {fileID: 114315604284939632} + m_Layer: 5 + m_Name: DeletedItem5 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224805519747973880 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1828702684466812} + 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_Children: + - {fileID: 224671979781234494} + - {fileID: 224729756021937082} + m_Father: {fileID: 224528182894209024} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 10, y: -180.21394} + m_SizeDelta: {x: 465, y: 30} + m_Pivot: {x: 0, y: 1} +--- !u!114 &114315604284939632 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1828702684466812} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 465 + m_PreferredHeight: 30 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &1852063596372882 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224826572783568050} + - component: {fileID: 222687076515874848} + - component: {fileID: 114353583898203612} + - component: {fileID: 114713076422221768} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224826572783568050 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1852063596372882} + 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_Children: [] + m_Father: {fileID: 224742478263042688} + 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: 20, y: -15} + m_SizeDelta: {x: 51.104103, y: 20} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &222687076515874848 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1852063596372882} + m_CullTransparentMesh: 0 +--- !u!114 &114353583898203612 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1852063596372882} + 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.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + 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: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: Rename +--- !u!114 &114713076422221768 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1852063596372882} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 2 + m_VerticalFit: 0 +--- !u!1 &1871003747564276 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224428437787852036} + - component: {fileID: 114651400270007254} + m_Layer: 5 + m_Name: DeletedItemsRest + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224428437787852036 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1871003747564276} + 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_Children: + - {fileID: 224448863046366790} + - {fileID: 224238202155165620} + m_Father: {fileID: 224528182894209024} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 10, y: -215.21394} + m_SizeDelta: {x: 465, y: 25} + m_Pivot: {x: 0, y: 1} +--- !u!114 &114651400270007254 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1871003747564276} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 465 + m_PreferredHeight: 25 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &1897211725240638 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224858762309318048} + - component: {fileID: 222803269594998364} + - component: {fileID: 114314828806938924} + - component: {fileID: 114108319543634614} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224858762309318048 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1897211725240638} + 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_Children: [] + m_Father: {fileID: 224009688569940338} + 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: 20, y: -15} + m_SizeDelta: {x: 69.085175, y: 20} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &222803269594998364 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1897211725240638} + m_CullTransparentMesh: 0 +--- !u!114 &114314828806938924 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1897211725240638} + 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.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + 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: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: New Folder +--- !u!114 &114108319543634614 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1897211725240638} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 2 + m_VerticalFit: 0 +--- !u!1 &1905169721860466 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224945766401846030} + - component: {fileID: 222620863043679912} + - component: {fileID: 114451388216889804} + - component: {fileID: 114370003170116688} + - component: {fileID: 114481890628619012} + - component: {fileID: 114386564521543982} + m_Layer: 5 + m_Name: SelectAllButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224945766401846030 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1905169721860466} + 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_Children: + - {fileID: 224879149458412328} + - {fileID: 224220852933180436} + m_Father: {fileID: 224387572643228028} + 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: 1, y: -16.5} + m_SizeDelta: {x: 110.03155, y: 31} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &222620863043679912 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1905169721860466} + m_CullTransparentMesh: 0 +--- !u!114 &114451388216889804 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1905169721860466} + 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.955, g: 0.955, b: 0.955, 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: 21300000, guid: 6ff773ea42aedd04c8bb96a1fe9a73b8, type: 3} + 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!114 &114370003170116688 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1905169721860466} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: Highlighted + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 114451388216889804} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 114581495326313396} + m_TargetAssemblyTypeName: + m_MethodName: OnSelectAllButtonClicked + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &114481890628619012 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1905169721860466} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: 31 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &114386564521543982 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1905169721860466} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 20 + m_Right: 20 + m_Top: 5 + m_Bottom: 5 + m_ChildAlignment: 0 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!1 &1943012010209294 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224731226730921728} + - component: {fileID: 222644920040829442} + - component: {fileID: 114565051423253148} + - component: {fileID: 114790330541710592} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224731226730921728 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1943012010209294} + 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_Children: [] + m_Father: {fileID: 224210293626551430} + 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: 20, y: -15.5} + m_SizeDelta: {x: 70.03155, y: 21} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &222644920040829442 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1943012010209294} + m_CullTransparentMesh: 0 +--- !u!114 &114565051423253148 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1943012010209294} + 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.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + 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: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: Deselect All +--- !u!114 &114790330541710592 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1943012010209294} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 2 + m_VerticalFit: 0 +--- !u!1 &1948947663165792 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224615493904165516} + - component: {fileID: 222082483285537386} + - component: {fileID: 114633891711833786} + - component: {fileID: 114233783704331086} + m_Layer: 5 + m_Name: Separator + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224615493904165516 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1948947663165792} + 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_Children: [] + m_Father: {fileID: 224180484781794126} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 1} + m_SizeDelta: {x: -14, y: 1} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &222082483285537386 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1948947663165792} + m_CullTransparentMesh: 0 +--- !u!114 &114633891711833786 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1948947663165792} + 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.6397059, g: 0.6397059, b: 0.6397059, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 6ff773ea42aedd04c8bb96a1fe9a73b8, type: 3} + 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!114 &114233783704331086 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1948947663165792} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &1993517787700380 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 224612077775479484} + - component: {fileID: 114368152801369894} + m_Layer: 5 + m_Name: DeletedItem1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &224612077775479484 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1993517787700380} + 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_Children: + - {fileID: 224710151233061090} + - {fileID: 224976749748923606} + m_Father: {fileID: 224528182894209024} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 10, y: -40.213943} + m_SizeDelta: {x: 465, y: 30} + m_Pivot: {x: 0, y: 1} +--- !u!114 &114368152801369894 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1993517787700380} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 465 + m_PreferredHeight: 30 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 diff --git a/Assets/Plugins/SimpleFileBrowser/Resources/SimpleFileBrowserCanvas.prefab.meta b/Assets/Plugins/SimpleFileBrowser/Resources/SimpleFileBrowserCanvas.prefab.meta new file mode 100644 index 0000000..d30edf8 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Resources/SimpleFileBrowserCanvas.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9ea2606f8fddead46aabb7adb3d8d434 +timeCreated: 1479415546 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Scripts.meta b/Assets/Plugins/SimpleFileBrowser/Scripts.meta new file mode 100644 index 0000000..38b6a00 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Scripts.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: be37f3e38d135f94e9d78c79ef89d303 +folderAsset: yes +timeCreated: 1479413886 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowser.cs b/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowser.cs new file mode 100644 index 0000000..0e5bf28 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowser.cs @@ -0,0 +1,2625 @@ +using UnityEngine; +using UnityEngine.EventSystems; +using UnityEngine.UI; +using System; +using System.IO; +using System.Collections; +using System.Collections.Generic; +using System.Text; +#if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER +using UnityEngine.InputSystem; +#endif + +namespace SimpleFileBrowser +{ + public class FileBrowser : MonoBehaviour, IListViewAdapter + { + public enum Permission { Denied = 0, Granted = 1, ShouldAsk = 2 }; + public enum PickMode { Files = 0, Folders = 1, FilesAndFolders = 2 }; + + #region Structs +#pragma warning disable 0649 + [Serializable] + private struct FiletypeIcon + { + public string extension; + public Sprite icon; + } + + [Serializable] + private struct QuickLink + { +#if UNITY_EDITOR || ( !UNITY_WSA && !UNITY_WSA_10_0 ) + public Environment.SpecialFolder target; +#endif + public string name; + public Sprite icon; + } +#pragma warning restore 0649 + #endregion + + #region Inner Classes + public class Filter + { + public readonly string name; + public readonly HashSet extensions; + public readonly string defaultExtension; + + internal Filter( string name ) + { + this.name = name; + extensions = null; + defaultExtension = null; + } + + public Filter( string name, string extension ) + { + this.name = name; + + extension = extension.ToLowerInvariant(); + extensions = new HashSet() { extension }; + defaultExtension = extension; + } + + public Filter( string name, params string[] extensions ) + { + this.name = name; + + for( int i = 0; i < extensions.Length; i++ ) + extensions[i] = extensions[i].ToLowerInvariant(); + + this.extensions = new HashSet( extensions ); + defaultExtension = extensions[0]; + } + + public override string ToString() + { + string result = string.Empty; + + if( name != null ) + result += name; + + if( extensions != null ) + { + if( name != null ) + result += " ("; + + int index = 0; + foreach( string extension in extensions ) + { + if( index++ > 0 ) + result += ", " + extension; + else + result += extension; + } + + if( name != null ) + result += ")"; + } + + return result; + } + } + #endregion + + #region Constants + private const int FILENAME_INPUT_FIELD_MAX_FILE_COUNT = 7; + private const string SAF_PICK_FOLDER_QUICK_LINK_PATH = "SAF_PICK_FOLDER"; + #endregion + + #region Static Variables + public static bool IsOpen { get; private set; } + + public static bool Success { get; private set; } + public static string[] Result { get; private set; } + + private static bool m_askPermissions = true; + public static bool AskPermissions + { + get { return m_askPermissions; } + set { m_askPermissions = value; } + } + + private static bool m_singleClickMode = false; + public static bool SingleClickMode + { + get { return m_singleClickMode; } + set { m_singleClickMode = value; } + } + +#if UNITY_EDITOR || ( !UNITY_ANDROID && !UNITY_IOS && !UNITY_WSA && !UNITY_WSA_10_0 ) + private static float m_drivesRefreshInterval = 5f; +#else + private static float m_drivesRefreshInterval = -1f; +#endif + public static float DrivesRefreshInterval + { + get { return m_drivesRefreshInterval; } + set { m_drivesRefreshInterval = value; } + } + + public static bool ShowHiddenFiles + { + get { return Instance.showHiddenFilesToggle.isOn; } + set { Instance.showHiddenFilesToggle.isOn = value; } + } + + private static bool m_displayHiddenFilesToggle = true; + public static bool DisplayHiddenFilesToggle + { + get { return m_displayHiddenFilesToggle; } + set + { + if( m_displayHiddenFilesToggle != value ) + { + m_displayHiddenFilesToggle = value; + + if( m_instance ) + { + if( !value ) + m_instance.showHiddenFilesToggle.gameObject.SetActive( false ); + else if( m_instance.windowTR.sizeDelta.x >= m_instance.narrowScreenWidth ) + { +#if !UNITY_EDITOR && UNITY_ANDROID + if( !FileBrowserHelpers.ShouldUseSAF ) +#endif + m_instance.showHiddenFilesToggle.gameObject.SetActive( true ); + } + } + } + } + } + + private static string m_allFilesFilterText = "All Files (.*)"; + public static string AllFilesFilterText + { + get { return m_allFilesFilterText; } + set + { + if( m_allFilesFilterText != value ) + { + string oldValue = m_allFilesFilterText; + m_allFilesFilterText = value; + + if( m_instance ) + { + Filter oldAllFilesFilter = m_instance.allFilesFilter; + m_instance.allFilesFilter = new Filter( value ); + + if( m_instance.filters.Count > 0 && m_instance.filters[0] == oldAllFilesFilter ) + m_instance.filters[0] = m_instance.allFilesFilter; + + if( m_instance.filtersDropdown.options[0].text == oldValue ) + m_instance.filtersDropdown.options[0].text = value; + } + } + } + } + + + private static string m_foldersFilterText = "Folders"; + public static string FoldersFilterText + { + get { return m_foldersFilterText; } + set + { + if( m_foldersFilterText != value ) + { + string oldValue = m_foldersFilterText; + m_foldersFilterText = value; + + if( m_instance && m_instance.filtersDropdown.options[0].text == oldValue ) + m_instance.filtersDropdown.options[0].text = value; + } + } + } + + + private static string m_pickFolderQuickLinkText = "Browse..."; + public static string PickFolderQuickLinkText + { + get { return m_pickFolderQuickLinkText; } + set + { + if( m_pickFolderQuickLinkText != value ) + { + m_pickFolderQuickLinkText = value; + + if( m_instance ) + { + for( int i = 0; i < m_instance.allQuickLinks.Count; i++ ) + { + FileBrowserQuickLink quickLink = m_instance.allQuickLinks[i]; + if( quickLink && quickLink.TargetPath == SAF_PICK_FOLDER_QUICK_LINK_PATH ) + { + quickLink.SetQuickLink( m_instance.driveIcon, value, SAF_PICK_FOLDER_QUICK_LINK_PATH ); + break; + } + } + } + } + } + } + + private static FileBrowser m_instance = null; + private static FileBrowser Instance + { + get + { + if( !m_instance ) + { + m_instance = Instantiate( Resources.Load( "SimpleFileBrowserCanvas" ) ).GetComponent(); + DontDestroyOnLoad( m_instance.gameObject ); + m_instance.gameObject.SetActive( false ); + } + + return m_instance; + } + } + #endregion + + #region Variables +#pragma warning disable 0649 + [Header( "Settings" )] + + [SerializeField] + internal Color normalFileColor = Color.white; + [SerializeField] + internal Color hoveredFileColor = new Color32( 225, 225, 255, 255 ); + [SerializeField] + internal Color selectedFileColor = new Color32( 0, 175, 255, 255 ); + [SerializeField] + internal Color wrongFilenameColor = new Color32( 255, 100, 100, 255 ); + + [SerializeField] + internal int minWidth = 380; + [SerializeField] + internal int minHeight = 300; + + [SerializeField] + private float narrowScreenWidth = 380f; + + [SerializeField] + private float quickLinksMaxWidthPercentage = 0.4f; + + [SerializeField] + private bool sortFilesByName = true; + + [SerializeField] + private string[] excludeExtensions; + +#pragma warning disable 0414 + [SerializeField] + private QuickLink[] quickLinks; + private static bool quickLinksInitialized; +#pragma warning restore 0414 + + private readonly HashSet excludedExtensionsSet = new HashSet(); + + [SerializeField] + private bool generateQuickLinksForDrives = true; + + [SerializeField] + private bool contextMenuShowDeleteButton = true; + + [SerializeField] + private bool contextMenuShowRenameButton = true; + + [SerializeField] + private bool showResizeCursor = true; + + [Header( "Icons" )] + + [SerializeField] + private Sprite folderIcon; + + [SerializeField] + private Sprite driveIcon; + + [SerializeField] + private Sprite defaultIcon; + + [SerializeField] + private FiletypeIcon[] filetypeIcons; + + private Dictionary filetypeToIcon; + + [SerializeField] + internal Sprite multiSelectionToggleOffIcon; + [SerializeField] + internal Sprite multiSelectionToggleOnIcon; + + [Header( "Internal References" )] + + [SerializeField] + private FileBrowserMovement window; + private RectTransform windowTR; + + [SerializeField] + private RectTransform topViewNarrowScreen; + + [SerializeField] + private RectTransform middleView; + private Vector2 middleViewOriginalPosition; + private Vector2 middleViewOriginalSize; + + [SerializeField] + private RectTransform middleViewQuickLinks; + private Vector2 middleViewQuickLinksOriginalSize; + + [SerializeField] + private RectTransform middleViewFiles; + + [SerializeField] + private RectTransform middleViewSeparator; + + [SerializeField] + private FileBrowserItem itemPrefab; + private readonly List allItems = new List( 16 ); + private float itemHeight; + + [SerializeField] + private FileBrowserQuickLink quickLinkPrefab; + private readonly List allQuickLinks = new List( 8 ); + + [SerializeField] + private Text titleText; + + [SerializeField] + private Button backButton; + + [SerializeField] + private Button forwardButton; + + [SerializeField] + private Button upButton; + + [SerializeField] + private InputField pathInputField; + + [SerializeField] + private RectTransform pathInputFieldSlotTop; + + [SerializeField] + private RectTransform pathInputFieldSlotBottom; + + [SerializeField] + private InputField searchInputField; + + [SerializeField] + private RectTransform quickLinksContainer; + + [SerializeField] + private RectTransform filesContainer; + + [SerializeField] + private ScrollRect filesScrollRect; + + [SerializeField] + private RecycledListView listView; + + [SerializeField] + private InputField filenameInputField; + + [SerializeField] + private Text filenameInputFieldOverlayText; + + [SerializeField] + private Image filenameImage; + + [SerializeField] + private Dropdown filtersDropdown; + + [SerializeField] + private RectTransform filtersDropdownContainer; + + [SerializeField] + private Text filterItemTemplate; + + [SerializeField] + private Toggle showHiddenFilesToggle; + + [SerializeField] + private Text submitButtonText; + + [SerializeField] + private RectTransform moreOptionsContextMenuPosition; + + [SerializeField] + private FileBrowserRenamedItem renameItem; + + [SerializeField] + private FileBrowserContextMenu contextMenu; + + [SerializeField] + private FileBrowserDeleteConfirmationPanel deleteConfirmationPanel; + + [SerializeField] + private FileBrowserCursorHandler resizeCursorHandler; +#pragma warning restore 0649 + + internal RectTransform rectTransform; + private Canvas canvas; + + private FileAttributes ignoredFileAttributes = FileAttributes.System; + + private FileSystemEntry[] allFileEntries; + private readonly List validFileEntries = new List(); + private readonly List selectedFileEntries = new List( 4 ); + private readonly List pendingFileEntrySelection = new List(); + +#pragma warning disable 0414 // Value is assigned but never used on Android & iOS + private int multiSelectionPivotFileEntry; +#pragma warning restore 0414 + private StringBuilder multiSelectionFilenameBuilder; + + private readonly List filters = new List(); + private Filter allFilesFilter; + + private bool showAllFilesFilter = true; + + private string defaultInitialPath; + + private int currentPathIndex = -1; + private readonly List pathsFollowed = new List(); + + private HashSet invalidFilenameChars; + + private float drivesNextRefreshTime; +#if !UNITY_EDITOR && UNITY_ANDROID + private string driveQuickLinks; +#else + private string[] driveQuickLinks; +#endif + private int numberOfDriveQuickLinks; + + private bool canvasDimensionsChanged; + + // Required in RefreshFiles() function + private PointerEventData nullPointerEventData; + #endregion + + #region Properties + private string m_currentPath = string.Empty; + private string CurrentPath + { + get { return m_currentPath; } + set + { +#if !UNITY_EDITOR && UNITY_ANDROID + if( !FileBrowserHelpers.ShouldUseSAF ) +#endif + if( value != null ) + value = GetPathWithoutTrailingDirectorySeparator( value.Trim() ); + + if( string.IsNullOrEmpty( value ) ) + { + pathInputField.text = m_currentPath; + return; + } + + if( m_currentPath != value ) + { + if( !FileBrowserHelpers.DirectoryExists( value ) ) + { + pathInputField.text = m_currentPath; + return; + } + + m_currentPath = value; + pathInputField.text = m_currentPath; + + if( currentPathIndex == -1 || pathsFollowed[currentPathIndex] != m_currentPath ) + { + currentPathIndex++; + if( currentPathIndex < pathsFollowed.Count ) + { + pathsFollowed[currentPathIndex] = value; + for( int i = pathsFollowed.Count - 1; i >= currentPathIndex + 1; i-- ) + pathsFollowed.RemoveAt( i ); + } + else + pathsFollowed.Add( m_currentPath ); + } + + backButton.interactable = currentPathIndex > 0; + forwardButton.interactable = currentPathIndex < pathsFollowed.Count - 1; +#if !UNITY_EDITOR && UNITY_ANDROID + if( FileBrowserHelpers.ShouldUseSAF ) + upButton.interactable = !string.IsNullOrEmpty( FileBrowserHelpers.GetDirectoryName( m_currentPath ) ); + else +#endif + upButton.interactable = Directory.GetParent( m_currentPath ) != null; + + m_searchString = string.Empty; + searchInputField.text = m_searchString; + + multiSelectionPivotFileEntry = 0; + filesScrollRect.verticalNormalizedPosition = 1; + + filenameImage.color = Color.white; + if( m_pickerMode != PickMode.Files ) + { + filenameInputField.text = string.Empty; + filenameInputField.interactable = true; + } + + // If a quick link points to this directory, highlight it +#if !UNITY_EDITOR && UNITY_ANDROID + // Path strings aren't deterministic on Storage Access Framework but the paths' absolute parts usually are + if( FileBrowserHelpers.ShouldUseSAF ) + { + int SAFAbsolutePathSeparatorIndex = m_currentPath.LastIndexOf( '/' ); + if( SAFAbsolutePathSeparatorIndex >= 0 ) + { + string absoluteSAFPath = m_currentPath.Substring( SAFAbsolutePathSeparatorIndex ); + for( int i = 0; i < allQuickLinks.Count; i++ ) + allQuickLinks[i].SetSelected( allQuickLinks[i].TargetPath == m_currentPath || allQuickLinks[i].TargetPath.EndsWith( absoluteSAFPath ) ); + } + else + { + for( int i = 0; i < allQuickLinks.Count; i++ ) + allQuickLinks[i].SetSelected( allQuickLinks[i].TargetPath == m_currentPath ); + } + } + else +#endif + { + for( int i = 0; i < allQuickLinks.Count; i++ ) + allQuickLinks[i].SetSelected( allQuickLinks[i].TargetPath == m_currentPath ); + } + } + + m_multiSelectionToggleSelectionMode = false; + RefreshFiles( true ); + } + } + + private string m_searchString = string.Empty; + private string SearchString + { + get { return m_searchString; } + set + { + if( m_searchString != value ) + { + m_searchString = value; + searchInputField.text = m_searchString; + + RefreshFiles( false ); + } + } + } + + private bool m_acceptNonExistingFilename = false; + private bool AcceptNonExistingFilename + { + get { return m_acceptNonExistingFilename; } + set { m_acceptNonExistingFilename = value; } + } + + private PickMode m_pickerMode = PickMode.Files; + internal PickMode PickerMode + { + get { return m_pickerMode; } + private set + { + m_pickerMode = value; + + if( m_pickerMode == PickMode.Folders ) + { + filtersDropdown.options[0].text = FoldersFilterText; + filtersDropdown.value = 0; + filtersDropdown.RefreshShownValue(); + filtersDropdown.interactable = false; + } + else + { + filtersDropdown.options[0].text = filters[0].ToString(); + filtersDropdown.interactable = true; + } + + Text placeholder = filenameInputField.placeholder as Text; + if( placeholder ) + placeholder.gameObject.SetActive( m_pickerMode != PickMode.Folders ); + } + } + + private bool m_allowMultiSelection; + internal bool AllowMultiSelection + { + get { return m_allowMultiSelection; } + private set { m_allowMultiSelection = value; } + } + + private bool m_multiSelectionToggleSelectionMode; + internal bool MultiSelectionToggleSelectionMode + { + get { return m_multiSelectionToggleSelectionMode; } + private set + { + if( m_multiSelectionToggleSelectionMode != value ) + { + m_multiSelectionToggleSelectionMode = value; + + for( int i = 0; i < allItems.Count; i++ ) + { + if( allItems[i].gameObject.activeSelf ) + allItems[i].SetSelected( selectedFileEntries.Contains( allItems[i].Position ) ); + } + } + } + } + + private string Title + { + get { return titleText.text; } + set { titleText.text = value; } + } + + private string SubmitButtonText + { + get { return submitButtonText.text; } + set { submitButtonText.text = value; } + } + #endregion + + #region Delegates + public delegate void OnSuccess( string[] paths ); + public delegate void OnCancel(); +#if !UNITY_EDITOR && UNITY_ANDROID + public delegate void DirectoryPickCallback( string rawUri, string name ); +#endif + + private OnSuccess onSuccess; + private OnCancel onCancel; + #endregion + + #region Messages + private void Awake() + { + m_instance = this; + + rectTransform = (RectTransform) transform; + windowTR = (RectTransform) window.transform; + canvas = GetComponent(); + + middleViewOriginalPosition = middleView.anchoredPosition; + middleViewOriginalSize = middleView.sizeDelta; + middleViewQuickLinksOriginalSize = middleViewQuickLinks.sizeDelta; + + itemHeight = ( (RectTransform) itemPrefab.transform ).sizeDelta.y; + nullPointerEventData = new PointerEventData( null ); + +#if !UNITY_EDITOR && ( UNITY_ANDROID || UNITY_IOS || UNITY_WSA || UNITY_WSA_10_0 ) + defaultInitialPath = Application.persistentDataPath; +#else + defaultInitialPath = Environment.GetFolderPath( Environment.SpecialFolder.MyDocuments ); +#endif + +#if !UNITY_EDITOR && UNITY_ANDROID + if( FileBrowserHelpers.ShouldUseSAF ) + { + // These UI elements have no use in Storage Access Framework mode (Android 10+) + pathInputField.gameObject.SetActive( false ); + showHiddenFilesToggle.gameObject.SetActive( false ); + } +#endif + + InitializeFiletypeIcons(); + filetypeIcons = null; + + SetExcludedExtensions( excludeExtensions ); + excludeExtensions = null; + + backButton.interactable = false; + forwardButton.interactable = false; + upButton.interactable = false; + + filenameInputField.onValidateInput += OnValidateFilenameInput; + filenameInputField.onValueChanged.AddListener( OnFilenameInputChanged ); + + allFilesFilter = new Filter( AllFilesFilterText ); + filters.Add( allFilesFilter ); + + invalidFilenameChars = new HashSet( Path.GetInvalidFileNameChars() ) + { + Path.DirectorySeparatorChar, + Path.AltDirectorySeparatorChar + }; + + window.Initialize( this ); + listView.SetAdapter( this ); + + if( !showResizeCursor ) + Destroy( resizeCursorHandler ); + +#if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER + // On new Input System, scroll sensitivity is much higher than legacy Input system + filesScrollRect.scrollSensitivity *= 0.25f; + quickLinksContainer.GetComponentInParent().scrollSensitivity *= 0.25f; + filtersDropdownContainer.GetComponent().scrollSensitivity *= 0.25f; +#endif + } + + private void OnRectTransformDimensionsChange() + { + canvasDimensionsChanged = true; + } + + private void LateUpdate() + { + if( canvasDimensionsChanged ) + { + canvasDimensionsChanged = false; + + Vector2 windowSize = windowTR.sizeDelta; + EnsureWindowIsWithinBounds(); + if( windowTR.sizeDelta != windowSize ) + OnWindowDimensionsChanged( windowTR.sizeDelta ); + + deleteConfirmationPanel.OnCanvasDimensionsChanged( rectTransform.sizeDelta ); + + if( contextMenu.gameObject.activeSelf ) + contextMenu.Hide(); + } + +#if UNITY_EDITOR || UNITY_STANDALONE || UNITY_WEBGL || UNITY_WSA || UNITY_WSA_10_0 + // Handle keyboard shortcuts + if( !EventSystem.current.currentSelectedGameObject ) + { +#if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER + if( Keyboard.current != null ) +#endif + { +#if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER + if( Keyboard.current[Key.Delete].wasPressedThisFrame ) +#else + if( Input.GetKeyDown( KeyCode.Delete ) ) +#endif + DeleteSelectedFiles(); + +#if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER + if( Keyboard.current[Key.F2].wasPressedThisFrame ) +#else + if( Input.GetKeyDown( KeyCode.F2 ) ) +#endif + RenameSelectedFile(); + +#if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER + if( Keyboard.current[Key.A].wasPressedThisFrame && Keyboard.current.ctrlKey.isPressed ) +#else + if( Input.GetKeyDown( KeyCode.A ) && ( Input.GetKey( KeyCode.LeftControl ) || Input.GetKey( KeyCode.LeftCommand ) ) ) +#endif + SelectAllFiles(); + } + } +#endif + + // 2 Text objects are used in the filename input field: + // filenameInputField.textComponent: visible when editing the text, has Horizontal Overflow set to Wrap (cuts out words, ugly) + // filenameInputFieldOverlayText: visible when not editing the text, has Horizontal Overflow set to Overflow (doesn't cut out words) + if( EventSystem.current.currentSelectedGameObject == filenameInputField.gameObject ) + { + if( filenameInputFieldOverlayText.enabled ) + { + filenameInputFieldOverlayText.enabled = false; + + Color c = filenameInputField.textComponent.color; + c.a = 1f; + filenameInputField.textComponent.color = c; + } + } + else if( !filenameInputFieldOverlayText.enabled ) + { + filenameInputFieldOverlayText.enabled = true; + + Color c = filenameInputField.textComponent.color; + c.a = 0f; + filenameInputField.textComponent.color = c; + } + + // Refresh drive quick links +#if UNITY_EDITOR || ( !UNITY_IOS && !UNITY_WSA && !UNITY_WSA_10_0 ) +#if !UNITY_EDITOR && UNITY_ANDROID + if( !FileBrowserHelpers.ShouldUseSAF ) +#endif + if( quickLinksInitialized && generateQuickLinksForDrives && m_drivesRefreshInterval >= 0f && Time.realtimeSinceStartup >= drivesNextRefreshTime ) + { + drivesNextRefreshTime = Time.realtimeSinceStartup + m_drivesRefreshInterval; + RefreshDriveQuickLinks(); + } +#endif + } + + private void OnApplicationFocus( bool focus ) + { + if( !focus ) + PersistFileEntrySelection(); + else + RefreshFiles( true ); + } + #endregion + + #region Interface Methods + OnItemClickedHandler IListViewAdapter.OnItemClicked { get { return null; } set { } } + + int IListViewAdapter.Count { get { return validFileEntries.Count; } } + float IListViewAdapter.ItemHeight { get { return itemHeight; } } + + ListItem IListViewAdapter.CreateItem() + { + FileBrowserItem item = (FileBrowserItem) Instantiate( itemPrefab, filesContainer, false ); + item.SetFileBrowser( this ); + allItems.Add( item ); + + return item; + } + + void IListViewAdapter.SetItemContent( ListItem item ) + { + FileBrowserItem file = (FileBrowserItem) item; + FileSystemEntry fileInfo = validFileEntries[item.Position]; + + file.SetFile( GetIconForFileEntry( fileInfo ), fileInfo.Name, fileInfo.IsDirectory ); + file.SetSelected( selectedFileEntries.Contains( file.Position ) ); + file.SetHidden( ( fileInfo.Attributes & FileAttributes.Hidden ) == FileAttributes.Hidden ); + } + #endregion + + #region Initialization Functions + private void InitializeFiletypeIcons() + { + filetypeToIcon = new Dictionary(); + for( int i = 0; i < filetypeIcons.Length; i++ ) + { + FiletypeIcon thisIcon = filetypeIcons[i]; + filetypeToIcon[thisIcon.extension] = thisIcon.icon; + } + } + + private void InitializeQuickLinks() + { + quickLinksInitialized = true; + drivesNextRefreshTime = Time.realtimeSinceStartup + m_drivesRefreshInterval; + +#if !UNITY_EDITOR && UNITY_ANDROID + if( FileBrowserHelpers.ShouldUseSAF ) + { + AddQuickLink( driveIcon, PickFolderQuickLinkText, SAF_PICK_FOLDER_QUICK_LINK_PATH ); + + try + { + FetchPersistedSAFQuickLinks(); + } + catch( Exception e ) + { + Debug.LogException( e ); + } + + return; + } +#endif + + if( generateQuickLinksForDrives ) + { +#if UNITY_EDITOR || ( !UNITY_IOS && !UNITY_WSA && !UNITY_WSA_10_0 ) + RefreshDriveQuickLinks(); +#else + AddQuickLink( driveIcon, "Files", Application.persistentDataPath ); +#endif + +#if UNITY_STANDALONE_OSX + // Add a quick link for user directory on Mac OS + string userDirectory = Environment.GetFolderPath( Environment.SpecialFolder.MyDocuments ); + if( !string.IsNullOrEmpty( userDirectory ) ) + AddQuickLink( driveIcon, userDirectory.Substring( userDirectory.LastIndexOf( '/' ) + 1 ), userDirectory ); +#endif + } + +#if UNITY_EDITOR || ( !UNITY_ANDROID && !UNITY_WSA && !UNITY_WSA_10_0 ) + for( int i = 0; i < quickLinks.Length; i++ ) + { + QuickLink quickLink = quickLinks[i]; + string quickLinkPath = Environment.GetFolderPath( quickLink.target ); +#if UNITY_STANDALONE_OSX + // Documents folder must be appended manually on Mac OS + if( quickLink.target == Environment.SpecialFolder.MyDocuments && !string.IsNullOrEmpty( quickLinkPath ) ) + quickLinkPath = Path.Combine( quickLinkPath, "Documents" ); +#endif + + AddQuickLink( quickLink.icon, quickLink.name, quickLinkPath ); + } + + quickLinks = null; +#endif + } + + private void RefreshDriveQuickLinks() + { + // Check if drives has changed since the last refresh +#if !UNITY_EDITOR && UNITY_ANDROID + string drivesList = FileBrowserHelpers.AJC.CallStatic( "GetExternalDrives", FileBrowserHelpers.Context ); + if( drivesList == driveQuickLinks || ( string.IsNullOrEmpty( drivesList ) && string.IsNullOrEmpty( driveQuickLinks ) ) ) + return; + + driveQuickLinks = drivesList; +#else + string[] drives = Directory.GetLogicalDrives(); + + if( driveQuickLinks != null && drives.Length == driveQuickLinks.Length ) + { + bool drivesListHasntChanged = true; + for( int i = 0; i < drives.Length; i++ ) + { + if( drives[i] != driveQuickLinks[i] ) + { + drivesListHasntChanged = false; + break; + } + } + + if( drivesListHasntChanged ) + return; + } + + driveQuickLinks = drives; +#endif + + // Drives has changed, remove previous drive quick links + for( ; numberOfDriveQuickLinks > 0; numberOfDriveQuickLinks-- ) + { + Destroy( allQuickLinks[numberOfDriveQuickLinks - 1].gameObject ); + allQuickLinks.RemoveAt( numberOfDriveQuickLinks - 1 ); + } + + FileBrowserQuickLink[] customQuickLinks = allQuickLinks.Count > 0 ? allQuickLinks.ToArray() : null; + allQuickLinks.Clear(); + + quickLinksContainer.sizeDelta = Vector2.zero; + + // Create drive quick links +#if !UNITY_EDITOR && UNITY_ANDROID + if( drivesList != null && drivesList.Length > 0 ) + { + bool defaultPathInitialized = false; + int driveIndex = 1; + string[] drives = drivesList.Split( ':' ); + for( int i = 0; i < drives.Length; i++ ) + { + try + { + //string driveName = new DirectoryInfo( drives[i] ).Name; + //if( driveName.Length <= 1 ) + //{ + // try + // { + // driveName = Directory.GetParent( drives[i] ).Name + "/" + driveName; + // } + // catch + // { + // driveName = "Drive " + driveIndex++; + // } + //} + + string driveName; + if( !defaultPathInitialized ) + { + defaultInitialPath = drives[i]; + defaultPathInitialized = true; + + driveName = "Primary Drive"; + } + else + { + if( driveIndex == 1 ) + driveName = "External Drive"; + else + driveName = "External Drive " + driveIndex; + + driveIndex++; + } + + if( AddQuickLink( driveIcon, driveName, drives[i] ) ) + numberOfDriveQuickLinks++; + } + catch { } + } + } +#else + for( int i = 0; i < drives.Length; i++ ) + { + if( string.IsNullOrEmpty( drives[i] ) ) + continue; + +#if UNITY_STANDALONE_OSX + // There are a number of useless drives listed on Mac OS, filter them + if( drives[i] == "/" ) + { + if( AddQuickLink( driveIcon, "Root", drives[i] ) ) + numberOfDriveQuickLinks++; + } + else if( drives[i].StartsWith( "/Volumes/" ) && drives[i] != "/Volumes/Recovery" ) + { + if( AddQuickLink( driveIcon, drives[i].Substring( drives[i].LastIndexOf( '/' ) + 1 ), drives[i] ) ) + numberOfDriveQuickLinks++; + } +#else + if( AddQuickLink( driveIcon, drives[i], drives[i] ) ) + numberOfDriveQuickLinks++; +#endif + } +#endif + + // Reposition custom quick links + if( customQuickLinks != null ) + { + Vector2 anchoredPos = new Vector2( 0f, -quickLinksContainer.sizeDelta.y ); + for( int i = 0; i < customQuickLinks.Length; i++ ) + { + customQuickLinks[i].TransformComponent.anchoredPosition = anchoredPos; + anchoredPos.y -= itemHeight; + + allQuickLinks.Add( customQuickLinks[i] ); + } + + quickLinksContainer.sizeDelta = new Vector2( 0f, -anchoredPos.y ); + } + + // Verify that current directory still exists + try + { + if( !string.IsNullOrEmpty( m_currentPath ) && !Directory.Exists( m_currentPath ) ) + { + string currentPathRoot = Path.GetPathRoot( m_currentPath ); + if( !string.IsNullOrEmpty( currentPathRoot ) && Directory.Exists( currentPathRoot ) ) + CurrentPath = currentPathRoot; + else if( allQuickLinks.Count > 0 ) + CurrentPath = allQuickLinks[0].TargetPath; + } + } + catch { } + } + #endregion + + #region Button Events + public void OnBackButtonPressed() + { + if( currentPathIndex > 0 ) + CurrentPath = pathsFollowed[--currentPathIndex]; + } + + public void OnForwardButtonPressed() + { + if( currentPathIndex < pathsFollowed.Count - 1 ) + CurrentPath = pathsFollowed[++currentPathIndex]; + } + + public void OnUpButtonPressed() + { +#if !UNITY_EDITOR && UNITY_ANDROID + if( FileBrowserHelpers.ShouldUseSAF ) + { + string parentPath = FileBrowserHelpers.GetDirectoryName( m_currentPath ); + if( !string.IsNullOrEmpty( parentPath ) ) + CurrentPath = parentPath; + } + else +#endif + { + DirectoryInfo parentPath = Directory.GetParent( m_currentPath ); + if( parentPath != null ) + CurrentPath = parentPath.FullName; + } + } + + public void OnMoreOptionsButtonClicked() + { + ShowContextMenuAt( rectTransform.InverseTransformPoint( moreOptionsContextMenuPosition.position ), true ); + } + + internal void OnContextMenuTriggered( Vector2 pointerPos ) + { + filesScrollRect.velocity = Vector2.zero; + + Vector2 position; + RectTransformUtility.ScreenPointToLocalPointInRectangle( rectTransform, pointerPos, canvas.worldCamera, out position ); + + ShowContextMenuAt( position, false ); + } + + private void ShowContextMenuAt( Vector2 position, bool isMoreOptionsMenu ) + { + if( string.IsNullOrEmpty( m_currentPath ) ) + return; + + bool selectAllButtonVisible = isMoreOptionsMenu && m_allowMultiSelection && validFileEntries.Count > 0; + bool deselectAllButtonVisible = isMoreOptionsMenu && selectedFileEntries.Count > 1; + bool deleteButtonVisible = contextMenuShowDeleteButton && selectedFileEntries.Count > 0; + bool renameButtonVisible = contextMenuShowRenameButton && selectedFileEntries.Count == 1; + + if( selectAllButtonVisible && m_pickerMode == PickMode.Files ) + { + // In file selection mode, if only folders exist in the current path, "Select All" option shouldn't be visible + selectAllButtonVisible = false; + for( int i = 0; i < validFileEntries.Count; i++ ) + { + if( !validFileEntries[i].IsDirectory ) + { + selectAllButtonVisible = true; + break; + } + } + } + + contextMenu.Show( selectAllButtonVisible, deselectAllButtonVisible, deleteButtonVisible, renameButtonVisible, position, isMoreOptionsMenu ); + } + + public void OnSubmitButtonClicked() + { + string filenameInput = filenameInputField.text.Trim(); + if( filenameInput.Length == 0 ) + { + if( m_pickerMode != PickMode.Files ) + OnOperationSuccessful( new string[1] { m_currentPath } ); + else + filenameImage.color = wrongFilenameColor; + + return; + } + + if( m_allowMultiSelection && selectedFileEntries.Count > 1 ) + { + // When multiple files are selected via file browser UI, filenameInputField is not interactable and will show + // only the first FILENAME_INPUT_FIELD_MAX_FILE_COUNT entries for performance reasons. We should iterate over + // selectedFileEntries instead of filenameInputField + + // Beforehand, check if a folder is selected in file selection mode. If so, open that directory + if( m_pickerMode == PickMode.Files ) + { + for( int i = 0; i < selectedFileEntries.Count; i++ ) + { + if( validFileEntries[selectedFileEntries[i]].IsDirectory ) + { + CurrentPath = validFileEntries[selectedFileEntries[i]].Path; + return; + } + } + } + + string[] result = new string[selectedFileEntries.Count]; + for( int i = 0; i < selectedFileEntries.Count; i++ ) + result[i] = validFileEntries[selectedFileEntries[i]].Path; + + OnOperationSuccessful( result ); + } + else + { + // When multiple files aren't selected via file browser UI, we must consider the rare case where user manually enters + // multiple filenames to filenameInputField in format "file1" "file2" and so on. So, we must parse filenameInputField + + // In the first iteration, verify that all filenames entered to the input field are valid + // ExtractFilenameFromInput doesn't use Substring, so this iteration is GC-free + int fileCount = 0; + int startIndex = 0, nextStartIndex; + while( startIndex < filenameInput.Length ) + { + int filenameLength = ExtractFilenameFromInput( filenameInput, ref startIndex, out nextStartIndex ); + if( filenameLength == 0 ) + continue; + + if( !VerifyFilenameInput( filenameInput, startIndex, filenameLength ) ) + { + // Filename contains invalid characters or is completely whitespace + filenameImage.color = wrongFilenameColor; + return; + } + + if( m_acceptNonExistingFilename ) + fileCount++; + else + { + int fileEntryIndex = FilenameInputToFileEntryIndex( filenameInput, startIndex, filenameLength ); + if( fileEntryIndex < 0 ) + { + // File doesn't exist + filenameImage.color = wrongFilenameColor; + return; + } + + if( !validFileEntries[fileEntryIndex].IsDirectory ) + fileCount++; + else + { + if( m_pickerMode != PickMode.Files ) + fileCount++; + else + { + // Selected a directory in file selection mode, open that directory + CurrentPath = validFileEntries[fileEntryIndex].Path; + return; + } + } + } + + startIndex = nextStartIndex; + } + + if( fileCount == 0 ) + { + filenameImage.color = wrongFilenameColor; + return; + } + + // In the second iteration, extract filenames from the input field + string[] result = new string[fileCount]; + + startIndex = 0; + fileCount = 0; + while( startIndex < filenameInput.Length ) + { + int filenameLength = ExtractFilenameFromInput( filenameInput, ref startIndex, out nextStartIndex ); + if( filenameLength == 0 ) + continue; + + int fileEntryIndex = FilenameInputToFileEntryIndex( filenameInput, startIndex, filenameLength ); + if( fileEntryIndex >= 0 ) + { + // This is an existing file + result[fileCount++] = validFileEntries[fileEntryIndex].Path; + } + else + { + try + { + // This is a nonexisting file + string filename = filenameInput.Substring( startIndex, filenameLength ); + if( m_pickerMode != PickMode.Folders && filters[filtersDropdown.value].defaultExtension != null ) + { + // In file selection mode, make sure that nonexisting files' extensions match one of the required extensions + string fileExtension = Path.GetExtension( filename ); + if( string.IsNullOrEmpty( fileExtension ) || !filters[filtersDropdown.value].extensions.Contains( fileExtension.ToLowerInvariant() ) ) + filename = Path.ChangeExtension( filename, filters[filtersDropdown.value].defaultExtension ); + } + +#if !UNITY_EDITOR && UNITY_ANDROID + if( FileBrowserHelpers.ShouldUseSAF ) + { + if( m_pickerMode == PickMode.Folders ) + result[fileCount++] = FileBrowserHelpers.CreateFolderInDirectory( m_currentPath, filename ); + else + result[fileCount++] = FileBrowserHelpers.CreateFileInDirectory( m_currentPath, filename ); + } + else +#endif + { + result[fileCount++] = Path.Combine( m_currentPath, filename ); + } + } + catch( ArgumentException e ) + { + filenameImage.color = wrongFilenameColor; + Debug.LogException( e ); + return; + } + } + + startIndex = nextStartIndex; + } + + OnOperationSuccessful( result ); + } + } + + public void OnCancelButtonClicked() + { + OnOperationCanceled( true ); + } + #endregion + + #region Other Events + private void OnOperationSuccessful( string[] paths ) + { + Success = true; + Result = paths; + + Hide(); + + OnSuccess _onSuccess = onSuccess; + onSuccess = null; + onCancel = null; + + if( _onSuccess != null ) + _onSuccess( paths ); + } + + private void OnOperationCanceled( bool invokeCancelCallback ) + { + Success = false; + Result = null; + + Hide(); + + OnCancel _onCancel = onCancel; + onSuccess = null; + onCancel = null; + + if( invokeCancelCallback && _onCancel != null ) + _onCancel(); + } + + public void OnPathChanged( string newPath ) + { + // Fixes harmless NullReferenceException that occurs when Play button is clicked while SimpleFileBrowserCanvas prefab is open in prefab mode + // https://github.com/yasirkula/UnitySimpleFileBrowser/issues/30 + if( !canvas ) + return; + + CurrentPath = newPath; + } + + public void OnSearchStringChanged( string newSearchString ) + { + if( !canvas ) // Same as OnPathChanged + return; + + PersistFileEntrySelection(); + SearchString = newSearchString; + } + + public void OnFilterChanged() + { + if( !canvas ) // Same as OnPathChanged + return; + + PersistFileEntrySelection(); + RefreshFiles( false ); + } + + public void OnShowHiddenFilesToggleChanged() + { + if( !canvas ) // Same as OnPathChanged + return; + + PersistFileEntrySelection(); + RefreshFiles( false ); + } + + public void OnItemSelected( FileBrowserItem item, bool isDoubleClick ) + { + if( item == null ) + return; + + if( item is FileBrowserQuickLink ) + { +#if !UNITY_EDITOR && UNITY_ANDROID + if( ( (FileBrowserQuickLink) item ).TargetPath == SAF_PICK_FOLDER_QUICK_LINK_PATH ) + FileBrowserHelpers.AJC.CallStatic( "PickSAFFolder", FileBrowserHelpers.Context, new FBDirectoryReceiveCallbackAndroid( OnSAFDirectoryPicked ) ); + else +#endif + CurrentPath = ( (FileBrowserQuickLink) item ).TargetPath; + + return; + } + + if( m_multiSelectionToggleSelectionMode ) + { + // In file selection mode, we shouldn't include folders in the multi-selection + if( item.IsDirectory && m_pickerMode == PickMode.Files && !selectedFileEntries.Contains( item.Position ) ) + return; + + // If a file/folder is double clicked in multi-selection mode, instead of opening that file/folder, we want to toggle its selected state + isDoubleClick = false; + } + + if( !isDoubleClick ) + { + if( !m_allowMultiSelection ) + { + selectedFileEntries.Clear(); + selectedFileEntries.Add( item.Position ); + } + else + { +#if UNITY_EDITOR || UNITY_STANDALONE || UNITY_WEBGL || UNITY_WSA || UNITY_WSA_10_0 + // When Shift key is held, all items from the pivot item to the clicked item will be selected +#if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER + if( Keyboard.current != null && Keyboard.current.shiftKey.isPressed ) +#else + if( Input.GetKey( KeyCode.LeftShift ) || Input.GetKey( KeyCode.RightShift ) ) +#endif + { + multiSelectionPivotFileEntry = Mathf.Clamp( multiSelectionPivotFileEntry, 0, validFileEntries.Count - 1 ); + + selectedFileEntries.Clear(); + selectedFileEntries.Add( item.Position ); + + for( int i = multiSelectionPivotFileEntry; i < item.Position; i++ ) + selectedFileEntries.Add( i ); + + for( int i = multiSelectionPivotFileEntry; i > item.Position; i-- ) + selectedFileEntries.Add( i ); + } + else +#endif + { + multiSelectionPivotFileEntry = item.Position; + + // When in toggle selection mode or Control key is held, individual items can be multi-selected +#if UNITY_EDITOR || UNITY_STANDALONE || UNITY_WEBGL || UNITY_WSA || UNITY_WSA_10_0 +#if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER + if( m_multiSelectionToggleSelectionMode || ( Keyboard.current != null && Keyboard.current.ctrlKey.isPressed ) ) +#else + if( m_multiSelectionToggleSelectionMode || Input.GetKey( KeyCode.LeftControl ) || Input.GetKey( KeyCode.RightControl ) ) +#endif +#else + if( m_multiSelectionToggleSelectionMode ) +#endif + { + if( !selectedFileEntries.Contains( item.Position ) ) + selectedFileEntries.Add( item.Position ); + else + { + selectedFileEntries.Remove( item.Position ); + + if( selectedFileEntries.Count == 0 ) + MultiSelectionToggleSelectionMode = false; + } + } + else + { + selectedFileEntries.Clear(); + selectedFileEntries.Add( item.Position ); + } + } + } + + UpdateFilenameInputFieldWithSelection(); + } + + for( int i = 0; i < allItems.Count; i++ ) + { + if( allItems[i].gameObject.activeSelf ) + allItems[i].SetSelected( selectedFileEntries.Contains( allItems[i].Position ) ); + } + + if( selectedFileEntries.Count > 0 && ( isDoubleClick || ( SingleClickMode && !m_multiSelectionToggleSelectionMode ) ) ) + { + if( !item.IsDirectory ) + { + // Submit selection + OnSubmitButtonClicked(); + } + else + { + // Enter the directory +#if !UNITY_EDITOR && UNITY_ANDROID + if( FileBrowserHelpers.ShouldUseSAF ) + { + for( int i = 0; i < validFileEntries.Count; i++ ) + { + FileSystemEntry fileInfo = validFileEntries[i]; + if( fileInfo.IsDirectory && fileInfo.Name == item.Name ) + { + CurrentPath = fileInfo.Path; + return; + } + } + } + else +#endif + CurrentPath = Path.Combine( m_currentPath, item.Name ); + } + } + } + + public void OnItemHeld( FileBrowserItem item ) + { + if( item is FileBrowserQuickLink ) + OnItemSelected( item, false ); + else if( m_allowMultiSelection && ( !item.IsDirectory || m_pickerMode != PickMode.Files ) ) // Holding a folder in file selection mode should do nothing + { + if( !MultiSelectionToggleSelectionMode ) + { + if( m_pickerMode == PickMode.Files ) + { + // If some folders are selected in file selection mode, deselect these folders before enabling the selection toggles because otherwise, + // user won't be able to deselect the selected folders without exiting MultiSelectionToggleSelectionMode + for( int i = selectedFileEntries.Count - 1; i >= 0; i-- ) + { + if( validFileEntries[selectedFileEntries[i]].IsDirectory ) + selectedFileEntries.RemoveAt( i ); + } + } + + MultiSelectionToggleSelectionMode = true; + } + + if( !selectedFileEntries.Contains( item.Position ) ) + OnItemSelected( item, false ); + } + } + +#if !UNITY_EDITOR && UNITY_ANDROID + private void OnSAFDirectoryPicked( string rawUri, string name ) + { + if( !string.IsNullOrEmpty( rawUri ) ) + { + if( AddQuickLink( folderIcon, name, rawUri ) ) + CurrentPath = rawUri; + } + } + + private void FetchPersistedSAFQuickLinks() + { + string resultRaw = FileBrowserHelpers.AJC.CallStatic( "FetchSAFQuickLinks", FileBrowserHelpers.Context ); + if( resultRaw == "0" ) + return; + + int separatorIndex = resultRaw.LastIndexOf( "<>" ); + if( separatorIndex <= 0 ) + { + Debug.LogError( "Entry count does not exist" ); + return; + } + + int entryCount = 0; + for( int i = separatorIndex + 2; i < resultRaw.Length; i++ ) + { + char ch = resultRaw[i]; + if( ch < '0' && ch > '9' ) + { + Debug.LogError( "Couldn't parse entry count" ); + return; + } + + entryCount = entryCount * 10 + ( ch - '0' ); + } + + if( entryCount <= 0 ) + return; + + bool defaultPathInitialized = false; + + separatorIndex = 0; + for( int i = 0; i < entryCount; i++ ) + { + int nextSeparatorIndex = resultRaw.IndexOf( "<>", separatorIndex ); + if( nextSeparatorIndex <= 0 ) + { + Debug.LogError( "Entry name is empty" ); + return; + } + + string entryName = resultRaw.Substring( separatorIndex, nextSeparatorIndex - separatorIndex ); + + separatorIndex = nextSeparatorIndex + 2; + nextSeparatorIndex = resultRaw.IndexOf( "<>", separatorIndex ); + if( nextSeparatorIndex <= 0 ) + { + Debug.LogError( "Entry rawUri is empty" ); + return; + } + + string rawUri = resultRaw.Substring( separatorIndex, nextSeparatorIndex - separatorIndex ); + + separatorIndex = nextSeparatorIndex + 2; + + if( AddQuickLink( folderIcon, entryName, rawUri ) && !defaultPathInitialized ) + { + defaultInitialPath = rawUri; + defaultPathInitialized = true; + } + } + } +#endif + + private char OnValidateFilenameInput( string text, int charIndex, char addedChar ) + { + if( addedChar == '\n' ) + { + OnSubmitButtonClicked(); + return '\0'; + } + + return addedChar; + } + + private void OnFilenameInputChanged( string text ) + { + filenameInputFieldOverlayText.text = text; + filenameImage.color = Color.white; + } + #endregion + + #region Helper Functions + public void Show( string initialPath, string initialFilename ) + { + if( AskPermissions ) + RequestPermission(); + + if( !quickLinksInitialized ) + InitializeQuickLinks(); + + selectedFileEntries.Clear(); + m_multiSelectionToggleSelectionMode = false; + + m_searchString = string.Empty; + searchInputField.text = m_searchString; + + filesScrollRect.verticalNormalizedPosition = 1; + + IsOpen = true; + Success = false; + Result = null; + + gameObject.SetActive( true ); + + CurrentPath = GetInitialPath( initialPath ); + + filenameInputField.text = initialFilename ?? string.Empty; + filenameInputField.interactable = true; + filenameImage.color = Color.white; + } + + public void Hide() + { + IsOpen = false; + + currentPathIndex = -1; + pathsFollowed.Clear(); + + backButton.interactable = false; + forwardButton.interactable = false; + upButton.interactable = false; + + gameObject.SetActive( false ); + } + + public void RefreshFiles( bool pathChanged ) + { + if( pathChanged ) + { + if( !string.IsNullOrEmpty( m_currentPath ) ) + allFileEntries = FileBrowserHelpers.GetEntriesInDirectory( m_currentPath ); + else + allFileEntries = null; + } + + selectedFileEntries.Clear(); + + if( !showHiddenFilesToggle.isOn ) + ignoredFileAttributes |= FileAttributes.Hidden; + else + ignoredFileAttributes &= ~FileAttributes.Hidden; + + string searchStringLowercase = m_searchString.ToLower(); + + validFileEntries.Clear(); + + if( allFileEntries != null ) + { + if( sortFilesByName ) + { + // Sort the files and folders in the following order: + // 1. Directories come before files + // 2. Directories and files are sorted by their names + Array.Sort( allFileEntries, ( entry1, entry2 ) => + { + if( entry1.IsDirectory != entry2.IsDirectory ) + return entry1.IsDirectory ? -1 : 1; + else + return entry1.Name.CompareTo( entry2.Name ); + } ); + } + + for( int i = 0; i < allFileEntries.Length; i++ ) + { + try + { + FileSystemEntry item = allFileEntries[i]; + + if( !item.IsDirectory ) + { + if( m_pickerMode == PickMode.Folders ) + continue; + + if( ( item.Attributes & ignoredFileAttributes ) != 0 ) + continue; + + string extension = item.Extension.ToLowerInvariant(); + if( excludedExtensionsSet.Contains( extension ) ) + continue; + + HashSet extensions = filters[filtersDropdown.value].extensions; + if( extensions != null && !extensions.Contains( extension ) ) + continue; + } + else + { + if( ( item.Attributes & ignoredFileAttributes ) != 0 ) + continue; + } + + if( m_searchString.Length == 0 || item.Name.ToLower().Contains( searchStringLowercase ) ) + validFileEntries.Add( item ); + } + catch( Exception e ) + { + Debug.LogException( e ); + } + } + } + + // Restore the selection + if( pendingFileEntrySelection.Count > 0 ) + { + for( int i = 0; i < pendingFileEntrySelection.Count; i++ ) + { + string pendingFileEntry = pendingFileEntrySelection[i]; + for( int j = 0; j < validFileEntries.Count; j++ ) + { + if( validFileEntries[j].Name == pendingFileEntry ) + { + selectedFileEntries.Add( j ); + break; + } + } + } + + pendingFileEntrySelection.Clear(); + } + + if( !filenameInputField.interactable && selectedFileEntries.Count <= 1 ) + { + filenameInputField.interactable = true; + + if( selectedFileEntries.Count == 0 ) + filenameInputField.text = string.Empty; + } + + listView.UpdateList(); + + // Prevent the case where all the content stays offscreen after changing the search string + filesScrollRect.OnScroll( nullPointerEventData ); + } + + // Quickly selects all files and folders in the current directory + public void SelectAllFiles() + { + if( !m_allowMultiSelection || validFileEntries.Count == 0 ) + return; + + multiSelectionPivotFileEntry = 0; + + selectedFileEntries.Clear(); + + if( m_pickerMode != PickMode.Files ) + { + for( int i = 0; i < validFileEntries.Count; i++ ) + selectedFileEntries.Add( i ); + } + else + { + // Don't select folders in file picking mode if MultiSelectionToggleSelectionMode is enabled or about to be enabled + for( int i = 0; i < validFileEntries.Count; i++ ) + { +#if UNITY_EDITOR || UNITY_STANDALONE || UNITY_WSA || UNITY_WSA_10_0 + if( !m_multiSelectionToggleSelectionMode || !validFileEntries[i].IsDirectory ) +#else + if( !validFileEntries[i].IsDirectory ) +#endif + selectedFileEntries.Add( i ); + } + } + +#if !UNITY_EDITOR && !UNITY_STANDALONE && !UNITY_WSA && !UNITY_WSA_10_0 + MultiSelectionToggleSelectionMode = true; +#endif + + UpdateFilenameInputFieldWithSelection(); + listView.UpdateList(); + } + + // Quickly deselects all files and folders in the current directory + public void DeselectAllFiles() + { + if( selectedFileEntries.Count == 0 ) + return; + + selectedFileEntries.Clear(); + MultiSelectionToggleSelectionMode = false; + + filenameInputField.text = string.Empty; + filenameInputField.interactable = true; + + listView.UpdateList(); + } + + // Prompts user to create a new folder in the current directory + public void CreateNewFolder() + { + StartCoroutine( CreateNewFolderCoroutine() ); + } + + private IEnumerator CreateNewFolderCoroutine() + { + filesScrollRect.verticalNormalizedPosition = 1f; + filesScrollRect.velocity = Vector2.zero; + + if( selectedFileEntries.Count > 0 ) + { + selectedFileEntries.Clear(); + MultiSelectionToggleSelectionMode = false; + + filenameInputField.text = string.Empty; + filenameInputField.interactable = true; + + listView.UpdateList(); + } + + filesScrollRect.movementType = ScrollRect.MovementType.Unrestricted; + + // The easiest way to insert a new item to the top of the list view is to just shift + // the list view downwards. However, it doesn't always work if we don't shift it twice + yield return null; + filesContainer.anchoredPosition = new Vector2( 0f, -itemHeight ); + yield return null; + filesContainer.anchoredPosition = new Vector2( 0f, -itemHeight ); + + ( (RectTransform) renameItem.transform ).anchoredPosition = new Vector2( 1f, itemHeight ); + renameItem.Show( string.Empty, selectedFileColor, folderIcon, ( folderName ) => + { + filesScrollRect.movementType = ScrollRect.MovementType.Clamped; + filesContainer.anchoredPosition = Vector2.zero; + + if( string.IsNullOrEmpty( folderName ) ) + return; + + FileBrowserHelpers.CreateFolderInDirectory( CurrentPath, folderName ); + + pendingFileEntrySelection.Clear(); + pendingFileEntrySelection.Add( folderName ); + + RefreshFiles( true ); + + if( m_pickerMode != PickMode.Files ) + filenameInputField.text = folderName; + + // Focus on the newly created folder + int fileEntryIndex = 0; + for( int i = 0; i < validFileEntries.Count; i++ ) + { + if( validFileEntries[i].Name == folderName ) + { + fileEntryIndex = i; + break; + } + } + + filesScrollRect.verticalNormalizedPosition = validFileEntries.Count > 1 ? ( 1f - (float) fileEntryIndex / ( validFileEntries.Count - 1 ) ) : 1f; + } ); + } + + // Prompts user to rename the selected file/folder + public void RenameSelectedFile() + { + if( selectedFileEntries.Count != 1 ) + return; + + MultiSelectionToggleSelectionMode = false; + + int fileEntryIndex = selectedFileEntries[0]; + FileSystemEntry fileInfo = validFileEntries[fileEntryIndex]; + + // Check if selected file is currently visible in ScrollRect + // We consider it visible if both the previous file entry and the next file entry are visible + bool prevFileEntryVisible = false, nextFileEntryVisible = false; + for( int i = 0; i < allItems.Count; i++ ) + { + if( !allItems[i].gameObject.activeSelf ) + continue; + + if( allItems[i].Position == fileEntryIndex - 1 ) + { + prevFileEntryVisible = true; + + if( prevFileEntryVisible && nextFileEntryVisible ) + break; + } + else if( allItems[i].Position == fileEntryIndex + 1 ) + { + nextFileEntryVisible = true; + + if( prevFileEntryVisible && nextFileEntryVisible ) + break; + } + } + + if( !prevFileEntryVisible || !nextFileEntryVisible ) + filesScrollRect.verticalNormalizedPosition = validFileEntries.Count > 1 ? ( 1f - (float) fileEntryIndex / ( validFileEntries.Count - 1 ) ) : 1f; + + filesScrollRect.velocity = Vector2.zero; + + ( (RectTransform) renameItem.transform ).anchoredPosition = new Vector2( 1f, -fileEntryIndex * itemHeight ); + renameItem.Show( fileInfo.Name, selectedFileColor, GetIconForFileEntry( fileInfo ), ( newName ) => + { + if( string.IsNullOrEmpty( newName ) || newName == fileInfo.Name ) + return; + + if( fileInfo.IsDirectory ) + FileBrowserHelpers.RenameDirectory( fileInfo.Path, newName ); + else + FileBrowserHelpers.RenameFile( fileInfo.Path, newName ); + + pendingFileEntrySelection.Clear(); + pendingFileEntrySelection.Add( newName ); + + RefreshFiles( true ); + + if( ( fileInfo.IsDirectory && m_pickerMode != PickMode.Files ) || ( !fileInfo.IsDirectory && m_pickerMode != PickMode.Folders ) ) + filenameInputField.text = newName; + } ); + } + + // Prompts user to delete the selected files & folders + public void DeleteSelectedFiles() + { + if( selectedFileEntries.Count == 0 ) + return; + + selectedFileEntries.Sort(); + + deleteConfirmationPanel.Show( this, validFileEntries, selectedFileEntries, () => + { + for( int i = selectedFileEntries.Count - 1; i >= 0; i-- ) + { + FileSystemEntry fileInfo = validFileEntries[selectedFileEntries[i]]; + if( fileInfo.IsDirectory ) + FileBrowserHelpers.DeleteDirectory( fileInfo.Path ); + else + FileBrowserHelpers.DeleteFile( fileInfo.Path ); + } + + selectedFileEntries.Clear(); + + MultiSelectionToggleSelectionMode = false; + RefreshFiles( true ); + } ); + } + + // Makes sure that the selection persists after Refreshing the file entries + private void PersistFileEntrySelection() + { + pendingFileEntrySelection.Clear(); + for( int i = 0; i < selectedFileEntries.Count; i++ ) + pendingFileEntrySelection.Add( validFileEntries[selectedFileEntries[i]].Name ); + } + + private bool AddQuickLink( Sprite icon, string name, string path ) + { + if( string.IsNullOrEmpty( path ) ) + return false; + +#if !UNITY_EDITOR && UNITY_ANDROID + if( !FileBrowserHelpers.ShouldUseSAF ) +#endif + { + if( !Directory.Exists( path ) ) + return false; + + path = GetPathWithoutTrailingDirectorySeparator( path.Trim() ); + } + + // Don't add quick link if it already exists + for( int i = 0; i < allQuickLinks.Count; i++ ) + { + if( allQuickLinks[i].TargetPath == path ) + return false; + } + + FileBrowserQuickLink quickLink = (FileBrowserQuickLink) Instantiate( quickLinkPrefab, quickLinksContainer, false ); + quickLink.SetFileBrowser( this ); + + if( icon != null ) + quickLink.SetQuickLink( icon, name, path ); + else + quickLink.SetQuickLink( folderIcon, name, path ); + + Vector2 anchoredPos = new Vector2( 0f, -quickLinksContainer.sizeDelta.y ); + + quickLink.TransformComponent.anchoredPosition = anchoredPos; + anchoredPos.y -= itemHeight; + + quickLinksContainer.sizeDelta = new Vector2( 0f, -anchoredPos.y ); + + allQuickLinks.Add( quickLink ); + + return true; + } + + internal void EnsureWindowIsWithinBounds() + { + Vector2 canvasSize = rectTransform.sizeDelta; + Vector2 windowSize = windowTR.sizeDelta; + + if( windowSize.x < minWidth ) + windowSize.x = minWidth; + if( windowSize.y < minHeight ) + windowSize.y = minHeight; + + if( windowSize.x > canvasSize.x ) + windowSize.x = canvasSize.x; + if( windowSize.y > canvasSize.y ) + windowSize.y = canvasSize.y; + + Vector2 windowPos = windowTR.anchoredPosition; + Vector2 canvasHalfSize = canvasSize * 0.5f; + Vector2 windowHalfSize = windowSize * 0.5f; + Vector2 windowBottomLeft = windowPos - windowHalfSize + canvasHalfSize; + Vector2 windowTopRight = windowPos + windowHalfSize + canvasHalfSize; + + if( windowBottomLeft.x < 0f ) + windowPos.x -= windowBottomLeft.x; + else if( windowTopRight.x > canvasSize.x ) + windowPos.x -= windowTopRight.x - canvasSize.x; + + if( windowBottomLeft.y < 0f ) + windowPos.y -= windowBottomLeft.y; + else if( windowTopRight.y > canvasSize.y ) + windowPos.y -= windowTopRight.y - canvasSize.y; + + windowTR.anchoredPosition = windowPos; + windowTR.sizeDelta = windowSize; + } + + // Handles responsive user interface + internal void OnWindowDimensionsChanged( Vector2 size ) + { + float windowWidth = size.x; + float quickLinksWidth = Mathf.Min( middleViewQuickLinksOriginalSize.x, windowWidth * quickLinksMaxWidthPercentage ); + + if( middleViewQuickLinks.sizeDelta.x != quickLinksWidth ) + { + middleViewQuickLinks.sizeDelta = new Vector2( quickLinksWidth, middleViewQuickLinksOriginalSize.y ); + middleViewFiles.anchoredPosition = new Vector2( quickLinksWidth, 0f ); + middleViewFiles.sizeDelta = new Vector2( -quickLinksWidth, middleViewQuickLinksOriginalSize.y ); + middleViewSeparator.anchoredPosition = new Vector2( quickLinksWidth, 0f ); + } + +#if !UNITY_EDITOR && UNITY_ANDROID + // Responsive layout doesn't affect any other visible UI elements on Storage Access Framework + if( FileBrowserHelpers.ShouldUseSAF ) + return; +#endif + + if( windowWidth >= narrowScreenWidth ) + { + if( pathInputField.transform.parent == pathInputFieldSlotBottom ) + { + pathInputField.transform.SetParent( pathInputFieldSlotTop, false ); + + middleView.anchoredPosition = middleViewOriginalPosition; + middleView.sizeDelta = middleViewOriginalSize; + + showHiddenFilesToggle.gameObject.SetActive( m_displayHiddenFilesToggle ); + + listView.OnViewportDimensionsChanged(); + filesScrollRect.OnScroll( nullPointerEventData ); + } + } + else + { + if( pathInputField.transform.parent == pathInputFieldSlotTop ) + { + pathInputField.transform.SetParent( pathInputFieldSlotBottom, false ); + + float topViewAdditionalHeight = topViewNarrowScreen.sizeDelta.y; + middleView.anchoredPosition = middleViewOriginalPosition - new Vector2( 0f, topViewAdditionalHeight * 0.5f ); + middleView.sizeDelta = middleViewOriginalSize - new Vector2( 0f, topViewAdditionalHeight ); + + // Responsive layout for narrow screens doesn't include "Show Hidden Files" toggle. + // We simply hide it because I think creating a new row for it would be an overkill + showHiddenFilesToggle.gameObject.SetActive( false ); + + listView.OnViewportDimensionsChanged(); + filesScrollRect.OnScroll( nullPointerEventData ); + } + } + } + + internal Sprite GetIconForFileEntry( FileSystemEntry fileInfo ) + { + Sprite icon; + if( fileInfo.IsDirectory ) + icon = folderIcon; + else if( !filetypeToIcon.TryGetValue( fileInfo.Extension.ToLowerInvariant(), out icon ) ) + icon = defaultIcon; + + return icon; + } + + private string GetPathWithoutTrailingDirectorySeparator( string path ) + { + if( string.IsNullOrEmpty( path ) ) + return null; + + // Credit: http://stackoverflow.com/questions/6019227/remove-the-last-character-if-its-directoryseparatorchar-with-c-sharp + try + { + if( Path.GetDirectoryName( path ) != null ) + { + char lastChar = path[path.Length - 1]; + if( lastChar == Path.DirectorySeparatorChar || lastChar == Path.AltDirectorySeparatorChar ) + path = path.Substring( 0, path.Length - 1 ); + } + } + catch + { + } + + return path; + } + + private void UpdateFilenameInputFieldWithSelection() + { + // Refresh filenameInputField as follows: + // 0 files selected: *blank* + // 1 file selected: file.Name + // 2+ files selected: "file1.Name" "file2.Name" ... (up to FILENAME_INPUT_FIELD_MAX_FILE_COUNT filenames are displayed for performance reasons) + int filenameContributingFileCount = 0; + if( m_pickerMode != PickMode.Files ) + filenameContributingFileCount = selectedFileEntries.Count; + else + { + for( int i = 0; i < selectedFileEntries.Count; i++ ) + { + if( !validFileEntries[selectedFileEntries[i]].IsDirectory ) + { + filenameContributingFileCount++; + + if( filenameContributingFileCount >= FILENAME_INPUT_FIELD_MAX_FILE_COUNT ) + break; + } + } + } + + filenameInputField.interactable = selectedFileEntries.Count <= 1; + + if( filenameContributingFileCount == 0 ) + { + // If multiple files were previously selected, clear the input field. If a single file was selected, preserve the filename + if( filenameInputField.text.StartsWith( "\"" ) ) + filenameInputField.text = string.Empty; + } + else + { + if( filenameContributingFileCount > 1 ) + { + if( multiSelectionFilenameBuilder == null ) + multiSelectionFilenameBuilder = new StringBuilder( 75 ); + else + multiSelectionFilenameBuilder.Length = 0; + } + + for( int i = 0, fileCount = 0; i < selectedFileEntries.Count; i++ ) + { + FileSystemEntry selectedFile = validFileEntries[selectedFileEntries[i]]; + if( m_pickerMode != PickMode.Files || !selectedFile.IsDirectory ) + { + if( filenameContributingFileCount == 1 ) + { + filenameInputField.text = selectedFile.Name; + break; + } + else + { + multiSelectionFilenameBuilder.Append( "\"" ).Append( selectedFile.Name ).Append( "\" " ); + + if( ++fileCount >= FILENAME_INPUT_FIELD_MAX_FILE_COUNT ) + { + multiSelectionFilenameBuilder.Append( "..." ); + break; + } + } + } + } + + if( filenameContributingFileCount > 1 ) + filenameInputField.text = multiSelectionFilenameBuilder.ToString(); + } + } + + // Extracts filenames from input field. Input can be in 2 formats: + // 1 filename: file.Name + // 2+ filenames: "file1.Name" "file2.Name" ... + // Returns the length of the iterated filename + private int ExtractFilenameFromInput( string input, ref int startIndex, out int nextStartIndex ) + { + if( !m_allowMultiSelection || input[startIndex] != '"' ) + { + // Single file is selected, return it + nextStartIndex = input.Length; + return input.Length - startIndex; + } + + // Seems like multiple files are selected + + // Filename is " (a single quotation mark), very unlikely to happen but probably possible on some platforms + if( startIndex + 1 >= input.Length ) + { + nextStartIndex = input.Length; + return 1; + } + + int filenameEndIndex = input.IndexOf( '"', startIndex + 1 ); + while( true ) + { + // 1st iteration: filename is "abc + // 2nd iteration: filename is "abc"def + if( filenameEndIndex == -1 ) + { + nextStartIndex = input.Length; + return input.Length - startIndex; + } + + // 1st iteration: filename is abc (extracted from "abc") + // 2nd iteration: filename is abc"def (extracted from "abc"def") + if( filenameEndIndex == input.Length - 1 || input[filenameEndIndex + 1] == ' ' ) + { + startIndex++; + + nextStartIndex = filenameEndIndex + 1; + while( nextStartIndex < input.Length && input[nextStartIndex] == ' ' ) + nextStartIndex++; + + return filenameEndIndex - startIndex; + } + + // Filename contains a " char + filenameEndIndex = input.IndexOf( '"', filenameEndIndex + 1 ); + } + } + + // Checks if a substring of the input field points to an existing file + private int FilenameInputToFileEntryIndex( string input, int startIndex, int length ) + { + for( int i = 0; i < validFileEntries.Count; i++ ) + { + if( validFileEntries[i].Name.Length == length && input.IndexOf( validFileEntries[i].Name, startIndex, length ) == startIndex ) + return i; + } + + return -1; + } + + // Verifies that filename doesn't contain any invalid characters + private bool VerifyFilenameInput( string input, int startIndex, int length ) + { + bool isWhitespace = true; + for( int i = startIndex, endIndex = startIndex + length; i < endIndex; i++ ) + { + char ch = input[i]; + if( invalidFilenameChars.Contains( ch ) ) + return false; + + if( isWhitespace && !char.IsWhiteSpace( ch ) ) + isWhitespace = false; + } + + return !isWhitespace; + } + + // Credit: http://answers.unity3d.com/questions/898770/how-to-get-the-width-of-ui-text-with-horizontal-ov.html + private int CalculateLengthOfDropdownText( string str ) + { + Font font = filterItemTemplate.font; + font.RequestCharactersInTexture( str, filterItemTemplate.fontSize, filterItemTemplate.fontStyle ); + + int totalLength = 0; + for( int i = 0; i < str.Length; i++ ) + { + CharacterInfo characterInfo; + if( !font.GetCharacterInfo( str[i], out characterInfo, filterItemTemplate.fontSize ) ) + totalLength += 5; + + totalLength += characterInfo.advance; + } + + return totalLength; + } + + private string GetInitialPath( string initialPath ) + { + if( !string.IsNullOrEmpty( initialPath ) && !Directory.Exists( initialPath ) && File.Exists( initialPath ) ) + { + // Path points to a file, use its parent directory's path instead + initialPath = Path.GetDirectoryName( initialPath ); + } + + if( string.IsNullOrEmpty( initialPath ) || !Directory.Exists( initialPath ) ) + { + if( CurrentPath.Length == 0 ) + initialPath = defaultInitialPath; + else + initialPath = CurrentPath; + } + + m_currentPath = string.Empty; // Needed to correctly reset the pathsFollowed + + return initialPath; + } + #endregion + + #region File Browser Functions (static) + public static bool ShowSaveDialog( OnSuccess onSuccess, OnCancel onCancel, + PickMode pickMode, bool allowMultiSelection = false, + string initialPath = null, string initialFilename = null, + string title = "Save", string saveButtonText = "Save" ) + { + return ShowDialogInternal( onSuccess, onCancel, pickMode, allowMultiSelection, pickMode != PickMode.Folders, initialPath, initialFilename, title, saveButtonText ); + } + + public static bool ShowLoadDialog( OnSuccess onSuccess, OnCancel onCancel, + PickMode pickMode, bool allowMultiSelection = false, + string initialPath = null, string initialFilename = null, + string title = "Load", string loadButtonText = "Select" ) + { + return ShowDialogInternal( onSuccess, onCancel, pickMode, allowMultiSelection, false, initialPath, initialFilename, title, loadButtonText ); + } + + private static bool ShowDialogInternal( OnSuccess onSuccess, OnCancel onCancel, + PickMode pickMode, bool allowMultiSelection, bool acceptNonExistingFilename, + string initialPath, string initialFilename, string title, string submitButtonText ) + { + // Instead of ignoring this dialog request, let's just override the currently visible dialog's properties + //if( Instance.gameObject.activeSelf ) + //{ + // Debug.LogError( "Error: Multiple dialogs are not allowed!" ); + // return false; + //} + + Instance.onSuccess = onSuccess; + Instance.onCancel = onCancel; + + Instance.PickerMode = pickMode; + Instance.AllowMultiSelection = allowMultiSelection; + Instance.Title = title; + Instance.SubmitButtonText = submitButtonText; + Instance.AcceptNonExistingFilename = acceptNonExistingFilename; + + Instance.Show( initialPath, initialFilename ); + + return true; + } + + public static void HideDialog( bool invokeCancelCallback = false ) + { + Instance.OnOperationCanceled( invokeCancelCallback ); + } + + public static IEnumerator WaitForSaveDialog( PickMode pickMode, bool allowMultiSelection = false, + string initialPath = null, string initialFilename = null, + string title = "Save", string saveButtonText = "Save" ) + { + if( !ShowSaveDialog( null, null, pickMode, allowMultiSelection, initialPath, initialFilename, title, saveButtonText ) ) + yield break; + + while( Instance.gameObject.activeSelf ) + yield return null; + } + + public static IEnumerator WaitForLoadDialog( PickMode pickMode, bool allowMultiSelection = false, + string initialPath = null, string initialFilename = null, + string title = "Load", string loadButtonText = "Select" ) + { + if( !ShowLoadDialog( null, null, pickMode, allowMultiSelection, initialPath, initialFilename, title, loadButtonText ) ) + yield break; + + while( Instance.gameObject.activeSelf ) + yield return null; + } + + public static bool AddQuickLink( string name, string path, Sprite icon = null ) + { +#if !UNITY_EDITOR && UNITY_ANDROID + if( FileBrowserHelpers.ShouldUseSAF ) + return false; +#endif + + if( !quickLinksInitialized ) + { + // Fetching the list of external drives is only possible with the READ_EXTERNAL_STORAGE permission granted on Android + if( AskPermissions ) + RequestPermission(); + + Instance.InitializeQuickLinks(); + } + + return Instance.AddQuickLink( icon, name, path ); + } + + public static void SetExcludedExtensions( params string[] excludedExtensions ) + { + Instance.excludedExtensionsSet.Clear(); + + if( excludedExtensions != null ) + { + for( int i = 0; i < excludedExtensions.Length; i++ ) + Instance.excludedExtensionsSet.Add( excludedExtensions[i].ToLowerInvariant() ); + } + } + + public static void SetFilters( bool showAllFilesFilter, IEnumerable filters ) + { + SetFiltersPreProcessing( showAllFilesFilter ); + + if( filters != null ) + { + foreach( string filter in filters ) + { + if( filter != null && filter.Length > 0 ) + Instance.filters.Add( new Filter( null, filter ) ); + } + } + + SetFiltersPostProcessing(); + } + + public static void SetFilters( bool showAllFilesFilter, params string[] filters ) + { + SetFiltersPreProcessing( showAllFilesFilter ); + + if( filters != null ) + { + for( int i = 0; i < filters.Length; i++ ) + { + if( filters[i] != null && filters[i].Length > 0 ) + Instance.filters.Add( new Filter( null, filters[i] ) ); + } + } + + SetFiltersPostProcessing(); + } + + public static void SetFilters( bool showAllFilesFilter, IEnumerable filters ) + { + SetFiltersPreProcessing( showAllFilesFilter ); + + if( filters != null ) + { + foreach( Filter filter in filters ) + { + if( filter != null && filter.defaultExtension.Length > 0 ) + Instance.filters.Add( filter ); + } + } + + SetFiltersPostProcessing(); + } + + public static void SetFilters( bool showAllFilesFilter, params Filter[] filters ) + { + SetFiltersPreProcessing( showAllFilesFilter ); + + if( filters != null ) + { + for( int i = 0; i < filters.Length; i++ ) + { + if( filters[i] != null && filters[i].defaultExtension.Length > 0 ) + Instance.filters.Add( filters[i] ); + } + } + + SetFiltersPostProcessing(); + } + + private static void SetFiltersPreProcessing( bool showAllFilesFilter ) + { + Instance.showAllFilesFilter = showAllFilesFilter; + + Instance.filters.Clear(); + + if( showAllFilesFilter ) + Instance.filters.Add( Instance.allFilesFilter ); + } + + private static void SetFiltersPostProcessing() + { + List filters = Instance.filters; + + if( filters.Count == 0 ) + filters.Add( Instance.allFilesFilter ); + + int maxFilterStrLength = 100; + List dropdownValues = new List( filters.Count ); + for( int i = 0; i < filters.Count; i++ ) + { + string filterStr = filters[i].ToString(); + dropdownValues.Add( filterStr ); + + maxFilterStrLength = Mathf.Max( maxFilterStrLength, Instance.CalculateLengthOfDropdownText( filterStr ) ); + } + + Vector2 size = Instance.filtersDropdownContainer.sizeDelta; + size.x = maxFilterStrLength + 28; + Instance.filtersDropdownContainer.sizeDelta = size; + + Instance.filtersDropdown.ClearOptions(); + Instance.filtersDropdown.AddOptions( dropdownValues ); + Instance.filtersDropdown.value = 0; + } + + public static bool SetDefaultFilter( string defaultFilter ) + { + if( defaultFilter == null ) + { + if( Instance.showAllFilesFilter ) + { + Instance.filtersDropdown.value = 0; + Instance.filtersDropdown.RefreshShownValue(); + + return true; + } + + return false; + } + + defaultFilter = defaultFilter.ToLowerInvariant(); + + for( int i = 0; i < Instance.filters.Count; i++ ) + { + HashSet extensions = Instance.filters[i].extensions; + if( extensions != null && extensions.Contains( defaultFilter ) ) + { + Instance.filtersDropdown.value = i; + Instance.filtersDropdown.RefreshShownValue(); + + return true; + } + } + + return false; + } + + public static Permission CheckPermission() + { +#if !UNITY_EDITOR && UNITY_ANDROID + Permission result = (Permission) FileBrowserHelpers.AJC.CallStatic( "CheckPermission", FileBrowserHelpers.Context ); + if( result == Permission.Denied && (Permission) PlayerPrefs.GetInt( "FileBrowserPermission", (int) Permission.ShouldAsk ) == Permission.ShouldAsk ) + result = Permission.ShouldAsk; + + return result; +#else + return Permission.Granted; +#endif + } + + public static Permission RequestPermission() + { +#if !UNITY_EDITOR && UNITY_ANDROID + object threadLock = new object(); + lock( threadLock ) + { + FBPermissionCallbackAndroid nativeCallback = new FBPermissionCallbackAndroid( threadLock ); + + FileBrowserHelpers.AJC.CallStatic( "RequestPermission", FileBrowserHelpers.Context, nativeCallback, PlayerPrefs.GetInt( "FileBrowserPermission", (int) Permission.ShouldAsk ) ); + + if( nativeCallback.Result == -1 ) + System.Threading.Monitor.Wait( threadLock ); + + if( (Permission) nativeCallback.Result != Permission.ShouldAsk && PlayerPrefs.GetInt( "FileBrowserPermission", -1 ) != nativeCallback.Result ) + { + PlayerPrefs.SetInt( "FileBrowserPermission", nativeCallback.Result ); + PlayerPrefs.Save(); + } + + return (Permission) nativeCallback.Result; + } +#else + return Permission.Granted; +#endif + } + #endregion + } +} \ No newline at end of file diff --git a/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowser.cs.meta b/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowser.cs.meta new file mode 100644 index 0000000..1e75427 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowser.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f51dc09bf9e35804ba0f5e76c527025e +timeCreated: 1479416382 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserContextMenu.cs b/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserContextMenu.cs new file mode 100644 index 0000000..31c1f58 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserContextMenu.cs @@ -0,0 +1,118 @@ +using UnityEngine; +using UnityEngine.UI; + +namespace SimpleFileBrowser +{ + public class FileBrowserContextMenu : MonoBehaviour + { +#pragma warning disable 0649 + [SerializeField] + private FileBrowser fileBrowser; + + [SerializeField] + private RectTransform rectTransform; + + [SerializeField] + private Button selectAllButton; + [SerializeField] + private Button deselectAllButton; + [SerializeField] + private Button deleteButton; + [SerializeField] + private Button renameButton; + + [SerializeField] + private GameObject selectAllButtonSeparator; + + [SerializeField] + private float minDistanceToEdges = 10f; +#pragma warning restore 0649 + + internal void Show( bool selectAllButtonVisible, bool deselectAllButtonVisible, bool deleteButtonVisible, bool renameButtonVisible, Vector2 position, bool isMoreOptionsMenu ) + { + selectAllButton.gameObject.SetActive( selectAllButtonVisible ); + deselectAllButton.gameObject.SetActive( deselectAllButtonVisible ); + deleteButton.gameObject.SetActive( deleteButtonVisible ); + renameButton.gameObject.SetActive( renameButtonVisible ); + selectAllButtonSeparator.SetActive( !deselectAllButtonVisible ); + + rectTransform.anchoredPosition = position; + gameObject.SetActive( true ); + + if( isMoreOptionsMenu ) + rectTransform.pivot = Vector2.one; + else + { + // Find the optimal pivot value + LayoutRebuilder.ForceRebuildLayoutImmediate( rectTransform ); + + Vector2 size = rectTransform.sizeDelta; + Vector2 canvasSize = fileBrowser.rectTransform.sizeDelta; + + // Take canvas' Pivot into consideration + Vector2 positionOffset = canvasSize; + positionOffset.Scale( fileBrowser.rectTransform.pivot ); + position += positionOffset; + + // Try bottom-right corner first + Vector2 cornerPos = position + new Vector2( size.x + minDistanceToEdges, -size.y - minDistanceToEdges ); + if( cornerPos.x <= canvasSize.x && cornerPos.y >= 0f ) + rectTransform.pivot = new Vector2( 0f, 1f ); + else + { + // Try bottom-left corner + cornerPos = position - new Vector2( size.x + minDistanceToEdges, size.y + minDistanceToEdges ); + if( cornerPos.x >= 0f && cornerPos.y >= 0f ) + rectTransform.pivot = Vector2.one; + else + { + // Try top-right corner + cornerPos = position + new Vector2( size.x + minDistanceToEdges, size.y + minDistanceToEdges ); + if( cornerPos.x <= canvasSize.x && cornerPos.y <= canvasSize.y ) + rectTransform.pivot = Vector2.zero; + else + { + // Use top-left corner + rectTransform.pivot = new Vector2( 1f, 0f ); + } + } + } + } + } + + public void Hide() + { + gameObject.SetActive( false ); + } + + public void OnSelectAllButtonClicked() + { + Hide(); + fileBrowser.SelectAllFiles(); + } + + public void OnDeselectAllButtonClicked() + { + Hide(); + fileBrowser.DeselectAllFiles(); + } + + public void OnCreateFolderButtonClicked() + { + Hide(); + fileBrowser.CreateNewFolder(); + } + + public void OnDeleteButtonClicked() + { + Hide(); + fileBrowser.DeleteSelectedFiles(); + } + + public void OnRenameButtonClicked() + { + Hide(); + fileBrowser.RenameSelectedFile(); + } + } +} \ No newline at end of file diff --git a/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserContextMenu.cs.meta b/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserContextMenu.cs.meta new file mode 100644 index 0000000..241a73c --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserContextMenu.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0d5261bc2717e6143961d30ccb76fb66 +timeCreated: 1603793977 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserCursorHandler.cs b/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserCursorHandler.cs new file mode 100644 index 0000000..1f014e1 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserCursorHandler.cs @@ -0,0 +1,61 @@ +using UnityEngine; +using UnityEngine.EventSystems; + +namespace SimpleFileBrowser +{ + public class FileBrowserCursorHandler : MonoBehaviour +#if UNITY_EDITOR || ( !UNITY_ANDROID && !UNITY_IOS ) + , IPointerEnterHandler, IPointerExitHandler, IBeginDragHandler, IEndDragHandler +#endif + { +#if UNITY_EDITOR || ( !UNITY_ANDROID && !UNITY_IOS ) +#pragma warning disable 0649 + [SerializeField] + private Texture2D resizeCursor; +#pragma warning restore 0649 + + private bool isHovering; + private bool isResizing; + + void IPointerEnterHandler.OnPointerEnter( PointerEventData eventData ) + { + isHovering = true; + + if( !eventData.dragging ) + ShowResizeCursor(); + } + + void IPointerExitHandler.OnPointerExit( PointerEventData eventData ) + { + isHovering = false; + + if( !isResizing ) + ShowDefaultCursor(); + } + + void IBeginDragHandler.OnBeginDrag( PointerEventData eventData ) + { + isResizing = true; + ShowResizeCursor(); + } + + void IEndDragHandler.OnEndDrag( PointerEventData eventData ) + { + isResizing = false; + + if( !isHovering ) + ShowDefaultCursor(); + } + + private void ShowDefaultCursor() + { + Cursor.SetCursor( null, Vector2.zero, CursorMode.Auto ); + } + + private void ShowResizeCursor() + { + Cursor.SetCursor( resizeCursor, new Vector2( resizeCursor.width * 0.5f, resizeCursor.height * 0.5f ), CursorMode.Auto ); + } +#endif + } +} \ No newline at end of file diff --git a/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserCursorHandler.cs.meta b/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserCursorHandler.cs.meta new file mode 100644 index 0000000..667c27c --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserCursorHandler.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 759524cf7ef37f244bb00cd9724f0349 +timeCreated: 1603745549 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserDeleteConfirmationPanel.cs b/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserDeleteConfirmationPanel.cs new file mode 100644 index 0000000..f1dfe64 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserDeleteConfirmationPanel.cs @@ -0,0 +1,121 @@ +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; +#if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER +using UnityEngine.InputSystem; +#endif + +namespace SimpleFileBrowser +{ + public class FileBrowserDeleteConfirmationPanel : MonoBehaviour + { + public delegate void OnDeletionConfirmed(); + +#pragma warning disable 0649 + [SerializeField] + private GameObject[] deletedItems; + + [SerializeField] + private Image[] deletedItemIcons; + + [SerializeField] + private Text[] deletedItemNames; + + [SerializeField] + private GameObject deletedItemsRest; + + [SerializeField] + private Text deletedItemsRestLabel; + + [SerializeField] + private RectTransform yesButtonTransform; + + [SerializeField] + private RectTransform noButtonTransform; + + [SerializeField] + private float narrowScreenWidth = 380f; +#pragma warning restore 0649 + + private OnDeletionConfirmed onDeletionConfirmed; + + internal void Show( FileBrowser fileBrowser, List items, List selectedItemIndices, OnDeletionConfirmed onDeletionConfirmed ) + { + this.onDeletionConfirmed = onDeletionConfirmed; + + for( int i = 0; i < deletedItems.Length; i++ ) + deletedItems[i].SetActive( i < selectedItemIndices.Count ); + + for( int i = 0; i < deletedItems.Length && i < selectedItemIndices.Count; i++ ) + { + deletedItemIcons[i].sprite = fileBrowser.GetIconForFileEntry( items[selectedItemIndices[i]] ); + deletedItemNames[i].text = items[selectedItemIndices[i]].Name; + } + + if( selectedItemIndices.Count > deletedItems.Length ) + { + deletedItemsRestLabel.text = string.Concat( "...and ", ( selectedItemIndices.Count - deletedItems.Length ).ToString(), " other" ); + deletedItemsRest.SetActive( true ); + } + else + deletedItemsRest.SetActive( false ); + + gameObject.SetActive( true ); + } + + // Handles responsive user interface + internal void OnCanvasDimensionsChanged( Vector2 size ) + { + if( size.x >= narrowScreenWidth ) + { + yesButtonTransform.anchorMin = new Vector2( 0.5f, 0f ); + yesButtonTransform.anchorMax = new Vector2( 0.75f, 1f ); + noButtonTransform.anchorMin = new Vector2( 0.75f, 0f ); + } + else + { + yesButtonTransform.anchorMin = Vector2.zero; + yesButtonTransform.anchorMax = new Vector2( 0.5f, 1f ); + noButtonTransform.anchorMin = new Vector2( 0.5f, 0f ); + } + } + +#if UNITY_EDITOR || UNITY_STANDALONE || UNITY_WSA || UNITY_WSA_10_0 + private void LateUpdate() + { +#if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER + if( Keyboard.current != null ) +#endif + { + // Handle keyboard shortcuts +#if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER + if( Keyboard.current[Key.Enter].wasPressedThisFrame || Keyboard.current[Key.NumpadEnter].wasPressedThisFrame ) +#else + if( Input.GetKeyDown( KeyCode.Return ) || Input.GetKeyDown( KeyCode.KeypadEnter ) ) +#endif + YesButtonClicked(); + +#if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER + if( Keyboard.current[Key.Escape].wasPressedThisFrame ) +#else + if( Input.GetKeyDown( KeyCode.Escape ) ) +#endif + NoButtonClicked(); + } + } +#endif + + public void YesButtonClicked() + { + gameObject.SetActive( false ); + + if( onDeletionConfirmed != null ) + onDeletionConfirmed(); + } + + public void NoButtonClicked() + { + gameObject.SetActive( false ); + } + } +} \ No newline at end of file diff --git a/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserDeleteConfirmationPanel.cs.meta b/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserDeleteConfirmationPanel.cs.meta new file mode 100644 index 0000000..4af7da7 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserDeleteConfirmationPanel.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e63253265f9892b4f903968d5f58c0f0 +timeCreated: 1603800894 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserHelpers.cs b/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserHelpers.cs new file mode 100644 index 0000000..f36d111 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserHelpers.cs @@ -0,0 +1,506 @@ +using System.IO; +using UnityEngine; + +namespace SimpleFileBrowser +{ + public struct FileSystemEntry + { + public readonly string Path; + public readonly string Name; + public readonly string Extension; + public readonly FileAttributes Attributes; + + public bool IsDirectory { get { return ( Attributes & FileAttributes.Directory ) == FileAttributes.Directory; } } + + public FileSystemEntry( string path, string name, bool isDirectory ) + { + Path = path; + Name = name; + Extension = isDirectory ? null : System.IO.Path.GetExtension( name ); + Attributes = isDirectory ? FileAttributes.Directory : FileAttributes.Normal; + } + + public FileSystemEntry( FileSystemInfo fileInfo ) + { + Path = fileInfo.FullName; + Name = fileInfo.Name; + Extension = fileInfo.Extension; + Attributes = fileInfo.Attributes; + } + } + + public static class FileBrowserHelpers + { +#if !UNITY_EDITOR && UNITY_ANDROID + private static AndroidJavaClass m_ajc = null; + public static AndroidJavaClass AJC + { + get + { + if( m_ajc == null ) + m_ajc = new AndroidJavaClass( "com.yasirkula.unity.FileBrowser" ); + + return m_ajc; + } + } + + private static AndroidJavaObject m_context = null; + public static AndroidJavaObject Context + { + get + { + if( m_context == null ) + { + using( AndroidJavaObject unityClass = new AndroidJavaClass( "com.unity3d.player.UnityPlayer" ) ) + { + m_context = unityClass.GetStatic( "currentActivity" ); + } + } + + return m_context; + } + } + + private static string m_temporaryFilePath = null; + private static string TemporaryFilePath + { + get + { + if( m_temporaryFilePath == null ) + { + m_temporaryFilePath = Path.Combine( Application.temporaryCachePath, "tmpFile" ); + Directory.CreateDirectory( Application.temporaryCachePath ); + } + + return m_temporaryFilePath; + } + } + + // On Android 10+, filesystem can be accessed via Storage Access Framework only + private static bool? m_shouldUseSAF = null; + public static bool ShouldUseSAF + { + get + { + if( m_shouldUseSAF == null ) + m_shouldUseSAF = AJC.CallStatic( "CheckSAF" ); + + return m_shouldUseSAF.Value; + } + } +#endif + + public static bool FileExists( string path ) + { +#if !UNITY_EDITOR && UNITY_ANDROID + if( ShouldUseSAF ) + return AJC.CallStatic( "SAFEntryExists", Context, path, false ); +#endif + return File.Exists( path ); + } + + public static bool DirectoryExists( string path ) + { +#if !UNITY_EDITOR && UNITY_ANDROID + if( ShouldUseSAF ) + return AJC.CallStatic( "SAFEntryExists", Context, path, true ); +#endif + return Directory.Exists( path ); + } + + public static bool IsDirectory( string path ) + { +#if !UNITY_EDITOR && UNITY_ANDROID + if( ShouldUseSAF ) + return AJC.CallStatic( "SAFEntryDirectory", Context, path ); +#endif + if( Directory.Exists( path ) ) + return true; + if( File.Exists( path ) ) + return false; + + string extension = Path.GetExtension( path ); + return extension == null || extension.Length <= 1; // extension includes '.' + } + + public static string GetDirectoryName( string path ) + { +#if !UNITY_EDITOR && UNITY_ANDROID + if( ShouldUseSAF ) + return AJC.CallStatic( "GetParentDirectory", Context, path ); +#endif + return Path.GetDirectoryName( path ); + } + + public static FileSystemEntry[] GetEntriesInDirectory( string path ) + { +#if !UNITY_EDITOR && UNITY_ANDROID + if( ShouldUseSAF ) + { + string resultRaw = AJC.CallStatic( "OpenSAFFolder", Context, path ); + int separatorIndex = resultRaw.IndexOf( "<>" ); + if( separatorIndex <= 0 ) + { + Debug.LogError( "Entry count does not exist" ); + return null; + } + + int entryCount = 0; + for( int i = 0; i < separatorIndex; i++ ) + { + char ch = resultRaw[i]; + if( ch < '0' && ch > '9' ) + { + Debug.LogError( "Couldn't parse entry count" ); + return null; + } + + entryCount = entryCount * 10 + ( ch - '0' ); + } + + if( entryCount <= 0 ) + return null; + + FileSystemEntry[] result = new FileSystemEntry[entryCount]; + for( int i = 0; i < entryCount; i++ ) + { + separatorIndex += 2; + if( separatorIndex >= resultRaw.Length ) + { + Debug.LogError( "Couldn't fetch directory attribute" ); + return null; + } + + bool isDirectory = resultRaw[separatorIndex] == 'd'; + + separatorIndex++; + int nextSeparatorIndex = resultRaw.IndexOf( "<>", separatorIndex ); + if( nextSeparatorIndex <= 0 ) + { + Debug.LogError( "Entry name is empty" ); + return null; + } + + string entryName = resultRaw.Substring( separatorIndex, nextSeparatorIndex - separatorIndex ); + + separatorIndex = nextSeparatorIndex + 2; + nextSeparatorIndex = resultRaw.IndexOf( "<>", separatorIndex ); + if( nextSeparatorIndex <= 0 ) + { + Debug.LogError( "Entry rawUri is empty" ); + return null; + } + + string rawUri = resultRaw.Substring( separatorIndex, nextSeparatorIndex - separatorIndex ); + + separatorIndex = nextSeparatorIndex; + + result[i] = new FileSystemEntry( rawUri, entryName, isDirectory ); + } + + return result; + } +#endif + + try + { + FileSystemInfo[] items = new DirectoryInfo( path ).GetFileSystemInfos(); + FileSystemEntry[] result = new FileSystemEntry[items.Length]; + int index = 0; + for( int i = 0; i < items.Length; i++ ) + { + try + { + result[index] = new FileSystemEntry( items[i] ); + index++; + } + catch( System.Exception e ) + { + Debug.LogException( e ); + } + } + + if( result.Length != index ) + System.Array.Resize( ref result, index ); + + return result; + } + catch( System.Exception e ) + { + Debug.LogException( e ); + return null; + } + } + + public static string CreateFileInDirectory( string directoryPath, string filename ) + { +#if !UNITY_EDITOR && UNITY_ANDROID + if( ShouldUseSAF ) + return AJC.CallStatic( "CreateSAFEntry", Context, directoryPath, false, filename ); +#endif + + string path = Path.Combine( directoryPath, filename ); + using( File.Create( path ) ) { } + return path; + } + + public static string CreateFolderInDirectory( string directoryPath, string folderName ) + { +#if !UNITY_EDITOR && UNITY_ANDROID + if( ShouldUseSAF ) + return AJC.CallStatic( "CreateSAFEntry", Context, directoryPath, true, folderName ); +#endif + + string path = Path.Combine( directoryPath, folderName ); + Directory.CreateDirectory( path ); + return path; + } + + public static void WriteBytesToFile( string targetPath, byte[] bytes ) + { +#if !UNITY_EDITOR && UNITY_ANDROID + if( ShouldUseSAF ) + { + File.WriteAllBytes( TemporaryFilePath, bytes ); + AJC.CallStatic( "WriteToSAFEntry", Context, targetPath, TemporaryFilePath, false ); + File.Delete( TemporaryFilePath ); + + return; + } +#endif + File.WriteAllBytes( targetPath, bytes ); + } + + public static void WriteTextToFile( string targetPath, string text ) + { +#if !UNITY_EDITOR && UNITY_ANDROID + if( ShouldUseSAF ) + { + File.WriteAllText( TemporaryFilePath, text ); + AJC.CallStatic( "WriteToSAFEntry", Context, targetPath, TemporaryFilePath, false ); + File.Delete( TemporaryFilePath ); + + return; + } +#endif + File.WriteAllText( targetPath, text ); + } + + public static void AppendBytesToFile( string targetPath, byte[] bytes ) + { +#if !UNITY_EDITOR && UNITY_ANDROID + if( ShouldUseSAF ) + { + File.WriteAllBytes( TemporaryFilePath, bytes ); + AJC.CallStatic( "WriteToSAFEntry", Context, targetPath, TemporaryFilePath, true ); + File.Delete( TemporaryFilePath ); + + return; + } +#endif + using( var stream = new FileStream( targetPath, FileMode.Append, FileAccess.Write ) ) + { + stream.Write( bytes, 0, bytes.Length ); + } + } + + public static void AppendTextToFile( string targetPath, string text ) + { +#if !UNITY_EDITOR && UNITY_ANDROID + if( ShouldUseSAF ) + { + File.WriteAllText( TemporaryFilePath, text ); + AJC.CallStatic( "WriteToSAFEntry", Context, targetPath, TemporaryFilePath, true ); + File.Delete( TemporaryFilePath ); + + return; + } +#endif + File.AppendAllText( targetPath, text ); + } + + private static void AppendFileToFile( string targetPath, string sourceFileToAppend ) + { +#if !UNITY_EDITOR && UNITY_ANDROID + if( ShouldUseSAF ) + { + AJC.CallStatic( "WriteToSAFEntry", Context, targetPath, sourceFileToAppend, true ); + return; + } +#endif + using( Stream input = File.OpenRead( sourceFileToAppend ) ) + using( Stream output = new FileStream( targetPath, FileMode.Append, FileAccess.Write ) ) + { + byte[] buffer = new byte[4096]; + int bytesRead; + while( ( bytesRead = input.Read( buffer, 0, buffer.Length ) ) > 0 ) + output.Write( buffer, 0, bytesRead ); + } + } + + public static byte[] ReadBytesFromFile( string sourcePath ) + { +#if !UNITY_EDITOR && UNITY_ANDROID + if( ShouldUseSAF ) + { + AJC.CallStatic( "ReadFromSAFEntry", Context, sourcePath, TemporaryFilePath ); + byte[] result = File.ReadAllBytes( TemporaryFilePath ); + File.Delete( TemporaryFilePath ); + return result; + } +#endif + return File.ReadAllBytes( sourcePath ); + } + + public static string ReadTextFromFile( string sourcePath ) + { +#if !UNITY_EDITOR && UNITY_ANDROID + if( ShouldUseSAF ) + { + AJC.CallStatic( "ReadFromSAFEntry", Context, sourcePath, TemporaryFilePath ); + string result = File.ReadAllText( TemporaryFilePath ); + File.Delete( TemporaryFilePath ); + return result; + } +#endif + return File.ReadAllText( sourcePath ); + } + + public static void CopyFile( string sourcePath, string destinationPath ) + { +#if !UNITY_EDITOR && UNITY_ANDROID + if( ShouldUseSAF ) + { + AJC.CallStatic( "CopyFile", Context, sourcePath, destinationPath, false ); + return; + } +#endif + File.Copy( sourcePath, destinationPath, true ); + } + + public static void CopyDirectory( string sourcePath, string destinationPath ) + { +#if !UNITY_EDITOR && UNITY_ANDROID + if( ShouldUseSAF ) + { + AJC.CallStatic( "CopyDirectory", Context, sourcePath, destinationPath, false ); + return; + } +#endif + CopyDirectoryRecursively( new DirectoryInfo( sourcePath ), destinationPath ); + } + + private static void CopyDirectoryRecursively( DirectoryInfo sourceDirectory, string destinationPath ) + { + Directory.CreateDirectory( destinationPath ); + + FileInfo[] files = sourceDirectory.GetFiles(); + for( int i = 0; i < files.Length; i++ ) + files[i].CopyTo( Path.Combine( destinationPath, files[i].Name ), true ); + + DirectoryInfo[] subDirectories = sourceDirectory.GetDirectories(); + for( int i = 0; i < subDirectories.Length; i++ ) + CopyDirectoryRecursively( subDirectories[i], Path.Combine( destinationPath, subDirectories[i].Name ) ); + } + + public static void MoveFile( string sourcePath, string destinationPath ) + { +#if !UNITY_EDITOR && UNITY_ANDROID + if( ShouldUseSAF ) + { + AJC.CallStatic( "CopyFile", Context, sourcePath, destinationPath, true ); + return; + } +#endif + File.Move( sourcePath, destinationPath ); + } + + public static void MoveDirectory( string sourcePath, string destinationPath ) + { +#if !UNITY_EDITOR && UNITY_ANDROID + if( ShouldUseSAF ) + { + AJC.CallStatic( "CopyDirectory", Context, sourcePath, destinationPath, true ); + return; + } +#endif + Directory.Move( sourcePath, destinationPath ); + } + + public static string RenameFile( string path, string newName ) + { +#if !UNITY_EDITOR && UNITY_ANDROID + if( ShouldUseSAF ) + return AJC.CallStatic( "RenameSAFEntry", Context, path, newName ); +#endif + string newPath = Path.Combine( Path.GetDirectoryName( path ), newName ); + File.Move( path, newPath ); + + return newPath; + } + + public static string RenameDirectory( string path, string newName ) + { +#if !UNITY_EDITOR && UNITY_ANDROID + if( ShouldUseSAF ) + return AJC.CallStatic( "RenameSAFEntry", Context, path, newName ); +#endif + string newPath = Path.Combine( new DirectoryInfo( path ).Parent.FullName, newName ); + Directory.Move( path, newPath ); + + return newPath; + } + + public static void DeleteFile( string path ) + { +#if !UNITY_EDITOR && UNITY_ANDROID + if( ShouldUseSAF ) + { + AJC.CallStatic( "DeleteSAFEntry", Context, path ); + return; + } +#endif + File.Delete( path ); + } + + public static void DeleteDirectory( string path ) + { +#if !UNITY_EDITOR && UNITY_ANDROID + if( ShouldUseSAF ) + { + AJC.CallStatic( "DeleteSAFEntry", Context, path ); + return; + } +#endif + Directory.Delete( path, true ); + } + + public static string GetFilename( string path ) + { +#if !UNITY_EDITOR && UNITY_ANDROID + if( ShouldUseSAF ) + return AJC.CallStatic( "SAFEntryName", Context, path ); +#endif + return Path.GetFileName( path ); + } + + public static long GetFilesize( string path ) + { +#if !UNITY_EDITOR && UNITY_ANDROID + if( ShouldUseSAF ) + return AJC.CallStatic( "SAFEntrySize", Context, path ); +#endif + return new FileInfo( path ).Length; + } + + public static System.DateTime GetLastModifiedDate( string path ) + { +#if !UNITY_EDITOR && UNITY_ANDROID + // Credit: https://stackoverflow.com/a/28504416/2373034 + if( ShouldUseSAF ) + return new System.DateTime( 1970, 1, 1, 0, 0, 0 ).AddMilliseconds( AJC.CallStatic( "SAFEntryLastModified", Context, path ) ); +#endif + return new FileInfo( path ).LastWriteTime; + } + } +} \ No newline at end of file diff --git a/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserHelpers.cs.meta b/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserHelpers.cs.meta new file mode 100644 index 0000000..dfa903d --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserHelpers.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2370e7a82ec4087499ebf7efa149e9eb +timeCreated: 1570919647 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserItem.cs b/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserItem.cs new file mode 100644 index 0000000..591a7c5 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserItem.cs @@ -0,0 +1,212 @@ +using UnityEngine; +using UnityEngine.UI; +using UnityEngine.EventSystems; + +namespace SimpleFileBrowser +{ + public class FileBrowserItem : ListItem, IPointerClickHandler, IPointerDownHandler, IPointerUpHandler +#if UNITY_EDITOR || ( !UNITY_ANDROID && !UNITY_IOS ) + , IPointerEnterHandler, IPointerExitHandler +#endif + { + #region Constants + private const float DOUBLE_CLICK_TIME = 0.5f; + private const float TOGGLE_MULTI_SELECTION_HOLD_TIME = 0.5f; + #endregion + + #region Variables + protected FileBrowser fileBrowser; + +#pragma warning disable 0649 + [SerializeField] + private Image background; + + [SerializeField] + private Image icon; + + [SerializeField] + private Image multiSelectionToggle; + + [SerializeField] + private Text nameText; +#pragma warning restore 0649 + +#pragma warning disable 0414 + private bool isSelected; +#pragma warning restore 0414 + + private float pressTime = Mathf.Infinity; + private float prevClickTime; + #endregion + + #region Properties + private RectTransform m_transform; + public RectTransform TransformComponent + { + get + { + if( m_transform == null ) + m_transform = (RectTransform) transform; + + return m_transform; + } + } + + public string Name { get { return nameText.text; } } + public bool IsDirectory { get; private set; } + #endregion + + #region Initialization Functions + public void SetFileBrowser( FileBrowser fileBrowser ) + { + this.fileBrowser = fileBrowser; + background.color = fileBrowser.normalFileColor; + } + + public void SetFile( Sprite icon, string name, bool isDirectory ) + { + this.icon.sprite = icon; + nameText.text = name; + + IsDirectory = isDirectory; + } + #endregion + + #region Messages + private void Update() + { + if( fileBrowser.AllowMultiSelection && Time.realtimeSinceStartup - pressTime >= TOGGLE_MULTI_SELECTION_HOLD_TIME ) + { + // Item is held for a while + pressTime = Mathf.Infinity; + fileBrowser.OnItemHeld( this ); + } + } + #endregion + + #region Pointer Events + public void OnPointerClick( PointerEventData eventData ) + { +#if UNITY_EDITOR || UNITY_STANDALONE || UNITY_WEBGL || UNITY_WSA || UNITY_WSA_10_0 + if( eventData.button == PointerEventData.InputButton.Middle ) + return; + else if( eventData.button == PointerEventData.InputButton.Right ) + { + // First, select the item + if( !isSelected ) + { + prevClickTime = 0f; + fileBrowser.OnItemSelected( this, false ); + } + + // Then, show the context menu + fileBrowser.OnContextMenuTriggered( eventData.position ); + return; + } +#endif + + if( Time.realtimeSinceStartup - prevClickTime < DOUBLE_CLICK_TIME ) + { + prevClickTime = 0f; + fileBrowser.OnItemSelected( this, true ); + } + else + { + prevClickTime = Time.realtimeSinceStartup; + fileBrowser.OnItemSelected( this, false ); + } + } + + public void OnPointerDown( PointerEventData eventData ) + { +#if UNITY_EDITOR || UNITY_STANDALONE || UNITY_WEBGL || UNITY_WSA || UNITY_WSA_10_0 + if( eventData.button != PointerEventData.InputButton.Left ) + return; +#endif + + pressTime = Time.realtimeSinceStartup; + } + + public void OnPointerUp( PointerEventData eventData ) + { +#if UNITY_EDITOR || UNITY_STANDALONE || UNITY_WEBGL || UNITY_WSA || UNITY_WSA_10_0 + if( eventData.button != PointerEventData.InputButton.Left ) + return; +#endif + + if( pressTime != Mathf.Infinity ) + pressTime = Mathf.Infinity; + else if( fileBrowser.MultiSelectionToggleSelectionMode ) + { + // We have activated MultiSelectionToggleSelectionMode with this press, processing the click would result in + // deselecting this item since its selected state would be toggled + eventData.eligibleForClick = false; + } + } + +#if UNITY_EDITOR || ( !UNITY_ANDROID && !UNITY_IOS ) + public void OnPointerEnter( PointerEventData eventData ) + { + if( !isSelected ) + background.color = fileBrowser.hoveredFileColor; + } +#endif + +#if UNITY_EDITOR || ( !UNITY_ANDROID && !UNITY_IOS ) + public void OnPointerExit( PointerEventData eventData ) + { + if( !isSelected ) + background.color = fileBrowser.normalFileColor; + } +#endif + #endregion + + #region Other Events + public void SetSelected( bool isSelected ) + { + this.isSelected = isSelected; + background.color = isSelected ? fileBrowser.selectedFileColor : fileBrowser.normalFileColor; + + if( multiSelectionToggle ) // Quick links don't have multi-selection toggle + { + // Don't show multi-selection toggle for folders in file selection mode + if( fileBrowser.MultiSelectionToggleSelectionMode && ( !IsDirectory || fileBrowser.PickerMode != FileBrowser.PickMode.Files ) ) + { + if( !multiSelectionToggle.gameObject.activeSelf ) + { + multiSelectionToggle.gameObject.SetActive( true ); + + Vector2 shiftAmount = new Vector2( multiSelectionToggle.rectTransform.sizeDelta.x, 0f ); + icon.rectTransform.anchoredPosition += shiftAmount; + nameText.rectTransform.anchoredPosition += shiftAmount; + } + + multiSelectionToggle.sprite = isSelected ? fileBrowser.multiSelectionToggleOnIcon : fileBrowser.multiSelectionToggleOffIcon; + } + else if( multiSelectionToggle.gameObject.activeSelf ) + { + multiSelectionToggle.gameObject.SetActive( false ); + + Vector2 shiftAmount = new Vector2( -multiSelectionToggle.rectTransform.sizeDelta.x, 0f ); + icon.rectTransform.anchoredPosition += shiftAmount; + nameText.rectTransform.anchoredPosition += shiftAmount; + + // Clicking a file shortly after disabling MultiSelectionToggleSelectionMode does nothing, this workaround fixes that issue + prevClickTime = 0f; + } + } + } + + public void SetHidden( bool isHidden ) + { + Color c = icon.color; + c.a = isHidden ? 0.5f : 1f; + icon.color = c; + + c = nameText.color; + c.a = isHidden ? 0.55f : 1f; + nameText.color = c; + } + #endregion + } +} \ No newline at end of file diff --git a/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserItem.cs.meta b/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserItem.cs.meta new file mode 100644 index 0000000..3613540 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserItem.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b5f1b2825c50f7b4d9be146ab2137bff +timeCreated: 1479417850 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserMovement.cs b/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserMovement.cs new file mode 100644 index 0000000..0cbae1b --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserMovement.cs @@ -0,0 +1,105 @@ +using UnityEngine; +using UnityEngine.EventSystems; + +namespace SimpleFileBrowser +{ + public class FileBrowserMovement : MonoBehaviour + { + #region Variables +#pragma warning disable 0649 + private FileBrowser fileBrowser; + private RectTransform canvasTR; + private Camera canvasCam; + + [SerializeField] + private RectTransform window; + + [SerializeField] + private RecycledListView listView; +#pragma warning restore 0649 + + private Vector2 initialTouchPos = Vector2.zero; + private Vector2 initialAnchoredPos, initialSizeDelta; + #endregion + + #region Initialization Functions + public void Initialize( FileBrowser fileBrowser ) + { + this.fileBrowser = fileBrowser; + canvasTR = fileBrowser.GetComponent(); + } + #endregion + + #region Pointer Events + public void OnDragStarted( BaseEventData data ) + { + PointerEventData pointer = (PointerEventData) data; + + canvasCam = pointer.pressEventCamera; + RectTransformUtility.ScreenPointToLocalPointInRectangle( window, pointer.pressPosition, canvasCam, out initialTouchPos ); + } + + public void OnDrag( BaseEventData data ) + { + PointerEventData pointer = (PointerEventData) data; + + Vector2 touchPos; + RectTransformUtility.ScreenPointToLocalPointInRectangle( window, pointer.position, canvasCam, out touchPos ); + window.anchoredPosition += touchPos - initialTouchPos; + } + + public void OnEndDrag( BaseEventData data ) + { + fileBrowser.EnsureWindowIsWithinBounds(); + } + + public void OnResizeStarted( BaseEventData data ) + { + PointerEventData pointer = (PointerEventData) data; + + canvasCam = pointer.pressEventCamera; + initialAnchoredPos = window.anchoredPosition; + initialSizeDelta = window.sizeDelta; + RectTransformUtility.ScreenPointToLocalPointInRectangle( canvasTR, pointer.pressPosition, canvasCam, out initialTouchPos ); + } + + public void OnResize( BaseEventData data ) + { + PointerEventData pointer = (PointerEventData) data; + + Vector2 touchPos; + RectTransformUtility.ScreenPointToLocalPointInRectangle( canvasTR, pointer.position, canvasCam, out touchPos ); + + Vector2 delta = touchPos - initialTouchPos; + Vector2 newSize = initialSizeDelta + new Vector2( delta.x, -delta.y ); + Vector2 canvasSize = canvasTR.sizeDelta; + + if( newSize.x < fileBrowser.minWidth ) newSize.x = fileBrowser.minWidth; + if( newSize.y < fileBrowser.minHeight ) newSize.y = fileBrowser.minHeight; + + if( newSize.x > canvasSize.x ) newSize.x = canvasSize.x; + if( newSize.y > canvasSize.y ) newSize.y = canvasSize.y; + + newSize.x = (int) newSize.x; + newSize.y = (int) newSize.y; + + delta = newSize - initialSizeDelta; + + window.anchoredPosition = initialAnchoredPos + new Vector2( delta.x * 0.5f, delta.y * -0.5f ); + + if( window.sizeDelta != newSize ) + { + window.sizeDelta = newSize; + fileBrowser.OnWindowDimensionsChanged( newSize ); + } + + listView.OnViewportDimensionsChanged(); + } + + public void OnEndResize( BaseEventData data ) + { + fileBrowser.EnsureWindowIsWithinBounds(); + } + #endregion + } +} \ No newline at end of file diff --git a/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserMovement.cs.meta b/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserMovement.cs.meta new file mode 100644 index 0000000..13863e0 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserMovement.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 46d41d79fe7c3d44ca846b4f3d81a476 +timeCreated: 1479486534 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserQuickLink.cs b/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserQuickLink.cs new file mode 100644 index 0000000..80a02b6 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserQuickLink.cs @@ -0,0 +1,21 @@ +using UnityEngine; + +namespace SimpleFileBrowser +{ + public class FileBrowserQuickLink : FileBrowserItem + { + #region Properties + private string m_targetPath; + public string TargetPath { get { return m_targetPath; } } + #endregion + + #region Initialization Functions + public void SetQuickLink( Sprite icon, string name, string targetPath ) + { + SetFile( icon, name, true ); + + m_targetPath = targetPath; + } + #endregion + } +} \ No newline at end of file diff --git a/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserQuickLink.cs.meta b/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserQuickLink.cs.meta new file mode 100644 index 0000000..aecf811 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserQuickLink.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1f277f5418eabf94cad94208055878af +timeCreated: 1479417850 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserRenamedItem.cs b/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserRenamedItem.cs new file mode 100644 index 0000000..7722bbf --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserRenamedItem.cs @@ -0,0 +1,66 @@ +using UnityEngine; +using UnityEngine.EventSystems; +using UnityEngine.UI; +#if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER +using UnityEngine.InputSystem; +#endif + +namespace SimpleFileBrowser +{ + public class FileBrowserRenamedItem : MonoBehaviour + { + public delegate void OnRenameCompleted( string filename ); + +#pragma warning disable 0649 + [SerializeField] + private Image background; + + [SerializeField] + private Image icon; + + [SerializeField] + private InputField nameInputField; +#pragma warning restore 0649 + + private OnRenameCompleted onRenameCompleted; + + public void Show( string initialFilename, Color backgroundColor, Sprite icon, OnRenameCompleted onRenameCompleted ) + { + background.color = backgroundColor; + this.icon.sprite = icon; + this.onRenameCompleted = onRenameCompleted; + + transform.SetAsLastSibling(); + gameObject.SetActive( true ); + + nameInputField.text = initialFilename; + nameInputField.ActivateInputField(); + } + +#if UNITY_EDITOR || UNITY_STANDALONE || UNITY_WSA || UNITY_WSA_10_0 + private void LateUpdate() + { + // Don't allow scrolling with mouse wheel while renaming a file or creating a folder +#if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER + if( Mouse.current != null && Mouse.current.scroll.ReadValue().y != 0f ) +#else + if( Input.mouseScrollDelta.y != 0f ) +#endif + nameInputField.DeactivateInputField(); + } +#endif + + public void OnInputFieldEndEdit( string filename ) + { + gameObject.SetActive( false ); + + // If we don't deselect the InputField manually, FileBrowser's keyboard shortcuts + // no longer work until user clicks on a UI element and thus, deselects the InputField + if( !EventSystem.current.alreadySelecting && EventSystem.current.currentSelectedGameObject == nameInputField.gameObject ) + EventSystem.current.SetSelectedGameObject( null ); + + if( onRenameCompleted != null ) + onRenameCompleted( filename ); + } + } +} \ No newline at end of file diff --git a/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserRenamedItem.cs.meta b/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserRenamedItem.cs.meta new file mode 100644 index 0000000..c224372 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Scripts/FileBrowserRenamedItem.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c7397ff7ae1ba4c47b6dfd3c84936584 +timeCreated: 1603812277 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Scripts/NonDrawingGraphic.cs b/Assets/Plugins/SimpleFileBrowser/Scripts/NonDrawingGraphic.cs new file mode 100644 index 0000000..8336dfb --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Scripts/NonDrawingGraphic.cs @@ -0,0 +1,19 @@ +using UnityEngine; +using UnityEngine.UI; + +namespace SimpleFileBrowser +{ + // Credit: http://answers.unity.com/answers/1157876/view.html + [RequireComponent( typeof( CanvasRenderer ) )] + public class NonDrawingGraphic : Graphic + { + public override void SetMaterialDirty() { return; } + public override void SetVerticesDirty() { return; } + + protected override void OnPopulateMesh( VertexHelper vh ) + { + vh.Clear(); + return; + } + } +} \ No newline at end of file diff --git a/Assets/Plugins/SimpleFileBrowser/Scripts/NonDrawingGraphic.cs.meta b/Assets/Plugins/SimpleFileBrowser/Scripts/NonDrawingGraphic.cs.meta new file mode 100644 index 0000000..3cca306 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Scripts/NonDrawingGraphic.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b4fd8cdb8c068dd4bb48c415877496ba +timeCreated: 1603794018 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Scripts/SimpleRecycledListView.meta b/Assets/Plugins/SimpleFileBrowser/Scripts/SimpleRecycledListView.meta new file mode 100644 index 0000000..6e6565d --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Scripts/SimpleRecycledListView.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: dec11495f4b8cef49b7a3b4b06f094c3 +folderAsset: yes +timeCreated: 1485706514 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Scripts/SimpleRecycledListView/IListViewAdapter.cs b/Assets/Plugins/SimpleFileBrowser/Scripts/SimpleRecycledListView/IListViewAdapter.cs new file mode 100644 index 0000000..08b0172 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Scripts/SimpleRecycledListView/IListViewAdapter.cs @@ -0,0 +1,16 @@ +namespace SimpleFileBrowser +{ + public delegate void OnItemClickedHandler( ListItem item ); + + public interface IListViewAdapter + { + OnItemClickedHandler OnItemClicked { get; set; } + + int Count { get; } + float ItemHeight { get; } + + ListItem CreateItem(); + + void SetItemContent( ListItem item ); + } +} \ No newline at end of file diff --git a/Assets/Plugins/SimpleFileBrowser/Scripts/SimpleRecycledListView/IListViewAdapter.cs.meta b/Assets/Plugins/SimpleFileBrowser/Scripts/SimpleRecycledListView/IListViewAdapter.cs.meta new file mode 100644 index 0000000..41c6ea4 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Scripts/SimpleRecycledListView/IListViewAdapter.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 08e51b912648ace4784ebe20fc6cc961 +timeCreated: 1485706575 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Scripts/SimpleRecycledListView/ListItem.cs b/Assets/Plugins/SimpleFileBrowser/Scripts/SimpleRecycledListView/ListItem.cs new file mode 100644 index 0000000..9af86a0 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Scripts/SimpleRecycledListView/ListItem.cs @@ -0,0 +1,24 @@ +using UnityEngine; + +namespace SimpleFileBrowser +{ + [RequireComponent( typeof( RectTransform ) )] + public class ListItem : MonoBehaviour + { + public object Tag { get; set; } + public int Position { get; set; } + + private IListViewAdapter adapter; + + internal void SetAdapter( IListViewAdapter listView ) + { + this.adapter = listView; + } + + public void OnClick() + { + if( adapter.OnItemClicked != null ) + adapter.OnItemClicked( this ); + } + } +} \ No newline at end of file diff --git a/Assets/Plugins/SimpleFileBrowser/Scripts/SimpleRecycledListView/ListItem.cs.meta b/Assets/Plugins/SimpleFileBrowser/Scripts/SimpleRecycledListView/ListItem.cs.meta new file mode 100644 index 0000000..278c503 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Scripts/SimpleRecycledListView/ListItem.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9c3e7249b2cb96446a7ccfbed51aab81 +timeCreated: 1485706535 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Scripts/SimpleRecycledListView/RecycledListView.cs b/Assets/Plugins/SimpleFileBrowser/Scripts/SimpleRecycledListView/RecycledListView.cs new file mode 100644 index 0000000..976e666 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Scripts/SimpleRecycledListView/RecycledListView.cs @@ -0,0 +1,238 @@ +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.EventSystems; +using UnityEngine.UI; + +namespace SimpleFileBrowser +{ + [RequireComponent( typeof( ScrollRect ) )] + public class RecycledListView : MonoBehaviour +#if UNITY_EDITOR || UNITY_STANDALONE || UNITY_WSA || UNITY_WSA_10_0 + , IPointerClickHandler +#endif + { +#pragma warning disable 0649 +#if UNITY_EDITOR || UNITY_STANDALONE || UNITY_WSA || UNITY_WSA_10_0 + [SerializeField] + private FileBrowser fileBrowser; +#endif + + // Cached components + [SerializeField] + private RectTransform viewportTransform; + [SerializeField] + private RectTransform contentTransform; +#pragma warning restore 0649 + + private float itemHeight, _1OverItemHeight; + private float viewportHeight; + + private readonly Dictionary items = new Dictionary(); + private readonly Stack pooledItems = new Stack(); + + IListViewAdapter adapter = null; + + // Current indices of items shown on screen + private int currentTopIndex = -1, currentBottomIndex = -1; + + private void Start() + { + viewportHeight = viewportTransform.rect.height; + GetComponent().onValueChanged.AddListener( ( pos ) => UpdateItemsInTheList() ); + } + + public void SetAdapter( IListViewAdapter adapter ) + { + this.adapter = adapter; + + itemHeight = adapter.ItemHeight; + _1OverItemHeight = 1f / itemHeight; + } + + // Update the list + public void UpdateList() + { + float newHeight = Mathf.Max( 1f, adapter.Count * itemHeight ); + contentTransform.sizeDelta = new Vector2( 0f, newHeight ); + viewportHeight = viewportTransform.rect.height; + + UpdateItemsInTheList( true ); + } + + // Window is resized, update the list + public void OnViewportDimensionsChanged() + { + viewportHeight = viewportTransform.rect.height; + UpdateItemsInTheList(); + } + + // Calculate the indices of items to show + private void UpdateItemsInTheList( bool updateAllVisibleItems = false ) + { + // If there is at least one item to show + if( adapter.Count > 0 ) + { + float contentPos = contentTransform.anchoredPosition.y - 1f; + + int newTopIndex = (int) ( contentPos * _1OverItemHeight ); + int newBottomIndex = (int) ( ( contentPos + viewportHeight + 2f ) * _1OverItemHeight ); + + if( newTopIndex < 0 ) + newTopIndex = 0; + + if( newBottomIndex > adapter.Count - 1 ) + newBottomIndex = adapter.Count - 1; + + if( currentTopIndex == -1 ) + { + // There are no active items + + updateAllVisibleItems = true; + + currentTopIndex = newTopIndex; + currentBottomIndex = newBottomIndex; + + CreateItemsBetweenIndices( newTopIndex, newBottomIndex ); + } + else + { + // There are some active items + + if( newBottomIndex < currentTopIndex || newTopIndex > currentBottomIndex ) + { + // If user scrolled a lot such that, none of the items are now within + // the bounds of the scroll view, pool all the previous items and create + // new items for the new list of visible entries + updateAllVisibleItems = true; + + DestroyItemsBetweenIndices( currentTopIndex, currentBottomIndex ); + CreateItemsBetweenIndices( newTopIndex, newBottomIndex ); + } + else + { + // User did not scroll a lot such that, some items are are still within + // the bounds of the scroll view. Don't destroy them but update their content, + // if necessary + if( newTopIndex > currentTopIndex ) + { + DestroyItemsBetweenIndices( currentTopIndex, newTopIndex - 1 ); + } + + if( newBottomIndex < currentBottomIndex ) + { + DestroyItemsBetweenIndices( newBottomIndex + 1, currentBottomIndex ); + } + + if( newTopIndex < currentTopIndex ) + { + CreateItemsBetweenIndices( newTopIndex, currentTopIndex - 1 ); + + // If it is not necessary to update all the items, + // then just update the newly created items. Otherwise, + // wait for the major update + if( !updateAllVisibleItems ) + { + UpdateItemContentsBetweenIndices( newTopIndex, currentTopIndex - 1 ); + } + } + + if( newBottomIndex > currentBottomIndex ) + { + CreateItemsBetweenIndices( currentBottomIndex + 1, newBottomIndex ); + + // If it is not necessary to update all the items, + // then just update the newly created items. Otherwise, + // wait for the major update + if( !updateAllVisibleItems ) + { + UpdateItemContentsBetweenIndices( currentBottomIndex + 1, newBottomIndex ); + } + } + } + + currentTopIndex = newTopIndex; + currentBottomIndex = newBottomIndex; + } + + if( updateAllVisibleItems ) + { + // Update all the items + UpdateItemContentsBetweenIndices( currentTopIndex, currentBottomIndex ); + } + } + else if( currentTopIndex != -1 ) + { + // There is nothing to show but some items are still visible; pool them + DestroyItemsBetweenIndices( currentTopIndex, currentBottomIndex ); + + currentTopIndex = -1; + } + } + + private void CreateItemsBetweenIndices( int topIndex, int bottomIndex ) + { + for( int i = topIndex; i <= bottomIndex; i++ ) + { + CreateItemAtIndex( i ); + } + } + + // Create (or unpool) an item + private void CreateItemAtIndex( int index ) + { + ListItem item; + if( pooledItems.Count > 0 ) + { + item = pooledItems.Pop(); + item.gameObject.SetActive( true ); + } + else + { + item = adapter.CreateItem(); + item.transform.SetParent( contentTransform, false ); + item.SetAdapter( adapter ); + } + + // Reposition the item + ( (RectTransform) item.transform ).anchoredPosition = new Vector2( 1f, -index * itemHeight ); + + // To access this item easily in the future, add it to the dictionary + items[index] = item; + } + + private void DestroyItemsBetweenIndices( int topIndex, int bottomIndex ) + { + for( int i = topIndex; i <= bottomIndex; i++ ) + { + ListItem item = items[i]; + + item.gameObject.SetActive( false ); + pooledItems.Push( item ); + } + } + + private void UpdateItemContentsBetweenIndices( int topIndex, int bottomIndex ) + { + for( int i = topIndex; i <= bottomIndex; i++ ) + { + ListItem item = items[i]; + + item.Position = i; + adapter.SetItemContent( item ); + } + } + +#if UNITY_EDITOR || UNITY_STANDALONE || UNITY_WSA || UNITY_WSA_10_0 + // When free space inside ScrollRect is clicked: + // Left click: deselect selected file(s) + // Right click: show context menu + public void OnPointerClick( PointerEventData eventData ) + { + if( eventData.button == PointerEventData.InputButton.Left ) + fileBrowser.DeselectAllFiles(); + else if( eventData.button == PointerEventData.InputButton.Right ) + fileBrowser.OnContextMenuTriggered( eventData.position ); + } +#endif + } +} \ No newline at end of file diff --git a/Assets/Plugins/SimpleFileBrowser/Scripts/SimpleRecycledListView/RecycledListView.cs.meta b/Assets/Plugins/SimpleFileBrowser/Scripts/SimpleRecycledListView/RecycledListView.cs.meta new file mode 100644 index 0000000..b7978af --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Scripts/SimpleRecycledListView/RecycledListView.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 87ad67b4806678e40a492e337338760b +timeCreated: 1485620000 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/SimpleFileBrowser.Runtime.asmdef b/Assets/Plugins/SimpleFileBrowser/SimpleFileBrowser.Runtime.asmdef new file mode 100644 index 0000000..a13c242 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/SimpleFileBrowser.Runtime.asmdef @@ -0,0 +1,3 @@ +{ + "name": "SimpleFileBrowser.Runtime" +} diff --git a/Assets/Plugins/SimpleFileBrowser/SimpleFileBrowser.Runtime.asmdef.meta b/Assets/Plugins/SimpleFileBrowser/SimpleFileBrowser.Runtime.asmdef.meta new file mode 100644 index 0000000..1985f2d --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/SimpleFileBrowser.Runtime.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c685d05731421f64287ad6d13be5af0e +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites.meta b/Assets/Plugins/SimpleFileBrowser/Sprites.meta new file mode 100644 index 0000000..ae9daae --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Sprites.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 651607359bdd10946a8eafc45e7d1445 +folderAsset: yes +timeCreated: 1479476379 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites/Checkmark.psd b/Assets/Plugins/SimpleFileBrowser/Sprites/Checkmark.psd new file mode 100644 index 0000000000000000000000000000000000000000..80e059e78bee44d8e27b791661feee4793301a83 GIT binary patch literal 26940 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 literal 0 HcmV?d00001 diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites/Checkmark.psd.meta b/Assets/Plugins/SimpleFileBrowser/Sprites/Checkmark.psd.meta new file mode 100644 index 0000000..81db80c --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Sprites/Checkmark.psd.meta @@ -0,0 +1,88 @@ +fileFormatVersion: 2 +guid: 4924b77159e651e4aaa9a22286725d94 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 5 + maxTextureSize: 32 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 16 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 1af538fef568e1745913a8ef8f6ec0bb + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: SimpleFileBrowserUI + pSDRemoveMatte: 1 + pSDShowRemoveMatteOption: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites/DefaultFileIcon.png b/Assets/Plugins/SimpleFileBrowser/Sprites/DefaultFileIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..bffc6cc07ae94a78c22df520cab2137d72f41c6a GIT binary patch literal 826 zcmV-A1I7G_P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGmbN~PnbOGLGA9w%&02y>eSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E-^Ag1Z(U700OE>L_t(YOTCuKsv1EQhRvL{0m&=mLh=F; zT(}7sLXexs@FiS`Z(xvQ<3>Tzg^0Ki2XLbc5uE3F);CC1&Z$^ZT~*!YCL{%)*nQ6V zKdZVI+Wyyi3_J&3JOJ!}0^D4WfLHl^{%bay{hrI^ev5QE{mtj|eSq1QEX87>;I7$h z5`c1At(GZRuhnWa9*>{BUhij^x0K-Vyn{g^hP2ylQ?TA>G*CcevDnGu@qB^|QwbBm zAQ3}4osKD3$6X|oNeahG6N$vZ?RI~J9DFv)VgeW>Vo0~!HHAx3sT3`hN=z1wMt3fk z3!jN1VFDN=a!{|=(}FcFfR}@gMk89SR%s*>**Kj}H{{_Pc3n&WgG3JM_xoC~hLTJs zLxaH}_51xa5D3svC`7~I@De2NA@eCqhs6XiNaUcwV4#K9>-9P$JD9~cDNGp{J z+X)=o2r^#-_=Xw)_AOuz@l(8XeLMZAybL?BTG&_u*wF%(%Ymkjy7DB=>W z0Gfyx&I38C)rukC7e#zGc-&e6Z|1{16j`s=4Dp_s1a_ecpn(a*U>=HWHXDX`PbWf& zsX!ObgOTlaYq%Cg;!a=}ssI|U0x=jvIlJA?aBU{R)Xki#)p zMkf(=p$ed=6=2xma8R(4{E^^zJQ@%sw*>5u7ZizA_~~?_=ku9?->oFT56FCT$z~sR zhr{8v+wJ$jm%rp5voMnjaN$-S`sde*X8=2%f4pqApS^TKeAIwbZU6uP07*qoM6N<$ Ef+-JT-T(jq literal 0 HcmV?d00001 diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites/DefaultFileIcon.png.meta b/Assets/Plugins/SimpleFileBrowser/Sprites/DefaultFileIcon.png.meta new file mode 100644 index 0000000..c74a6f5 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Sprites/DefaultFileIcon.png.meta @@ -0,0 +1,88 @@ +fileFormatVersion: 2 +guid: 372a6728b63455845bdad04ffc8a323b +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 5 + maxTextureSize: 32 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 16 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: c7250c69ea53d7f43a17646d78102cb2 + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: SimpleFileBrowserUI + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites/DriveIcon.png b/Assets/Plugins/SimpleFileBrowser/Sprites/DriveIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..be14678246231a01b6c7f2b4c64d0e2556751a1b GIT binary patch literal 1485 zcmV;;1v2`HP)ViPAG+t zc3sL~^)MVyTtwI0ApPi4Y+}lx;Z>PG|<;0~m%O z#wTJr85@&R@f1~DRh#;_` z1;~Ph1A)Mf($dn0INlzQ$F1#(iVE7h?-la-vMHHPQ&C|d6@`k)Oqs+Iv+Pq-Q*JLX z43Aru9B~;>6v*cPD-M*(c=7$w5br7cf8$tO|A`Af5<^ z!^9ML3MCw_SjYB92Po#ON0!q(=%vD#x^GXm}W) zLKX#!)O+t9qBmbZ$Wfn(iX0ywFJk}?EC{QFRb%q@+S=NO0h7-Vs0IONDi{okt({%E zs=8MG_Uo{!t_lmkKfsO2-HrQz%G539M^xm(m?$j|>%QI|xqr`26^))3Sy^7KGQh5C z(P%V0lY|TrfQ6<(7KcKiH8nLgOF4;|n8T7zr|8bR?uH`k)cI(XydFWp;DSsJKoJhx z$hoM@%PUY*u?ae`cNg{beJ6cBpW=LXI8o8r5{bmA$;ruf`1wLyRFc`S1+X%%Oq_mY zOH0dxNYESxnduDye}LK^dz`9j7SZV0Gn7uo$V3kcE)0Cqo3IM4zl5N?|t+eu<`z7*1 z@v`sxj?)_lUqvT0UBws{rjVdb#f zkf0mUHLr%88fEJ?8U{LX;sgyN>jihl%y)#_``b8q7uF5V>SJ_?A*b`B0JaEWShr-! zl1ES(9w z^uWM?7#ti-4-F0NMuXXp`RHsmoa;ZOGodMk{OxURZJWEhyT1lR2j21bUti8f|8#IG n=T3SS7N5&WuIQKtmXm1g;k8p$00000NkvXXu0mjfNtd~; literal 0 HcmV?d00001 diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites/DriveIcon.png.meta b/Assets/Plugins/SimpleFileBrowser/Sprites/DriveIcon.png.meta new file mode 100644 index 0000000..558570c --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Sprites/DriveIcon.png.meta @@ -0,0 +1,88 @@ +fileFormatVersion: 2 +guid: c3f6bb04213791646b2e4824be1436dc +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 5 + maxTextureSize: 32 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 16 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: e4b7bd1a90b9fee44b37b91fd3a8a9d1 + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: SimpleFileBrowserUI + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites/DropdownArrow.psd b/Assets/Plugins/SimpleFileBrowser/Sprites/DropdownArrow.psd new file mode 100644 index 0000000000000000000000000000000000000000..718b75e8bf39f395314ac922da06534f264dff9e GIT binary patch literal 26204 zcmeHP30zdw{y+E5!Zz%SxQ_^e3(K%G0s;dHDuRHbrs*sf7#U{9SpcovA}cjDGjl7` zOjAp;Vnw3nHhTiSw|xhtlKfiVByxpy`OoO=1*`@i02F5Y|2Z#lnn&i9<(IcLuG z+{BFhLPQ|uVne{EZ)e0}SVdzKGjej-AvER1@GMVS7L4hnJIMp8)naKmrQ=JeQn@lE z=+0+*g7|V-N>FiJZd9&XM3u?2r)a3cDZ`4SQ_7`DvY-K}uF2KH>I!uQr4#e3D-=qt zusS73EK^A+A;d8|GKf#B=*m-q(y@R)DmR}mQfVlDTts}hG)fT5Pe_Uo#Kk8hCG_J* z105Na7#STE9+f1FixEae^Nm+fsw>2jHL?<6LFPbXc0i>BmFaY9VPs@gRaHb)OoU2P z8YxIhN{Wn%j*N~D2aRy;WTj4A9j?^&WQ>^XWKvqGMy}S$RZ2d#E0(DAx|EoT`Rt&mH_xcfy`DrLq_Wd=4m(xPgWp6(pN9Hmw#R!XUy z%v4}R$mKF&f-E*Bk&2RqC&dY3!evRZvT$*9loVnDF;x;97cG;;&>-dJS|@K~I#VUp zCsEk6L>e2O7%xte#7U^6c!|Vh+A4V)(|H;>j4fh? zl@2cbKbu86X4+(xE!RT-n{3rDp?A`wM?A2cCND7$8|F~~ zr=guqD3;;|OqJpePsx%aTX8MLGN&{qlecZaKZi17-zxdz^QbDLl=d8kF-2=V-iTIJ zqN@^XsPt0k6Mx2+8LO?6*_uy|#N(|({%>dqt+?{ZnjtnmJ~l2YNf0hgl*NW8#KtCu zCrYCQ;gS-mI3Yr(B>43{VJ~mPZTsDB%CmnFv$HzwMfXfCD`=kRd`}o*M9dOwIVxM%tWgj0K zsRJ$>K52V6FQ*e4xu*~iC5>VV4z5c{M9F8lb{NF8w50AinXz-1pF8>s^> z8$j%n4!G>&VJ;aM{PlM(Tje1`zwC11|gc*hn34*#KgnvsTXFrAXS5&?nLau7FHc+&g424c$S=*;ntBC} zV`T_&vC&YfgfU~2ZIMddZnlL|1;fwRNYh4R3-skB)u`0PaHcIE_fWaA)C8Xg78F34 zGE_R9szRYsmKu}rOcGoKE55slUm!0nvlh6S1W-1!KK2#XEv5`88$tq+rjYidUbM`^ zm?;DUrX#w)v2N2mcV3Z3tklBELP{x}%=AQmTG9=k?x+ZQyBH~v7W%jt;uOTCXfk7i z9YDBZs#65NL#b+0gFAx{Af^ ziVRO8qp`rIp>BwvDUzm`vN702(Hs^*7_r4=$EC+^=uW3`ra7J92|O~5xxpg-XR(Z1 z6(LKTV12~Gco=iTG~yd?9LG7>Ue-K52=U$OvQ{t&EW;X7>J@nO#UVeaz1aTyMsH#vro* zlAvKKCC1uCr&7bRK}%VWr>+VZc-wG!5_+I+!*_#bFSAvr{Voh=1nUCm&I9V`IODON zG#kcbUiMJAQbj`duYkD}pDr9VdJNy`7<7LZ@H*(|VyRZ0TR0FeJ`kKdjdXXo?zRvN2}CI!amw@hFJ%G(`n4E3=aka^{s<#U)m89rQrZMIx1YGTkQpFllc- zd{!fopG{RMD4i}mAHEhM*2v&n9u;b_66PwV&NvnFX>+`jW-|}FLMuIcQQWqS{N8Z7 z&4_@b7M>-gg{N8#^CQe>tOXXHWGO=1UqC4EyoDG1HY{Un5Zd;QReb_*f3f<^h@6r} zU_i~+A1atNA0M&GF9PRhJ{rruriie*)feg#ws zh1V<;enLLT zx*^usw?IOe+ij@JNchcwP;vJwOuvUX$mwUR2RR=|QY)vY1tcmc;!E|KN=Ai^0}gUU zp2!b%MBPwN6b9>;Xq15ZqcoI-2BSP!tBpoa!|JRIRlrKE3O$Qvpjl`RT7X_h%g{=+ z2CYY%&_`%H`W)>;U!bqhadaA8K(**Hx`FD@1JnfT3n#*z@FhAD-H8yQFA+^75~)NM zF_b7EMiUc=QbI}SiD!xDi8;hVVi~cDSWj#rJ|*@MUlJ#X?}&@UHR3m-kz|oP(vR#) z_97$6L^7QmLKczZ$Wn3=Ifbkt=aEau)#Ur+HgX^N6?vMhC2x@REW~nS1+aRs!dZzd z5i5^1hE>ASu%@zRvlg>fvo^7IvJSJpW!187vVLcC*}iN(JDlC0oy{J>ma-?Yr?Tg= zm$BbtZ(|>1f6Kneu4A`w+&Nu1eK|r-4rdgnlvBl-#aYZ*%h}2~#5v8m%z41&as#-b z+yrhmcQkh*_ZjY7?wj1r+`Zfr+)LbgCnu+lPJNwHobsH+PCBPqPD`EMciQ80(&@6( zLuWVV?#|K91D(e>E1hRLFLvJGyxaMt^A+bN7cZ9(7okg@i_B%R%Y2tLE<0Vmak=c$ zYCzO2b-aOtq-d^5!ynF8M?!Da8+{d`<+~>KkcR%3%qx(Y-Uylfn91oetG>_#T+dNKs z-1cE+_p%S+@X_L}Oo-0M@XvtISyzTN`wJnstcx!xPR zzx2N9~o-s*Iy)6LF)o%?r|cAnk&qt55M zkX`z8Dd_S{mv_1x?NZ;hTh~Ed)m@i%J<#=Lw}5VG-6nQh)NOaSYu$ajr*@ZjU(|h1 z_v?IremY;lU&24guj|pJM|KZ=k5xU6^=JwT4H^+NGiYeaiYQ@AFMxvTuA}dEYntp6JKvm()+$Z*{-3;k@wl@XGLw z;TIzUB8EoHjMyG=J2E(OOysMPha+2};-VB$Yoaa)d<269GX*;ZzeV?nmPRj+J{990 zGcaaa%#N75v3+By*tcTO#rekN#=RJ~Kdw1GAzl-|DgIhQaKeOy6$xh({SxyN=O!LW z;v{7xO-uSb>33ngP$&FIc&C4O|MLDD`d>{BO{S99BwtDiN)e~5N~uldr%p(HJGFK| zj{)KVs|Wm?)-z3(wl?ibdhhg!>F=lC&WOs;WNgi75D7)kiS}l)G6!YO&ODaolQkl1 zS=NsOg9erk+&HjqP~4zr2JOw}WDm)HHT!H%*Boii`kcDK34@;-d~gVFNa2uWLw+9G zXQ*cA&RjBgaPDil-wz8JrX03C59Q_Ly_WYwerW!r{LhAShvyGpKK$1LLBX>HhYNiR z#}{rWd{C58G{5M=h_Dg*5&K7ajvPC3{m6#m%;JT`wWA_OJvZvB(Va%iNADQpG-l+O zwPWg^%6jVcr!J3;8#`<4nQ@`xs>gl#bf>2kPwyJ&>ZYnzoly5x&r;V;5>9%3Qk`aqX04Xcj??bY z`N3l9s6I^pg8pJhXJx}XlU(bx1xp3zF=Zl};S<|&Ap+*$M3&z zVAO$A2ZtX#c4)|s;=tkb!+VaT9Qpi9;g_HOBk>>Gzl#5A+tIkATfdI`dh4xacZcKLDjPrZNITpM4z>tg1`qdyn^eBqMx(v4rVzdX8J^Q-%> zi?4LQvi@rH)z7aDymtKhQ`axwP~T{}IqR19trfS!Zhvwo?atA<6v@9(eAumABu#e=4X*$+EDeDC+f-w!tyH(qI~dgSzINptV!oh?IJzBg1D4D@de zKYBHQ7XuzNjaSf!ybce%p5Pnr3C5oz$50?54Cf5D5Rd-Q*?3Vd(6^BXO(EHI&?gKR zPz~ZaJ3G5L^ITkb-fpgL-u|9Eo~M7HudlzaZ=g4izKj7w*ggq&H#c_=cP|eQFFy|t z4?q0y@MDsA{}}^@y~x`cD!^wEL5TDwSl)!;2l)L@8V(Wzpp+a~n7{=E#up0_B%8x^ za&~cbBW#7R1I985y%51BSR|X|IB}ghEM5!&NS3w#9bJ5flOukne*3uQz_4Iti@}$eR1a32ML3UORHXdW8L<{XRkDPBa(#DvgtB8 zaXE2x5qb!G*ieE=LB5>m8L#@`66`BDQ5O>|xu}`BP*mtI)yCcp;o<@~^@`hn5(@E7 z2U*sLcpde#xd@LhL8zq&hVzKWqVx1d15ka@>&kcE96xOD9^skPFQgytI{Lx8#{}Pf z;MV{8PiJ<&Q9q~q)V{lt7rT7sf91!Y1T72qJRBIjP9E|~{rnrngBy3v-xJ>STen^- zMwUwr=>D72>gE?WmOLYzpLh7!2lGEz%JbxX7_cMn*ByR~49IZ2e#D_>s_}*EKQ&3O zUufBPx^MsH_^xxe{B*>CMCE&KEg!IdYU3@RoVU6*U50dX} z+CHt%w70gbeDL+OS_3*6@pbURLc@1-ukS&3f^qPqdxR%SM>5!um%!#EAC}r>5ZA%2 zrDJMP>+lB}d?bQDJ}jrB;OBTOHq88n55hSS(Yd*(4@8`i6X8Q|bwj5Eekb}B1jLYp z=xmNpB*Kh3B3@Dcrm7`Mn zy^$XF&t&ulT)kZl@mn+Lv*0e&aE-}&^ z+P+kQ?K{IwUzn#YtH62CErn^RUW;1?U%1nI!Oh_Bj6aZyKS^oixG2PvDNT{Qg2L~2 z($BaZPCh!PKV6QJY7KTVoYwZjVB-4V_f>v~L%$!GODjdw`7r(vZD;}BTwETe4KQph zTt@6Et!*&13Hzh=Fv*!o zaG76jS@Fy-w~RcTcV&gP9Mt#1jXe&0kAAlIU~1T&1Y=2$J8gs{()&z8kvGq@2}v{o zcG=R0rL+l2wCvVAw7|D_n~+4Co9>~hTlTjJ>GrNvmEyY8z>P7q^cia`z00Y|nZ{4p zsx(94gO}~@znhZ4K#6=I3Ef;d%1W_94xNvZnf91HK*sE`=O|@VwRwjgV{7y^+*h1z zM*&)H^fN7V1)8?_8U5bm3H*%4L-B9-Gaa3eRvDcSbu^C;kMldGj+OM-0{S!I#y*5s zir5dkJb@otZ2UDpjK*dApZ3EEe%sMrVRvL3f`?AMjgGtbZxe#I-N;7M4%M~^!9!@Up(}96yQl?`8J`9=AOm6t-!@!He+V(Ouf;$zyDZ@|0aYUQx?F{b-Ap>O9&aZ@KKY2Y+2K< zB?J{?E^&2ia|ki+I&|eba)=fG(qsTzj~0Zsgm8q142B~qIN7{MjfRH?;y_YM2rG2n zys(xKBKgQeLxX|1KJNDrqU=tC;Q>w+)*M3iThsEuaNoc=93K)QI(Of2&%nB#BYSY~ zpPGXl_4zMpA9S(ZKbWCl#;d1C(nc6FnR%}PvFQ=D2{@+tuL+U#*oqEfu4yK0W=2`! zQ1>Qgwu3p5b0rfY(|Fqm!!tcQvYKmZm{Ip3%z!XQ{*Fi826*L+=g4My+y#`{*8G1)kpOdavDb{~y3L(s}>@ literal 0 HcmV?d00001 diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites/DropdownArrow.psd.meta b/Assets/Plugins/SimpleFileBrowser/Sprites/DropdownArrow.psd.meta new file mode 100644 index 0000000..4022529 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Sprites/DropdownArrow.psd.meta @@ -0,0 +1,88 @@ +fileFormatVersion: 2 +guid: f73f38102c749484bbd884d4d8d87440 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 5 + maxTextureSize: 32 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 16 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: c8412d2190c07ee4c83f4cda68a6450a + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: SimpleFileBrowserUI + pSDRemoveMatte: 1 + pSDShowRemoveMatteOption: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites/FolderIcon.png b/Assets/Plugins/SimpleFileBrowser/Sprites/FolderIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..2c6d6a8b472d3624fc6d9f6a3342fab1c5fe0d68 GIT binary patch literal 2222 zcmV;f2vPTmP)00001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGmbN~PnbOGLGA9w%&02y>eSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E-^Ag1Z(U700p z|E2z+(>l}Ew4$bBl~UpbHA)Bq1}`y)+(7~FcSXf$lBTYjSZ`6QCURep+p@3=yX-Ez zfR{u?v{OxLTQbpT64|HU_w3nWL9}#geP(`h&Mw2gpMBo8t)S-*b0Y}l|t%f^ixWz(ij zS~hRqEL*m0(Xw^xR>{xL*RpNfHrc*?yX@GpLrXzH!JxBq=T0q7r!z@s^sN&oPV8B; zW{s>}yH@--KhTd;Fh6b}m>(B7XdvQYF_}z>I-_qLKYo1o>eZ`7B@h?bz5moXg$wN5 zK!AY)YJtw^TPIJR%wM%?m8ke(kHQVMdx6t>{MaG6;yEl=+YajavviSrH&3*CZyl-f zetx*x`}x5d?-!<=UOx&SxCH!PK*8^Iy(e-J z%*FWx&;>vjz+3=xAx`9cESV$TTSa>{6qjh$vSrI8CnrbC(xpo!BO^l=FJ3IW-r6oD zrwvl}(H<%Pc#jy*7^I@mAeBW1IZLXF4N_BLklNC{#2|HL2B|MMh}me6hKjw?NZKt2 zfTW0=19J|{IWQe6U^>8b%n@mi(c-;(&9}zbLz4X{1xiaxlLZSFNN&zD>AA9v56tG< zWRVPC&Zm)7q6SJPNxpO>k~hgB24Je%nW}cW(*~vuOdC_>0pp=N9zbp|ZZPiGL|UWy zymaw;y+6}XRaI3B6-Fg9GgB5VS|l@O%#e3>u4OPV=Q0@xOh-C{0BQ%+4yJ7h0n@ga zK>&FGxxu)>xWTkCRjq(p0lC1qz_`FT>5dbS6OaRp<5d#HdMoG_k?&}z+S=OqtgI|i zNli_axpU{r#EBE-)PeO32&fH=2aE@dhwiumxdF9;X$8{?#zl8rfLwr_V4PqaU>tPE z0j5O-ObZx07(3mufw6&Uo=s*+Pv`qp8c3DJVu?~6QtK!wDM_NEqh-vPG15}T)U^U~ z0dj$HfpLOy(j6xt2OtNS7BDSf>~zNt$PUN`#zuFV!8FsIWK!C2{z1&{?$BbY`ojdZ60OamA* z7&Dl9F!glD1jYoWj?UCh7pa*hQazcxEcct!S>xUx>!hF{Zi=C5`VtcpB`z*b!otE> zSMlPtan)G?S-@E6P9va3Kn;Kz0GYv<=}tYMdNB2L#{|d(s18sqkZJ%`ks_5-L@FXg zjNv5gfqd)SbXn*4s->kRL~RFZUy6;5l?f9j$m$%Xt%2^C0hs}r!PJAP2VgY}_pc)`&=|Tm7@|Q(Q8LVXDpmVQn--kNKS1y<97ung_+SJXOHA_N5Lga&jr3?(l zM0e@{)d8vnQwyes?oeJtrIc|~sBx)q{xd}XuQUdYYOmH7C0 znLK&2j2t;quAj{Z0jLsCIqT#M9r+6%a^km-JzrO6-tFw{d`jo|ihb%Q>Sh}g6QeEi z(W6JpJ@ZDUhJ|~Qu6+2?|DK}{&sU}mO**Bw*wKHa?)*_vQ8Iq~cx|8R`H21G(AX!E z?xy{_bxLpX!2g^=sr#K;*n-@bGYLkr(H4+5hR+Pb9a`q<_Yf z!4RF&Tf>G88_E;p9ks|uj2I#3_i@#|GwO+?yL3a5&gfH0`4n5izs8Llr*-O!gIsmH zekJl&|NN5o{o(av$j$nrD}0Q;rBF|^dEQiyD-jWYkZ<;Ii`dOSsl2Vix9Xn(zO}sT z&x^hJ<3sY^i_)_9JQyxj;aM!3V-`=ZS)6C4r>AG|6q~`XqI8ZN z(o)%WQkE=PlEUM5GLJ|cl47S$ojP2Ntur1hHqGyahK4@Fw(vZ_AE>ta!#_UvutY{i wK0BE3InSu5F;r&Hp8b7}-_?f?sGy*K18Epv-MaI_O8@`>07*qoM6N<$g3{JA$p8QV literal 0 HcmV?d00001 diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites/FolderIcon.png.meta b/Assets/Plugins/SimpleFileBrowser/Sprites/FolderIcon.png.meta new file mode 100644 index 0000000..7c98350 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Sprites/FolderIcon.png.meta @@ -0,0 +1,88 @@ +fileFormatVersion: 2 +guid: 05e18bb0a86cfdb4dbf887d382b69249 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 5 + maxTextureSize: 32 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 16 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5fd2276947c568c49b04af5946b87ac7 + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: SimpleFileBrowserUI + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites/ForwardArrow.psd b/Assets/Plugins/SimpleFileBrowser/Sprites/ForwardArrow.psd new file mode 100644 index 0000000000000000000000000000000000000000..bbda9a1e0c41a5d2f36aecac709a4fc4a243a952 GIT binary patch literal 30812 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 W^Lx(bJ)IYy-@ykung7Ol?*9Nuxr~nh literal 0 HcmV?d00001 diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites/MultiSelectionToggleOff.psd.meta b/Assets/Plugins/SimpleFileBrowser/Sprites/MultiSelectionToggleOff.psd.meta new file mode 100644 index 0000000..48560a1 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Sprites/MultiSelectionToggleOff.psd.meta @@ -0,0 +1,88 @@ +fileFormatVersion: 2 +guid: d6beaeac8de2af749a48581db778df3e +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 5 + maxTextureSize: 32 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 16 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: c8323e6529296fd40aa78542eea5b3e5 + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: SimpleFileBrowserUI + pSDRemoveMatte: 1 + pSDShowRemoveMatteOption: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites/MultiSelectionToggleOn.psd b/Assets/Plugins/SimpleFileBrowser/Sprites/MultiSelectionToggleOn.psd new file mode 100644 index 0000000000000000000000000000000000000000..6cfc7652ca02a0f30768fec0a798b7c023d3493f GIT binary patch literal 34440 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 Kko^?V$5IdR-tj=0o$~o_q5?Ve-8=iy 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 F{ue(WdPD#K literal 0 HcmV?d00001 diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserDrag.psd.meta b/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserDrag.psd.meta new file mode 100644 index 0000000..7e5472a --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserDrag.psd.meta @@ -0,0 +1,88 @@ +fileFormatVersion: 2 +guid: 285f1e681b119ce48ae469448241360b +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 5 + maxTextureSize: 32 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 16 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: f6aec9fec26526942bc354002412dfab + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: SimpleFileBrowserUI + pSDRemoveMatte: 1 + pSDShowRemoveMatteOption: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserMoreOptions.psd b/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserMoreOptions.psd new file mode 100644 index 0000000000000000000000000000000000000000..04f17ff9efb6bb537620d3ce427602902e29dd3b GIT binary patch literal 47652 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 EUq9w+WdHyG literal 0 HcmV?d00001 diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground1.psd.meta b/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground1.psd.meta new file mode 100644 index 0000000..a46fb92 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground1.psd.meta @@ -0,0 +1,88 @@ +fileFormatVersion: 2 +guid: f668f62689b67d242ad33ff665594344 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 5 + maxTextureSize: 32 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 16 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 5, y: 5, z: 5, w: 5} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: a40ae7346cf354c448dfc14cf463625b + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: SimpleFileBrowserUI + pSDRemoveMatte: 1 + pSDShowRemoveMatteOption: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground2.psd b/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground2.psd new file mode 100644 index 0000000000000000000000000000000000000000..eafc1336896d2260ec5924177f1490fc3ffa487a GIT binary patch literal 22308 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 OhsJ-Z_l@O$U;A&r3I$LA literal 0 HcmV?d00001 diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground2.psd.meta b/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground2.psd.meta new file mode 100644 index 0000000..2a3d8ba --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground2.psd.meta @@ -0,0 +1,88 @@ +fileFormatVersion: 2 +guid: 6ff773ea42aedd04c8bb96a1fe9a73b8 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 5 + maxTextureSize: 32 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 16 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 5, y: 5, z: 5, w: 5} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 0e5eec94d0beb9041a3b149efcc6c37f + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: SimpleFileBrowserUI + pSDRemoveMatte: 1 + pSDShowRemoveMatteOption: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground3.psd b/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground3.psd new file mode 100644 index 0000000000000000000000000000000000000000..f6a9fcf2b1ebb21f478abc7c4dbd0bd6b2819bc6 GIT binary patch literal 25310 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 WU<*SnI@i@xgiy~@c-W-A82>-W@&29w literal 0 HcmV?d00001 diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground5.psd.meta b/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground5.psd.meta new file mode 100644 index 0000000..eb61332 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground5.psd.meta @@ -0,0 +1,88 @@ +fileFormatVersion: 2 +guid: 2c46fa192de46b04e8281f225bee0230 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 5 + maxTextureSize: 32 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 16 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 5, y: 5, z: 5, w: 6} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: ce072ea8dc329d3449649d31490f2a85 + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: SimpleFileBrowserUI + pSDRemoveMatte: 1 + pSDShowRemoveMatteOption: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites/TextFileIcon.png b/Assets/Plugins/SimpleFileBrowser/Sprites/TextFileIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..8fdcabd009ae2b32978cf53706edf4a07b24a691 GIT binary patch literal 1301 zcmV+w1?u{VP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGmbN~PnbOGLGA9w%&02y>eSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E-^Ag1Z(U700f0eL_t(oN9~qLODtCyh7HNhKTr{LVI*KM z3n69~aFrMny#&5a$60oDk=E9?|PO&r{h>TtcOuLmw&o zR;AjkQ}EK=b*j$$)c1bpRJ;6tI3871RYg5LJvV)QeagVVfYRUJuk`lzD%v@vySrQI z?Cez9+uN14wl<}urA29MY*gy&>y_HtTBW+WTB)q8R4OVel(MoirL?qEDK0Kn3JVLB z{QUgun3$Nq>^9~{M@Prq+1Z(TczCGp@9(Rpr>E-C(UH*c@v+d!$%znS`tN39{Nmz5 zO-V`lWVbOty1Ke-m~C%ws~Z~|>cPQ*y1Tn8w70h>1eg@#dI2t_KW_*4+iqiiXce&W zlmKjQZiBvIzB$GPE1U^(&Xf%sivl; zULYno9ssatXjwudS`AgM))YLqkKKX?S?pP_jn=NKQ_+254<p2vHfS_4W17B%AQ+>Pk&YO0ouMZf>@*3IM>Ao5>IefH>#alt}i6qnHa_ zUtc>1(A3l<0Js?w0EmHxl(|YxPfrWY%*>eT{QO)1+}zx#iHV8U01XWdHg2N408m0= zU`gt;9T^!h)#&Kx%O~BB07ytkum-5Bs}le#D=VV3&;vk4WUjzSQ5i(T8j0ou;P&=b zjgODF2B@j25dh>a0f<3DpttM+G#>&WE-ua*KzkPm0B**N?*Pzz`fO)sXJ0foH}|6X z`T19(`2bK9MU9P(wFb~$Ca(Y}AALYM^%;+ijR~aCY0Dri~|rI9c>LzUS4hpKo#_PGfp&A3lmB#g&C5+8MoPNYE)E| zH9$#8iH*+107C#U;gj>^NlAGs`Q&<2BQXv@WMrf@fc6JMRDg|!9>5d;%I%oD)eDI^ zFb3lO{@yu&qM{-JfH|d>>zIm=yM8;?Z^6XnxI7U6$Z3Frf&u{`w_ph%8?75acd3t(MpP!$F_znQ(P6K3T zXBz^LwOso~`EwoF8v(qj0v|qnFa*$>$Q_R5B|97g%rKRbPyZ%>tgI}VlQo3v}5wfmkB_b~@^rKYAngoTAQ+HK5_h=_=H!NI| Date: Fri, 13 Aug 2021 17:29:05 +0900 Subject: [PATCH 2/2] Let user load initial layout from CSV file --- Assets/Scenes/SampleScene.unity | 268 ++++++++++++++++++++++++++++++++ Assets/Scripts/UserInterface.cs | 77 +++++++++ README.md | 1 + 3 files changed, 346 insertions(+) diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index 7316d19..bcf196e 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -1135,6 +1135,138 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!1 &1071792875 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1071792876} + - component: {fileID: 1071792879} + - component: {fileID: 1071792878} + - component: {fileID: 1071792877} + m_Layer: 5 + m_Name: Load CSV Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1071792876 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1071792875} + 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_Children: + - {fileID: 2134749063} + m_Father: {fileID: 1329742407} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -390} + m_SizeDelta: {x: -40, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1071792877 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1071792875} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: 1071792878} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1466570139} + m_TargetAssemblyTypeName: UserInterface, Assembly-CSharp + m_MethodName: OnLoadCsvButtonPressed + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1071792878 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1071792875} + 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 &1071792879 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1071792875} + m_CullTransparentMesh: 0 --- !u!1 &1329742406 GameObject: m_ObjectHideFlags: 0 @@ -1169,6 +1301,7 @@ RectTransform: - {fileID: 1628491304} - {fileID: 1340236096} - {fileID: 1661888183} + - {fileID: 1071792876} m_Father: {fileID: 214769315} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -1390,6 +1523,7 @@ MonoBehaviour: m_solveButton: {fileID: 1628491305} m_playbackButton: {fileID: 1340236097} m_editCurrentButton: {fileID: 1661888184} + m_loadCsvFileButton: {fileID: 1071792877} --- !u!114 &1466570140 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1915,3 +2049,137 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2134749062 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2134749063} + - component: {fileID: 2134749065} + - component: {fileID: 2134749064} + m_Layer: 5 + m_Name: Button Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2134749063 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2134749062} + 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_Children: [] + m_Father: {fileID: 1071792876} + 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 &2134749064 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2134749062} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: Load CSV + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 26.85 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 1 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 1 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &2134749065 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2134749062} + m_CullTransparentMesh: 0 diff --git a/Assets/Scripts/UserInterface.cs b/Assets/Scripts/UserInterface.cs index 8e5f7b7..989bb00 100644 --- a/Assets/Scripts/UserInterface.cs +++ b/Assets/Scripts/UserInterface.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; +using SimpleFileBrowser; public class UserInterface : MonoBehaviour { @@ -24,6 +25,7 @@ private enum EditorMode { Edit, Solve, Playback }; [SerializeField] private Button m_solveButton; [SerializeField] private Button m_playbackButton; [SerializeField] private Button m_editCurrentButton; + [SerializeField] private Button m_loadCsvFileButton; private Solver m_solver; private Scorer m_scorer; @@ -336,6 +338,7 @@ private void SwitchMode( EditorMode _newMode ) UpdateProgressText(); m_editButton.interactable = false; m_editCurrentButton.interactable = false; + m_loadCsvFileButton.interactable = true; break; } case EditorMode.Solve: @@ -352,6 +355,7 @@ private void SwitchMode( EditorMode _newMode ) } m_editCurrentButton.interactable = false; m_solveButton.interactable = false; + m_loadCsvFileButton.interactable = false; break; } case EditorMode.Playback: @@ -360,6 +364,7 @@ private void SwitchMode( EditorMode _newMode ) UpdatePlaybackText(); UpdateMapVisuals( m_playbackLayouts[ m_playbackIndex ], false ); m_playbackButton.interactable = false; + m_loadCsvFileButton.interactable = false; break; } } @@ -439,6 +444,78 @@ public void OnEditCurrentButtonPressed() SwitchMode( EditorMode.Edit ); } // OnEditCurrentButtonPressed + public void OnLoadCsvButtonPressed() + { + FileBrowser.SetFilters(true, new FileBrowser.Filter("CSV", ".csv")); + FileBrowser.SetDefaultFilter(".csv"); + FileBrowser.ShowLoadDialog(OnCsvFileSelected, null, + pickMode: FileBrowser.PickMode.Files, + title: "Select CSV file with THM board", + initialPath: System.IO.Directory.GetCurrentDirectory()); + } + + private void OnCsvFileSelected(string[] filePaths) + { + if (filePaths.Length != 1) + { + Debug.LogWarning("Unexpected number of files != 1"); + return; + } + + int[,] board; + try + { + string[] csvLines = System.IO.File.ReadAllLines(filePaths[0]); + board = ReadCsv(csvLines); + } + catch (System.Exception e) + { + Debug.LogError(e.Message); + return; + } + + for (int x = 0; x < board.GetLength(0); x++) + { + for (int y = 0; y < board.GetLength(1); y++) + { + m_editLayout.SetColour(x, y, board[x, y]); + UpdateTileVisuals(x, y, board[x, y], false); + } + } + + m_layoutChanged = true; // forces the solver to restart when entering solve mode + } + + private int[,] ReadCsv(string[] csvLines) + { + int[,] board = new int[22, 11]; + if (csvLines.Length < 11) + throw new System.Exception("CSV file has less than 11 lines"); + + int y = 0; + foreach (string line in csvLines) + { + string[] columns = line.Split(','); + if (columns.Length < 22) + throw new System.Exception("CSV line has less than 22 numbers"); + + int x = 0; + foreach (string column in columns) + { + if (x >= 22 || y >= 11) + continue; + + board[x, y] = int.Parse(column); + if (board[x, y] > 4) + throw new System.Exception("Unexpeced value in CSV: " + board[x, y]); + x++; + } + y++; + } + + return board; + } + private void UpdateProgressText() { m_progressText.text = $"Attempts: {m_solver.NumIterations}\nEmpty spaces: {m_solver.BestEmptySpaces}/{Constants.EditableWidth*Constants.EditableHeight}\nScore: {Mathf.FloorToInt(m_solver.BestScore)}/{Mathf.FloorToInt(m_scorer.MaxGameScore)}"; diff --git a/README.md b/README.md index c5a0370..5c3c288 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,7 @@ It has three main modes: The basic sequence of steps I used for the trophy was something like this: 1) Start THM up, take a photo/screenshot of the board, and then minimise/pause DRV3 so the in-game timer isn't running. 2) Copy the initial layout into the tool using 'Edit' mode. (Note: The tool starts in Edit mode when you first open it.) +Optionally, you can load a CSV file that already represents the initial layout. You can generate one automatically with [artur-ag/TreasureHuntParser](https://github.com/artur-ag/TreasureHuntParser). 3) Run the tool's 'Solve' mode for a while. This will attempt to find a solution that clears as many spaces as possible, but at this point it doesn't know where the hidden treasure is, so whatever it comes up with probably isn't going to be good enough. 4) Switch the tool into 'Playback' mode, unpause DRV3, and start performing in-game the solution the tool has generated until you discover a treasure. Once you do, pause the game again. 5) Switch the tool back into 'Edit Current' mode and add the location of that treasure.