Exemple #1
0
        public override void OnInspectorGUI()
        {
            EditorGUI.BeginChangeCheck();
            {
                Target  = (T)target;
                Targets = targets.Select(t => (T)t).ToArray();

                Separator();

                OnInspector();

                Separator();

                serializedObject.ApplyModifiedProperties();
            }
            if (EditorGUI.EndChangeCheck() == true)
            {
                GUI.changed = true; Repaint();

                foreach (var t in Targets)
                {
                    DestroyableHelper.SetDirty(t);
                }
            }
        }
Exemple #2
0
        protected void DirtyEach(System.Action <T> update)
        {
            foreach (var t in Targets)
            {
                update(t);

                DestroyableHelper.SetDirty(t);
            }
        }
Exemple #3
0
        public virtual void OnSceneGUI()
        {
            Target = (T)target;

            OnScene();

            if (GUI.changed == true)
            {
                DestroyableHelper.SetDirty(target);
            }
        }
Exemple #4
0
        protected void DrawDefault(string propertyPath, bool autoApply = true)
        {
            EditorGUI.BeginChangeCheck();
            {
                EditorGUILayout.BeginVertical(DestroyableHelper.NoError);
                {
                    EditorGUILayout.PropertyField(serializedObject.FindProperty(propertyPath), true);
                }
                EditorGUILayout.EndVertical();
            }
            if (EditorGUI.EndChangeCheck() == true)
            {
                if (autoApply == true)
                {
                    serializedObject.ApplyModifiedProperties();
                }

                for (var i = Targets.Length - 1; i >= 0; i--)
                {
                    DestroyableHelper.SetDirty(Targets[i]);
                }
            }
        }
Exemple #5
0
 private void MarkDirty()
 {
     Each(t => DestroyableHelper.SetDirty(t));
 }