示例#1
0
    static AuraCategoryExtensions()
    {
        // Build all parents
        foreach (AuraCategory root in immediateParents.Keys)
        {
            List <AuraCategory> parents = new List <AuraCategory>()
            {
                default(AuraCategory)
            };
            for (AuraCategory parent = immediateParents.GetValueOrDefault(root); parent != default(AuraCategory) && !parents.Contains(parent); parent = immediateParents.GetValueOrDefault(parent))
            {
                parents.Add(parent);
            }

            allParents[root] = parents;
        }
    }
示例#2
0
 public bool Is(AuraCategory category) => (info.Active?.Is(category) ?? false) || (info.Passive?.Is(category) ?? false);
示例#3
0
 public static bool Is(this AuraCategory category, AuraCategory other)
 {
     return(category == other || allParents[category].Contains(other));
 }
示例#4
0
 public bool Is(AuraCategory category) => info.Category.Is(category);