diff --git a/Assets/VRM10/Editor/Components/Expression/ExpressionSelector.cs b/Assets/VRM10/Editor/Components/Expression/ExpressionSelector.cs
deleted file mode 100644
index 6c32d7ba3..000000000
--- a/Assets/VRM10/Editor/Components/Expression/ExpressionSelector.cs
+++ /dev/null
@@ -1,148 +0,0 @@
-using System;
-using System.Linq;
-using UnityEngine;
-using UnityEditor;
-using System.IO;
-
-namespace UniVRM10
-{
- ///
- /// ExpressionAvatarEditorの部品
- ///
- class ExpressionClipSelector
- {
- VRM10ObjectExpression m_avatar;
-
- int m_mode;
- static readonly string[] MODES = new string[]{
- "Button",
- "List"
- };
-
- ReorderableExpressionList m_clipList;
-
- public VRM10Expression GetSelected()
- {
- var clips = m_avatar.Clips.ToArray();
- if (m_avatar == null || clips == null || clips.Length == 0)
- {
- return null;
- }
- if (m_selectedIndex < 0 || m_selectedIndex >= clips.Length)
- {
- return null;
- }
- return clips[m_selectedIndex];
- }
-
- public event Action Selected;
- void RaiseSelected(int index)
- {
- m_clipList.Select(index);
- var clip = GetSelected();
- var handle = Selected;
- if (handle == null)
- {
- return;
- }
- handle(clip);
- }
-
- int m_selectedIndex;
- int SelectedIndex
- {
- get { return m_selectedIndex; }
- set
- {
- // これで更新するべし
- if (m_selectedIndex == value) return;
- m_selectedIndex = value;
- RaiseSelected(value);
- }
- }
-
- public ExpressionClipSelector(VRM10ObjectExpression avatar, string dir, SerializedObject serializedObject)
- {
- avatar.RemoveNullClip();
-
- m_avatar = avatar;
-
- var prop = serializedObject.FindProperty("Clips");
- m_clipList = new ReorderableExpressionList(serializedObject, prop, dir);
-
- m_clipList.Selected += (selected) =>
- {
- var clips = avatar.Clips.ToArray();
- SelectedIndex = Array.IndexOf(clips, selected);
- };
- }
-
- public void DrawGUI(string dir)
- {
- var backup = GUI.enabled;
- try
- {
- GUI.enabled = true;
- EditorGUILayout.Space();
- EditorGUILayout.LabelField("Select Expression", EditorStyles.boldLabel);
-
- m_mode = GUILayout.Toolbar(m_mode, MODES);
- switch (m_mode)
- {
- case 0:
- SelectGUI(dir);
- break;
-
- case 1:
- m_clipList.GUI();
- break;
-
- default:
- throw new NotImplementedException();
- }
- }
- finally
- {
- GUI.enabled = backup;
- }
- }
-
- void SelectGUI(string dir)
- {
- if (m_avatar != null && m_avatar.Clips != null)
- {
- var array = m_avatar.Clips
- .Select(x => x != null
- ? ExpressionKey.CreateFromClip(x).ToString()
- : "null"
- ).ToArray();
- SelectedIndex = GUILayout.SelectionGrid(SelectedIndex, array, 4);
- }
-
- // if (GUILayout.Button("Add Expression"))
- // {
- // var path = EditorUtility.SaveFilePanel(
- // "Create Expression",
- // dir,
- // string.Format("Expression#{0}.asset", m_avatar.Clips.Count),
- // "asset");
- // if (!string.IsNullOrEmpty(path))
- // {
- // var clip = ExpressionEditorBase.CreateExpression(path.ToUnityRelativePath());
- // //clip.Prefab = AssetDatabase.LoadAssetAtPath(AssetDatabase.GetAssetPath(target));
-
- // m_avatar.Clips.Add(clip);
- // }
- // }
- }
-
- public void DuplicateWarn()
- {
- var key = ExpressionKey.CreateFromClip(GetSelected());
- if (m_avatar.Clips.Where(x => key.Match(x)).Count() > 1)
- {
- EditorGUILayout.HelpBox("duplicate clip: " + key, MessageType.Error);
- }
- }
- }
-}
diff --git a/Assets/VRM10/Editor/Components/Expression/ExpressionSelector.cs.meta b/Assets/VRM10/Editor/Components/Expression/ExpressionSelector.cs.meta
deleted file mode 100644
index d6d2bac84..000000000
--- a/Assets/VRM10/Editor/Components/Expression/ExpressionSelector.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 6d4d5da207577eb48ad767ff59bcf8b4
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/VRM10/Editor/Components/Expression/ReorderableExpressionList.cs b/Assets/VRM10/Editor/Components/Expression/ReorderableExpressionList.cs
deleted file mode 100644
index cd69a46c3..000000000
--- a/Assets/VRM10/Editor/Components/Expression/ReorderableExpressionList.cs
+++ /dev/null
@@ -1,84 +0,0 @@
-using System;
-using System.IO;
-using UnityEditor;
-using UnityEditorInternal;
-using UnityEngine;
-
-namespace UniVRM10
-{
- class ReorderableExpressionList
- {
- ReorderableList m_list;
-
- public event Action Selected;
- void RaiseSelected(VRM10Expression selected)
- {
- var handler = Selected;
- if (handler == null)
- {
- return;
- }
- handler(selected);
- }
-
- public void Select(int index)
- {
- m_list.index = index;
- }
-
- public ReorderableExpressionList(SerializedObject serializedObject, SerializedProperty prop, string dir)
- {
- m_list = new ReorderableList(serializedObject, prop);
-
- m_list.drawHeaderCallback = (rect) =>
- EditorGUI.LabelField(rect, "Expressions");
-
- m_list.drawElementCallback = (rect, index, isActive, isFocused) =>
- {
- var element = prop.GetArrayElementAtIndex(index);
- rect.height -= 4;
- rect.y += 2;
- EditorGUI.PropertyField(rect, element);
- };
-
- m_list.onAddCallback += (list) =>
- {
- // Add slot
- prop.arraySize++;
- // select last item
- list.index = prop.arraySize - 1;
- // get last item
- var element = prop.GetArrayElementAtIndex(list.index);
- element.objectReferenceValue = null;
-
- // var dir = Path.GetDirectoryName(AssetDatabase.GetAssetPath(target));
- var path = EditorUtility.SaveFilePanel(
- "Create Expression",
- dir,
- string.Format("Expression#{0}.asset", list.count),
- "asset");
- if (!string.IsNullOrEmpty(path))
- {
- var clip = ExpressionEditorBase.CreateExpression(path.ToUnityRelativePath());
- //clip.Prefab = AssetDatabase.LoadAssetAtPath(AssetDatabase.GetAssetPath(target));
-
- element.objectReferenceValue = clip;
- }
- };
-
- m_list.onSelectCallback += (list) =>
- {
- var a = list.serializedProperty;
- var selected = a.GetArrayElementAtIndex(list.index);
- RaiseSelected((VRM10Expression)selected.objectReferenceValue);
- };
-
- //m_clipList.onCanRemoveCallback += list => true;
- }
-
- public void GUI()
- {
- m_list.DoLayoutList();
- }
- }
-}
diff --git a/Assets/VRM10/Editor/Components/Expression/ReorderableExpressionList.cs.meta b/Assets/VRM10/Editor/Components/Expression/ReorderableExpressionList.cs.meta
deleted file mode 100644
index 55b093fb4..000000000
--- a/Assets/VRM10/Editor/Components/Expression/ReorderableExpressionList.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: a5a5707cea4226d40af879c4c9778002
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant: