public void AddResItem(ResItem res)
 {
     if (!ResList.Contains(res))
     {
         ResList.Add(res);
         res.Group = this;
         AddKey(res.name);
     }
 }
 public void RemoveResItem(ResItem res)
 {
     if (ResList.Contains(res))
     {
         ResList.Remove(res);
         res.Group = null;
         RemoveKey(res.name);
     }            
 }
 internal void OnGroupChanged(ResItem resItem, string oldGroupName)
 {
     ResGroup oldGroup = GetResGroup(oldGroupName);
     if (oldGroup != null)
     {
         oldGroup.RemoveResItem(resItem);
     }
     ResGroup newGroup = GetResGroup(resItem.groupName);
     if (newGroup != null)
     {
         newGroup.AddResItem(resItem);
     }
 }