diff --git a/Assets/Resources/Sprites/Editor/UI/icons/closed_category.png b/Assets/Resources/Sprites/Editor/UI/icons/closed_category.png new file mode 100644 index 000000000..f224f62ea Binary files /dev/null and b/Assets/Resources/Sprites/Editor/UI/icons/closed_category.png differ diff --git a/Assets/Resources/Sprites/Editor/UI/icons/closed_category.png.meta b/Assets/Resources/Sprites/Editor/UI/icons/closed_category.png.meta new file mode 100644 index 000000000..1f8a84fcc --- /dev/null +++ b/Assets/Resources/Sprites/Editor/UI/icons/closed_category.png.meta @@ -0,0 +1,123 @@ +fileFormatVersion: 2 +guid: f3bab52971a96c14eb2414b49b0d3683 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + 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: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 512 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + 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: 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: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Editor/UI/icons/open-category.png b/Assets/Resources/Sprites/Editor/UI/icons/open-category.png new file mode 100644 index 000000000..4619cb728 Binary files /dev/null and b/Assets/Resources/Sprites/Editor/UI/icons/open-category.png differ diff --git a/Assets/Resources/Sprites/Editor/UI/icons/open-category.png.meta b/Assets/Resources/Sprites/Editor/UI/icons/open-category.png.meta new file mode 100644 index 000000000..03eaa66c4 --- /dev/null +++ b/Assets/Resources/Sprites/Editor/UI/icons/open-category.png.meta @@ -0,0 +1,123 @@ +fileFormatVersion: 2 +guid: 8001d517cfefe9444b37aea8d1db50d8 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + 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: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 512 + 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: 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: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Editor/UI/icons/paint-tool.png b/Assets/Resources/Sprites/Editor/UI/icons/paint-tool.png new file mode 100644 index 000000000..90042d2e8 Binary files /dev/null and b/Assets/Resources/Sprites/Editor/UI/icons/paint-tool.png differ diff --git a/Assets/Resources/Sprites/Editor/UI/icons/paint-tool.png.meta b/Assets/Resources/Sprites/Editor/UI/icons/paint-tool.png.meta new file mode 100644 index 000000000..e4954e698 --- /dev/null +++ b/Assets/Resources/Sprites/Editor/UI/icons/paint-tool.png.meta @@ -0,0 +1,123 @@ +fileFormatVersion: 2 +guid: 0633125ff714a0d44a5fe749aa4ab6c1 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + 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: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 512 + 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: 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: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Editor/UI/icons_atlas.spriteatlas b/Assets/Resources/Sprites/Editor/UI/icons_atlas.spriteatlas index b53036ea8..85cba7e24 100644 --- a/Assets/Resources/Sprites/Editor/UI/icons_atlas.spriteatlas +++ b/Assets/Resources/Sprites/Editor/UI/icons_atlas.spriteatlas @@ -59,12 +59,14 @@ SpriteAtlas: - {fileID: 21300000, guid: 348825b5c77b9d143961119fc008e631, type: 3} - {fileID: 21300000, guid: 44c391c5df20f2844b9437c0f3138355, type: 3} - {fileID: 21300000, guid: 4ea196d68cba90a4d8b08ad6fe012f49, type: 3} + - {fileID: 21300000, guid: 8001d517cfefe9444b37aea8d1db50d8, type: 3} - {fileID: 21300000, guid: 55bb46a7614176b4c941a5caf846f7e8, type: 3} - {fileID: 21300000, guid: 57971d0838f02124080be29466f8f638, type: 3} - {fileID: 21300000, guid: e85d5d286a8191b499c570d33dd0899c, type: 3} - {fileID: 21300000, guid: 39656548c069d5541a9d9d1a808a76e4, type: 3} - {fileID: 21300000, guid: 21da6678ec5624a439f87f3487819ac0, type: 3} - {fileID: 21300000, guid: b7a1fac8b59b4d14289fa198206ef47e, type: 3} + - {fileID: 21300000, guid: f3bab52971a96c14eb2414b49b0d3683, type: 3} - {fileID: 21300000, guid: 6e7b88d9d62ed1b429c63b83745e3672, type: 3} - {fileID: 21300000, guid: dd516f1a3380ca642939d4fa86603249, type: 3} - {fileID: 21300000, guid: e63dfe3b432d7404bab9ef307426a0bf, type: 3} @@ -77,6 +79,7 @@ SpriteAtlas: - {fileID: 21300000, guid: 9d635a6edbcd76549a58fd1b4640cc99, type: 3} - {fileID: 21300000, guid: 42ffabfe4c37e104d8e9d884fe7db980, type: 3} - {fileID: 21300000, guid: 8ae7d31f585b0cf4483963e20305e4f8, type: 3} + - {fileID: 21300000, guid: 0633125ff714a0d44a5fe749aa4ab6c1, type: 3} - {fileID: 21300000, guid: a851bc8ff871b2e4a8101d0ffab93164, type: 3} - {fileID: 21300000, guid: b29210cf5b7b8234984ec842a3110005, type: 3} m_PackedSpriteNamesToIndex: @@ -89,12 +92,14 @@ SpriteAtlas: - undo - tempo-change - copy + - open-category - fullscreen - grid-snap - bookmark - add-file - tempo-finder - GameEventArrow + - closed_category - selection - document-signed - stop @@ -107,6 +112,7 @@ SpriteAtlas: - wrench - paste - open-folder + - paint-tool - a-z - volume m_RenderDataMap: {} diff --git a/Assets/Scenes/Editor.unity b/Assets/Scenes/Editor.unity index d9d7eb64b..5bcf57a38 100644 --- a/Assets/Scenes/Editor.unity +++ b/Assets/Scenes/Editor.unity @@ -371,9 +371,9 @@ RectTransform: m_Father: {fileID: 574002313} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: -21} m_SizeDelta: {x: 32, y: 32} m_Pivot: {x: 0, y: 0.5} --- !u!114 &9435782 @@ -3656,9 +3656,9 @@ RectTransform: m_Father: {fileID: 539838476} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 32, y: -21} m_SizeDelta: {x: 32, y: 32} m_Pivot: {x: 1, y: 0.5} --- !u!114 &121871281 @@ -3801,9 +3801,9 @@ RectTransform: m_Father: {fileID: 539838476} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 72, y: -21} m_SizeDelta: {x: 32, y: 32} m_Pivot: {x: 1, y: 0.5} --- !u!114 &129013734 @@ -3923,9 +3923,9 @@ RectTransform: m_Father: {fileID: 539838476} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 112, y: -21} m_SizeDelta: {x: 32, y: 32} m_Pivot: {x: 1, y: 0.5} --- !u!114 &151246938 @@ -4507,6 +4507,9 @@ MonoBehaviour: _gameSelectionEventRef: {fileID: 1119871594} _headerObject: {fileID: 1039002537} _headerText: {fileID: 93287373} + _collapseImage: {fileID: 946351541} + _openSprite: {fileID: 21300000, guid: 8001d517cfefe9444b37aea8d1db50d8, type: 3} + _closedSprite: {fileID: 21300000, guid: f3bab52971a96c14eb2414b49b0d3683, type: 3} --- !u!1 &170980090 GameObject: m_ObjectHideFlags: 0 @@ -21771,7 +21774,7 @@ MonoBehaviour: m_TargetGraphic: {fileID: 1589389272} m_HandleRect: {fileID: 1589389271} m_Direction: 2 - m_Value: 1 + m_Value: 0 m_Size: 1 m_NumberOfSteps: 0 m_OnValueChanged: @@ -22488,6 +22491,82 @@ MonoBehaviour: parameterManager: {fileID: 0} propertyName: inputFieldString: {fileID: 2094676610} +--- !u!1 &946351539 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 946351540} + - component: {fileID: 946351542} + - component: {fileID: 946351541} + m_Layer: 5 + m_Name: Graphic + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &946351540 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 946351539} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.9, y: 0.9, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2133718755} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &946351541 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 946351539} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 8001d517cfefe9444b37aea8d1db50d8, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &946351542 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 946351539} + m_CullTransparentMesh: 1 --- !u!1 &953708372 GameObject: m_ObjectHideFlags: 0 @@ -24235,6 +24314,7 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 93287372} + - {fileID: 2133718755} m_Father: {fileID: 167275722} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -26772,7 +26852,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} - m_AnchoredPosition: {x: 0, y: 199.06122} + m_AnchoredPosition: {x: 0, y: 199.06123} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 1} --- !u!222 &1154875945 @@ -30854,9 +30934,9 @@ RectTransform: m_Father: {fileID: 574002313} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 40, y: -21} m_SizeDelta: {x: 32, y: 32} m_Pivot: {x: 0, y: 0.5} --- !u!114 &1345846031 @@ -38848,9 +38928,9 @@ RectTransform: m_Father: {fileID: 574002313} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 80, y: -21} m_SizeDelta: {x: 32, y: 32} m_Pivot: {x: 0, y: 0.5} --- !u!114 &1783491359 @@ -45669,6 +45749,140 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2133056414} m_CullTransparentMesh: 1 +--- !u!1 &2133718754 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2133718755} + - component: {fileID: 2133718758} + - component: {fileID: 2133718757} + - component: {fileID: 2133718756} + m_Layer: 5 + m_Name: Collapse + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2133718755 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2133718754} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1.00008, y: 1.00008, z: 1.00008} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 946351540} + m_Father: {fileID: 1039002538} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 19.100006, y: 0} + m_SizeDelta: {x: 32, y: -28} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &2133718756 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2133718754} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 0 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.7924528, g: 0.7924528, b: 0.7924528, a: 1} + m_PressedColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.05 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 2133718757} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 167275725} + m_TargetAssemblyTypeName: HeavenStudio.Editor.GameSelectionCategory, Assembly-CSharp + m_MethodName: ToggleCollapse + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &2133718757 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2133718754} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 77703dfffd29ca6439338d6adfc62c9b, type: 3} + m_Type: 3 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 10 +--- !u!222 &2133718758 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2133718754} + m_CullTransparentMesh: 1 --- !u!1 &2139386296 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/LevelEditor/EventSelector/GameSelectionCategory.cs b/Assets/Scripts/LevelEditor/EventSelector/GameSelectionCategory.cs index d635e11ee..3252e3954 100644 --- a/Assets/Scripts/LevelEditor/EventSelector/GameSelectionCategory.cs +++ b/Assets/Scripts/LevelEditor/EventSelector/GameSelectionCategory.cs @@ -2,6 +2,7 @@ using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; +using UnityEngine.UI; namespace HeavenStudio.Editor { @@ -10,6 +11,20 @@ namespace HeavenStudio.Editor [SerializeField] private NewGameSelectionEvent _gameSelectionEventRef; [SerializeField] private GameObject _headerObject; [SerializeField] private TMP_Text _headerText; + [SerializeField] private Image _collapseImage; + [SerializeField] private Sprite _openSprite; + [SerializeField] private Sprite _closedSprite; + + private bool _isOpen = true; + + private GameSelectionCategoryManager _manager; + + private List _gameSelectionEventList = new(); + + public void SetMaster(GameSelectionCategoryManager manager) + { + _manager = manager; + } public void SetHeaderText(string text) { @@ -21,12 +36,31 @@ namespace HeavenStudio.Editor _headerObject.SetActive(active); } + public bool HeaderIsActive() + { + return _headerObject.activeSelf; + } + public void AddEvent(Minigames.GameAction action) { NewGameSelectionEvent spawnedEvent = Instantiate(_gameSelectionEventRef, transform); spawnedEvent.SetText(action.displayName); spawnedEvent.SetActiveGearIcon(action.parameters != null && action.parameters.Count > 0); spawnedEvent.gameObject.SetActive(true); + _gameSelectionEventList.Add(spawnedEvent); + } + + public void ToggleCollapse() + { + _isOpen = !_isOpen; + + _collapseImage.sprite = _isOpen ? _openSprite : _closedSprite; + + foreach (var e in _gameSelectionEventList) + { + e.gameObject.SetActive(_isOpen); + } + _manager.UpdateCategoryPositions(); } } } diff --git a/Assets/Scripts/LevelEditor/EventSelector/GameSelectionCategoryManager.cs b/Assets/Scripts/LevelEditor/EventSelector/GameSelectionCategoryManager.cs index 7533a468b..487e85476 100644 --- a/Assets/Scripts/LevelEditor/EventSelector/GameSelectionCategoryManager.cs +++ b/Assets/Scripts/LevelEditor/EventSelector/GameSelectionCategoryManager.cs @@ -40,6 +40,7 @@ namespace HeavenStudio.Editor GameSelectionCategory spawnedCategory = Instantiate(_categoryRef, transform); lastHeaderObject = spawnedCategory; _categories.Add(spawnedCategory); + lastHeaderObject.SetMaster(this); if (lastHeader != string.Empty) { @@ -59,6 +60,19 @@ namespace HeavenStudio.Editor } } + public void UpdateCategoryPositions() + { + float currentY = _categoryRef.transform.localPosition.y; + for (int i = 0; i < _categories.Count; i++) + { + if (!_categories[i].HeaderIsActive()) currentY += _headerOffset; + _categories[i].transform.localPosition = new Vector3(_categories[i].transform.localPosition.x, currentY); + + Canvas.ForceUpdateCanvases(); + currentY += _spacing - _categories[i].GetComponent().rect.height; + } + } + public void DestroyCategories() { for (int i = 0; i < _categories.Count; i++)