private void OnEnable() { _editorEffector = new CgeEditorEffector(new CgeEditorState()); var blendTreeEffector = new CgeBlendTreeEffector(); var memoization = Cge.Get().Memoization; var renderingCommands = Ee.Get().RenderingCommands; var activityPreviewQueryAggregator = new CgeActivityPreviewQueryAggregator(memoization, _editorEffector, blendTreeEffector, renderingCommands); var cgeMemoryQuery = new CgeMemoryQuery(memoization); _common = new CgeLayoutCommon(Repaint, _editorEffector, activityPreviewQueryAggregator, cgeMemoryQuery); var driver = new CgeActivityEditorDriver(_editorEffector); _layoutPreventEyesBlinking = new CgeLayoutPreventEyesBlinking(_common, _editorEffector); _layoutFaceExpressionCombiner = new CgeLayoutFaceExpressionCombiner(_common, driver, _editorEffector, renderingCommands, activityPreviewQueryAggregator); _layoutOtherOptions = new CgeLayoutOtherOptions(_common, _editorEffector, activityPreviewQueryAggregator); _layoutSetFaceExpressions = new CgeLayoutSetFaceExpressions(_common, driver, _layoutFaceExpressionCombiner /* FIXME it is not normal to inject the layout here */, _editorEffector, Repaint, blendTreeEffector); _layoutManipulateTrees = new CgeLayoutManipulateTrees(_common, _editorEffector, blendTreeEffector); WindowHandler = new CgeWindowHandler(this, _editorEffector); _common.GuiInit(); _helpIcon16 = AssetDatabase.LoadAssetAtPath <Texture>("Assets/Hai/ComboGesture/Icons/help-16.png"); Ee.Get().Hooks.SetOnMainRenderedListener(rendered => { activityPreviewQueryAggregator.OnMainRendered(rendered, Repaint); }); }
public override void OnInspectorGUI() { serializedObject.Update(); if (GUILayout.Button("Switch language (English / 日本語)")) { CgeLocalization.CycleLocale(); } if (CgeLocalization.IsEnglishLocaleActive()) { EditorGUILayout.LabelField(""); } else { EditorGUILayout.LabelField("一部の翻訳は正確ではありません。cge.jp.jsonを編集することができます。"); } _foldoutHelp = EditorGUILayout.Foldout(_foldoutHelp, new GUIContent("Help", _guideIcon32)); if (_foldoutHelp) { if (GUILayout.Button(new GUIContent("Open documentation and tutorials", _guideIcon32))) { Application.OpenURL("https://hai-vr.github.io/combo-gesture-expressions-av3/"); } } EditorGUILayout.Separator(); EditorGUI.BeginDisabledGroup(serializedObject.isEditingMultipleObjects); if (GUILayout.Button(new GUIContent(CgeLocale.CGEE_Open_editor), GUILayout.Height(40))) { CgeWindowHandler.Obtain().ShowActivity((ComboGestureActivity)serializedObject.targetObject); } if (serializedObject.isEditingMultipleObjects) { EditorGUILayout.HelpBox("Editor window is not available in multi-editing.", MessageType.Info); } EditorGUI.EndDisabledGroup(); EditorGUILayout.Separator(); if (!serializedObject.isEditingMultipleObjects) { editorLegacyFoldout.boolValue = EditorGUILayout.Foldout(editorLegacyFoldout.boolValue, "Legacy editor"); } else { GUILayout.Label("Legacy editor / Multi editing", EditorStyles.boldLabel); } if (serializedObject.isEditingMultipleObjects || editorLegacyFoldout.boolValue) { LegacyEditor(); } serializedObject.ApplyModifiedProperties(); }
public override void OnInspectorGUI() { serializedObject.Update(); if (mainTree.objectReferenceValue != null && mainTree.objectReferenceValue is AnimationClip) { mainTree.objectReferenceValue = null; } if (GUILayout.Button("Switch language (English / 日本語)")) { CgeLocalization.CycleLocale(); } if (CgeLocalization.IsEnglishLocaleActive()) { EditorGUILayout.LabelField(""); } else { EditorGUILayout.LabelField("一部の翻訳は正確ではありません。cge.jp.jsonを編集することができます。"); } EditorGUILayout.Separator(); EditorGUI.BeginDisabledGroup(serializedObject.isEditingMultipleObjects); if (GUILayout.Button(new GUIContent(CgeLocale.CGEE_Open_editor), GUILayout.Height(40))) { CgeWindowHandler.Obtain().ShowPuppet((ComboGesturePuppet)serializedObject.targetObject); } if (serializedObject.isEditingMultipleObjects) { EditorGUILayout.HelpBox("Editor window is not available in multi-editing.", MessageType.Info); } EditorGUI.EndDisabledGroup(); EditorGUILayout.Separator(); if (!serializedObject.isEditingMultipleObjects) { editorLegacyFoldout.boolValue = EditorGUILayout.Foldout(editorLegacyFoldout.boolValue, "Legacy editor"); } else { GUILayout.Label("Legacy editor / Multi editing", EditorStyles.boldLabel); } if (serializedObject.isEditingMultipleObjects || editorLegacyFoldout.boolValue) { LegacyEditor(); } serializedObject.ApplyModifiedProperties(); }