mirror of
https://github.com/bdunderscore/modular-avatar.git
synced 2025-03-10 15:54:56 +08:00
feat: add menu option to disable "modular avatar information" display (#833)
* feat: add menu option to disable "modular avatar information" display Closes: #815
This commit is contained in:
parent
0fc9f5d86e
commit
926ea255cb
40
Editor/ParamsUsage/ParamsUsagePrefs.cs
Normal file
40
Editor/ParamsUsage/ParamsUsagePrefs.cs
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
using System;
|
||||||
|
using nadena.dev.modular_avatar.ui;
|
||||||
|
using UnityEditor;
|
||||||
|
using UnityEngine.Serialization;
|
||||||
|
|
||||||
|
namespace nadena.dev.modular_avatar.core.editor
|
||||||
|
{
|
||||||
|
#if UNITY_2022_3_OR_NEWER
|
||||||
|
[FilePath("modular-avatar/ParamsUsagePrefs.asset", FilePathAttribute.Location.PreferencesFolder)]
|
||||||
|
internal sealed class ParamsUsagePrefs : ScriptableSingleton<ParamsUsagePrefs>
|
||||||
|
{
|
||||||
|
public static event Action<bool> OnChange_EnableInfoMenu;
|
||||||
|
|
||||||
|
[FormerlySerializedAs("EnableInfoMenu")] public bool enableInfoMenu = true;
|
||||||
|
|
||||||
|
[MenuItem(UnityMenuItems.TopMenu_EnableInfo, false, UnityMenuItems.TopMenu_EnableInfoOrder)]
|
||||||
|
private static void Menu_EnableInfo()
|
||||||
|
{
|
||||||
|
ParamsUsagePrefs.instance.enableInfoMenu = !ParamsUsagePrefs.instance.enableInfoMenu;
|
||||||
|
Menu.SetChecked(UnityMenuItems.TopMenu_EnableInfo, ParamsUsagePrefs.instance.enableInfoMenu);
|
||||||
|
ParamsUsagePrefs.instance.Save(true);
|
||||||
|
|
||||||
|
OnChange_EnableInfoMenu?.Invoke(ParamsUsagePrefs.instance.enableInfoMenu);
|
||||||
|
}
|
||||||
|
|
||||||
|
[InitializeOnLoadMethod]
|
||||||
|
private static void Initialize()
|
||||||
|
{
|
||||||
|
Menu.SetChecked(UnityMenuItems.TopMenu_EnableInfo, ParamsUsagePrefs.instance.enableInfoMenu);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
internal sealed class ParamsUsagePrefs
|
||||||
|
{
|
||||||
|
public static ParamsUsagePrefs instance => new ParamsUsagePrefs();
|
||||||
|
public static event Action<bool> OnChange_EnableInfoMenu;
|
||||||
|
public bool enableInfoMenu => false;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
3
Editor/ParamsUsage/ParamsUsagePrefs.cs.meta
Normal file
3
Editor/ParamsUsage/ParamsUsagePrefs.cs.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 3ebf965fd4064a52896def62c36c6a90
|
||||||
|
timeCreated: 1713742583
|
@ -47,11 +47,19 @@ namespace nadena.dev.modular_avatar.core.editor
|
|||||||
(self) => self.OnLanguageChangedCallback());
|
(self) => self.OnLanguageChangedCallback());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void OnChange_EnableState(bool enableState)
|
||||||
|
{
|
||||||
|
if (_editor != null)
|
||||||
|
{
|
||||||
|
Rebuild();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void OnLanguageChangedCallback()
|
private void OnLanguageChangedCallback()
|
||||||
{
|
{
|
||||||
if (_editor != null)
|
if (_editor != null)
|
||||||
{
|
{
|
||||||
BuildContent();
|
Rebuild();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -66,6 +74,8 @@ namespace nadena.dev.modular_avatar.core.editor
|
|||||||
Object.DestroyImmediate(_editor);
|
Object.DestroyImmediate(_editor);
|
||||||
_editor = null;
|
_editor = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ParamsUsagePrefs.OnChange_EnableInfoMenu -= OnChange_EnableState;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnAttach(AttachToPanelEvent evt)
|
private void OnAttach(AttachToPanelEvent evt)
|
||||||
@ -73,12 +83,20 @@ namespace nadena.dev.modular_avatar.core.editor
|
|||||||
if (_recursing) return;
|
if (_recursing) return;
|
||||||
|
|
||||||
Rebuild();
|
Rebuild();
|
||||||
|
|
||||||
|
ParamsUsagePrefs.OnChange_EnableInfoMenu += OnChange_EnableState;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Rebuild()
|
private void Rebuild()
|
||||||
{
|
{
|
||||||
if (parent == null) return;
|
if (parent == null) return;
|
||||||
|
|
||||||
|
if (!ParamsUsagePrefs.instance.enableInfoMenu)
|
||||||
|
{
|
||||||
|
Clear();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
SetRedrawSensor();
|
SetRedrawSensor();
|
||||||
|
|
||||||
if (_gameObjectEditorElement?.parent != parent)
|
if (_gameObjectEditorElement?.parent != parent)
|
||||||
|
@ -5,10 +5,14 @@
|
|||||||
internal const string TopMenu_EditModeBoneSync = "Tools/Modular Avatar/Sync Bones in Edit Mode";
|
internal const string TopMenu_EditModeBoneSync = "Tools/Modular Avatar/Sync Bones in Edit Mode";
|
||||||
internal const int TopMenu_EditModeBoneSyncOrder = 100;
|
internal const int TopMenu_EditModeBoneSyncOrder = 100;
|
||||||
|
|
||||||
|
internal const string TopMenu_EnableInfo = "Tools/Modular Avatar/Show Modular Avatar Information";
|
||||||
|
internal const int TopMenu_EnableInfoOrder = 101;
|
||||||
|
|
||||||
internal const string TopMenu_ManualBakeAvatar = "Tools/Modular Avatar/Manual Bake Avatar";
|
internal const string TopMenu_ManualBakeAvatar = "Tools/Modular Avatar/Manual Bake Avatar";
|
||||||
internal const int TopMenu_ManualBakeAvatarOrder = 1000;
|
internal const int TopMenu_ManualBakeAvatarOrder = 1000;
|
||||||
|
|
||||||
internal const string TopMenu_ReloadLocalizations = "Tools/Modular Avatar/Reload Localizations";
|
internal const string TopMenu_ReloadLocalizations = "Tools/Modular Avatar/Reload Localizations";
|
||||||
internal const int TopMenu_ReloadLocalizationsOrder = 1001;
|
internal const int TopMenu_ReloadLocalizationsOrder = 1001;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user