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 0000000..2cfb6ed Binary files /dev/null and b/Assets/Plugins/SimpleFileBrowser/Android/SimpleFileBrowser.aar differ diff --git a/Assets/Plugins/SimpleFileBrowser/Android/SimpleFileBrowser.aar.meta b/Assets/Plugins/SimpleFileBrowser/Android/SimpleFileBrowser.aar.meta new file mode 100644 index 0000000..316cb7e --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Android/SimpleFileBrowser.aar.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: cae0a78f915b13748ba09fd56bafb4c8 +timeCreated: 1606638456 +licenseType: Store +PluginImporter: + serializedVersion: 2 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + isOverridable: 0 + platformData: + data: + first: + Android: Android + second: + enabled: 1 + settings: {} + data: + first: + Any: + second: + enabled: 0 + settings: {} + data: + first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Prefabs.meta b/Assets/Plugins/SimpleFileBrowser/Prefabs.meta new file mode 100644 index 0000000..cf7a533 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Prefabs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 53eaeb5abaee5aa4ca7f07beacb73c2e +folderAsset: yes +timeCreated: 1479489583 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Prefabs/SimpleFileBrowserItem.prefab b/Assets/Plugins/SimpleFileBrowser/Prefabs/SimpleFileBrowserItem.prefab new file mode 100644 index 0000000..15c3547 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Prefabs/SimpleFileBrowserItem.prefab @@ -0,0 +1,310 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 1000011646011302} + m_IsPrefabParent: 1 +--- !u!1 &1000010981689570 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224000013702633820} + - component: {fileID: 222000010857273394} + - component: {fileID: 114000013995033306} + m_Layer: 5 + m_Name: Name + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000011646011302 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224000013952242090} + - component: {fileID: 222000013410998874} + - component: {fileID: 114000012602770182} + - component: {fileID: 114000012265032802} + m_Layer: 5 + m_Name: SimpleFileBrowserItem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000013967986654 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224000012393993334} + - component: {fileID: 222000012809932278} + - component: {fileID: 114000013208375990} + m_Layer: 5 + m_Name: MultiSelectionToggle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!1 &1268973638054374 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224447975432582502} + - component: {fileID: 222113778025760416} + - component: {fileID: 114807149938652920} + m_Layer: 5 + m_Name: Icon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &114000012265032802 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011646011302} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b5f1b2825c50f7b4d9be146ab2137bff, type: 3} + m_Name: + m_EditorClassIdentifier: + background: {fileID: 114000012602770182} + icon: {fileID: 114807149938652920} + multiSelectionToggle: {fileID: 114000013208375990} + nameText: {fileID: 114000013995033306} +--- !u!114 &114000012602770182 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011646011302} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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 +--- !u!114 &114000013208375990 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013967986654} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: d6beaeac8de2af749a48581db778df3e, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114000013995033306 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010981689570} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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: 0 + m_LineSpacing: 1 + m_Text: Filename +--- !u!114 &114807149938652920 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1268973638054374} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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 +--- !u!222 &222000010857273394 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010981689570} +--- !u!222 &222000012809932278 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013967986654} +--- !u!222 &222000013410998874 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011646011302} +--- !u!222 &222113778025760416 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1268973638054374} +--- !u!224 &224000012393993334 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013967986654} + 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: 224000013952242090} + 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: 18.99997, y: 0} + m_SizeDelta: {x: 30, y: -6} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224000013702633820 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010981689570} + 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: 224000013952242090} + 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: 19, y: 0} + m_SizeDelta: {x: -38, y: -4} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224000013952242090 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011646011302} + 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: 224000012393993334} + - {fileID: 224447975432582502} + - {fileID: 224000013702633820} + m_Father: {fileID: 0} + 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, y: 1} +--- !u!224 &224447975432582502 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1268973638054374} + 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: 224000013952242090} + 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: 19, y: 0} + m_SizeDelta: {x: 30, y: -6} + m_Pivot: {x: 0.5, y: 0.5} diff --git a/Assets/Plugins/SimpleFileBrowser/Prefabs/SimpleFileBrowserItem.prefab.meta b/Assets/Plugins/SimpleFileBrowser/Prefabs/SimpleFileBrowserItem.prefab.meta new file mode 100644 index 0000000..6690fc4 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Prefabs/SimpleFileBrowserItem.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c2db22c1e3cd2584fa0e9168745a4536 +timeCreated: 1479415743 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Prefabs/SimpleFileBrowserQuickLink.prefab b/Assets/Plugins/SimpleFileBrowser/Prefabs/SimpleFileBrowserQuickLink.prefab new file mode 100644 index 0000000..cbd40bb --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Prefabs/SimpleFileBrowserQuickLink.prefab @@ -0,0 +1,241 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 1000011646011302} + m_IsPrefabParent: 1 +--- !u!1 &1000010981689570 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224000013702633820} + - component: {fileID: 222000010857273394} + - component: {fileID: 114000013995033306} + m_Layer: 5 + m_Name: Name + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000011646011302 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224000013952242090} + - component: {fileID: 222000013410998874} + - component: {fileID: 114000012602770182} + - component: {fileID: 114000012163346592} + m_Layer: 5 + m_Name: SimpleFileBrowserQuickLink + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000013967986654 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224000012393993334} + - component: {fileID: 222000012809932278} + - component: {fileID: 114000013208375990} + m_Layer: 5 + m_Name: Icon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &114000012163346592 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011646011302} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1f277f5418eabf94cad94208055878af, type: 3} + m_Name: + m_EditorClassIdentifier: + background: {fileID: 114000012602770182} + icon: {fileID: 114000013208375990} + multiSelectionToggle: {fileID: 0} + nameText: {fileID: 114000013995033306} +--- !u!114 &114000012602770182 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011646011302} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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 +--- !u!114 &114000013208375990 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013967986654} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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 +--- !u!114 &114000013995033306 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010981689570} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + 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: 0 + m_LineSpacing: 1 + m_Text: Filename +--- !u!222 &222000010857273394 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010981689570} +--- !u!222 &222000012809932278 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013967986654} +--- !u!222 &222000013410998874 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011646011302} +--- !u!224 &224000012393993334 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013967986654} + 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: 224000013952242090} + 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!224 &224000013702633820 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010981689570} + 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: 224000013952242090} + 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: -4} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224000013952242090 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011646011302} + 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: 224000012393993334} + - {fileID: 224000013702633820} + m_Father: {fileID: 0} + 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, y: 1} diff --git a/Assets/Plugins/SimpleFileBrowser/Prefabs/SimpleFileBrowserQuickLink.prefab.meta b/Assets/Plugins/SimpleFileBrowser/Prefabs/SimpleFileBrowserQuickLink.prefab.meta new file mode 100644 index 0000000..332317c --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Prefabs/SimpleFileBrowserQuickLink.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 419c1f8581236d6469bd13ae862bfb50 +timeCreated: 1479415743 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/README.txt b/Assets/Plugins/SimpleFileBrowser/README.txt new file mode 100644 index 0000000..cb40ca4 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/README.txt @@ -0,0 +1,103 @@ += Simple File Browser = + +Online documentation & example code available at: https://github.com/yasirkula/UnitySimpleFileBrowser +E-mail: yasirkula@gmail.com + +### ABOUT +This plugin helps you show save/load dialogs during gameplay with its uGUI based file browser. + + +### HOW TO +The file browser can be shown either as a save dialog or a load dialog. In load mode, the returned path(s) always lead to existing files or folders. In save mode, the returned path(s) can point to non-existing files, as well. + + +### NEW INPUT SYSTEM SUPPORT +This plugin supports Unity's new Input System but it requires some manual modifications (if both the legacy and the new input systems are active at the same time, no changes are needed): + +- the plugin mustn't be installed as a package, i.e. it must reside inside the Assets folder and not the Packages folder (it can reside inside a subfolder of Assets like Assets/Plugins) +- if Unity 2019.2.5 or earlier is used, add ENABLE_INPUT_SYSTEM compiler directive to "Player Settings/Scripting Define Symbols" (these symbols are platform specific, so if you change the active platform later, you'll have to add the compiler directive again) +- add "Unity.InputSystem" assembly to "SimpleFileBrowser.Runtime" Assembly Definition File's "Assembly Definition References" list +- open SimpleFileBrowserCanvas prefab, select EventSystem child object and replace StandaloneInputModule component with InputSystemUIInputModule component (or, if your scene(s) already have EventSystem objects, you can delete SimpleFileBrowserCanvas prefab's EventSystem child object) + + +### FAQ +- Android build fails, it says "error: attribute android:requestLegacyExternalStorage not found" in Console +"android:requestLegacyExternalStorage" attribute in AndroidManifest.xml grants full access to device's storage on Android 10 but requires you to update your Android SDK to at least SDK 29. If this isn't possible for you, you should open SimpleFileBrowser.aar with WinRAR or 7-Zip and then remove the "" 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 0000000..80e059e Binary files /dev/null and b/Assets/Plugins/SimpleFileBrowser/Sprites/Checkmark.psd differ 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 0000000..bffc6cc Binary files /dev/null and b/Assets/Plugins/SimpleFileBrowser/Sprites/DefaultFileIcon.png differ 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 0000000..be14678 Binary files /dev/null and b/Assets/Plugins/SimpleFileBrowser/Sprites/DriveIcon.png differ 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 0000000..718b75e Binary files /dev/null and b/Assets/Plugins/SimpleFileBrowser/Sprites/DropdownArrow.psd differ 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 0000000..2c6d6a8 Binary files /dev/null and b/Assets/Plugins/SimpleFileBrowser/Sprites/FolderIcon.png differ 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 0000000..bbda9a1 Binary files /dev/null and b/Assets/Plugins/SimpleFileBrowser/Sprites/ForwardArrow.psd differ diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites/ForwardArrow.psd.meta b/Assets/Plugins/SimpleFileBrowser/Sprites/ForwardArrow.psd.meta new file mode 100644 index 0000000..856a749 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Sprites/ForwardArrow.psd.meta @@ -0,0 +1,88 @@ +fileFormatVersion: 2 +guid: 130f660889a70c947bff4c8ba8a2c73e +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: 23b4c83332278254a84246349aee8409 + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: SimpleFileBrowserUI + pSDRemoveMatte: 1 + pSDShowRemoveMatteOption: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites/ImageFileIcon.png b/Assets/Plugins/SimpleFileBrowser/Sprites/ImageFileIcon.png new file mode 100644 index 0000000..c4253a8 Binary files /dev/null and b/Assets/Plugins/SimpleFileBrowser/Sprites/ImageFileIcon.png differ diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites/ImageFileIcon.png.meta b/Assets/Plugins/SimpleFileBrowser/Sprites/ImageFileIcon.png.meta new file mode 100644 index 0000000..595efb6 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Sprites/ImageFileIcon.png.meta @@ -0,0 +1,88 @@ +fileFormatVersion: 2 +guid: d95a00b6cdb17884682cd580102f14e0 +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: b383023e6b0cf6b4fb0310fa9dbe8bf2 + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: SimpleFileBrowserUI + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites/MultiSelectionToggleOff.psd b/Assets/Plugins/SimpleFileBrowser/Sprites/MultiSelectionToggleOff.psd new file mode 100644 index 0000000..00d9023 Binary files /dev/null and b/Assets/Plugins/SimpleFileBrowser/Sprites/MultiSelectionToggleOff.psd differ 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 0000000..6cfc765 Binary files /dev/null and b/Assets/Plugins/SimpleFileBrowser/Sprites/MultiSelectionToggleOn.psd differ diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites/MultiSelectionToggleOn.psd.meta b/Assets/Plugins/SimpleFileBrowser/Sprites/MultiSelectionToggleOn.psd.meta new file mode 100644 index 0000000..fcf3207 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Sprites/MultiSelectionToggleOn.psd.meta @@ -0,0 +1,88 @@ +fileFormatVersion: 2 +guid: 30a2566f94f937b4998542121050e68b +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: 15e9167c14d524b43aaf98771b9ac6a4 + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: SimpleFileBrowserUI + pSDRemoveMatte: 1 + pSDShowRemoveMatteOption: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites/ResizeCursor.psd b/Assets/Plugins/SimpleFileBrowser/Sprites/ResizeCursor.psd new file mode 100644 index 0000000..617de5f Binary files /dev/null and b/Assets/Plugins/SimpleFileBrowser/Sprites/ResizeCursor.psd differ diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites/ResizeCursor.psd.meta b/Assets/Plugins/SimpleFileBrowser/Sprites/ResizeCursor.psd.meta new file mode 100644 index 0000000..60c6277 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Sprites/ResizeCursor.psd.meta @@ -0,0 +1,92 @@ +fileFormatVersion: 2 +guid: f54814069fd98ae45be23283803a557c +timeCreated: 1550692045 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 7 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Standalone + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Android + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: WebGL + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserDrag.psd b/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserDrag.psd new file mode 100644 index 0000000..acf444d Binary files /dev/null and b/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserDrag.psd differ 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 0000000..04f17ff Binary files /dev/null and b/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserMoreOptions.psd differ diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserMoreOptions.psd.meta b/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserMoreOptions.psd.meta new file mode 100644 index 0000000..0b2538b --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserMoreOptions.psd.meta @@ -0,0 +1,88 @@ +fileFormatVersion: 2 +guid: 3eb0ab0fddc930a498bef8ce7e149ea0 +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: 91329b50c26aea6489c8fa7b7ac7336b + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: SimpleFileBrowserUI + pSDRemoveMatte: 1 + pSDShowRemoveMatteOption: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground1.psd b/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground1.psd new file mode 100644 index 0000000..1b8f183 Binary files /dev/null and b/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground1.psd differ 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 0000000..eafc133 Binary files /dev/null and b/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground2.psd differ 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 0000000..f6a9fcf Binary files /dev/null and b/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground3.psd differ diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground3.psd.meta b/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground3.psd.meta new file mode 100644 index 0000000..4129410 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground3.psd.meta @@ -0,0 +1,88 @@ +fileFormatVersion: 2 +guid: b9c5fedc997f125448c4d8be2fc43bcd +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: 56a053be97eeb4b4e81bc773f529c0ed + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: SimpleFileBrowserUI + pSDRemoveMatte: 1 + pSDShowRemoveMatteOption: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground4.psd b/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground4.psd new file mode 100644 index 0000000..735087c Binary files /dev/null and b/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground4.psd differ diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground4.psd.meta b/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground4.psd.meta new file mode 100644 index 0000000..70e6879 --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground4.psd.meta @@ -0,0 +1,88 @@ +fileFormatVersion: 2 +guid: 90bee1ddeeef38a4f860f96b5510c136 +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: 7663d02fe1545c54ca9ae5bd6d9341ca + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: SimpleFileBrowserUI + pSDRemoveMatte: 1 + pSDShowRemoveMatteOption: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground5.psd b/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground5.psd new file mode 100644 index 0000000..b365b8f Binary files /dev/null and b/Assets/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground5.psd differ 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 0000000..8fdcabd Binary files /dev/null and b/Assets/Plugins/SimpleFileBrowser/Sprites/TextFileIcon.png differ diff --git a/Assets/Plugins/SimpleFileBrowser/Sprites/TextFileIcon.png.meta b/Assets/Plugins/SimpleFileBrowser/Sprites/TextFileIcon.png.meta new file mode 100644 index 0000000..6f0243c --- /dev/null +++ b/Assets/Plugins/SimpleFileBrowser/Sprites/TextFileIcon.png.meta @@ -0,0 +1,88 @@ +fileFormatVersion: 2 +guid: d9b30118e14d81742a606dac7cc44d7e +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: d7a54d09cb030304190d7aefc24d92e1 + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: SimpleFileBrowserUI + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: 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.