Example #1
0
        public void Initialize()
        {
            _spellVisualEffectSelect.FillData();
            SpellVisualEffectCollection spells = _spellVisualEffectSelect.SpellVisualEffects;

            _spellVisualEffectTreeViewSelect.FillData(spells);
        }
        public void FillData(SpellVisualEffectCollection spellVisualEffects)
        {
            GetSpellTreeItemFiles(spellVisualEffects, "", new TreeNodeEntry());
            spellVisualEffectsView = CollectionViewSource.GetDefaultView(TreeViewFiles);

            _TreeView.ExpandAll();
        }
        public static void GetAllSpellVisualEffects(this SpellVisualEffectCollection spellVisualEffects)
        {
            WowDatabase wowDatabase = Engine.Instance.WowDatabase;

            uint visualCount = wowDatabase.SpellVisualEffectCount;

            spellVisualEffects.Clear();

            for (uint i = 0; i < visualCount; ++i)
            {
                int?id = wowDatabase.GetSpellVisualEffectId(i);
                if (id != null)
                {
                    string path = Engine.Instance.WowDatabase.GetSpellVisualEffectPath(id.Value);
                    if (Engine.Instance.WowEnvironment.IsFileExist(path))
                    {
                        string name = Engine.Instance.WowDatabase.GetSpellVisualEffectName(id.Value);
                        if (!name.Contains("zzOLD_"))
                        {
                            spellVisualEffects.Add(new SpellVisualEffect()
                            {
                                Id = id.Value, Name = name
                            });
                        }
                    }
                }
            }
        }
        private void GetSpellTreeItemFiles(SpellVisualEffectCollection spellVisualEffects, string path, TreeNodeEntry node)
        {
            WowEnvironment env = Engine.Instance.WowEnvironment;

            env.ClearOwnCascFiles();
            foreach (SpellVisualEffect spell in spellVisualEffects)
            {
                string s = Engine.Instance.WowDatabase.GetSpellVisualEffectPath(spell.Id);
                env.AddOwnCascFile(s);
            }
            env.FinishOwnCascFiles();

            TreeViewFiles.Clear();
            TreeNodeEntry treeNode = TreeViewEntry.TraverseAllUseOwn(path, "*", node);

            for (int i = 0; i < treeNode.NodeEntrys.Count; i++)
            {
                TreeViewFiles.Add(treeNode.NodeEntrys[i]);
            }
        }