예제 #1
0
 void OnEnable()
 {
     _Data = target as Skill.Framework.Managers.CacheGroup;
     CreateUI();
     if (_Data != null)
     {
         if (_Data.Caches != null)
         {
             foreach (var item in _Data.Caches)
             {
                 if (item != null)
                 {
                     CacheGroupListItem field = new CacheGroupListItem(this, item);
                     _ItemsList.Controls.Add(field);
                 }
             }
         }
     }
     else
     {
         _ItemsList.Controls.Clear();
     }
     if (_ItemsList.Controls.Count > 0)
     {
         _ItemsList.SelectedIndex = 0;
     }
 }
예제 #2
0
        void _BtnAdd_Click(object sender, System.EventArgs e)
        {
            CacheGroupListItem newField = new CacheGroupListItem(this, new Framework.Managers.CacheObject());

            _ItemsList.Controls.Add(newField);
            _ItemsList.SelectedItem = newField;
            _IsCollectionChanged    = true;
        }
예제 #3
0
        public void NewAfter(EditorListItem item)
        {
            int index = _ItemsList.Controls.IndexOf(item);

            if (index >= 0)
            {
                CacheGroupListItem newField = new CacheGroupListItem(this, new Framework.Managers.CacheObject());
                _ItemsList.Controls.Insert(index + 1, newField);
                _IsCollectionChanged = true;
            }
        }
예제 #4
0
 private void ApplyChanges()
 {
     if (_IsCollectionChanged)
     {
         if (_Data != null)
         {
             _Data.Caches = new Framework.Managers.CacheObject[_ItemsList.Controls.Count];
             for (int i = 0; i < _ItemsList.Controls.Count; i++)
             {
                 CacheGroupListItem field = (CacheGroupListItem)_ItemsList.Controls[i];
                 _Data.Caches[i] = field.Object;
             }
             EditorUtility.SetDirty(_Data);
         }
         _IsCollectionChanged = false;
     }
 }