Пример #1
0
    public void RemoveRef(EditroConfigUnitBase target)
    {
        var refObj = RefUnits.Find(obj => obj.Unit == target);

        if (refObj != null)
        {
            EditorHelper.RegisterCompleteObjectUndo(this);
            refObj.Count--;
            if (refObj.Count == 0)
            {
                RefUnits.Remove(refObj);
                EditorHelper.RegisterCompleteObjectUndo(target);
                target.BeRefs.Remove(this);
            }
        }
    }
Пример #2
0
    public void AddRef(EditroConfigUnitBase target)
    {
        EditorHelper.RegisterCompleteObjectUndo(this);
        var refObj = RefUnits.Find(obj => obj.Unit == target);

        if (refObj == null)
        {
            refObj = new EditorConfigUnitRef()
            {
                Unit = target
            };
            RefUnits.Add(refObj);
        }
        refObj.Count++;
        if (refObj.Count == 1)
        {
            EditorHelper.RegisterCompleteObjectUndo(target);
            target.BeRefs.Add(this);
        }
    }