/// <summary> /// /// </summary> public override void OnInspectorGUI() { GUI.color = Color.white; if (Application.isPlaying || m_Component.DefaultState.TextAsset == null) { DoMouseFoldout(); DoRenderingFoldout(); DoPositionFoldout(); DoRotationFoldout(); DoShakeFoldout(); DoBobFoldout(); } else { vp_PresetEditorGUIUtility.DefaultStateOverrideMessage(); } // state m_StateFoldout = vp_PresetEditorGUIUtility.StateFoldout(m_StateFoldout, m_Component, m_Component.States, m_Persister); // preset m_PresetFoldout = vp_PresetEditorGUIUtility.PresetFoldout(m_PresetFoldout, m_Component); // update default state and persist in order not to loose inspector tweaks // due to state switches during runtime - UNLESS a runtime state button has // been pressed (in which case user wants to toggle states as opposed to // reset / alter them) if (GUI.changed && (!vp_PresetEditorGUIUtility.RunTimeStateButtonTarget == m_Component)) { EditorUtility.SetDirty(target); if (Application.isPlaying) { m_Component.RefreshDefaultState(); } if (m_Component.Persist) { m_Persister.Persist(); } m_Component.Refresh(); } }
/// <summary> /// /// </summary> public override void OnInspectorGUI() { GUI.color = Color.white; if (Application.isPlaying || m_Component.DefaultState.TextAsset == null) { DoMouseFoldout(); DoRenderingFoldout(); DoPositionFoldout(); DoRotationFoldout(); DoShakeFoldout(); DoBobFoldout(); } else { vp_PresetEditorGUIUtility.DefaultStateOverrideMessage(); } // state m_StateFoldout = vp_PresetEditorGUIUtility.StateFoldout(m_StateFoldout, m_Component, m_Component.States, m_Persister); // preset m_PresetFoldout = vp_PresetEditorGUIUtility.PresetFoldout(m_PresetFoldout, m_Component); // update if (GUI.changed) { EditorUtility.SetDirty(target); // update the default state in order not to loose inspector tweaks // due to state switches during runtime if (Application.isPlaying) { m_Component.RefreshDefaultState(); } if (m_Component.Persist) { m_Persister.Persist(); } m_Component.Refresh(); } }