Exemplo n.º 1
0
        public void PopulatePetJournal()
        {
            Logger.Write("Populating pet journal...");

            using (StyxWoW.Memory.AcquireFrame())
            {
                try
                {
                    _petLua.SetFilterAllCollectedPets();
                    _ownedPetsList = LoadFromJournal();
                    Logger.Write("Owned pets journal count: " + _ownedPetsList.Count);


                    // TODO: leave sort order as is?
                    //_ownedPetsList.Sort(delegate(Pet p1, Pet p2) { return p1.Name.CompareTo(p2.Name); });
                    _ownedPetsList.Sort(delegate(Pet p1, Pet p2) { return(p1.Level - p2.Level); });

                    _favouritePetsList = new List <Pet>();
                    foreach (Pet pet in _ownedPetsList)  // TODO: Select ToList
                    {
                        if (pet.IsFav)
                        {
                            Pet pf = new Pet(pet);
                            _favouritePetsList.Add(pf);
                        }
                    }
                    Logger.Write("Favourite pets journal count: " + _favouritePetsList.Count);

                    if (_pluginProperties.Mode != eMode.Capture)  // TODO: what's wrong with capture
                    {
                        WritePetsByLevel();
                    }
                }
                catch
                {
                    Logger.Write("Journal init query fail!!! ");
                    try
                    {
                        int PetCount  = _petLua.GetNumPets();
                        int PetsOwned = _petLua.GetNumPetsOwned();
                        Logger.Write("Query too large?? " + PetsOwned + "," + PetCount);
                    }
                    catch
                    {
                        Logger.Write("simple C_PetJournal.GetNumPets function failed. Try in WoW: \n/run local numPets, numOwned = C_PetJournal.GetNumPets(false); print('Journal: pet count:' .. tostring(numOwned) .. ' total:' .. tostring(numPets));");
                    }
                }
            }
        }