From 03b8cc3da185874af1c0a534b34ae4dec98ce0ec Mon Sep 17 00:00:00 2001 From: BoatFloater <111416210+BoatFloater@users.noreply.github.com> Date: Fri, 13 Mar 2026 14:40:32 +0900 Subject: [PATCH] unify icon for basis BasisBundleDescription --- .../com.basis.sdk/Scripts/BasisBundleConnector.cs | 4 +++- .../Editor/SDKInspector/BasisAvatarSDKInspector.cs | 11 +++++------ .../Editor/SDKInspector/BasisPropSDKInspector.cs | 10 +++++----- .../Editor/SDKInspector/BasisSceneSDKInspector.cs | 10 +++++----- .../Scripts/Editor/StyleSheets/AvatarSDK.uxml | 2 +- .../Scripts/Editor/StyleSheets/PropSDK.uxml | 2 +- .../Scripts/Editor/StyleSheets/SceneSDK.uxml | 2 +- 7 files changed, 21 insertions(+), 20 deletions(-) diff --git a/Basis/Packages/com.basis.sdk/Scripts/BasisBundleConnector.cs b/Basis/Packages/com.basis.sdk/Scripts/BasisBundleConnector.cs index d0f1164a8..8fa7b55d7 100644 --- a/Basis/Packages/com.basis.sdk/Scripts/BasisBundleConnector.cs +++ b/Basis/Packages/com.basis.sdk/Scripts/BasisBundleConnector.cs @@ -109,14 +109,16 @@ public class BasisBundleDescription { public string AssetBundleName;//user friendly name of this asset. public string AssetBundleDescription;//the description of this asset + public Texture2D AssetBundleIcon;//icon for this asset public BasisBundleDescription() { } - public BasisBundleDescription(string assetBundleName, string assetBundleDescription) + public BasisBundleDescription(string assetBundleName, string assetBundleDescription, Texture2D assetBundleIcon = null) { AssetBundleName = assetBundleName ?? throw new ArgumentNullException(nameof(assetBundleName)); AssetBundleDescription = assetBundleDescription ?? throw new ArgumentNullException(nameof(assetBundleDescription)); + AssetBundleIcon = assetBundleIcon; } } [System.Serializable] diff --git a/Basis/Packages/com.basis.sdk/Scripts/Editor/SDKInspector/BasisAvatarSDKInspector.cs b/Basis/Packages/com.basis.sdk/Scripts/Editor/SDKInspector/BasisAvatarSDKInspector.cs index 492831a2e..44e1ba0cd 100644 --- a/Basis/Packages/com.basis.sdk/Scripts/Editor/SDKInspector/BasisAvatarSDKInspector.cs +++ b/Basis/Packages/com.basis.sdk/Scripts/Editor/SDKInspector/BasisAvatarSDKInspector.cs @@ -265,7 +265,7 @@ public void SetupItems() animatorField.value = Avatar.Animator; faceBlinkMeshField.value = Avatar.FaceBlinkMesh; faceVisemeMeshField.value = Avatar.FaceVisemeMesh; - AvatarIconField.value = Icon; + AvatarIconField.value = Avatar.BasisBundleDescription.AssetBundleIcon; AvatarNameField.value = Avatar.BasisBundleDescription.AssetBundleName; AvatarDescriptionField.value = Avatar.BasisBundleDescription.AssetBundleDescription; @@ -289,7 +289,7 @@ public void SetupItems() BasisSDKCommonInspector.CreateBuildOptionsDropdown(uiElementsRoot); BasisAssetBundleObject assetBundleObject = AssetDatabase.LoadAssetAtPath(BasisAssetBundleObject.AssetBundleObject); AvatarIconField.RegisterCallback>(OnIconFieldChanged); - avatarBundleButton.clicked += () => EventCallbackAvatarBundle(assetBundleObject.selectedTargets, Icon); + avatarBundleButton.clicked += () => EventCallbackAvatarBundle(assetBundleObject.selectedTargets, Avatar.BasisBundleDescription.AssetBundleIcon); // Register Animator field change event @@ -306,11 +306,10 @@ public void SetupItems() private void OnIconFieldChanged(ChangeEvent evt) { - Icon = evt.newValue as Texture2D; - BasisDebug.Log($"Setting to {Icon}"); + Avatar.BasisBundleDescription.AssetBundleIcon = evt.newValue as Texture2D; + EditorUtility.SetDirty(Avatar); + BasisDebug.Log($"Setting to {Avatar.BasisBundleDescription.AssetBundleIcon}"); } - - public static Texture2D Icon; private async void EventCallbackAvatarBundle(List targets, Texture2D Image) { if (targets == null || targets.Count == 0) diff --git a/Basis/Packages/com.basis.sdk/Scripts/Editor/SDKInspector/BasisPropSDKInspector.cs b/Basis/Packages/com.basis.sdk/Scripts/Editor/SDKInspector/BasisPropSDKInspector.cs index 842aeee0c..f95ea0ee9 100644 --- a/Basis/Packages/com.basis.sdk/Scripts/Editor/SDKInspector/BasisPropSDKInspector.cs +++ b/Basis/Packages/com.basis.sdk/Scripts/Editor/SDKInspector/BasisPropSDKInspector.cs @@ -15,7 +15,6 @@ public class BasisPropSDKInspector : Editor public VisualElement uiElementsRoot; private Label resultLabel; public BasisAssetBundleObject assetBundleObject; - public static Texture2D Icon; public BasisPropValidator BasisPropValidator; public void OnEnable() @@ -69,7 +68,7 @@ public override VisualElement CreateInspectorGUI() ObjectField PropIconField = uiElementsRoot.Q(BasisSDKConstants.PropIcon); PropIconField.objectType = typeof(Texture2D); PropIconField.allowSceneObjects = true; - PropIconField.value = Icon; + PropIconField.value = BasisProp.BasisBundleDescription.AssetBundleIcon; PropIconField.RegisterCallback>(OnIconFieldChanged); // Build options @@ -78,7 +77,7 @@ public override VisualElement CreateInspectorGUI() BasisAssetBundleObject assetBundleObject = AssetDatabase.LoadAssetAtPath(BasisAssetBundleObject.AssetBundleObject); Button BuildButton = BasisHelpersGizmo.Button(uiElementsRoot, BasisSDKConstants.BuildButton); - BuildButton.clicked += () => Build(BuildButton, assetBundleObject.selectedTargets, Icon); + BuildButton.clicked += () => Build(BuildButton, assetBundleObject.selectedTargets, BasisProp.BasisBundleDescription.AssetBundleIcon); } else { @@ -90,8 +89,9 @@ public override VisualElement CreateInspectorGUI() private void OnIconFieldChanged(ChangeEvent evt) { - Icon = evt.newValue as Texture2D; - BasisDebug.Log($"Setting to {Icon}"); + BasisProp.BasisBundleDescription.AssetBundleIcon = evt.newValue as Texture2D; + EditorUtility.SetDirty(BasisProp); + BasisDebug.Log($"Setting to {BasisProp.BasisBundleDescription.AssetBundleIcon}"); } private void PropNameChanged(ChangeEvent evt) diff --git a/Basis/Packages/com.basis.sdk/Scripts/Editor/SDKInspector/BasisSceneSDKInspector.cs b/Basis/Packages/com.basis.sdk/Scripts/Editor/SDKInspector/BasisSceneSDKInspector.cs index c5f78bc41..f42a97cd5 100644 --- a/Basis/Packages/com.basis.sdk/Scripts/Editor/SDKInspector/BasisSceneSDKInspector.cs +++ b/Basis/Packages/com.basis.sdk/Scripts/Editor/SDKInspector/BasisSceneSDKInspector.cs @@ -15,7 +15,6 @@ public class BasisSceneSDKInspector : Editor public VisualElement rootElement; public VisualElement uiElementsRoot; private Label resultLabel; - public static Texture2D Icon; public BasisSceneValidator BasisSceneValidator; public bool SpawnPointGizmoState = false; @@ -70,7 +69,7 @@ public override VisualElement CreateInspectorGUI() ObjectField SceneIconField = uiElementsRoot.Q(BasisSDKConstants.SceneIcon); SceneIconField.objectType = typeof(Texture2D); SceneIconField.allowSceneObjects = true; - SceneIconField.value = Icon; + SceneIconField.value = BasisScene.BasisBundleDescription.AssetBundleIcon; SceneIconField.RegisterCallback>(OnIconFieldChanged); // Spawn point field @@ -116,7 +115,7 @@ public override VisualElement CreateInspectorGUI() Button buildButton = BasisHelpersGizmo.Button(uiElementsRoot, BasisSDKConstants.BuildButton); BasisAssetBundleObject assetBundleObject = AssetDatabase.LoadAssetAtPath(BasisAssetBundleObject.AssetBundleObject); - buildButton.clicked += () => Build(assetBundleObject.selectedTargets, Icon); + buildButton.clicked += () => Build(assetBundleObject.selectedTargets, BasisScene.BasisBundleDescription.AssetBundleIcon); } else { @@ -128,8 +127,9 @@ public override VisualElement CreateInspectorGUI() private void OnIconFieldChanged(ChangeEvent evt) { - Icon = evt.newValue as Texture2D; - BasisDebug.Log($"Setting to {Icon}"); + BasisScene.BasisBundleDescription.AssetBundleIcon = evt.newValue as Texture2D; + EditorUtility.SetDirty(BasisScene); + BasisDebug.Log($"Setting to {BasisScene.BasisBundleDescription.AssetBundleIcon}"); } private void SceneNameChanged(ChangeEvent evt) diff --git a/Basis/Packages/com.basis.sdk/Scripts/Editor/StyleSheets/AvatarSDK.uxml b/Basis/Packages/com.basis.sdk/Scripts/Editor/StyleSheets/AvatarSDK.uxml index a7bd03c4a..ba33596d9 100644 --- a/Basis/Packages/com.basis.sdk/Scripts/Editor/StyleSheets/AvatarSDK.uxml +++ b/Basis/Packages/com.basis.sdk/Scripts/Editor/StyleSheets/AvatarSDK.uxml @@ -6,13 +6,13 @@ + - diff --git a/Basis/Packages/com.basis.sdk/Scripts/Editor/StyleSheets/PropSDK.uxml b/Basis/Packages/com.basis.sdk/Scripts/Editor/StyleSheets/PropSDK.uxml index 63069fe98..77c6e3f91 100644 --- a/Basis/Packages/com.basis.sdk/Scripts/Editor/StyleSheets/PropSDK.uxml +++ b/Basis/Packages/com.basis.sdk/Scripts/Editor/StyleSheets/PropSDK.uxml @@ -6,10 +6,10 @@ + - diff --git a/Basis/Packages/com.basis.sdk/Scripts/Editor/StyleSheets/SceneSDK.uxml b/Basis/Packages/com.basis.sdk/Scripts/Editor/StyleSheets/SceneSDK.uxml index 1f74c826b..3e693ebbc 100644 --- a/Basis/Packages/com.basis.sdk/Scripts/Editor/StyleSheets/SceneSDK.uxml +++ b/Basis/Packages/com.basis.sdk/Scripts/Editor/StyleSheets/SceneSDK.uxml @@ -6,10 +6,10 @@ + -