Editor の状態保持を static 変数に変更

This commit is contained in:
ousttrue
2021-08-11 17:46:28 +09:00
parent 3767165f9b
commit 96dc839f26

View File

@@ -33,21 +33,10 @@ namespace UniVRM10
bool m_changed;
public struct EditorStatus
{
public int Mode;
public bool MorphTargetFoldout;
public bool OptionFoldout;
public bool ListFoldout;
public static EditorStatus Default => new EditorStatus
{
MorphTargetFoldout = true,
};
}
EditorStatus m_status = EditorStatus.Default;
public EditorStatus Status => m_status;
static int s_Mode;
static bool s_MorphTargetFoldout = true;
static bool s_OptionFoldout;
static bool s_ListFoldout;
static string[] MODES = new[]{
"MorphTarget",
@@ -60,18 +49,17 @@ namespace UniVRM10
public SerializedExpressionEditor(SerializedObject serializedObject,
PreviewSceneManager previewSceneManager) : this(
serializedObject, (VRM10Expression)serializedObject.targetObject, previewSceneManager, EditorStatus.Default)
serializedObject, (VRM10Expression)serializedObject.targetObject, previewSceneManager)
{ }
public SerializedExpressionEditor(VRM10Expression expression,
PreviewSceneManager previewSceneManager, EditorStatus status) : this(
new SerializedObject(expression), expression, previewSceneManager, status)
PreviewSceneManager previewSceneManager) : this(
new SerializedObject(expression), expression, previewSceneManager)
{ }
public SerializedExpressionEditor(SerializedObject serializedObject, VRM10Expression targetObject,
PreviewSceneManager previewSceneManager, EditorStatus status)
PreviewSceneManager previewSceneManager)
{
m_status = status;
this.m_serializedObject = serializedObject;
this.m_targetObject = targetObject;
@@ -101,8 +89,8 @@ namespace UniVRM10
m_targetObject, typeof(VRM10Expression), false);
GUI.enabled = true;
m_status.MorphTargetFoldout = CustomUI.Foldout(Status.MorphTargetFoldout, "MorphTarget");
if (Status.MorphTargetFoldout)
s_MorphTargetFoldout = CustomUI.Foldout(s_MorphTargetFoldout, "MorphTarget");
if (s_MorphTargetFoldout)
{
EditorGUI.indentLevel++;
var changed = MorphTargetBindsGUI();
@@ -117,12 +105,12 @@ namespace UniVRM10
EditorGUI.indentLevel--;
}
m_status.ListFoldout = CustomUI.Foldout(Status.ListFoldout, "List");
if (Status.ListFoldout)
s_ListFoldout = CustomUI.Foldout(s_ListFoldout, "List");
if (s_ListFoldout)
{
EditorGUI.indentLevel++;
m_status.Mode = GUILayout.Toolbar(Status.Mode, MODES);
switch (Status.Mode)
s_Mode = GUILayout.Toolbar(s_Mode, MODES);
switch (s_Mode)
{
case 0:
// MorphTarget
@@ -157,8 +145,8 @@ namespace UniVRM10
EditorGUI.indentLevel--;
}
m_status.OptionFoldout = CustomUI.Foldout(Status.OptionFoldout, "Option");
if (Status.OptionFoldout)
s_OptionFoldout = CustomUI.Foldout(s_OptionFoldout, "Option");
if (s_OptionFoldout)
{
EditorGUI.indentLevel++;