From 97423583de9bd7d374d15fd32ac9537b91f93b7d Mon Sep 17 00:00:00 2001 From: Andy Baker Date: Thu, 2 May 2024 09:11:36 +0100 Subject: [PATCH] Folder navigation UI (#689) * Rough first pass at folder navigation UI for Reference Panel * More UI * Button icon size * Tooltips * Close popup after choosing a directory * Tweak UI element positioning * Fixes for background and reference image differences * Only display supported formats * Refresh page when reloading models * Minor cleanup * Disable buttons instead of hiding them * 3-Sliced button mesh so we don't have to stretch * The base implementation was causing an NRE * Hide descriptions when buttons are disabled * Prefab for 3-sliced button * Refactor popup to use PagingPopUpWindow. Implement 3-sliced buttons * Move "no files" panel so it doesn't obstruct folder nav. Change wording. * Revert wording change. We'll only show this for truly empty folders * Bug fixes and refactor * Treat directory changes the same as page changes for model tab * Refactor that breaks stuff (WIP) * Fixes (seems to work at least for monoscopic) * Minor refactor * Correctly de-init xr subsystems * Update Rider plugin * I think the model preview logic is working properly now. * ItemCount should be for the current directory * Info text, UI tweaks * Add missing popup to list on mobile prefab variant * Fix Advanced Tools panel initial position * Change how images are stored and looked up in save files (use relative path) * A bit more consistency with other media formats * Fix for model loading from subdirectories * dotnet format --- Assets/Models/NewSketchButton Sliced.fbx | Bin 0 -> 36060 bytes Assets/Models/NewSketchButton Sliced.fbx.meta | 142 ++ .../ReferencePanel/ReferencePanel.prefab | 1746 ++++++++++++++--- .../ReferencePanel_Mobile.prefab | 11 +- .../ReferencePanel_NoDataPopup.prefab | 6 +- .../Panels/Widgets/TextActionButton.prefab | 30 +- .../Panels/Widgets/TextOptionButton.prefab | 616 ++++++ .../Widgets/TextOptionButton.prefab.meta | 7 + .../PopupButton_DirectoryChooser.prefab | 543 +++++ .../PopupButton_DirectoryChooser.prefab.meta | 7 + .../PopupWindow_DirectoryChooser.prefab | 822 ++++++++ .../PopupWindow_DirectoryChooser.prefab.meta | 7 + Assets/Prefabs/Sliced Button.prefab | 537 +++++ Assets/Prefabs/Sliced Button.prefab.meta | 7 + Assets/Scripts/BackgroundImageCatalog.cs | 34 +- Assets/Scripts/GUI/DirectoryChooserButton.cs | 50 + .../GUI/DirectoryChooserButton.cs.meta | 3 + Assets/Scripts/GUI/PagingPopUpWindow.cs | 32 +- .../GUI/PopUpWindow_DirectoryChooser.cs | 50 + .../GUI/PopUpWindow_DirectoryChooser.cs.meta | 3 + Assets/Scripts/GUI/ReferencePanel.cs | 106 +- Assets/Scripts/GUI/TextActionButton.cs | 20 +- Assets/Scripts/GUI/TextOptionButton.cs | 44 + Assets/Scripts/GUI/TextOptionButton.cs.meta | 3 + Assets/Scripts/IReferenceItemCatalog.cs | 5 + Assets/Scripts/ModelCatalog.cs | 131 +- Assets/Scripts/ReferenceImage.cs | 4 + Assets/Scripts/ReferenceImageCatalog.cs | 59 +- Assets/Scripts/ReferencePanelModelTab.cs | 9 +- Assets/Scripts/Save/MetadataUtils.cs | 21 +- Assets/Scripts/Save/SketchMetadata.cs | 2 + Assets/Scripts/SketchControlsScript.cs | 1 + Assets/Scripts/VideoCatalog.cs | 26 +- Assets/Scripts/Widgets/ImageWidget.cs | 12 +- .../Strings/Strings Shared Data.asset | 4 + .../Localization/Strings/Strings_en.asset | 6 +- Assets/Textures/home.png | Bin 0 -> 8964 bytes Assets/Textures/home.png.meta | 135 ++ Assets/Textures/up-arrow.png | Bin 0 -> 12337 bytes Assets/Textures/up-arrow.png.meta | 135 ++ 40 files changed, 5000 insertions(+), 376 deletions(-) create mode 100644 Assets/Models/NewSketchButton Sliced.fbx create mode 100644 Assets/Models/NewSketchButton Sliced.fbx.meta create mode 100644 Assets/Prefabs/Panels/Widgets/TextOptionButton.prefab create mode 100644 Assets/Prefabs/Panels/Widgets/TextOptionButton.prefab.meta create mode 100644 Assets/Prefabs/PopUps/PopupButton_DirectoryChooser.prefab create mode 100644 Assets/Prefabs/PopUps/PopupButton_DirectoryChooser.prefab.meta create mode 100644 Assets/Prefabs/PopUps/PopupWindow_DirectoryChooser.prefab create mode 100644 Assets/Prefabs/PopUps/PopupWindow_DirectoryChooser.prefab.meta create mode 100644 Assets/Prefabs/Sliced Button.prefab create mode 100644 Assets/Prefabs/Sliced Button.prefab.meta create mode 100644 Assets/Scripts/GUI/DirectoryChooserButton.cs create mode 100644 Assets/Scripts/GUI/DirectoryChooserButton.cs.meta create mode 100644 Assets/Scripts/GUI/PopUpWindow_DirectoryChooser.cs create mode 100644 Assets/Scripts/GUI/PopUpWindow_DirectoryChooser.cs.meta create mode 100644 Assets/Scripts/GUI/TextOptionButton.cs create mode 100644 Assets/Scripts/GUI/TextOptionButton.cs.meta create mode 100644 Assets/Textures/home.png create mode 100644 Assets/Textures/home.png.meta create mode 100644 Assets/Textures/up-arrow.png create mode 100644 Assets/Textures/up-arrow.png.meta diff --git a/Assets/Models/NewSketchButton Sliced.fbx b/Assets/Models/NewSketchButton Sliced.fbx new file mode 100644 index 0000000000000000000000000000000000000000..223ace6e96c04720ab5eeca3a61aaf0ca53d7974 GIT binary patch literal 36060 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"o4n1L~d6kOW|#u!puRe~(`@3NS?4^I}qfiZ?8 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 Cl@0d* literal 0 HcmV?d00001 diff --git a/Assets/Models/NewSketchButton Sliced.fbx.meta b/Assets/Models/NewSketchButton Sliced.fbx.meta new file mode 100644 index 0000000000..a8ec6466e3 --- /dev/null +++ b/Assets/Models/NewSketchButton Sliced.fbx.meta @@ -0,0 +1,142 @@ +fileFormatVersion: 2 +guid: f0bcdd7ff6c5def40be5e10d8c9ef2b1 +ModelImporter: + serializedVersion: 21300 + internalIDToNameTable: + - first: + 1: 100000 + second: NewSketchBg + - first: + 1: 100002 + second: NewSketchBorder + - first: + 1: 100004 + second: //RootNode + - first: + 4: 400000 + second: NewSketchBg + - first: + 4: 400002 + second: NewSketchBorder + - first: + 4: 400004 + second: //RootNode + - first: + 23: 2300000 + second: NewSketchBg + - first: + 23: 2300002 + second: NewSketchBorder + - first: + 33: 3300000 + second: NewSketchBg + - first: + 33: 3300002 + second: NewSketchBorder + - first: + 43: 4300000 + second: NewSketchBg + - first: + 43: 4300002 + second: NewSketchBorder + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 0 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 0 + importBlendShapes: 1 + importCameras: 0 + importLights: 0 + nodeNameCollisionStrategy: 0 + fileIdsGeneration: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 0 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 0 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 1 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 0 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 0 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 0 + remapMaterialsIfMaterialImportModeIsNone: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Panels/ReferencePanel/ReferencePanel.prefab b/Assets/Prefabs/Panels/ReferencePanel/ReferencePanel.prefab index 12a3f7bb8f..e94a1fd00b 100644 --- a/Assets/Prefabs/Panels/ReferencePanel/ReferencePanel.prefab +++ b/Assets/Prefabs/Panels/ReferencePanel/ReferencePanel.prefab @@ -47,22 +47,23 @@ MonoBehaviour: m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 28a7b254c7b3e234e916db4d5425c099, type: 3} - m_Name: - m_EditorClassIdentifier: + m_Name: + m_EditorClassIdentifier: m_PanelType: 16 m_Collider: {fileID: 6578658} m_Mesh: {fileID: 167476} m_Border: {fileID: 23000014036988540} m_MeshCollider: {fileID: 6508354} m_ParticleBounds: {x: 1.8, y: 2.2, z: 0} - m_PanelPopUpMap: [] + m_PanelPopUpMap: [{m_PopUpPrefab: {fileID: 1106918886213026712, guid: ffa805ad00d819549862fa54772bbab9, + type: 3}, m_Command: 5800}] m_PanelDescription: PANEL_REFERENCE_DESCRIPTION m_LocalizedPanelDescription: m_TableReference: m_TableCollectionName: GUID:c84355079ab3f3e4f8f3812258805f86 m_TableEntryReference: m_KeyId: 89041955544915968 - m_Key: + m_Key: m_FallbackState: 0 m_WaitForCompletion: 0 m_LocalVariables: [] @@ -119,6 +120,10 @@ MonoBehaviour: m_ExtraBorders: - {fileID: 3545759370252767883} m_RefreshingSpinner: {fileID: 2793114836075558058} + m_DirectoryChooserPopupButton: {fileID: 4653425794363200346} + m_DirectoryHomeButton: {fileID: 6481406375137946442} + m_DirectoryUpButton: {fileID: 2296272619075040047} + m_InfoText: {fileID: 2664662148934677177} references: version: 2 RefIds: [] @@ -132,8 +137,8 @@ MonoBehaviour: m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 6311d8a25dba6a443be8afe87803c545, type: 3} - m_Name: - m_EditorClassIdentifier: + m_Name: + m_EditorClassIdentifier: m_ShowDuration: 0.25 m_GrabDistance: 0.5 m_CollisionRadius: 1.25 @@ -169,8 +174,8 @@ MonoBehaviour: m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 739d5b1996234d64992a2ae60c3723e9, type: 3} - m_Name: - m_EditorClassIdentifier: + m_Name: + m_EditorClassIdentifier: --- !u!1 &146636 GameObject: m_ObjectHideFlags: 0 @@ -244,9 +249,11 @@ Transform: - {fileID: 1364301114352743509} - {fileID: 406850} - {fileID: 8907837802308103349} + - {fileID: 8604099476145987570} - {fileID: 4000011128661030} - {fileID: 4000013358966654} - {fileID: 2794633223974576122} + - {fileID: 6652678695824512576} - {fileID: 8533497137806158463} - {fileID: 5575169286801542507} - {fileID: 4000012175404484} @@ -372,12 +379,12 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1000011026959832} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.627, y: -0.888, z: 0.05} - m_LocalScale: {x: 0.35, y: 0.35, z: 0.26999998} + m_LocalPosition: {x: 0.627, y: -0.98600006, z: 0.05} + m_LocalScale: {x: 0.3, y: 0.3, z: 0.3} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 465812} - m_RootOrder: 6 + m_RootOrder: 7 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &33000012557713190 MeshFilter: @@ -452,27 +459,27 @@ MonoBehaviour: m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: dbae3ff4457df6f4ea3af0389871cb9c, type: 3} - m_Name: - m_EditorClassIdentifier: + m_Name: + m_EditorClassIdentifier: m_DescriptionType: -1 m_DescriptionYOffset: 0 - m_DescriptionText: + m_DescriptionText: m_LocalizedDescription: m_TableReference: - m_TableCollectionName: + m_TableCollectionName: m_TableEntryReference: m_KeyId: 0 - m_Key: + m_Key: m_FallbackState: 0 m_WaitForCompletion: 0 m_LocalVariables: [] - m_DescriptionTextExtra: + m_DescriptionTextExtra: m_LocalizedDescriptionExtra: m_TableReference: - m_TableCollectionName: + m_TableCollectionName: m_TableEntryReference: m_KeyId: 0 - m_Key: + m_Key: m_FallbackState: 0 m_WaitForCompletion: 0 m_LocalVariables: [] @@ -589,8 +596,8 @@ MonoBehaviour: m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 1aaefde5afe80784e908d27fcb05a101, type: 3} - m_Name: - m_EditorClassIdentifier: + m_Name: + m_EditorClassIdentifier: m_OffsetOverride: -1 --- !u!1 &1000011504539966 GameObject: @@ -625,7 +632,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 465812} - m_RootOrder: 10 + m_RootOrder: 12 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &33000012936528106 MeshFilter: @@ -700,8 +707,8 @@ MonoBehaviour: m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: cd93e96b781b14453b31e8ecb9ac1204, type: 3} - m_Name: - m_EditorClassIdentifier: + m_Name: + m_EditorClassIdentifier: m_DescriptionType: 0 m_DescriptionYOffset: 0 m_DescriptionText: PANEL_REFERENCE_BUTTON_ADDMEDIA_DESCRIPTION @@ -710,17 +717,17 @@ MonoBehaviour: m_TableCollectionName: GUID:c84355079ab3f3e4f8f3812258805f86 m_TableEntryReference: m_KeyId: 89072407659962368 - m_Key: + m_Key: m_FallbackState: 0 m_WaitForCompletion: 0 m_LocalVariables: [] - m_DescriptionTextExtra: + m_DescriptionTextExtra: m_LocalizedDescriptionExtra: m_TableReference: - m_TableCollectionName: + m_TableCollectionName: m_TableEntryReference: m_KeyId: 0 - m_Key: + m_Key: m_FallbackState: 0 m_WaitForCompletion: 0 m_LocalVariables: [] @@ -768,12 +775,12 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1000011827971212} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.225, y: -0.888, z: 0.05} - m_LocalScale: {x: 0.35, y: 0.35, z: 0.26999998} + m_LocalPosition: {x: -0.225, y: -0.986, z: 0.05} + m_LocalScale: {x: 0.3, y: 0.3, z: 0.3} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 465812} - m_RootOrder: 5 + m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &33000010310954018 MeshFilter: @@ -848,27 +855,27 @@ MonoBehaviour: m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: dbae3ff4457df6f4ea3af0389871cb9c, type: 3} - m_Name: - m_EditorClassIdentifier: + m_Name: + m_EditorClassIdentifier: m_DescriptionType: -1 m_DescriptionYOffset: 0 - m_DescriptionText: + m_DescriptionText: m_LocalizedDescription: m_TableReference: - m_TableCollectionName: + m_TableCollectionName: m_TableEntryReference: m_KeyId: 0 - m_Key: + m_Key: m_FallbackState: 0 m_WaitForCompletion: 0 m_LocalVariables: [] - m_DescriptionTextExtra: + m_DescriptionTextExtra: m_LocalizedDescriptionExtra: m_TableReference: - m_TableCollectionName: + m_TableCollectionName: m_TableEntryReference: m_KeyId: 0 - m_Key: + m_Key: m_FallbackState: 0 m_WaitForCompletion: 0 m_LocalVariables: [] @@ -922,7 +929,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 465812} - m_RootOrder: 11 + m_RootOrder: 13 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &33000011297219704 MeshFilter: @@ -1009,7 +1016,7 @@ RectTransform: 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.409, y: 1.173} + m_AnchoredPosition: {x: -0.409, y: 1.215} m_SizeDelta: {x: 0.87, y: 0.3} m_Pivot: {x: 0, y: 1} --- !u!23 &23000011135223386 @@ -1064,8 +1071,8 @@ MonoBehaviour: m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3} - m_Name: - m_EditorClassIdentifier: + m_Name: + m_EditorClassIdentifier: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 @@ -1137,7 +1144,7 @@ MonoBehaviour: m_VertexBufferAutoSizeReduction: 0 m_useMaxVisibleDescender: 1 m_pageToDisplay: 1 - m_margin: {x: 0, y: 0.12746334, z: -0.37754095, w: -0.05648184} + m_margin: {x: 0, y: 0.12746334, z: -0.41549575, w: -0.05648184} m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 _SortingLayer: 0 @@ -1229,6 +1236,89 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &212049515725875748 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 427141267691122156} + - component: {fileID: 498325147690002556} + - component: {fileID: 5501901090964606101} + m_Layer: 16 + m_Name: Highlight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &427141267691122156 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 212049515725875748} + m_LocalRotation: {x: -0.5, y: -0.5, z: 0.5, w: 0.5} + m_LocalPosition: {x: 0.24, y: 0.049, z: -0.001} + m_LocalScale: {x: 3.622484, y: 36.54605, z: 72} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4910877266090688774} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: -90, z: 90} +--- !u!33 &498325147690002556 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 212049515725875748} + m_Mesh: {fileID: 4300002, guid: 494f6a456f266384a85d4868be7b55bf, type: 3} +--- !u!23 &5501901090964606101 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 212049515725875748} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 8b96fd39ba2812846a306d90ef3422f0, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!1 &3946962444343525714 GameObject: m_ObjectHideFlags: 0 @@ -1280,14 +1370,14 @@ MonoBehaviour: m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: ed2e2a6b8f3448a0a92c3495433afa2b, type: 3} - m_Name: - m_EditorClassIdentifier: + m_Name: + m_EditorClassIdentifier: m_PanelName: m_TableReference: m_TableCollectionName: GUID:c84355079ab3f3e4f8f3812258805f86 m_TableEntryReference: m_KeyId: 106429517453328384 - m_Key: + m_Key: m_FallbackState: 0 m_WaitForCompletion: 0 m_LocalVariables: [] @@ -1295,7 +1385,7 @@ MonoBehaviour: references: version: 2 RefIds: [] ---- !u!1 &6298209575442832167 +--- !u!1 &4462710512961409417 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -1303,34 +1393,34 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 8533497137806158463} + - component: {fileID: 6652678695824512576} m_Layer: 16 - m_Name: LibraryButtons + m_Name: Folder Navigation m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &8533497137806158463 +--- !u!4 &6652678695824512576 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6298209575442832167} + m_GameObject: {fileID: 4462710512961409417} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalPosition: {x: 0.04, y: 0.74, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 6556223919381496670} - - {fileID: 293408167421422296} - - {fileID: 8642672171813981533} - - {fileID: 8169998680714821875} + - {fileID: 6719421231139174678} + - {fileID: 1976874661130297715} + - {fileID: 8860007466936086866} + - {fileID: 4910877266090688774} m_Father: {fileID: 465812} - m_RootOrder: 8 + m_RootOrder: 9 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &6688829240374092959 +--- !u!1 &4911755950056346838 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -1338,194 +1428,840 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 5575169286801542507} + - component: {fileID: 4910877266090688774} + - component: {fileID: 4925878087824448618} + - component: {fileID: 4934469663781395010} + - component: {fileID: 4954299875058301610} + - component: {fileID: 4653425794363200346} m_Layer: 16 - m_Name: Tabs + m_Name: DirectoryChooserPopupButton m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &5575169286801542507 +--- !u!4 &4910877266090688774 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6688829240374092959} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} + m_GameObject: {fileID: 4911755950056346838} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.144, y: 0, z: 0} + m_LocalScale: {x: 0.75, y: 0.75, z: 0.75} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 8756851318281134877} - - {fileID: 6439553437626405691} - - {fileID: 2069344145590318387} - - {fileID: 8904216512971985411} - m_Father: {fileID: 465812} - m_RootOrder: 9 + - {fileID: 6972581655852486594} + - {fileID: 2516380280007062383} + - {fileID: 427141267691122156} + m_Father: {fileID: 6652678695824512576} + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1001 &831601174363408286 -PrefabInstance: +--- !u!33 &4925878087824448618 +MeshFilter: m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 8904216512971985411} - m_Modifications: - - target: {fileID: 2479500690962014025, guid: c74f031eb9cac3d4ea6ac436d619d6c9, - type: 3} - propertyPath: m_RootOrder - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2479500690962014025, guid: c74f031eb9cac3d4ea6ac436d619d6c9, - type: 3} - propertyPath: m_LocalPosition.x - value: 0.208 - objectReference: {fileID: 0} - - target: {fileID: 2479500690962014025, guid: c74f031eb9cac3d4ea6ac436d619d6c9, - type: 3} - propertyPath: m_LocalPosition.y - value: 0.4159999 - objectReference: {fileID: 0} - - target: {fileID: 2479500690962014025, guid: c74f031eb9cac3d4ea6ac436d619d6c9, - type: 3} - propertyPath: m_LocalPosition.z - value: 0.05 - objectReference: {fileID: 0} - - target: {fileID: 2479500690962014025, guid: c74f031eb9cac3d4ea6ac436d619d6c9, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2479500690962014025, guid: c74f031eb9cac3d4ea6ac436d619d6c9, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2479500690962014025, guid: c74f031eb9cac3d4ea6ac436d619d6c9, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2479500690962014025, guid: c74f031eb9cac3d4ea6ac436d619d6c9, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2479500690962014025, guid: c74f031eb9cac3d4ea6ac436d619d6c9, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2479500690962014025, guid: c74f031eb9cac3d4ea6ac436d619d6c9, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2479500690962014025, guid: c74f031eb9cac3d4ea6ac436d619d6c9, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2479500690962267317, guid: c74f031eb9cac3d4ea6ac436d619d6c9, - type: 3} - propertyPath: m_Name - value: ReferencePanelIconBackgroundImage2 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: c74f031eb9cac3d4ea6ac436d619d6c9, type: 3} ---- !u!4 &3018120254075885783 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 2479500690962014025, guid: c74f031eb9cac3d4ea6ac436d619d6c9, - type: 3} - m_PrefabInstance: {fileID: 831601174363408286} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} ---- !u!1001 &1789072396110540625 -PrefabInstance: + m_GameObject: {fileID: 4911755950056346838} + m_Mesh: {fileID: 4300000, guid: 260cc07aabcea6d41a633a35c1103a6c, type: 3} +--- !u!23 &4934469663781395010 +MeshRenderer: m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 5575169286801542507} - m_Modifications: - - target: {fileID: 927073800380854075, guid: a1a5e4c1205285c4ba82afddcd92fa1c, - type: 3} - propertyPath: m_Name - value: ReferencePanelTabImage - objectReference: {fileID: 0} - - target: {fileID: 4722565608153955434, guid: a1a5e4c1205285c4ba82afddcd92fa1c, - type: 3} - propertyPath: m_RootOrder - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4722565608153955434, guid: a1a5e4c1205285c4ba82afddcd92fa1c, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4722565608153955434, guid: a1a5e4c1205285c4ba82afddcd92fa1c, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4722565608153955434, guid: a1a5e4c1205285c4ba82afddcd92fa1c, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4722565608153955434, guid: a1a5e4c1205285c4ba82afddcd92fa1c, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4722565608153955434, guid: a1a5e4c1205285c4ba82afddcd92fa1c, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 4722565608153955434, guid: a1a5e4c1205285c4ba82afddcd92fa1c, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 4722565608153955434, guid: a1a5e4c1205285c4ba82afddcd92fa1c, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 4722565608153955434, guid: a1a5e4c1205285c4ba82afddcd92fa1c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4722565608153955434, guid: a1a5e4c1205285c4ba82afddcd92fa1c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4722565608153955434, guid: a1a5e4c1205285c4ba82afddcd92fa1c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: a1a5e4c1205285c4ba82afddcd92fa1c, type: 3} ---- !u!114 &2041276345061306701 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 324291990150274588, guid: a1a5e4c1205285c4ba82afddcd92fa1c, - type: 3} - m_PrefabInstance: {fileID: 1789072396110540625} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d2dcf3cca7ba2e045b08b8811e46cb35, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!4 &6439553437626405691 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 4722565608153955434, guid: a1a5e4c1205285c4ba82afddcd92fa1c, - type: 3} - m_PrefabInstance: {fileID: 1789072396110540625} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4911755950056346838} + m_Enabled: 0 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 40d29de2bdc11f04dbfa25059165916e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!65 &4954299875058301610 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4911755950056346838} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1.1863565, y: 0.19200453, z: 0.07000001} + m_Center: {x: 0.24359247, y: -0.015211424, z: 0} +--- !u!114 &4653425794363200346 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4911755950056346838} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3d9f8be89ad34c6e82b5721be6c40c4a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_DescriptionType: 0 + m_DescriptionYOffset: 0 + m_DescriptionText: Pick a Subfolder + m_LocalizedDescription: + m_TableReference: + m_TableCollectionName: GUID:c84355079ab3f3e4f8f3812258805f86 + m_TableEntryReference: + m_KeyId: 224363142209691648 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_DescriptionTextExtra: + m_LocalizedDescriptionExtra: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_DescriptionActivateSpeed: 12 + m_DescriptionZScale: 1 + m_ButtonTexture: {fileID: 0} + m_AtlasTexture: 0 + m_ToggleButton: 0 + m_LongPressReleaseButton: 0 + m_ButtonHasPressedAudio: 1 + m_ZAdjustHover: -0.02 + m_ZAdjustClick: 0.02 + m_HoverScale: 1.1 + m_HoverBoxColliderGrow: 0.2 + m_AddOverlay: 0 + m_Command: 5800 + m_CommandParam: -1 + m_CommandParam2: -1 + m_RequiresPopup: 1 + m_CenterPopupOnButton: 0 + m_PopupOffset: {x: 0, y: 0, z: 0} + m_PopupText: + m_LocalizedPopup: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_ToggleOnDescription: + m_LocalizedToggleOnDescription: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_ToggleOnTexture: {fileID: 0} + m_AllowUnavailable: 0 + m_LinkedUIObject: {fileID: 0} + m_Highlight: {fileID: 212049515725875748} + m_ButtonLabel: + m_ColorSelected: {r: 0, g: 0, b: 0, a: 0} + m_ColorDeselected: {r: 0, g: 0, b: 0, a: 0} + references: + version: 2 + RefIds: [] +--- !u!1 &5647090378636851833 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8604099476145987570} + - component: {fileID: 3052230581726378890} + - component: {fileID: 2664662148934677177} + m_Layer: 16 + m_Name: Info + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8604099476145987570 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5647090378636851833} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0.05} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 465812} + m_RootOrder: 5 + 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.409, y: -0.458} + m_SizeDelta: {x: 0.87, y: 0.3} + m_Pivot: {x: 0, y: 1} +--- !u!23 &3052230581726378890 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5647090378636851833} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2133298, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!114 &2664662148934677177 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5647090378636851833} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, 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: 0 Files 0 Subfolders + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} + m_sharedMaterial: {fileID: 2133298, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, 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: 1 + m_fontSizeBase: 1 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + 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: 0 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0.18338251, z: -0.41549575, w: -0.05648184} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + _SortingLayer: 0 + _SortingLayerID: 0 + _SortingOrder: 0 + m_hasFontAssetChanged: 0 + m_renderer: {fileID: 3052230581726378890} + m_maskType: 0 +--- !u!1 &6298209575442832167 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8533497137806158463} + m_Layer: 16 + m_Name: LibraryButtons + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8533497137806158463 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6298209575442832167} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 6556223919381496670} + - {fileID: 293408167421422296} + - {fileID: 8642672171813981533} + - {fileID: 8169998680714821875} + m_Father: {fileID: 465812} + m_RootOrder: 10 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6688829240374092959 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5575169286801542507} + m_Layer: 16 + m_Name: Tabs + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5575169286801542507 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6688829240374092959} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 8756851318281134877} + - {fileID: 6439553437626405691} + - {fileID: 2069344145590318387} + - {fileID: 8904216512971985411} + m_Father: {fileID: 465812} + m_RootOrder: 11 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6860941104539570804 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2516380280007062383} + - component: {fileID: 5100797947387487618} + - component: {fileID: 3167499155906226561} + - component: {fileID: 6782797438308713358} + m_Layer: 16 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2516380280007062383 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6860941104539570804} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.004} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4910877266090688774} + m_RootOrder: 1 + 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.341, y: -0.017} + m_SizeDelta: {x: 24.36, y: 1.66} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!23 &5100797947387487618 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6860941104539570804} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2122602, guid: ec48085d8b1ed18499cf1411d42005a0, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!222 &3167499155906226561 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6860941104539570804} + m_CullTransparentMesh: 0 +--- !u!114 &6782797438308713358 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6860941104539570804} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, 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: FolderPath + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: ec48085d8b1ed18499cf1411d42005a0, type: 2} + m_sharedMaterial: {fileID: 2122602, guid: ec48085d8b1ed18499cf1411d42005a0, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, 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: 8 + m_fontSizeBase: 8 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + 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: 0 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 5.4952173, y: 0, z: 7.302159, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + _SortingLayer: 0 + _SortingLayerID: 0 + _SortingOrder: 0 + m_hasFontAssetChanged: 0 + m_renderer: {fileID: 5100797947387487618} + m_maskType: 0 +--- !u!1001 &831601174363408286 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 8904216512971985411} + m_Modifications: + - target: {fileID: 2479500690962014025, guid: c74f031eb9cac3d4ea6ac436d619d6c9, + type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2479500690962014025, guid: c74f031eb9cac3d4ea6ac436d619d6c9, + type: 3} + propertyPath: m_LocalPosition.x + value: 0.208 + objectReference: {fileID: 0} + - target: {fileID: 2479500690962014025, guid: c74f031eb9cac3d4ea6ac436d619d6c9, + type: 3} + propertyPath: m_LocalPosition.y + value: 0.4159999 + objectReference: {fileID: 0} + - target: {fileID: 2479500690962014025, guid: c74f031eb9cac3d4ea6ac436d619d6c9, + type: 3} + propertyPath: m_LocalPosition.z + value: 0.05 + objectReference: {fileID: 0} + - target: {fileID: 2479500690962014025, guid: c74f031eb9cac3d4ea6ac436d619d6c9, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2479500690962014025, guid: c74f031eb9cac3d4ea6ac436d619d6c9, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2479500690962014025, guid: c74f031eb9cac3d4ea6ac436d619d6c9, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2479500690962014025, guid: c74f031eb9cac3d4ea6ac436d619d6c9, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2479500690962014025, guid: c74f031eb9cac3d4ea6ac436d619d6c9, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2479500690962014025, guid: c74f031eb9cac3d4ea6ac436d619d6c9, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2479500690962014025, guid: c74f031eb9cac3d4ea6ac436d619d6c9, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2479500690962267317, guid: c74f031eb9cac3d4ea6ac436d619d6c9, + type: 3} + propertyPath: m_Name + value: ReferencePanelIconBackgroundImage2 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: c74f031eb9cac3d4ea6ac436d619d6c9, type: 3} +--- !u!4 &3018120254075885783 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 2479500690962014025, guid: c74f031eb9cac3d4ea6ac436d619d6c9, + type: 3} + m_PrefabInstance: {fileID: 831601174363408286} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &1697688316793202177 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 4910877266090688774} + m_Modifications: + - target: {fileID: 8550303440375555915, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + propertyPath: m_Name + value: Sliced Button + objectReference: {fileID: 0} + - target: {fileID: 8596510312989206979, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8596510312989206979, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8596510312989206979, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8596510312989206979, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8596510312989206979, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8596510312989206979, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8596510312989206979, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8596510312989206979, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8596510312989206979, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8596510312989206979, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8596510312989206979, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 274bb5f0c30dba14f8390b2848326116, type: 3} +--- !u!4 &6972581655852486594 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 8596510312989206979, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + m_PrefabInstance: {fileID: 1697688316793202177} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &1789072396110540625 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 5575169286801542507} + m_Modifications: + - target: {fileID: 927073800380854075, guid: a1a5e4c1205285c4ba82afddcd92fa1c, + type: 3} + propertyPath: m_Name + value: ReferencePanelTabImage + objectReference: {fileID: 0} + - target: {fileID: 4722565608153955434, guid: a1a5e4c1205285c4ba82afddcd92fa1c, + type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4722565608153955434, guid: a1a5e4c1205285c4ba82afddcd92fa1c, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4722565608153955434, guid: a1a5e4c1205285c4ba82afddcd92fa1c, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4722565608153955434, guid: a1a5e4c1205285c4ba82afddcd92fa1c, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4722565608153955434, guid: a1a5e4c1205285c4ba82afddcd92fa1c, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4722565608153955434, guid: a1a5e4c1205285c4ba82afddcd92fa1c, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4722565608153955434, guid: a1a5e4c1205285c4ba82afddcd92fa1c, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4722565608153955434, guid: a1a5e4c1205285c4ba82afddcd92fa1c, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4722565608153955434, guid: a1a5e4c1205285c4ba82afddcd92fa1c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4722565608153955434, guid: a1a5e4c1205285c4ba82afddcd92fa1c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4722565608153955434, guid: a1a5e4c1205285c4ba82afddcd92fa1c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: a1a5e4c1205285c4ba82afddcd92fa1c, type: 3} +--- !u!114 &2041276345061306701 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 324291990150274588, guid: a1a5e4c1205285c4ba82afddcd92fa1c, + type: 3} + m_PrefabInstance: {fileID: 1789072396110540625} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d2dcf3cca7ba2e045b08b8811e46cb35, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &6439553437626405691 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4722565608153955434, guid: a1a5e4c1205285c4ba82afddcd92fa1c, + type: 3} + m_PrefabInstance: {fileID: 1789072396110540625} m_PrefabAsset: {fileID: 0} --- !u!1001 &2136776457470733561 PrefabInstance: @@ -1618,8 +2354,8 @@ MonoBehaviour: m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 713facf4120712d449bc2165ea9b3ba9, type: 3} - m_Name: - m_EditorClassIdentifier: + m_Name: + m_EditorClassIdentifier: --- !u!1001 &2214946156871756456 PrefabInstance: m_ObjectHideFlags: 0 @@ -1768,102 +2504,249 @@ PrefabInstance: Transform: m_CorrespondingSourceObject: {fileID: 2479500690962014025, guid: c74f031eb9cac3d4ea6ac436d619d6c9, type: 3} - m_PrefabInstance: {fileID: 2914357826200063702} + m_PrefabInstance: {fileID: 2914357826200063702} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &3092942347013875353 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 8533497137806158463} + m_Modifications: + - target: {fileID: 6491599919484524684, guid: c4cb16d9963f73d449cf484030ee1c0d, + type: 3} + propertyPath: m_ButtonType + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 6491599919484524684, guid: c4cb16d9963f73d449cf484030ee1c0d, + type: 3} + propertyPath: m_ButtonTexture + value: + objectReference: {fileID: 2800000, guid: 993870a664943a14ca942ac74d1d80fe, type: 3} + - target: {fileID: 6491599919484524684, guid: c4cb16d9963f73d449cf484030ee1c0d, + type: 3} + propertyPath: m_DescriptionText + value: PANEL_BACKGROUND_IMAGE_DESCRIPTION + objectReference: {fileID: 0} + - target: {fileID: 6491599919484524684, guid: c4cb16d9963f73d449cf484030ee1c0d, + type: 3} + propertyPath: m_LocalizedDescription.m_TableEntryReference.m_KeyId + value: 106429517453328384 + objectReference: {fileID: 0} + - target: {fileID: 6593344973932434806, guid: c4cb16d9963f73d449cf484030ee1c0d, + type: 3} + propertyPath: m_Name + value: ReferencePanelLibrayButtonBackgroundImage + objectReference: {fileID: 0} + - target: {fileID: 6597206303866398314, guid: c4cb16d9963f73d449cf484030ee1c0d, + type: 3} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 6597206303866398314, guid: c4cb16d9963f73d449cf484030ee1c0d, + type: 3} + propertyPath: m_LocalPosition.x + value: -0.68226534 + objectReference: {fileID: 0} + - target: {fileID: 6597206303866398314, guid: c4cb16d9963f73d449cf484030ee1c0d, + type: 3} + propertyPath: m_LocalPosition.y + value: -0.426 + objectReference: {fileID: 0} + - target: {fileID: 6597206303866398314, guid: c4cb16d9963f73d449cf484030ee1c0d, + type: 3} + propertyPath: m_LocalPosition.z + value: 0.003 + objectReference: {fileID: 0} + - target: {fileID: 6597206303866398314, guid: c4cb16d9963f73d449cf484030ee1c0d, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6597206303866398314, guid: c4cb16d9963f73d449cf484030ee1c0d, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 6597206303866398314, guid: c4cb16d9963f73d449cf484030ee1c0d, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 6597206303866398314, guid: c4cb16d9963f73d449cf484030ee1c0d, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 6597206303866398314, guid: c4cb16d9963f73d449cf484030ee1c0d, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6597206303866398314, guid: c4cb16d9963f73d449cf484030ee1c0d, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6597206303866398314, guid: c4cb16d9963f73d449cf484030ee1c0d, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: c4cb16d9963f73d449cf484030ee1c0d, type: 3} +--- !u!4 &8169998680714821875 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 6597206303866398314, guid: c4cb16d9963f73d449cf484030ee1c0d, + type: 3} + m_PrefabInstance: {fileID: 3092942347013875353} m_PrefabAsset: {fileID: 0} ---- !u!1001 &3092942347013875353 +--- !u!1001 &3794725479726317239 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: - m_TransformParent: {fileID: 8533497137806158463} + m_TransformParent: {fileID: 6652678695824512576} m_Modifications: - - target: {fileID: 6491599919484524684, guid: c4cb16d9963f73d449cf484030ee1c0d, + - target: {fileID: 7630606763700834929, guid: 0963942396a615f4fb1b390436e881b8, type: 3} - propertyPath: m_ButtonType - value: 4 + propertyPath: m_Name + value: Home Button objectReference: {fileID: 0} - - target: {fileID: 6491599919484524684, guid: c4cb16d9963f73d449cf484030ee1c0d, - type: 3} - propertyPath: m_ButtonTexture - value: - objectReference: {fileID: 2800000, guid: 993870a664943a14ca942ac74d1d80fe, type: 3} - - target: {fileID: 6491599919484524684, guid: c4cb16d9963f73d449cf484030ee1c0d, + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, type: 3} - propertyPath: m_DescriptionText - value: PANEL_BACKGROUND_IMAGE_DESCRIPTION + propertyPath: m_RootOrder + value: 0 objectReference: {fileID: 0} - - target: {fileID: 6491599919484524684, guid: c4cb16d9963f73d449cf484030ee1c0d, + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, type: 3} - propertyPath: m_LocalizedDescription.m_TableEntryReference.m_KeyId - value: 106429517453328384 + propertyPath: m_LocalScale.x + value: 0.13 objectReference: {fileID: 0} - - target: {fileID: 6593344973932434806, guid: c4cb16d9963f73d449cf484030ee1c0d, + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, type: 3} - propertyPath: m_Name - value: ReferencePanelLibrayButtonBackgroundImage + propertyPath: m_LocalScale.y + value: 0.13 objectReference: {fileID: 0} - - target: {fileID: 6597206303866398314, guid: c4cb16d9963f73d449cf484030ee1c0d, + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, type: 3} - propertyPath: m_RootOrder - value: 3 + propertyPath: m_LocalScale.z + value: 0.13 objectReference: {fileID: 0} - - target: {fileID: 6597206303866398314, guid: c4cb16d9963f73d449cf484030ee1c0d, + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, type: 3} propertyPath: m_LocalPosition.x - value: -0.68226534 + value: -0.365 objectReference: {fileID: 0} - - target: {fileID: 6597206303866398314, guid: c4cb16d9963f73d449cf484030ee1c0d, + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, type: 3} propertyPath: m_LocalPosition.y - value: -0.723 + value: -0.018 objectReference: {fileID: 0} - - target: {fileID: 6597206303866398314, guid: c4cb16d9963f73d449cf484030ee1c0d, + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, type: 3} propertyPath: m_LocalPosition.z - value: 0.003 + value: 0 objectReference: {fileID: 0} - - target: {fileID: 6597206303866398314, guid: c4cb16d9963f73d449cf484030ee1c0d, + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, type: 3} propertyPath: m_LocalRotation.w value: 1 objectReference: {fileID: 0} - - target: {fileID: 6597206303866398314, guid: c4cb16d9963f73d449cf484030ee1c0d, + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, type: 3} propertyPath: m_LocalRotation.x value: -0 objectReference: {fileID: 0} - - target: {fileID: 6597206303866398314, guid: c4cb16d9963f73d449cf484030ee1c0d, + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, type: 3} propertyPath: m_LocalRotation.y value: -0 objectReference: {fileID: 0} - - target: {fileID: 6597206303866398314, guid: c4cb16d9963f73d449cf484030ee1c0d, + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, type: 3} propertyPath: m_LocalRotation.z value: -0 objectReference: {fileID: 0} - - target: {fileID: 6597206303866398314, guid: c4cb16d9963f73d449cf484030ee1c0d, + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, type: 3} propertyPath: m_LocalEulerAnglesHint.x value: 0 objectReference: {fileID: 0} - - target: {fileID: 6597206303866398314, guid: c4cb16d9963f73d449cf484030ee1c0d, + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, type: 3} propertyPath: m_LocalEulerAnglesHint.y value: 0 objectReference: {fileID: 0} - - target: {fileID: 6597206303866398314, guid: c4cb16d9963f73d449cf484030ee1c0d, + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, type: 3} propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 7879899076693153277, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_ButtonTexture + value: + objectReference: {fileID: 2800000, guid: 251a8ebc071ebde49b2c8d5494ca57cb, type: 3} + - target: {fileID: 7879899076693153277, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_DescriptionText + value: Back to Home folder + objectReference: {fileID: 0} + - target: {fileID: 7879899076693153277, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_Action.m_PersistentCalls.m_Calls.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7879899076693153277, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_Action.m_PersistentCalls.m_Calls.Array.data[0].m_Mode + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 7879899076693153277, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_Action.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 11448696} + - target: {fileID: 7879899076693153277, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_Action.m_PersistentCalls.m_Calls.Array.data[0].m_CallState + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 7879899076693153277, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_Action.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: HomeFolderForCurrentTab + objectReference: {fileID: 0} + - target: {fileID: 7879899076693153277, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_Action.m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName + value: TiltBrush.ReferencePanel, Assembly-CSharp + objectReference: {fileID: 0} + - target: {fileID: 7879899076693153277, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_Action.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName + value: UnityEngine.Object, UnityEngine + objectReference: {fileID: 0} m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: c4cb16d9963f73d449cf484030ee1c0d, type: 3} ---- !u!4 &8169998680714821875 stripped + m_SourcePrefab: {fileID: 100100000, guid: 0963942396a615f4fb1b390436e881b8, type: 3} +--- !u!114 &6481406375137946442 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 7879899076693153277, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + m_PrefabInstance: {fileID: 3794725479726317239} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 07f172f1096366841bb9362060bb0095, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &6719421231139174678 stripped Transform: - m_CorrespondingSourceObject: {fileID: 6597206303866398314, guid: c4cb16d9963f73d449cf484030ee1c0d, + m_CorrespondingSourceObject: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, type: 3} - m_PrefabInstance: {fileID: 3092942347013875353} + m_PrefabInstance: {fileID: 3794725479726317239} m_PrefabAsset: {fileID: 0} --- !u!1001 &4780153330544625320 PrefabInstance: @@ -1960,7 +2843,7 @@ PrefabInstance: - target: {fileID: 6215663651319772828, guid: 96b0222729d8c544db4f04f1831f0b20, type: 3} propertyPath: m_LocalPosition.y - value: 0.20300007 + value: -0.296 objectReference: {fileID: 0} - target: {fileID: 6215663651319772828, guid: 96b0222729d8c544db4f04f1831f0b20, type: 3} @@ -2010,7 +2893,7 @@ PrefabInstance: - target: {fileID: 6219402179845122922, guid: 96b0222729d8c544db4f04f1831f0b20, type: 3} propertyPath: m_IsActive - value: 1 + value: 0 objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 96b0222729d8c544db4f04f1831f0b20, type: 3} @@ -2198,14 +3081,149 @@ MonoBehaviour: m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 8c14dbf20becb4d4aa2169ca75ab8413, type: 3} - m_Name: - m_EditorClassIdentifier: + m_Name: + m_EditorClassIdentifier: --- !u!4 &8756851318281134877 stripped Transform: m_CorrespondingSourceObject: {fileID: 3233423317671272088, guid: 9114a4ea00369d34a80dabcbe3517d85, type: 3} m_PrefabInstance: {fileID: 6150219997261872517} m_PrefabAsset: {fileID: 0} +--- !u!1001 &6807646202605974201 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 6652678695824512576} + m_Modifications: + - target: {fileID: 2323353000080118199, guid: bb51b0dc7d0840f4ca79f5cbee2db4f9, + type: 3} + propertyPath: m_Action.m_PersistentCalls.m_Calls.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2323353000080118199, guid: bb51b0dc7d0840f4ca79f5cbee2db4f9, + type: 3} + propertyPath: m_Action.m_PersistentCalls.m_Calls.Array.data[0].m_Mode + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 2323353000080118199, guid: bb51b0dc7d0840f4ca79f5cbee2db4f9, + type: 3} + propertyPath: m_Action.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 11448696} + - target: {fileID: 2323353000080118199, guid: bb51b0dc7d0840f4ca79f5cbee2db4f9, + type: 3} + propertyPath: m_Action.m_PersistentCalls.m_Calls.Array.data[0].m_CallState + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 2323353000080118199, guid: bb51b0dc7d0840f4ca79f5cbee2db4f9, + type: 3} + propertyPath: m_Action.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: ChangeRelativeFolderForCurrentTab + objectReference: {fileID: 0} + - target: {fileID: 2323353000080118199, guid: bb51b0dc7d0840f4ca79f5cbee2db4f9, + type: 3} + propertyPath: m_Action.m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName + value: TiltBrush.ReferencePanel, Assembly-CSharp + objectReference: {fileID: 0} + - target: {fileID: 2323353000080118199, guid: bb51b0dc7d0840f4ca79f5cbee2db4f9, + type: 3} + propertyPath: m_Action.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_StringArgument + value: folder1 + objectReference: {fileID: 0} + - target: {fileID: 2323353000080118199, guid: bb51b0dc7d0840f4ca79f5cbee2db4f9, + type: 3} + propertyPath: m_Action.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName + value: UnityEngine.Object, UnityEngine + objectReference: {fileID: 0} + - target: {fileID: 2630224399012238907, guid: bb51b0dc7d0840f4ca79f5cbee2db4f9, + type: 3} + propertyPath: m_Name + value: FolderShortcutButton + objectReference: {fileID: 0} + - target: {fileID: 2630224399012238907, guid: bb51b0dc7d0840f4ca79f5cbee2db4f9, + type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2633638204545500139, guid: bb51b0dc7d0840f4ca79f5cbee2db4f9, + type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 2633638204545500139, guid: bb51b0dc7d0840f4ca79f5cbee2db4f9, + type: 3} + propertyPath: m_LocalScale.x + value: 0.6 + objectReference: {fileID: 0} + - target: {fileID: 2633638204545500139, guid: bb51b0dc7d0840f4ca79f5cbee2db4f9, + type: 3} + propertyPath: m_LocalScale.y + value: 0.75 + objectReference: {fileID: 0} + - target: {fileID: 2633638204545500139, guid: bb51b0dc7d0840f4ca79f5cbee2db4f9, + type: 3} + propertyPath: m_LocalScale.z + value: 0.75 + objectReference: {fileID: 0} + - target: {fileID: 2633638204545500139, guid: bb51b0dc7d0840f4ca79f5cbee2db4f9, + type: 3} + propertyPath: m_LocalPosition.x + value: -0.11 + objectReference: {fileID: 0} + - target: {fileID: 2633638204545500139, guid: bb51b0dc7d0840f4ca79f5cbee2db4f9, + type: 3} + propertyPath: m_LocalPosition.y + value: 0.724 + objectReference: {fileID: 0} + - target: {fileID: 2633638204545500139, guid: bb51b0dc7d0840f4ca79f5cbee2db4f9, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2633638204545500139, guid: bb51b0dc7d0840f4ca79f5cbee2db4f9, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2633638204545500139, guid: bb51b0dc7d0840f4ca79f5cbee2db4f9, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 2633638204545500139, guid: bb51b0dc7d0840f4ca79f5cbee2db4f9, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 2633638204545500139, guid: bb51b0dc7d0840f4ca79f5cbee2db4f9, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 2633638204545500139, guid: bb51b0dc7d0840f4ca79f5cbee2db4f9, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2633638204545500139, guid: bb51b0dc7d0840f4ca79f5cbee2db4f9, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2633638204545500139, guid: bb51b0dc7d0840f4ca79f5cbee2db4f9, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: bb51b0dc7d0840f4ca79f5cbee2db4f9, type: 3} +--- !u!4 &8860007466936086866 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 2633638204545500139, guid: bb51b0dc7d0840f4ca79f5cbee2db4f9, + type: 3} + m_PrefabInstance: {fileID: 6807646202605974201} + m_PrefabAsset: {fileID: 0} --- !u!1001 &6890394190693698738 PrefabInstance: m_ObjectHideFlags: 0 @@ -2231,7 +3249,7 @@ PrefabInstance: - target: {fileID: 6597206303866398314, guid: c4cb16d9963f73d449cf484030ee1c0d, type: 3} propertyPath: m_LocalPosition.y - value: -0.1445 + value: 0.15249993 objectReference: {fileID: 0} - target: {fileID: 6597206303866398314, guid: c4cb16d9963f73d449cf484030ee1c0d, type: 3} @@ -2526,7 +3544,7 @@ PrefabInstance: - target: {fileID: 2928094649458930916, guid: 9aeb7330d7db59d458d4001a4c1b49cd, type: 3} propertyPath: m_LocalPosition.y - value: 0.1425 + value: 0.4394999 objectReference: {fileID: 0} - target: {fileID: 2928094649458930916, guid: 9aeb7330d7db59d458d4001a4c1b49cd, type: 3} @@ -2581,6 +3599,153 @@ Transform: type: 3} m_PrefabInstance: {fileID: 8241249196772947898} m_PrefabAsset: {fileID: 0} +--- !u!1001 &8252557910426855122 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 6652678695824512576} + m_Modifications: + - target: {fileID: 7630606763700834929, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_Name + value: Up Button + objectReference: {fileID: 0} + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_LocalScale.x + value: 0.13 + objectReference: {fileID: 0} + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_LocalScale.y + value: 0.13 + objectReference: {fileID: 0} + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_LocalScale.z + value: 0.13 + objectReference: {fileID: 0} + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_LocalPosition.x + value: -0.211 + objectReference: {fileID: 0} + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_LocalPosition.y + value: -0.018 + objectReference: {fileID: 0} + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7879899076693153277, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_ButtonTexture + value: + objectReference: {fileID: 2800000, guid: e88e8e089c5b48548a0eaace64b2723b, type: 3} + - target: {fileID: 7879899076693153277, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_DescriptionText + value: Up one folder + objectReference: {fileID: 0} + - target: {fileID: 7879899076693153277, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_Action.m_PersistentCalls.m_Calls.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7879899076693153277, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_Action.m_PersistentCalls.m_Calls.Array.data[0].m_Mode + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7879899076693153277, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_Action.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 11448696} + - target: {fileID: 7879899076693153277, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_Action.m_PersistentCalls.m_Calls.Array.data[0].m_CallState + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 7879899076693153277, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_Action.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: NavigateUpForCurrentTab + objectReference: {fileID: 0} + - target: {fileID: 7879899076693153277, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_Action.m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName + value: TiltBrush.ReferencePanel, Assembly-CSharp + objectReference: {fileID: 0} + - target: {fileID: 7879899076693153277, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + propertyPath: m_Action.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName + value: UnityEngine.Object, UnityEngine + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 0963942396a615f4fb1b390436e881b8, type: 3} +--- !u!4 &1976874661130297715 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 7631838532712089505, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + m_PrefabInstance: {fileID: 8252557910426855122} + m_PrefabAsset: {fileID: 0} +--- !u!114 &2296272619075040047 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 7879899076693153277, guid: 0963942396a615f4fb1b390436e881b8, + type: 3} + m_PrefabInstance: {fileID: 8252557910426855122} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 07f172f1096366841bb9362060bb0095, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &8543226798868867278 PrefabInstance: m_ObjectHideFlags: 0 @@ -2606,7 +3771,7 @@ PrefabInstance: - target: {fileID: 107896239182144915, guid: fe886720ed405604b989857f5ee1de9b, type: 3} propertyPath: m_LocalPosition.y - value: -0.4335 + value: -0.13650006 objectReference: {fileID: 0} - target: {fileID: 107896239182144915, guid: fe886720ed405604b989857f5ee1de9b, type: 3} @@ -2746,22 +3911,37 @@ PrefabInstance: - target: {fileID: 6407948084139128658, guid: 29937bf4cfdebe6468da5d13a5c2230e, type: 3} propertyPath: m_RootOrder - value: 7 + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 6407948084139128658, guid: 29937bf4cfdebe6468da5d13a5c2230e, + type: 3} + propertyPath: m_LocalScale.x + value: 0.3 + objectReference: {fileID: 0} + - target: {fileID: 6407948084139128658, guid: 29937bf4cfdebe6468da5d13a5c2230e, + type: 3} + propertyPath: m_LocalScale.y + value: 0.3 + objectReference: {fileID: 0} + - target: {fileID: 6407948084139128658, guid: 29937bf4cfdebe6468da5d13a5c2230e, + type: 3} + propertyPath: m_LocalScale.z + value: 0.3 objectReference: {fileID: 0} - target: {fileID: 6407948084139128658, guid: 29937bf4cfdebe6468da5d13a5c2230e, type: 3} propertyPath: m_LocalPosition.x - value: 0.724 + value: 0.79 objectReference: {fileID: 0} - target: {fileID: 6407948084139128658, guid: 29937bf4cfdebe6468da5d13a5c2230e, type: 3} propertyPath: m_LocalPosition.y - value: 0.974 + value: 1.048 objectReference: {fileID: 0} - target: {fileID: 6407948084139128658, guid: 29937bf4cfdebe6468da5d13a5c2230e, type: 3} propertyPath: m_LocalPosition.z - value: 0.05 + value: 0.075 objectReference: {fileID: 0} - target: {fileID: 6407948084139128658, guid: 29937bf4cfdebe6468da5d13a5c2230e, type: 3} diff --git a/Assets/Prefabs/Panels/ReferencePanel/ReferencePanel_Mobile.prefab b/Assets/Prefabs/Panels/ReferencePanel/ReferencePanel_Mobile.prefab index 9dbc7b0eac..d33d450814 100644 --- a/Assets/Prefabs/Panels/ReferencePanel/ReferencePanel_Mobile.prefab +++ b/Assets/Prefabs/Panels/ReferencePanel/ReferencePanel_Mobile.prefab @@ -65,17 +65,26 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 11448696, guid: 0053ac08708148641bd0b629e8e3e2e5, type: 3} propertyPath: m_PanelPopUpMap.Array.size - value: 1 + value: 2 objectReference: {fileID: 0} - target: {fileID: 11448696, guid: 0053ac08708148641bd0b629e8e3e2e5, type: 3} propertyPath: m_PanelPopUpMap.Array.data[0].m_Command value: 82 objectReference: {fileID: 0} + - target: {fileID: 11448696, guid: 0053ac08708148641bd0b629e8e3e2e5, type: 3} + propertyPath: m_PanelPopUpMap.Array.data[1].m_Command + value: 5800 + objectReference: {fileID: 0} - target: {fileID: 11448696, guid: 0053ac08708148641bd0b629e8e3e2e5, type: 3} propertyPath: m_PanelPopUpMap.Array.data[0].m_PopUpPrefab value: objectReference: {fileID: 1867976667913174, guid: f454fbf43a220d645a14594cb79db0af, type: 3} + - target: {fileID: 11448696, guid: 0053ac08708148641bd0b629e8e3e2e5, type: 3} + propertyPath: m_PanelPopUpMap.Array.data[1].m_PopUpPrefab + value: + objectReference: {fileID: 1106918886213026712, guid: ffa805ad00d819549862fa54772bbab9, + type: 3} - target: {fileID: 1000011504539966, guid: 0053ac08708148641bd0b629e8e3e2e5, type: 3} propertyPath: m_IsActive value: 0 diff --git a/Assets/Prefabs/Panels/ReferencePanel/ReferencePanel_NoDataPopup.prefab b/Assets/Prefabs/Panels/ReferencePanel/ReferencePanel_NoDataPopup.prefab index b62cdac8bd..28119363e5 100644 --- a/Assets/Prefabs/Panels/ReferencePanel/ReferencePanel_NoDataPopup.prefab +++ b/Assets/Prefabs/Panels/ReferencePanel/ReferencePanel_NoDataPopup.prefab @@ -367,11 +367,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: 'Add images and - - models to - - see them here' + m_text: No files found m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} m_sharedMaterial: {fileID: 2133298, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} diff --git a/Assets/Prefabs/Panels/Widgets/TextActionButton.prefab b/Assets/Prefabs/Panels/Widgets/TextActionButton.prefab index 3f5647a5d4..a6072e4b65 100644 --- a/Assets/Prefabs/Panels/Widgets/TextActionButton.prefab +++ b/Assets/Prefabs/Panels/Widgets/TextActionButton.prefab @@ -283,7 +283,25 @@ MonoBehaviour: m_DescriptionType: 0 m_DescriptionYOffset: 0 m_DescriptionText: Action + m_LocalizedDescription: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] m_DescriptionTextExtra: + m_LocalizedDescriptionExtra: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] m_DescriptionActivateSpeed: 12 m_DescriptionZScale: 1 m_ButtonTexture: {fileID: 0} @@ -303,6 +321,9 @@ MonoBehaviour: m_ButtonLabel: m_ColorSelected: {r: 0, g: 0, b: 0, a: 0} m_ColorDeselected: {r: 0, g: 0, b: 0, a: 0} + references: + version: 2 + RefIds: [] --- !u!1 &4583691017407991961 GameObject: m_ObjectHideFlags: 0 @@ -313,7 +334,6 @@ GameObject: m_Component: - component: {fileID: 4774244057288012162} - component: {fileID: 2766287218697250671} - - component: {fileID: 5431139491862965100} - component: {fileID: 4506741420675531107} m_Layer: 16 m_Name: Text (TMP) @@ -384,14 +404,6 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!222 &5431139491862965100 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4583691017407991961} - m_CullTransparentMesh: 0 --- !u!114 &4506741420675531107 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/Assets/Prefabs/Panels/Widgets/TextOptionButton.prefab b/Assets/Prefabs/Panels/Widgets/TextOptionButton.prefab new file mode 100644 index 0000000000..46e3172b97 --- /dev/null +++ b/Assets/Prefabs/Panels/Widgets/TextOptionButton.prefab @@ -0,0 +1,616 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &518897765523162369 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4787677302610872560} + - component: {fileID: 5319102821619056528} + - component: {fileID: 8789039438176374329} + m_Layer: 16 + m_Name: Border + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4787677302610872560 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 518897765523162369} + m_LocalRotation: {x: -0.5, y: -0.5, z: 0.5, w: 0.5} + m_LocalPosition: {x: 0, y: -0.02, z: 0.000012705} + m_LocalScale: {x: 18.273024, y: 36.546047, z: 36.546047} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2633638204545500139} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: -90, z: 90} +--- !u!33 &5319102821619056528 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 518897765523162369} + m_Mesh: {fileID: 4300002, guid: dcc3e41ab91bd8e4a91e7bafc931a658, type: 3} +--- !u!23 &8789039438176374329 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 518897765523162369} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 40d29de2bdc11f04dbfa25059165916e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &1120234486363950381 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8624353459391024306} + - component: {fileID: 8183938280395080584} + - component: {fileID: 6271803906748537488} + m_Layer: 16 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8624353459391024306 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1120234486363950381} + m_LocalRotation: {x: -0.5, y: -0.5, z: 0.5, w: 0.5} + m_LocalPosition: {x: 0, y: -0.02, z: -0.000079998} + m_LocalScale: {x: 18.239998, y: 36.479996, z: 36.479996} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2633638204545500139} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: -90, z: 90} +--- !u!33 &8183938280395080584 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1120234486363950381} + m_Mesh: {fileID: 4300000, guid: dcc3e41ab91bd8e4a91e7bafc931a658, type: 3} +--- !u!23 &6271803906748537488 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1120234486363950381} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 40d29de2bdc11f04dbfa25059165916e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &2630224399012238907 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2633638204545500139} + - component: {fileID: 2663390039380958855} + - component: {fileID: 2652828157812676783} + - component: {fileID: 2624272951161731143} + - component: {fileID: 2323353000080118199} + m_Layer: 16 + m_Name: TextOptionButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2633638204545500139 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2630224399012238907} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.39, y: 0.72, z: -0.25} + m_LocalScale: {x: 0.8, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4787677302610872560} + - {fileID: 4774244057288012162} + - {fileID: 8624353459391024306} + - {fileID: 7298080571351510785} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &2663390039380958855 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2630224399012238907} + m_Mesh: {fileID: 4300000, guid: 260cc07aabcea6d41a633a35c1103a6c, type: 3} +--- !u!23 &2652828157812676783 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2630224399012238907} + m_Enabled: 0 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 40d29de2bdc11f04dbfa25059165916e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!65 &2624272951161731143 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2630224399012238907} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 0.91, y: 0.18, z: 0.07} + m_Center: {x: 0, y: 0.01, z: 0} +--- !u!114 &2323353000080118199 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2630224399012238907} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3d9f8be89ad34c6e82b5721be6c40c4a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_DescriptionType: 0 + m_DescriptionYOffset: 0 + m_DescriptionText: Action + m_LocalizedDescription: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_DescriptionTextExtra: + m_LocalizedDescriptionExtra: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_DescriptionActivateSpeed: 12 + m_DescriptionZScale: 1 + m_ButtonTexture: {fileID: 0} + m_AtlasTexture: 0 + m_ToggleButton: 0 + m_LongPressReleaseButton: 0 + m_ButtonHasPressedAudio: 1 + m_ZAdjustHover: -0.02 + m_ZAdjustClick: 0.02 + m_HoverScale: 1.1 + m_HoverBoxColliderGrow: 0.2 + m_AddOverlay: 0 + m_Command: 0 + m_CommandParam: -1 + m_CommandParam2: -1 + m_RequiresPopup: 0 + m_CenterPopupOnButton: 0 + m_PopupOffset: {x: 0, y: 0, z: 0} + m_PopupText: + m_LocalizedPopup: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_ToggleOnDescription: + m_LocalizedToggleOnDescription: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_ToggleOnTexture: {fileID: 0} + m_AllowUnavailable: 0 + m_LinkedUIObject: {fileID: 0} + m_Highlight: {fileID: 7087301103453726921} + m_ButtonLabel: + m_ColorSelected: {r: 0, g: 0, b: 0, a: 0} + m_ColorDeselected: {r: 0, g: 0, b: 0, a: 0} + references: + version: 2 + RefIds: [] +--- !u!1 &4583691017407991961 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4774244057288012162} + - component: {fileID: 2766287218697250671} + - component: {fileID: 5431139491862965100} + - component: {fileID: 4506741420675531107} + m_Layer: 16 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4774244057288012162 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4583691017407991961} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.004} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2633638204545500139} + m_RootOrder: 1 + 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.017} + m_SizeDelta: {x: 24.36, y: 1.66} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!23 &2766287218697250671 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4583691017407991961} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2122602, guid: ec48085d8b1ed18499cf1411d42005a0, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!222 &5431139491862965100 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4583691017407991961} + m_CullTransparentMesh: 0 +--- !u!114 &4506741420675531107 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4583691017407991961} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, 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: 1. Model Generation + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: ec48085d8b1ed18499cf1411d42005a0, type: 2} + m_sharedMaterial: {fileID: 2122602, guid: ec48085d8b1ed18499cf1411d42005a0, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, 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: 8 + m_fontSizeBase: 8 + m_fontWeight: 400 + m_enableAutoSizing: 0 + 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: 0 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 7.496979, y: 0, z: 7.302159, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + _SortingLayer: 0 + _SortingLayerID: 0 + _SortingOrder: 0 + m_hasFontAssetChanged: 0 + m_renderer: {fileID: 2766287218697250671} + m_maskType: 0 +--- !u!1 &7087301103453726921 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7298080571351510785} + - component: {fileID: 7367914487292193425} + - component: {fileID: 3238319857383640696} + m_Layer: 16 + m_Name: Highlight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7298080571351510785 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7087301103453726921} + m_LocalRotation: {x: -0.5, y: -0.5, z: 0.5, w: 0.5} + m_LocalPosition: {x: 0, y: 0.051, z: -0.001} + m_LocalScale: {x: 3.622484, y: 36.546047, z: 55.149162} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2633638204545500139} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: -90, z: 90} +--- !u!33 &7367914487292193425 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7087301103453726921} + m_Mesh: {fileID: 4300002, guid: 494f6a456f266384a85d4868be7b55bf, type: 3} +--- !u!23 &3238319857383640696 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7087301103453726921} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 8b96fd39ba2812846a306d90ef3422f0, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} diff --git a/Assets/Prefabs/Panels/Widgets/TextOptionButton.prefab.meta b/Assets/Prefabs/Panels/Widgets/TextOptionButton.prefab.meta new file mode 100644 index 0000000000..96a0321073 --- /dev/null +++ b/Assets/Prefabs/Panels/Widgets/TextOptionButton.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9eaa1a5598b1c00479f068d4b66a422d +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/PopUps/PopupButton_DirectoryChooser.prefab b/Assets/Prefabs/PopUps/PopupButton_DirectoryChooser.prefab new file mode 100644 index 0000000000..d63a9cb837 --- /dev/null +++ b/Assets/Prefabs/PopUps/PopupButton_DirectoryChooser.prefab @@ -0,0 +1,543 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3215334574758134907 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3135616482654569395} + - component: {fileID: 2919485118436017699} + - component: {fileID: 7076524799754265290} + m_Layer: 16 + m_Name: Highlight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &3135616482654569395 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3215334574758134907} + m_LocalRotation: {x: -0.5, y: -0.5, z: 0.5, w: 0.5} + m_LocalPosition: {x: 0, y: 0.051, z: -0.001} + m_LocalScale: {x: 3.622484, y: 36.546047, z: 55.149162} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7658512940617658201} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: -90, z: 90} +--- !u!33 &2919485118436017699 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3215334574758134907} + m_Mesh: {fileID: 4300002, guid: 494f6a456f266384a85d4868be7b55bf, type: 3} +--- !u!23 &7076524799754265290 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3215334574758134907} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 8b96fd39ba2812846a306d90ef3422f0, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &7657350995434470025 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7658512940617658201} + - component: {fileID: 7652262477819277877} + - component: {fileID: 7643930353656034333} + - component: {fileID: 7687439330557777141} + - component: {fileID: 7996768071626226949} + m_Layer: 16 + m_Name: PopupButton_DirectoryChooser + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7658512940617658201 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7657350995434470025} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1952710519246884045} + - {fileID: 902279736871460144} + - {fileID: 3135616482654569395} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7652262477819277877 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7657350995434470025} + m_Mesh: {fileID: 4300000, guid: 260cc07aabcea6d41a633a35c1103a6c, type: 3} +--- !u!23 &7643930353656034333 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7657350995434470025} + m_Enabled: 0 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 40d29de2bdc11f04dbfa25059165916e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!65 &7687439330557777141 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7657350995434470025} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1.1725051, y: 0.11580247, z: 0.07} + m_Center: {x: 0.0019473135, y: -0.011016041, z: 0} +--- !u!114 &7996768071626226949 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7657350995434470025} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fc90f66f9d0c44db90ae259869b1e000, type: 3} + m_Name: + m_EditorClassIdentifier: + m_DescriptionType: 0 + m_DescriptionYOffset: 0 + m_DescriptionText: Open this folder + m_LocalizedDescription: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_DescriptionTextExtra: + m_LocalizedDescriptionExtra: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_DescriptionActivateSpeed: 12 + m_DescriptionZScale: 1 + m_ButtonTexture: {fileID: 0} + m_AtlasTexture: 0 + m_ToggleButton: 0 + m_LongPressReleaseButton: 0 + m_ButtonHasPressedAudio: 1 + m_ZAdjustHover: -0.02 + m_ZAdjustClick: 0.02 + m_HoverScale: 1.1 + m_HoverBoxColliderGrow: 0.2 + m_AddOverlay: 0 + m_TextLabel: {fileID: 8092729382110358993} + references: + version: 2 + RefIds: [] +--- !u!1 &8167424978835930155 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 902279736871460144} + - component: {fileID: 7541238674848828381} + - component: {fileID: 8092729382110358993} + m_Layer: 16 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &902279736871460144 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8167424978835930155} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.004} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7658512940617658201} + m_RootOrder: 1 + 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.439, y: -0.017} + m_SizeDelta: {x: 24.36, y: 1.66} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!23 &7541238674848828381 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8167424978835930155} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2122602, guid: ec48085d8b1ed18499cf1411d42005a0, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!114 &8092729382110358993 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8167424978835930155} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, 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: Subfolder + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: ec48085d8b1ed18499cf1411d42005a0, type: 2} + m_sharedMaterial: {fileID: 2122602, guid: ec48085d8b1ed18499cf1411d42005a0, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, 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: 8 + m_fontSizeBase: 8 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + 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: 0 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 1.9398222, y: 0.13504475, z: 10.747255, w: 0.16289777} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + _SortingLayer: 0 + _SortingLayerID: 0 + _SortingOrder: 0 + m_hasFontAssetChanged: 0 + m_renderer: {fileID: 7541238674848828381} + m_maskType: 0 +--- !u!1001 &7806316272476824846 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 7658512940617658201} + m_Modifications: + - target: {fileID: 39057282034985054, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + propertyPath: m_LocalPosition.x + value: 0.58900005 + objectReference: {fileID: 0} + - target: {fileID: 120092170274840608, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + propertyPath: m_LocalScale.z + value: 72 + objectReference: {fileID: 0} + - target: {fileID: 120092170274840608, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3707727813358560176, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + propertyPath: m_LocalScale.z + value: 72 + objectReference: {fileID: 0} + - target: {fileID: 3707727813358560176, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3842738717155257372, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + propertyPath: m_LocalPosition.x + value: 0.589 + objectReference: {fileID: 0} + - target: {fileID: 8368913553107481572, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + propertyPath: m_LocalPosition.x + value: -0.58400005 + objectReference: {fileID: 0} + - target: {fileID: 8550303440375555915, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + propertyPath: m_Name + value: Sliced Button + objectReference: {fileID: 0} + - target: {fileID: 8550303440375555915, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8596510312989206979, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8596510312989206979, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + propertyPath: m_LocalScale.x + value: 0.75 + objectReference: {fileID: 0} + - target: {fileID: 8596510312989206979, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + propertyPath: m_LocalScale.y + value: 0.75 + objectReference: {fileID: 0} + - target: {fileID: 8596510312989206979, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + propertyPath: m_LocalScale.z + value: 0.75 + objectReference: {fileID: 0} + - target: {fileID: 8596510312989206979, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8596510312989206979, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8596510312989206979, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8596510312989206979, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8596510312989206979, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8596510312989206979, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8596510312989206979, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8596510312989206979, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8596510312989206979, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8596510312989206979, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 9213809022599775818, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + propertyPath: m_LocalPosition.x + value: -0.584 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 274bb5f0c30dba14f8390b2848326116, type: 3} +--- !u!4 &1952710519246884045 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 8596510312989206979, guid: 274bb5f0c30dba14f8390b2848326116, + type: 3} + m_PrefabInstance: {fileID: 7806316272476824846} + m_PrefabAsset: {fileID: 0} diff --git a/Assets/Prefabs/PopUps/PopupButton_DirectoryChooser.prefab.meta b/Assets/Prefabs/PopUps/PopupButton_DirectoryChooser.prefab.meta new file mode 100644 index 0000000000..1f00427d42 --- /dev/null +++ b/Assets/Prefabs/PopUps/PopupButton_DirectoryChooser.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3d6150820bc3f464498ee9cb5dc757b8 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/PopUps/PopupWindow_DirectoryChooser.prefab b/Assets/Prefabs/PopUps/PopupWindow_DirectoryChooser.prefab new file mode 100644 index 0000000000..499bcfd43e --- /dev/null +++ b/Assets/Prefabs/PopUps/PopupWindow_DirectoryChooser.prefab @@ -0,0 +1,822 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &261523412659639168 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5908911670199323951} + - component: {fileID: 8988918453512510257} + - component: {fileID: 2240610684209615922} + m_Layer: 16 + m_Name: PopupBorder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5908911670199323951 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 261523412659639168} + m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071067} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 100, y: 100, z: 100} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7469805035562623265} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8988918453512510257 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 261523412659639168} + m_Mesh: {fileID: 4300000, guid: 494f6a456f266384a85d4868be7b55bf, type: 3} +--- !u!23 &2240610684209615922 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 261523412659639168} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 77dd4ff8b1158a84397aba783cd0af05, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &1106918886213026712 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6128158106484869655} + - component: {fileID: 3695110814168155270} + - component: {fileID: 4577665851143705682} + - component: {fileID: 7589188267440993657} + - component: {fileID: 8260442582337817514} + m_Layer: 16 + m_Name: PopupWindow_DirectoryChooser + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6128158106484869655 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1106918886213026712} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 7916696915833791254} + - {fileID: 7627545715494479311} + - {fileID: 7627545715494398049} + - {fileID: 7469805035562623265} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &3695110814168155270 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1106918886213026712} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 543b312efaeb6aa4aa25a9e07e815953, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!114 &4577665851143705682 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1106918886213026712} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e57698ce9a0b4d7d83d8c90deab20a43, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Background: {fileID: 7365532819509496529} + m_TopBorder: {fileID: 261523412659639168} + m_BottomBorder: {fileID: 261523412659639168} + m_WindowText: {fileID: 0} + m_CharacterWidth: 0.175 + m_SubtitleCharacterWidth: 0.05625 + m_ButtonWidth: 1 + m_BaseButtonOffset: {x: 0, y: 0.6, z: -0.05} + m_ReticleBounds: {x: 2.4, y: 2.5, z: -0.35} + m_PopUpForwardOffset: -0.25 + m_AutoPlaceButtons: [] + m_TransitionDuration: 0.1 + m_OpenDelay: 0 + m_Persistent: 0 + m_AudioOnOpen: 1 + m_BlockUndoRedo: 0 + m_IsLongPressPopUp: 0 + m_OrderedPageButtons: [] + m_PrevButton: {fileID: 7627545715494710049} + m_NextButton: {fileID: 7627545715494712235} + m_NoDataText: {fileID: 0} + m_ButtonPrefab: {fileID: 7657350995434470025, guid: 3d6150820bc3f464498ee9cb5dc757b8, + type: 3} + m_UnknownImageTexture: {fileID: 2800000, guid: 10e6597ea7e087d47a77c957649c5a36, + type: 3} + m_IconSpacing: 0.2 + m_IconGridWidthFullPage: 1 + m_IconGridHeightFullPage: 6 + m_IconCountNavPage: 6 +--- !u!65 &7589188267440993657 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1106918886213026712} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1.25, y: 1.65, z: 0.01} + m_Center: {x: 0, y: 0, z: -0.01} +--- !u!114 &8260442582337817514 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1106918886213026712} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 739d5b1996234d64992a2ae60c3723e9, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &4726564847716881986 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7469805035562623265} + m_Layer: 16 + m_Name: PopupMesh + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7469805035562623265 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4726564847716881986} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1145465737645379760} + - {fileID: 5908911670199323951} + m_Father: {fileID: 6128158106484869655} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7365532819509496529 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1145465737645379760} + - component: {fileID: 2440891406893126117} + - component: {fileID: 8679918794819188169} + m_Layer: 16 + m_Name: PopupBg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1145465737645379760 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7365532819509496529} + m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071067} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 100, y: 100, z: 100} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7469805035562623265} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &2440891406893126117 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7365532819509496529} + m_Mesh: {fileID: 4300002, guid: 494f6a456f266384a85d4868be7b55bf, type: 3} +--- !u!23 &8679918794819188169 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7365532819509496529} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: db0305ff9081c3b448ac79e85d26e5d4, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &7627545715494710049 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7627545715494479311} + - component: {fileID: 7627545715495737881} + - component: {fileID: 7627545715496686079} + - component: {fileID: 7627545715500915437} + - component: {fileID: 7627545715504408611} + m_Layer: 16 + m_Name: PrevPage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7627545715494479311 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7627545715494710049} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.455, y: -0.645, z: -0.03999996} + m_LocalScale: {x: 0.3, y: 0.3, z: 0.3} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6128158106484869655} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7627545715495737881 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7627545715494710049} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &7627545715496686079 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7627545715494710049} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 5ba3c7f8df6e87543a356f17f88601fe, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!65 &7627545715500915437 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7627545715494710049} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 0.01} + m_Center: {x: 0, y: 0, z: -0.01} +--- !u!114 &7627545715504408611 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7627545715494710049} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dbae3ff4457df6f4ea3af0389871cb9c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_DescriptionType: -1 + m_DescriptionYOffset: 0 + m_DescriptionText: + m_LocalizedDescription: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_DescriptionTextExtra: + m_LocalizedDescriptionExtra: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_DescriptionActivateSpeed: 12 + m_DescriptionZScale: 1 + m_ButtonTexture: {fileID: 2800000, guid: f74f6eac3e3e3c640b1a343ec46ba2dd, type: 3} + m_AtlasTexture: 1 + m_ToggleButton: 0 + m_LongPressReleaseButton: 0 + m_ButtonHasPressedAudio: 1 + m_ZAdjustHover: -0.02 + m_ZAdjustClick: 0.05 + m_HoverScale: 1.1 + m_HoverBoxColliderGrow: 0.2 + m_AddOverlay: 0 + m_SelectionTexture: {fileID: 0} + m_ButtonType: 1 + m_GotoPage: 0 + m_InactiveColor: {r: 0, g: 0, b: 0, a: 0} + references: + version: 2 + RefIds: [] +--- !u!1 &7627545715494712235 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7627545715494398049} + - component: {fileID: 7627545715495712791} + - component: {fileID: 7627545715496699235} + - component: {fileID: 7627545715500968515} + - component: {fileID: 7627545715504366517} + m_Layer: 16 + m_Name: NextPage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7627545715494398049 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7627545715494712235} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.455, y: -0.645, z: -0.03999996} + m_LocalScale: {x: 0.3, y: 0.3, z: 0.3} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6128158106484869655} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7627545715495712791 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7627545715494712235} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &7627545715496699235 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7627545715494712235} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 5ba3c7f8df6e87543a356f17f88601fe, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!65 &7627545715500968515 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7627545715494712235} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 0.01} + m_Center: {x: 0, y: 0, z: -0.01} +--- !u!114 &7627545715504366517 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7627545715494712235} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dbae3ff4457df6f4ea3af0389871cb9c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_DescriptionType: -1 + m_DescriptionYOffset: 0 + m_DescriptionText: + m_LocalizedDescription: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_DescriptionTextExtra: + m_LocalizedDescriptionExtra: + m_TableReference: + m_TableCollectionName: + m_TableEntryReference: + m_KeyId: 0 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_DescriptionActivateSpeed: 12 + m_DescriptionZScale: 1 + m_ButtonTexture: {fileID: 2800000, guid: ab8b9a0b96b6cb74ca1e518f3c56b425, type: 3} + m_AtlasTexture: 1 + m_ToggleButton: 0 + m_LongPressReleaseButton: 0 + m_ButtonHasPressedAudio: 1 + m_ZAdjustHover: -0.02 + m_ZAdjustClick: 0.05 + m_HoverScale: 1.1 + m_HoverBoxColliderGrow: 0.2 + m_AddOverlay: 0 + m_SelectionTexture: {fileID: 0} + m_ButtonType: 0 + m_GotoPage: 0 + m_InactiveColor: {r: 0, g: 0, b: 0, a: 0} + references: + version: 2 + RefIds: [] +--- !u!1 &7627545715494736493 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7916696915833791254} + - component: {fileID: 5281546357127046714} + - component: {fileID: 8162599791119023422} + m_Layer: 16 + m_Name: TextLine + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &7916696915833791254 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7627545715494736493} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.002} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6128158106484869655} + 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.6693, y: 0.7899} + m_SizeDelta: {x: 1.33, y: 0.25} + m_Pivot: {x: 0, y: 1} +--- !u!23 &5281546357127046714 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7627545715494736493} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2133298, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!114 &8162599791119023422 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7627545715494736493} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, 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: Description + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} + m_sharedMaterial: {fileID: 2133298, guid: fce54057bad3d2d4cb3c36ee394be518, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, 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: 1.915 + m_fontSizeBase: 1.915 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + 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: 0 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + _SortingLayer: 0 + _SortingLayerID: 0 + _SortingOrder: 0 + m_hasFontAssetChanged: 0 + m_renderer: {fileID: 5281546357127046714} + m_maskType: 0 diff --git a/Assets/Prefabs/PopUps/PopupWindow_DirectoryChooser.prefab.meta b/Assets/Prefabs/PopUps/PopupWindow_DirectoryChooser.prefab.meta new file mode 100644 index 0000000000..05d83afda7 --- /dev/null +++ b/Assets/Prefabs/PopUps/PopupWindow_DirectoryChooser.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ffa805ad00d819549862fa54772bbab9 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Sliced Button.prefab b/Assets/Prefabs/Sliced Button.prefab new file mode 100644 index 0000000000..4d2d015001 --- /dev/null +++ b/Assets/Prefabs/Sliced Button.prefab @@ -0,0 +1,537 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &575310418684735204 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 120092170274840608} + - component: {fileID: 7743508969455358589} + - component: {fileID: 6171361314498584583} + m_Layer: 16 + m_Name: Border mid + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &120092170274840608 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 575310418684735204} + m_LocalRotation: {x: -0.5, y: -0.5, z: 0.5, w: 0.5} + m_LocalPosition: {x: 0.24200003, y: -0.019999823, z: 0.000012705} + m_LocalScale: {x: 18.273024, y: 18.273022, z: 53} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 8596510312989206979} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: -90, z: 90} +--- !u!33 &7743508969455358589 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 575310418684735204} + m_Mesh: {fileID: -4036931706626404824, guid: f0bcdd7ff6c5def40be5e10d8c9ef2b1, type: 3} +--- !u!23 &6171361314498584583 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 575310418684735204} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 40d29de2bdc11f04dbfa25059165916e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &3542187223295693708 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9213809022599775818} + - component: {fileID: 3464852359078553849} + - component: {fileID: 2269114156945468326} + m_Layer: 16 + m_Name: Border left + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &9213809022599775818 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3542187223295693708} + m_LocalRotation: {x: -0.5, y: -0.5, z: 0.5, w: 0.5} + m_LocalPosition: {x: -0.129, y: -0.019999823, z: 0.000012705} + m_LocalScale: {x: 18.273024, y: 18.273022, z: 18.273022} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 8596510312989206979} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: -90, z: 90} +--- !u!33 &3464852359078553849 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3542187223295693708} + m_Mesh: {fileID: -2444225584268532345, guid: f0bcdd7ff6c5def40be5e10d8c9ef2b1, type: 3} +--- !u!23 &2269114156945468326 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3542187223295693708} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 40d29de2bdc11f04dbfa25059165916e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &4100344306875617601 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3707727813358560176} + - component: {fileID: 4264358961367536708} + - component: {fileID: 5877446670226440802} + m_Layer: 16 + m_Name: Background mid + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3707727813358560176 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4100344306875617601} + m_LocalRotation: {x: -0.5, y: -0.5, z: 0.5, w: 0.5} + m_LocalPosition: {x: 0.24200003, y: -0.019999823, z: -0.000079998004} + m_LocalScale: {x: 18.239998, y: 18.240002, z: 53} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 8596510312989206979} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: -90, z: 90} +--- !u!33 &4264358961367536708 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4100344306875617601} + m_Mesh: {fileID: -5946062147721677274, guid: f0bcdd7ff6c5def40be5e10d8c9ef2b1, type: 3} +--- !u!23 &5877446670226440802 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4100344306875617601} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: db0305ff9081c3b448ac79e85d26e5d4, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &4195409130962326675 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8368913553107481572} + - component: {fileID: 5514185406111221054} + - component: {fileID: 8958601798997303738} + m_Layer: 16 + m_Name: Background left + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8368913553107481572 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4195409130962326675} + m_LocalRotation: {x: -0.5, y: -0.5, z: 0.5, w: 0.5} + m_LocalPosition: {x: -0.12899998, y: -0.019999823, z: -0.000079998004} + m_LocalScale: {x: 18.239998, y: 18.240002, z: 18.240002} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 8596510312989206979} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: -90, z: 90} +--- !u!33 &5514185406111221054 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4195409130962326675} + m_Mesh: {fileID: -2806758605043559508, guid: f0bcdd7ff6c5def40be5e10d8c9ef2b1, type: 3} +--- !u!23 &8958601798997303738 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4195409130962326675} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: db0305ff9081c3b448ac79e85d26e5d4, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &8076756676721451501 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3842738717155257372} + - component: {fileID: 4536293015326432124} + - component: {fileID: 1071268946861714133} + m_Layer: 16 + m_Name: Border right + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3842738717155257372 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8076756676721451501} + m_LocalRotation: {x: -0.5, y: -0.5, z: 0.5, w: 0.5} + m_LocalPosition: {x: 0.6100001, y: -0.019999823, z: 0.000012705} + m_LocalScale: {x: 18.273024, y: 18.273022, z: 18.273022} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 8596510312989206979} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: -90, z: 90} +--- !u!33 &4536293015326432124 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8076756676721451501} + m_Mesh: {fileID: 2376217954695839696, guid: f0bcdd7ff6c5def40be5e10d8c9ef2b1, type: 3} +--- !u!23 &1071268946861714133 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8076756676721451501} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 40d29de2bdc11f04dbfa25059165916e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &8550303440375555915 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8596510312989206979} + m_Layer: 16 + m_Name: Sliced Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8596510312989206979 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8550303440375555915} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 9213809022599775818} + - {fileID: 8368913553107481572} + - {fileID: 120092170274840608} + - {fileID: 3707727813358560176} + - {fileID: 3842738717155257372} + - {fileID: 39057282034985054} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8696106697093163457 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 39057282034985054} + - component: {fileID: 483619237660993380} + - component: {fileID: 2318498179396992636} + m_Layer: 16 + m_Name: Background right + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &39057282034985054 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8696106697093163457} + m_LocalRotation: {x: -0.5, y: -0.5, z: 0.5, w: 0.5} + m_LocalPosition: {x: 0.61000013, y: -0.019999823, z: -0.000079998004} + m_LocalScale: {x: 18.239998, y: 18.240002, z: 18.240002} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 8596510312989206979} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: -90, z: 90} +--- !u!33 &483619237660993380 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8696106697093163457} + m_Mesh: {fileID: 3455490531775274463, guid: f0bcdd7ff6c5def40be5e10d8c9ef2b1, type: 3} +--- !u!23 &2318498179396992636 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8696106697093163457} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: db0305ff9081c3b448ac79e85d26e5d4, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} diff --git a/Assets/Prefabs/Sliced Button.prefab.meta b/Assets/Prefabs/Sliced Button.prefab.meta new file mode 100644 index 0000000000..baa54355a3 --- /dev/null +++ b/Assets/Prefabs/Sliced Button.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 274bb5f0c30dba14f8390b2848326116 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/BackgroundImageCatalog.cs b/Assets/Scripts/BackgroundImageCatalog.cs index 1a3e353fbf..3d773e4e11 100644 --- a/Assets/Scripts/BackgroundImageCatalog.cs +++ b/Assets/Scripts/BackgroundImageCatalog.cs @@ -21,6 +21,8 @@ namespace TiltBrush public class BackgroundImageCatalog : ReferenceImageCatalog { static public BackgroundImageCatalog m_Instance; + protected string m_CurrentBackgroundImagesDirectory; + public string CurrentBackgroundImagesDirectory => m_CurrentBackgroundImagesDirectory; void Awake() { @@ -29,27 +31,47 @@ void Awake() App.InitMediaLibraryPath(); App.InitBackgroundImagesPath(m_DefaultImages); - m_ReferenceDirectory = App.BackgroundImagesLibraryPath(); + ChangeDirectory(HomeDirectory); + } - if (Directory.Exists(m_ReferenceDirectory)) + public override void ChangeDirectory(string newPath) + { + m_CurrentBackgroundImagesDirectory = newPath; + if (Directory.Exists(m_CurrentBackgroundImagesDirectory)) { - m_FileWatcher = new FileWatcher(m_ReferenceDirectory); + m_FileWatcher = new FileWatcher(m_CurrentBackgroundImagesDirectory); m_FileWatcher.NotifyFilter = NotifyFilters.LastWrite; m_FileWatcher.FileChanged += OnChanged; m_FileWatcher.FileCreated += OnChanged; m_FileWatcher.FileDeleted += OnChanged; m_FileWatcher.EnableRaisingEvents = true; } - - ImageCache.DeleteObsoleteCaches(); - m_Images = new List(); ProcessReferenceDirectory(userOverlay: false); } + public override string HomeDirectory => App.BackgroundImagesLibraryPath(); + public override bool IsHomeDirectory() => m_CurrentBackgroundImagesDirectory == HomeDirectory; + + public override bool IsSubDirectoryOfHome() + { + return m_CurrentBackgroundImagesDirectory.StartsWith(HomeDirectory); + } + protected override bool ValidExtension(string ext) { return ext == ".jpg" || ext == ".jpeg" || ext == ".png" || ext == ".hdr"; } + + protected override void ProcessReferenceDirectory(bool userOverlay = true) + { + _ProcessReferenceDirectory_Impl(m_CurrentBackgroundImagesDirectory, userOverlay); + } + + public override string GetCurrentDirectory() + { + return m_CurrentBackgroundImagesDirectory; + } + } } // namespace TiltBrush diff --git a/Assets/Scripts/GUI/DirectoryChooserButton.cs b/Assets/Scripts/GUI/DirectoryChooserButton.cs new file mode 100644 index 0000000000..0a7924d8c4 --- /dev/null +++ b/Assets/Scripts/GUI/DirectoryChooserButton.cs @@ -0,0 +1,50 @@ +// Copyright 2024 The Open Brush Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +using System; +using System.IO; +using UnityEngine; +using TMPro; + +namespace TiltBrush +{ + class DirectoryChooserButton : BaseButton + { + public TextMeshPro m_TextLabel; + [NonSerialized] public PopUpWindow_DirectoryChooser m_Popup; + [NonSerialized] public ReferencePanel m_Panel; + + private DirectoryInfo m_DirectoryInfo; + private string m_Label; + + public void SetDirectory(string directory) + { + m_DirectoryInfo = new DirectoryInfo(directory); + m_Label = m_DirectoryInfo.Name; + m_TextLabel.text = m_Label; + } + + public override void ButtonPressed(RaycastHit rHitInfo) + { + base.ButtonPressed(rHitInfo); + m_Panel.CloseActivePopUp(false); + m_Panel.ChangeDirectoryForCurrentTab(m_DirectoryInfo.FullName); + } + + protected override void SetMaterialColor(Color rColor) + { + // m_TextLabel.color = rColor; + } + } +} diff --git a/Assets/Scripts/GUI/DirectoryChooserButton.cs.meta b/Assets/Scripts/GUI/DirectoryChooserButton.cs.meta new file mode 100644 index 0000000000..1ca05debce --- /dev/null +++ b/Assets/Scripts/GUI/DirectoryChooserButton.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: fc90f66f9d0c44db90ae259869b1e000 +timeCreated: 1713188590 \ No newline at end of file diff --git a/Assets/Scripts/GUI/PagingPopUpWindow.cs b/Assets/Scripts/GUI/PagingPopUpWindow.cs index 86dddc6f27..2be9f04add 100644 --- a/Assets/Scripts/GUI/PagingPopUpWindow.cs +++ b/Assets/Scripts/GUI/PagingPopUpWindow.cs @@ -286,24 +286,28 @@ override public void UpdateUIComponents(Ray rCastRay, bool inputValid, Collider bool bThisIconActive = false; ImageIcon rIcon = m_Icons[i]; - if (bButtonsAvailable && rIcon.m_Valid && - BasePanel.DoesRayHitCollider(rCastRay, rIcon.m_IconScript.GetCollider())) + var collider = rIcon.m_IconScript.GetCollider(); + if (collider != null) { - bool bWasButtonPressed = rIcon.m_IconScript.IsPressed(); - rIcon.m_IconScript.UpdateButtonState(inputValid); - if (rIcon.m_IconScript.IsPressed() && !bWasButtonPressed) + if (bButtonsAvailable && rIcon.m_Valid && + BasePanel.DoesRayHitCollider(rCastRay, collider)) { - //on press, refresh the buttons - RefreshPage(); - } + bool bWasButtonPressed = rIcon.m_IconScript.IsPressed(); + rIcon.m_IconScript.UpdateButtonState(inputValid); + if (rIcon.m_IconScript.IsPressed() && !bWasButtonPressed) + { + //on press, refresh the buttons + RefreshPage(); + } - bThisIconActive = true; - } + bThisIconActive = true; + } - if (!bThisIconActive) - { - //reset state of button because we're not messing with it - rIcon.m_IconScript.ResetState(); + if (!bThisIconActive) + { + //reset state of button because we're not messing with it + rIcon.m_IconScript.ResetState(); + } } } diff --git a/Assets/Scripts/GUI/PopUpWindow_DirectoryChooser.cs b/Assets/Scripts/GUI/PopUpWindow_DirectoryChooser.cs new file mode 100644 index 0000000000..514aad1b67 --- /dev/null +++ b/Assets/Scripts/GUI/PopUpWindow_DirectoryChooser.cs @@ -0,0 +1,50 @@ +// Copyright 2024 The Open Brush Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +using UnityEngine; +namespace TiltBrush +{ + class PopUpWindow_DirectoryChooser : PagingPopUpWindow + { + private ReferencePanel m_ParentReferencePanel; + + // m_DataCount can get called early, so we need to init m_ParentReferencePanel ourselves + private ReferencePanel GetParentReferencePanel() + { + if (m_ParentReferencePanel == null) + { + m_ParentReferencePanel = GetComponentInParent(); + } + return m_ParentReferencePanel; + } + + protected override int m_DataCount => GetParentReferencePanel().CurrentSubdirectories.Length; + + // Misleadingly named: + // ImageIcon actually refers to a button gameobject and button script + protected override void RefreshIcon(ImageIcon icon, int iCatalog) + { + var btn = icon.m_IconScript as DirectoryChooserButton; + var parent = GetParentReferencePanel(); + btn.SetDirectory(parent.CurrentSubdirectories[iCatalog]); + btn.m_Popup = this; + btn.m_Panel = parent; + } + + protected override void InitIcon(ImageIcon icon) + { + icon.m_Valid = true; + } + } +} diff --git a/Assets/Scripts/GUI/PopUpWindow_DirectoryChooser.cs.meta b/Assets/Scripts/GUI/PopUpWindow_DirectoryChooser.cs.meta new file mode 100644 index 0000000000..d32016b7ac --- /dev/null +++ b/Assets/Scripts/GUI/PopUpWindow_DirectoryChooser.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: e57698ce9a0b4d7d83d8c90deab20a43 +timeCreated: 1713188459 \ No newline at end of file diff --git a/Assets/Scripts/GUI/ReferencePanel.cs b/Assets/Scripts/GUI/ReferencePanel.cs index 7b0d2f443d..7d8abc1ee0 100644 --- a/Assets/Scripts/GUI/ReferencePanel.cs +++ b/Assets/Scripts/GUI/ReferencePanel.cs @@ -13,6 +13,7 @@ // limitations under the License. using System.Collections.Generic; +using System.IO; using System.Linq; using UnityEngine; using TMPro; @@ -28,8 +29,16 @@ public class ReferencePanel : ModalPanel [SerializeField] private ReferencePanelTab[] m_Tabs; [SerializeField] private MeshRenderer[] m_ExtraBorders; [SerializeField] private GameObject m_RefreshingSpinner; + [SerializeField] private TextOptionButton m_DirectoryChooserPopupButton; + [SerializeField] private ActionButton m_DirectoryHomeButton; + [SerializeField] private ActionButton m_DirectoryUpButton; + [SerializeField] private TextMeshPro m_InfoText; private ReferencePanelTab m_CurrentTab; private int m_EnabledCount = 0; + private string[] m_CurrentSubdirectories; + private bool m_FolderNavButtonsNeedUpdate; + + public string[] CurrentSubdirectories => m_CurrentSubdirectories; public Texture2D UnknownImageTexture { @@ -49,6 +58,7 @@ protected override List Icons return m_CurrentTab.Buttons; } } + public ReferencePanelTab CurrentTab => m_CurrentTab; public override bool IsInButtonMode(ModeButton button) { @@ -103,6 +113,12 @@ void Update() { m_RefreshingSpinner.SetActive(m_CurrentTab != null && m_CurrentTab.Catalog.IsScanning); } + + if (m_FolderNavButtonsNeedUpdate) + { + UpdateNavButtonState(); + m_FolderNavButtonsNeedUpdate = false; + } } public override void OnWidgetHide() @@ -204,9 +220,62 @@ protected override void RefreshPage() } m_NumPages = m_CurrentTab.PageCount; - m_NoData.gameObject.SetActive(m_CurrentTab.Catalog.ItemCount == 0); + string currentDir = m_CurrentTab.ReferenceButtonType switch + { + ReferenceButton.Type.Images => ReferenceImageCatalog.m_Instance.CurrentImagesDirectory, + ReferenceButton.Type.BackgroundImages => BackgroundImageCatalog.m_Instance.CurrentBackgroundImagesDirectory, + ReferenceButton.Type.Models => ModelCatalog.m_Instance.CurrentModelsDirectory, + ReferenceButton.Type.Videos => VideoCatalog.Instance.CurrentVideoDirectory + }; + + var truncatedPath = currentDir.Substring(App.MediaLibraryPath().Length); + if (m_DirectoryChooserPopupButton != null) + { + m_DirectoryChooserPopupButton.ButtonLabel = $"{truncatedPath}"; + m_CurrentSubdirectories = Directory.GetDirectories(currentDir); + } base.RefreshPage(); + m_FolderNavButtonsNeedUpdate = m_DirectoryChooserPopupButton != null; + UpdateInfoText(); + } + + private void UpdateNavButtonState() + { + if (m_CurrentTab.Catalog.IsSubDirectoryOfHome() && !m_CurrentTab.Catalog.IsHomeDirectory()) + { + m_DirectoryHomeButton.SetButtonAvailable(true); + m_DirectoryUpButton.SetButtonAvailable(true); + + m_DirectoryHomeButton.SetDescriptionUnavailable(false); + m_DirectoryUpButton.SetDescriptionUnavailable(false); + } + else + { + m_DirectoryHomeButton.SetButtonAvailable(false); + m_DirectoryUpButton.SetButtonAvailable(false); + + m_DirectoryHomeButton.SetDescriptionUnavailable(true); + m_DirectoryUpButton.SetDescriptionUnavailable(true); + } + + if (m_CurrentSubdirectories.Length == 0) + { + m_DirectoryChooserPopupButton.SetButtonAvailable(false); + m_DirectoryChooserPopupButton.SetDescriptionUnavailable(true); + } + else + { + m_DirectoryChooserPopupButton.SetButtonAvailable(true); + m_DirectoryChooserPopupButton.SetDescriptionUnavailable(false); + } + + // Only show for truly empty home directory + m_NoData.gameObject.SetActive( + m_CurrentTab.Catalog.IsHomeDirectory() && + m_CurrentTab.Catalog.ItemCount == 0 && + m_CurrentSubdirectories.Length == 0 + ); } void OnCatalogChanged() @@ -238,5 +307,40 @@ public override bool RaycastAgainstMeshCollider(Ray ray, out RaycastHit hitInfo, return m_CurrentTab.RaycastAgainstMeshCollider(ray, out hitInfo, dist); } + public void ChangeDirectoryForCurrentTab(string path) + { + m_CurrentTab.PageIndex = 0; + GotoPage(m_CurrentTab.PageIndex); + m_CurrentTab.Catalog.ChangeDirectory(path); + } + + private void UpdateInfoText() + { + if (m_InfoText != null) + { + // TODO localize + m_InfoText.text = $"{m_CurrentTab.Catalog.ItemCount} Files {m_CurrentSubdirectories.Length} Subfolders"; + } + } + + public void ChangeRelativeFolderForCurrentTab(string relativePath) + { + var path = Path.Join(m_CurrentTab.Catalog.HomeDirectory, relativePath); + ChangeDirectoryForCurrentTab(path); + } + + public void HomeFolderForCurrentTab(string path) + { + ChangeDirectoryForCurrentTab(m_CurrentTab.Catalog.HomeDirectory); + } + + public void NavigateUpForCurrentTab() + { + if (m_CurrentTab.Catalog.IsSubDirectoryOfHome() && !m_CurrentTab.Catalog.IsHomeDirectory()) + { + var currentDir = new DirectoryInfo(m_CurrentTab.Catalog.GetCurrentDirectory()); + ChangeDirectoryForCurrentTab(currentDir.Parent.FullName); + } + } } } // namespace TiltBrush diff --git a/Assets/Scripts/GUI/TextActionButton.cs b/Assets/Scripts/GUI/TextActionButton.cs index f003f8e054..1c9876b3d7 100644 --- a/Assets/Scripts/GUI/TextActionButton.cs +++ b/Assets/Scripts/GUI/TextActionButton.cs @@ -1,4 +1,22 @@ -using TMPro; +// Copyright 2024 The Open Brush Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +using System; +using UnityEngine; +using TMPro; + +using TMPro; using UnityEngine; namespace TiltBrush { diff --git a/Assets/Scripts/GUI/TextOptionButton.cs b/Assets/Scripts/GUI/TextOptionButton.cs new file mode 100644 index 0000000000..f1f5b03586 --- /dev/null +++ b/Assets/Scripts/GUI/TextOptionButton.cs @@ -0,0 +1,44 @@ +using TMPro; +using UnityEngine; +namespace TiltBrush +{ + public class TextOptionButton : OptionButton + { + public GameObject m_Highlight; + public string m_ButtonLabel; + public Color m_ColorSelected; + public Color m_ColorDeselected; + + public string ButtonLabel + { + get => m_ButtonLabel; + set + { + m_ButtonLabel = value; + SetTextLabel(); + } + } + + + protected override void Awake() + { + base.Awake(); + SetTextLabel(); + SetButtonSelected(false); + } + + [ContextMenu("Set Text Label")] + private void SetTextLabel() + { + GetComponentInChildren().text = m_ButtonLabel; + } + + public override void SetButtonSelected(bool bSelected) + { + base.SetButtonSelected(bSelected); + m_Highlight.SetActive(bSelected); + var color = bSelected ? m_ColorSelected : m_ColorDeselected; + m_Highlight.GetComponent().material.color = color; + } + } +} diff --git a/Assets/Scripts/GUI/TextOptionButton.cs.meta b/Assets/Scripts/GUI/TextOptionButton.cs.meta new file mode 100644 index 0000000000..f56a65c61f --- /dev/null +++ b/Assets/Scripts/GUI/TextOptionButton.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 3d9f8be89ad34c6e82b5721be6c40c4a +timeCreated: 1713184033 \ No newline at end of file diff --git a/Assets/Scripts/IReferenceItemCatalog.cs b/Assets/Scripts/IReferenceItemCatalog.cs index c4b98b5f4c..d20ea280cd 100644 --- a/Assets/Scripts/IReferenceItemCatalog.cs +++ b/Assets/Scripts/IReferenceItemCatalog.cs @@ -22,5 +22,10 @@ public interface IReferenceItemCatalog bool IsScanning { get; } event Action CatalogChanged; void ForceCatalogScan(); + void ChangeDirectory(string path); + bool IsHomeDirectory(); + string HomeDirectory { get; } + bool IsSubDirectoryOfHome(); + public string GetCurrentDirectory(); } } // namespace TiltBrush diff --git a/Assets/Scripts/ModelCatalog.cs b/Assets/Scripts/ModelCatalog.cs index f85569a231..37b66c4ffc 100644 --- a/Assets/Scripts/ModelCatalog.cs +++ b/Assets/Scripts/ModelCatalog.cs @@ -40,11 +40,13 @@ public class ModelCatalog : MonoBehaviour, IReferenceItemCatalog // The other is post-m13 and contains raw transforms (original model's pivot and size) private Dictionary m_MissingModelsByRelativePath; - private List m_OrderedModelNames; + private Dictionary> m_OrderedModelNames; private bool m_FolderChanged; private FileWatcher m_FileWatcher; - private string m_ModelsDirectory; + private string m_CurrentModelsDirectory; + public string CurrentModelsDirectory => m_CurrentModelsDirectory; private string m_ChangedFile; + private bool m_RecurseDirectories = false; public bool IsScanning { @@ -53,7 +55,7 @@ public bool IsScanning public int ItemCount { - get { return m_ModelsByRelativePath.Count; } + get { return m_OrderedModelNames[m_CurrentModelsDirectory].Count; } } public IEnumerable MissingModels @@ -88,12 +90,20 @@ public void Init() { App.InitMediaLibraryPath(); App.InitModelLibraryPath(m_DefaultModels); + m_ModelsByRelativePath = new Dictionary(); + m_MissingNormalizedModelsByRelativePath = new Dictionary(); + m_MissingModelsByRelativePath = new Dictionary(); + m_OrderedModelNames = new Dictionary>(); + ChangeDirectory(HomeDirectory); + } - m_ModelsDirectory = App.ModelLibraryPath(); + public void ChangeDirectory(string newPath) + { + m_CurrentModelsDirectory = newPath; - if (Directory.Exists(m_ModelsDirectory)) + if (Directory.Exists(m_CurrentModelsDirectory)) { - m_FileWatcher = new FileWatcher(m_ModelsDirectory); + m_FileWatcher = new FileWatcher(m_CurrentModelsDirectory); m_FileWatcher.NotifyFilter = NotifyFilters.LastWrite; m_FileWatcher.FileChanged += OnChanged; m_FileWatcher.FileCreated += OnChanged; @@ -101,11 +111,20 @@ public void Init() m_FileWatcher.EnableRaisingEvents = true; } - m_ModelsByRelativePath = new Dictionary(); - m_MissingNormalizedModelsByRelativePath = new Dictionary(); - m_MissingModelsByRelativePath = new Dictionary(); - m_OrderedModelNames = new List(); - LoadModels(); + LoadModelsForNewDirectory(m_CurrentModelsDirectory); + } + + public string HomeDirectory => App.ModelLibraryPath(); + public bool IsHomeDirectory() => m_CurrentModelsDirectory == HomeDirectory; + + public bool IsSubDirectoryOfHome() + { + return m_CurrentModelsDirectory.StartsWith(HomeDirectory); + } + + public string GetCurrentDirectory() + { + return m_CurrentModelsDirectory; } private void OnChanged(object source, FileSystemEventArgs e) @@ -155,7 +174,7 @@ public void PrintMissingModelWarnings() public Model GetModelAtIndex(int i) { - return m_ModelsByRelativePath[m_OrderedModelNames[i]]; + return m_ModelsByRelativePath[m_OrderedModelNames[m_CurrentModelsDirectory][i]]; } public void LoadModels() @@ -171,9 +190,9 @@ public void LoadModels() } m_ChangedFile = null; } - m_ModelsByRelativePath.Clear(); - ProcessDirectory(m_ModelsDirectory, oldModels); + m_ModelsByRelativePath.Clear(); + ProcessDirectory(m_CurrentModelsDirectory, oldModels); if (oldModels.Count > 0) { @@ -189,10 +208,10 @@ public void LoadModels() Resources.UnloadUnusedAssets(); } - m_OrderedModelNames = m_ModelsByRelativePath.Keys.ToList(); - m_OrderedModelNames.Sort(); + m_OrderedModelNames[m_CurrentModelsDirectory] = m_ModelsByRelativePath.Keys.ToList(); + m_OrderedModelNames[m_CurrentModelsDirectory].Sort(); - foreach (string relativePath in m_OrderedModelNames) + foreach (string relativePath in m_OrderedModelNames[m_CurrentModelsDirectory]) { if (m_MissingModelsByRelativePath.ContainsKey(relativePath)) { @@ -209,6 +228,45 @@ public void LoadModels() } m_FolderChanged = false; + + if (CatalogChanged != null) + { + CatalogChanged(); + } + } + + public void LoadModelsForNewDirectory(string path) + { + var oldModels = new Dictionary(m_ModelsByRelativePath); + ProcessDirectory(path, oldModels); + // Convert directory to a path relative to HomeDirectory + var modelsInDirectory = m_ModelsByRelativePath.Keys.Where(m => + { + var dirPath = Path.GetDirectoryName(Path.Join(HomeDirectory, m)); + return dirPath == path; + }).ToList(); + modelsInDirectory.Sort(); + m_OrderedModelNames[path] = modelsInDirectory; + + foreach (string relativePath in m_OrderedModelNames[path]) + { + if (m_MissingModelsByRelativePath.ContainsKey(relativePath)) + { + ModelWidget.CreateModelsFromRelativePath( + relativePath, null, m_MissingModelsByRelativePath[relativePath], null, null, null); + m_MissingModelsByRelativePath.Remove(relativePath); + } + if (m_MissingNormalizedModelsByRelativePath.ContainsKey(relativePath)) + { + ModelWidget.CreateModelsFromRelativePath( + relativePath, m_MissingNormalizedModelsByRelativePath[relativePath], null, null, null, null); + m_MissingModelsByRelativePath.Remove(relativePath); + } + } + if (CatalogChanged != null) + { + CatalogChanged(); + } } public void ForceCatalogScan() @@ -232,23 +290,24 @@ void ProcessDirectory(string sPath, Dictionary oldModels) { if (Directory.Exists(sPath)) { - //look for .obj files string[] aFiles = Directory.GetFiles(sPath); // Models we download from Poly are called ".gltf2", but ".gltf" is more standard - string[] extensions = { ".obj", ".fbx", ".gltf2", ".gltf", ".glb", ".ply" }; + List extensions = new() { ".gltf2", ".gltf", ".glb", ".ply" }; - var l = new List(extensions); - l.AddRange(new string[] { ".usda", ".usdc", ".usd" }); - extensions = l.ToArray(); +#if USD_SUPPORTED + extensions.AddRange(new [] { ".usda", ".usdc", ".usd" }); +#endif +#if FBX_SUPPORTED + extensions.AddRange(new [] { ".obj", ".fbx" }); +#endif for (int i = 0; i < aFiles.Length; ++i) { string sExtension = Path.GetExtension(aFiles[i]).ToLower(); if (extensions.Contains(sExtension)) { - Model rNewModel = null; - // XXX Use file:/// for async www calls, otherwise it is not needed. - string path = /*"file:///" + */ aFiles[i].Replace("\\", "/"); + Model rNewModel; + string path = aFiles[i].Replace("\\", "/"); try { rNewModel = oldModels[path]; @@ -258,15 +317,20 @@ void ProcessDirectory(string sPath, Dictionary oldModels) { rNewModel = new Model(Model.Location.File(WidgetManager.GetModelSubpath(path))); } - m_ModelsByRelativePath.Add(rNewModel.RelativePath, rNewModel); + // Should we skip this loop earlier if m_ModelsByRelativePath already contains the key? + m_ModelsByRelativePath.TryAdd(rNewModel.RelativePath, rNewModel); } } - //recursion - string[] aSubdirectories = Directory.GetDirectories(sPath); - for (int i = 0; i < aSubdirectories.Length; ++i) + // We used to recurse for models but we now have directory navigation + // I'm keeping this around for now + if (m_RecurseDirectories) { - ProcessDirectory(aSubdirectories[i], oldModels); + string[] aSubdirectories = Directory.GetDirectories(sPath); + for (int i = 0; i < aSubdirectories.Length; ++i) + { + ProcessDirectory(aSubdirectories[i], oldModels); + } } } } @@ -278,6 +342,13 @@ public Model GetModel(string relativePath) { Model m; m_ModelsByRelativePath.TryGetValue(relativePath, out m); + if (m == null) + { + // The directory probably hasn't been processed yet + string relativeDirPath = Path.GetDirectoryName(relativePath); + LoadModelsForNewDirectory(Path.Combine(HomeDirectory, relativeDirPath)); + m_ModelsByRelativePath.TryGetValue(relativePath, out m); + } return m; } } diff --git a/Assets/Scripts/ReferenceImage.cs b/Assets/Scripts/ReferenceImage.cs index cc110aee01..c6ba74007a 100644 --- a/Assets/Scripts/ReferenceImage.cs +++ b/Assets/Scripts/ReferenceImage.cs @@ -108,6 +108,10 @@ public Texture2D FullSize /// This property is only for those who need to load the image data from disk. public string FilePath { get { return m_Path; } } + // Path relative to Catalog's HomeDirectory with forward slashes. + public string RelativePath => + $".{FileFullPath.Substring(ReferenceImageCatalog.m_Instance.HomeDirectory.Length)}".Replace("\\", "/"); + public ReferenceImage(string path) { m_Path = path; diff --git a/Assets/Scripts/ReferenceImageCatalog.cs b/Assets/Scripts/ReferenceImageCatalog.cs index 800bd958e4..8ddd24958b 100644 --- a/Assets/Scripts/ReferenceImageCatalog.cs +++ b/Assets/Scripts/ReferenceImageCatalog.cs @@ -34,7 +34,8 @@ public class ReferenceImageCatalog : MonoBehaviour, IReferenceItemCatalog private int m_TexturesCreatedThisFrame; protected FileWatcher m_FileWatcher; - protected string m_ReferenceDirectory; + protected string m_CurrentImagesDirectory; + public string CurrentImagesDirectory => m_CurrentImagesDirectory; protected List m_Images; protected Stack m_RequestedLoads; // it's okay if this contains duplicates @@ -68,11 +69,17 @@ void Awake() App.InitMediaLibraryPath(); App.InitReferenceImagePath(m_DefaultImages); - m_ReferenceDirectory = App.ReferenceImagePath(); + ImageCache.DeleteObsoleteCaches(); + ChangeDirectory(HomeDirectory); + } + + public virtual void ChangeDirectory(string newPath) + { + m_CurrentImagesDirectory = newPath; - if (Directory.Exists(m_ReferenceDirectory)) + if (Directory.Exists(m_CurrentImagesDirectory)) { - m_FileWatcher = new FileWatcher(m_ReferenceDirectory); + m_FileWatcher = new FileWatcher(m_CurrentImagesDirectory); m_FileWatcher.NotifyFilter = NotifyFilters.LastWrite; m_FileWatcher.FileChanged += OnChanged; m_FileWatcher.FileCreated += OnChanged; @@ -80,12 +87,27 @@ void Awake() m_FileWatcher.EnableRaisingEvents = true; } - ImageCache.DeleteObsoleteCaches(); - m_Images = new List(); ProcessReferenceDirectory(userOverlay: false); } + public virtual string HomeDirectory => App.ReferenceImagePath(); + + public virtual bool IsHomeDirectory() + { + return m_CurrentImagesDirectory == HomeDirectory; + } + + public virtual bool IsSubDirectoryOfHome() + { + return m_CurrentImagesDirectory.StartsWith(HomeDirectory); + } + + public virtual string GetCurrentDirectory() + { + return m_CurrentImagesDirectory; + } + // This is not persistent state; it avoids allocating a transient Stack every frame private Stack Update__temporarystack = new Stack(); @@ -331,9 +353,14 @@ public Texture2D GetImageIcon(int index, out float aspect) } } + protected virtual void ProcessReferenceDirectory(bool userOverlay = true) + { + _ProcessReferenceDirectory_Impl(m_CurrentImagesDirectory, userOverlay); + } + // Update m_Images with latest contents of reference directory. // Preserves items if they're still in the directory. - protected void ProcessReferenceDirectory(bool userOverlay = true) + protected void _ProcessReferenceDirectory_Impl(string imageDir, bool userOverlay = true) { m_DirNeedsProcessing = false; var oldImagesByPath = m_Images.ToDictionary(image => image.FilePath); @@ -356,7 +383,7 @@ protected void ProcessReferenceDirectory(bool userOverlay = true) try { // GetFiles returns full paths, surprisingly enough. - foreach (var filePath in Directory.GetFiles(m_ReferenceDirectory)) + foreach (var filePath in Directory.GetFiles(imageDir)) { string ext = Path.GetExtension(filePath).ToLower(); if (!ValidExtension(ext)) { continue; } @@ -414,6 +441,22 @@ protected virtual bool ValidExtension(string ext) return ext == ".jpg" || ext == ".jpeg" || ext == ".png" || ext == ".svg"; } + public ReferenceImage RelativePathToImage(string relativePath) + { + // Protect against path traversal below HomeDirectory + string fullPath = Path.GetFullPath(Path.Combine(HomeDirectory, relativePath)); + if (!fullPath.StartsWith(HomeDirectory, StringComparison.OrdinalIgnoreCase)) return null; + + // TODO change to a dictionary to avoid O(n) lookup + var refImage = m_Images.FirstOrDefault(x => x.FileFullPath == fullPath); + if (refImage == null) + { + refImage = new ReferenceImage(fullPath); + m_Images.Add(refImage); + } + return refImage; + } + // Pass a file name with no path components. Matching is purely based on name. // Returns null on error. diff --git a/Assets/Scripts/ReferencePanelModelTab.cs b/Assets/Scripts/ReferencePanelModelTab.cs index 3949c314ca..6dd798a762 100644 --- a/Assets/Scripts/ReferencePanelModelTab.cs +++ b/Assets/Scripts/ReferencePanelModelTab.cs @@ -13,6 +13,7 @@ // limitations under the License. using System; +using UnityEngine; namespace TiltBrush { @@ -27,11 +28,13 @@ public ModelButton ModelButton } public override void Refresh(int iCatalog) { - ModelButton.SetPreset(ModelCatalog.m_Instance.GetModelAtIndex(iCatalog), iCatalog); + var model = ModelCatalog.m_Instance.GetModelAtIndex(iCatalog); + ModelButton.SetPreset(model, iCatalog); } } private int m_LastPageIndexForLoad = -1; + private string m_LastDirectoryForLoad; public override IReferenceItemCatalog Catalog { @@ -58,9 +61,11 @@ public override void RefreshTab(bool selected) { // Destroy previews so only the thumbnail is visible. // Only do this when the page changes, to avoid thrashing the game state. - if (m_LastPageIndexForLoad != PageIndex) + var currentDir = Catalog.GetCurrentDirectory(); + if (m_LastPageIndexForLoad != PageIndex || m_LastDirectoryForLoad != currentDir) { m_LastPageIndexForLoad = PageIndex; + m_LastDirectoryForLoad = currentDir; for (int i = 0; i < m_Icons.Length; i++) { (m_Icons[i].Button as ModelButton).DestroyModelPreview(); diff --git a/Assets/Scripts/Save/MetadataUtils.cs b/Assets/Scripts/Save/MetadataUtils.cs index 3e61de4bfb..c80f2a213b 100644 --- a/Assets/Scripts/Save/MetadataUtils.cs +++ b/Assets/Scripts/Save/MetadataUtils.cs @@ -14,6 +14,7 @@ using UnityEngine; using System.Collections.Generic; +using System.IO; using System.Linq; namespace TiltBrush @@ -149,6 +150,9 @@ TiltVideo ConvertVideoToTiltVideo(VideoWidget widget) { TiltVideo video = new TiltVideo { + // Annoyingly Images now use forward slash and a leading dot. So this is inconsistent. + // Switching videos would have led to backwards incompatible changes in .tilt files + // or an annoying legacy FilePath = widget.Video.PersistentPath, AspectRatio = widget.Video.Aspect, Pinned = widget.Pinned, @@ -208,20 +212,20 @@ public static TiltImages75[] GetTiltImages(GroupIdMapping groupIdMapping) // From the list of image widgets in the sketch, create a map that contains a unique // entry per image, with associated metadata (transform and pin state) stored as arrays. - Dictionary> imagesByFileName = + Dictionary> imagesByPath = new Dictionary>(); Dictionary aspectRatios = new Dictionary(); foreach (var image in imports) { - string fileName = image.FileName; + string path = image.RelativePath; if (image.AspectRatio == null) { Debug.LogError("Trying to save partially-initialized image {fileName}"); } - if (!imagesByFileName.ContainsKey(fileName)) + if (!imagesByPath.ContainsKey(path)) { - imagesByFileName[fileName] = new List(); - aspectRatios[fileName] = image.AspectRatio ?? 1; + imagesByPath[path] = new List(); + aspectRatios[path] = image.AspectRatio ?? 1; } WidgetMetadata newEntry = new WidgetMetadata(); newEntry.xf = image.SaveTransform; @@ -230,16 +234,17 @@ public static TiltImages75[] GetTiltImages(GroupIdMapping groupIdMapping) newEntry.groupId = groupIdMapping.GetId(image.Group); newEntry.layerId = App.Scene.GetIndexOfCanvas(image.Canvas); newEntry.twoSided = image.TwoSided; - imagesByFileName[fileName].Add(newEntry); + imagesByPath[path].Add(newEntry); } // Build the save metadata from our unique map. List imageIndex = new List(); - foreach (var elem in imagesByFileName) + foreach (var elem in imagesByPath) { var val = new TiltImages75 { - FileName = elem.Key, + FilePath = elem.Key, + FileName = Path.GetFileName(elem.Key), AspectRatio = aspectRatios[elem.Key] }; diff --git a/Assets/Scripts/Save/SketchMetadata.cs b/Assets/Scripts/Save/SketchMetadata.cs index d4c1fc3e41..2fbe31acad 100644 --- a/Assets/Scripts/Save/SketchMetadata.cs +++ b/Assets/Scripts/Save/SketchMetadata.cs @@ -634,6 +634,8 @@ public class TiltImages75 { /// *.png or *.jpg, should have no path public string FileName { get; set; } + /// FileName plus path relative to images directory + public string FilePath { get; set; } /// width / height public float AspectRatio { get; set; } // True if image should be pinned on load. Added in M15. diff --git a/Assets/Scripts/SketchControlsScript.cs b/Assets/Scripts/SketchControlsScript.cs index 569e0c3bab..6b4a15f702 100644 --- a/Assets/Scripts/SketchControlsScript.cs +++ b/Assets/Scripts/SketchControlsScript.cs @@ -150,6 +150,7 @@ public enum GlobalCommands RenameSketch = 5200, OpenLayerOptionsPopup = 5201, RenameLayer = 5202, + OpenDirectorChooserPopup = 5800, OpenScriptsCommandsList = 6000, OpenScriptsList = 6001, OpenExampleScriptsList = 6002, diff --git a/Assets/Scripts/VideoCatalog.cs b/Assets/Scripts/VideoCatalog.cs index c42fe5c83b..1a6d91d0ab 100644 --- a/Assets/Scripts/VideoCatalog.cs +++ b/Assets/Scripts/VideoCatalog.cs @@ -27,6 +27,8 @@ public class VideoCatalog : MonoBehaviour, IReferenceItemCatalog [SerializeField] private string[] m_supportedVideoExtensions; private FileWatcher m_FileWatcher; + private string m_CurrentVideoDirectory; + public string CurrentVideoDirectory => m_CurrentVideoDirectory; private List m_Videos; private bool m_ScanningDirectory; private bool m_DirectoryScanRequired; @@ -44,15 +46,20 @@ private void Init() { App.InitMediaLibraryPath(); App.InitVideoLibraryPath(m_DefaultVideos); + ChangeDirectory(HomeDirectory); + } + public void ChangeDirectory(string newPath) + { + m_CurrentVideoDirectory = newPath; m_Videos = new List(); m_ChangedFiles = new HashSet(); StartCoroutine(ScanReferenceDirectory()); - if (Directory.Exists(App.VideoLibraryPath())) + if (Directory.Exists(m_CurrentVideoDirectory)) { - m_FileWatcher = new FileWatcher(App.VideoLibraryPath()); + m_FileWatcher = new FileWatcher(m_CurrentVideoDirectory); m_FileWatcher.NotifyFilter = NotifyFilters.LastWrite; m_FileWatcher.FileChanged += OnDirectoryChanged; m_FileWatcher.FileCreated += OnDirectoryChanged; @@ -61,6 +68,19 @@ private void Init() } } + public string HomeDirectory => App.VideoLibraryPath(); + public bool IsHomeDirectory() => m_CurrentVideoDirectory == HomeDirectory; + + public bool IsSubDirectoryOfHome() + { + return m_CurrentVideoDirectory.StartsWith(HomeDirectory); + } + + public string GetCurrentDirectory() + { + return m_CurrentVideoDirectory; + } + public event Action CatalogChanged; public int ItemCount { @@ -135,7 +155,7 @@ private IEnumerator ScanReferenceDirectory() var existing = new HashSet(m_Videos.Select(x => x.AbsolutePath)); var detected = new HashSet( - Directory.GetFiles(App.VideoLibraryPath(), "*.*", SearchOption.AllDirectories).Where(x => m_supportedVideoExtensions.Contains(Path.GetExtension(x)))); + Directory.GetFiles(m_CurrentVideoDirectory, "*.*", SearchOption.AllDirectories).Where(x => m_supportedVideoExtensions.Contains(Path.GetExtension(x)))); var toDelete = existing.Except(detected).Concat(changedSet).ToArray(); var toScan = detected.Except(existing).Concat(changedSet).ToArray(); diff --git a/Assets/Scripts/Widgets/ImageWidget.cs b/Assets/Scripts/Widgets/ImageWidget.cs index f33c1b247e..2228afd26f 100644 --- a/Assets/Scripts/Widgets/ImageWidget.cs +++ b/Assets/Scripts/Widgets/ImageWidget.cs @@ -31,11 +31,12 @@ private static T Unused(T value) private ReferenceImage m_ReferenceImage; private bool m_TextureAcquired; - /// A string which can be passed to ReferenceImageCatalog.FileNameToIndex. - /// Currently, this is a file _name_. public string FileName => m_ReferenceImage?.FileName ?? m_MissingInfo?.fileName ?? Unused("Error"); + public string RelativePath => + m_ReferenceImage?.RelativePath ?? m_MissingInfo?.fileName ?? Unused("Error"); + /// width / height public override float? AspectRatio => m_ReferenceImage?.ImageAspect ?? m_MissingInfo?.aspectRatio; @@ -111,7 +112,7 @@ public override string GetExportName() } else { - return Path.GetFileNameWithoutExtension(FileName); + return Path.GetFileNameWithoutExtension(RelativePath); } } @@ -209,7 +210,10 @@ public bool GetPixel(float u, float v, out Color pixelColor) public static void FromTiltImage(TiltImages75 tiltImage) { - var refImage = ReferenceImageCatalog.m_Instance.FileNameToImage(tiltImage.FileName); + + var refImage = string.IsNullOrEmpty(tiltImage.FilePath) ? + ReferenceImageCatalog.m_Instance.FileNameToImage(tiltImage.FileName) : + ReferenceImageCatalog.m_Instance.RelativePathToImage(tiltImage.FilePath); var groupIds = tiltImage.GroupIds; var layerIds = tiltImage.LayerIds; var twoSidedFlags = tiltImage.TwoSidedFlags; diff --git a/Assets/Settings/Localization/Strings/Strings Shared Data.asset b/Assets/Settings/Localization/Strings/Strings Shared Data.asset index be65b5797f..0f6941eddc 100644 --- a/Assets/Settings/Localization/Strings/Strings Shared Data.asset +++ b/Assets/Settings/Localization/Strings/Strings Shared Data.asset @@ -3307,6 +3307,10 @@ MonoBehaviour: m_Key: MONOSCOPIC_HELP m_Metadata: m_Items: [] + - m_Id: 224363142209691648 + m_Key: DirectoryChooserPopupButton + m_Metadata: + m_Items: [] m_Metadata: m_Items: [] m_KeyGenerator: diff --git a/Assets/Settings/Localization/Strings/Strings_en.asset b/Assets/Settings/Localization/Strings/Strings_en.asset index 799530a2b8..b88ce33e14 100644 --- a/Assets/Settings/Localization/Strings/Strings_en.asset +++ b/Assets/Settings/Localization/Strings/Strings_en.asset @@ -11,7 +11,7 @@ MonoBehaviour: m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: e9620f8c34305754d8cc9a7e49e852d9, type: 3} m_Name: Strings_en - m_EditorClassIdentifier: + m_EditorClassIdentifier: m_LocaleId: m_Code: en m_SharedData: {fileID: 11400000, guid: c84355079ab3f3e4f8f3812258805f86, type: 2} @@ -3504,6 +3504,10 @@ MonoBehaviour: m_Localized: More info on using Open Brush without VR m_Metadata: m_Items: [] + - m_Id: 224363142209691648 + m_Localized: Pick a Subfolder + m_Metadata: + m_Items: [] references: version: 2 RefIds: [] diff --git a/Assets/Textures/home.png b/Assets/Textures/home.png new file mode 100644 index 0000000000000000000000000000000000000000..64a9c825567e7a33e84bffaa05776d700e79c4ed GIT binary patch literal 8964 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 literal 0 HcmV?d00001 diff --git a/Assets/Textures/home.png.meta b/Assets/Textures/home.png.meta new file mode 100644 index 0000000000..c3a97e35ca --- /dev/null +++ b/Assets/Textures/home.png.meta @@ -0,0 +1,135 @@ +fileFormatVersion: 2 +guid: 251a8ebc071ebde49b2c8d5494ca57cb +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Textures/up-arrow.png b/Assets/Textures/up-arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..2531b8fd75f1872d83059d3712275fa70b775e7e GIT binary patch literal 12337 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