Created unity project
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace Unity.PlasticSCM.Editor.UI.Tree
|
||||
{
|
||||
internal class TreeViewItemIds<C, I>
|
||||
{
|
||||
internal void Clear()
|
||||
{
|
||||
mCacheByCategories.Clear();
|
||||
mCacheByInfo.Clear();
|
||||
}
|
||||
|
||||
internal List<int> GetCategoryIds()
|
||||
{
|
||||
return new List<int>(mCacheByCategories.Values);
|
||||
}
|
||||
|
||||
internal List<KeyValuePair<C, int>> GetCategoryItems()
|
||||
{
|
||||
return mCacheByCategories.ToList();
|
||||
}
|
||||
|
||||
internal List<KeyValuePair<I, int>> GetInfoItems()
|
||||
{
|
||||
return mCacheByInfo.ToList();
|
||||
}
|
||||
|
||||
internal bool TryGetCategoryItemId(C category, out int itemId)
|
||||
{
|
||||
return mCacheByCategories.TryGetValue(category, out itemId);
|
||||
}
|
||||
|
||||
internal bool TryGetInfoItemId(I info, out int itemId)
|
||||
{
|
||||
return mCacheByInfo.TryGetValue(info, out itemId);
|
||||
}
|
||||
|
||||
internal int AddCategoryItem(C category)
|
||||
{
|
||||
int itemId = GetNextItemId();
|
||||
|
||||
mCacheByCategories.Add(category, itemId);
|
||||
|
||||
return itemId;
|
||||
}
|
||||
|
||||
internal int AddInfoItem(I info)
|
||||
{
|
||||
int itemId = GetNextItemId();
|
||||
|
||||
mCacheByInfo.Add(info, itemId);
|
||||
|
||||
return itemId;
|
||||
}
|
||||
|
||||
int GetNextItemId()
|
||||
{
|
||||
return mCacheByCategories.Count
|
||||
+ mCacheByInfo.Count
|
||||
+ 1;
|
||||
}
|
||||
|
||||
Dictionary<C, int> mCacheByCategories = new Dictionary<C, int>();
|
||||
Dictionary<I, int> mCacheByInfo = new Dictionary<I, int>();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user