diff --git a/Assets/Resources/Prefabs/UI/PRF_AssetHierarchyFileItem.prefab b/Assets/Resources/Prefabs/UI/PRF_AssetHierarchyFileItem.prefab index ec73266b..44655eb2 100644 --- a/Assets/Resources/Prefabs/UI/PRF_AssetHierarchyFileItem.prefab +++ b/Assets/Resources/Prefabs/UI/PRF_AssetHierarchyFileItem.prefab @@ -168,6 +168,7 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: + - {fileID: 5522365722120041147} - {fileID: 5951700390897484313} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -247,9 +248,9 @@ MonoBehaviour: m_SelectOnRight: {fileID: 0} m_Transition: 1 m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_NormalColor: {r: 0.35, g: 0.35, b: 0.35, a: 0} + m_HighlightedColor: {r: 0.65, g: 0.65, b: 0.65, a: 0.29803923} + m_PressedColor: {r: 0.6509804, g: 0.6509804, b: 0.6509804, a: 0.29803923} 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 @@ -266,7 +267,82 @@ MonoBehaviour: m_SelectedTrigger: Selected m_DisabledTrigger: Disabled m_Interactable: 1 - m_TargetGraphic: {fileID: 7283401773250522798} + m_TargetGraphic: {fileID: 1568911567453506347} m_OnClick: m_PersistentCalls: m_Calls: [] +--- !u!1 &7655375860918751099 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5522365722120041147} + - component: {fileID: 1306554313402992465} + - component: {fileID: 1568911567453506347} + m_Layer: 5 + m_Name: Image_Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5522365722120041147 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7655375860918751099} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2062179146838381722} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1306554313402992465 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7655375860918751099} + m_CullTransparentMesh: 1 +--- !u!114 &1568911567453506347 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7655375860918751099} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.65, g: 0.65, b: 0.65, 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: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 diff --git a/Assets/Scripts/Studio/UI/Elements/UI_AssetHierarchyFileItem.cs b/Assets/Scripts/Studio/UI/Elements/UI_AssetHierarchyFileItem.cs index 812f8bbd..baaf090a 100644 --- a/Assets/Scripts/Studio/UI/Elements/UI_AssetHierarchyFileItem.cs +++ b/Assets/Scripts/Studio/UI/Elements/UI_AssetHierarchyFileItem.cs @@ -8,6 +8,7 @@ namespace Studio { public class UI_AssetHierarchyFileItem : UIBase { + private Image Image_Background; private TextMeshProUGUI Text_AssetName; public Action onClickFileItem; @@ -25,5 +26,13 @@ namespace Studio { onClickFileItem?.Invoke(Text_AssetName.text, this); } + public void SetBackgroundColor() + { + Image_Background.color = new Color(0.35f, 0.35f, 0.35f, 0.5f); + } + public void ResetBackgroundColor() + { + Image_Background.color = new Color(0.65f, 0.65f, 0.65f, 1f); + } } } diff --git a/Assets/Scripts/Studio/UI/Elements/UI_AssetHierarchyFolderItem.cs b/Assets/Scripts/Studio/UI/Elements/UI_AssetHierarchyFolderItem.cs index 14bdeeb3..4b251db9 100644 --- a/Assets/Scripts/Studio/UI/Elements/UI_AssetHierarchyFolderItem.cs +++ b/Assets/Scripts/Studio/UI/Elements/UI_AssetHierarchyFolderItem.cs @@ -14,6 +14,8 @@ namespace Studio private RectTransform FoldContent; private UI_AssetHierarchyFileItem prf_assetHierarchyFileItem; + private List items = new List(); + private UI_AssetHierarchyFileItem currentItem; public Action updateLayout; public Action onClickFileItem; public override void AfterAwake() @@ -26,13 +28,17 @@ namespace Studio Text_FolderName.text = folderName; foreach (Transform child in FoldContent) + { Destroy(child.gameObject); + } + items.Clear(); foreach (var file in files) { var item = Instantiate(prf_assetHierarchyFileItem, FoldContent); item.onClickFileItem += OnClickFileItem; item.SetData(file); + items.Add(item); } FoldContent.gameObject.SetActive(Toggle_Fold.isOn); @@ -64,6 +70,13 @@ namespace Studio } private void OnClickFileItem(string name, UI_AssetHierarchyFileItem item) { + if (currentItem != null) + { + currentItem.ResetBackgroundColor(); + } + currentItem = item; + currentItem.SetBackgroundColor(); + onClickFileItem?.Invoke(name, item); } } diff --git a/Assets/Scripts/Studio/UI/Panel/Panel_AssetInfo.cs b/Assets/Scripts/Studio/UI/Panel/Panel_AssetInfo.cs index 3fe1a546..fece0a87 100644 --- a/Assets/Scripts/Studio/UI/Panel/Panel_AssetInfo.cs +++ b/Assets/Scripts/Studio/UI/Panel/Panel_AssetInfo.cs @@ -8,6 +8,7 @@ namespace Studio { public class Panel_AssetInfo : PanelBase { + private UI_AssetHierarchyFileItem item; private Button Button_Close; private TextMeshProUGUI AssetName; @@ -33,6 +34,7 @@ namespace Studio if (targetUI == null || rectTransform == null) return; + item = targetUI.GetComponent(); SetActive(true); Vector3[] targetCorners = new Vector3[4]; @@ -50,6 +52,7 @@ namespace Studio } public void Close() { + item.ResetBackgroundColor(); SetActive(false); } public void Active(bool isOn)