示例#1
0
        public static void InvalidateTreeStructure()
        {
            TreeStructure.Clear();

            foreach (var c in CircleNames)
            {
                var d = new Dictionary <Type, SpellInfo>();

                foreach (var o in SpellsInfo.Where(o => Insensitive.StartsWith(o.Key.FullName, "Server.Spells." + c)))
                {
                    d[o.Key] = o.Value;
                }

                TreeStructure[c] = d;
            }
        }
示例#2
0
        public static void InvalidateTreeStructure()
        {
            if (TreeStructure == null)
            {
                TreeStructure = new Dictionary <string, Dictionary <Type, SpellInfo> >(CircleNames.Length);
            }
            else
            {
                TreeStructure.Clear();
            }

            CircleNames.ForEach(
                circle =>
            {
                TreeStructure.AddOrReplace(circle, new Dictionary <Type, SpellInfo>());

                SpellsInfo.Where(
                    kvp => kvp.Key != null && kvp.Value != null && kvp.Key.FullName.StartsWith("Server.Spells." + circle))
                .ForEach(kvp => TreeStructure[circle].Add(kvp.Key, kvp.Value));
            });
        }