Exemplo n.º 1
0
        public void LoadAccountItemAppearances(SQLResult knownAppearances, SQLResult favoriteAppearances)
        {
            if (!knownAppearances.IsEmpty())
            {
                uint[] blocks = new uint[1];
                do
                {
                    ushort blobIndex = knownAppearances.Read <ushort>(0);
                    if (blobIndex >= blocks.Length)
                    {
                        Array.Resize(ref blocks, blobIndex + 1);
                    }

                    blocks[blobIndex] = knownAppearances.Read <uint>(1);
                } while (knownAppearances.NextRow());

                _appearances = new System.Collections.BitSet(blocks);
            }

            if (!favoriteAppearances.IsEmpty())
            {
                do
                {
                    _favoriteAppearances[favoriteAppearances.Read <uint>(0)] = FavoriteAppearanceState.Unchanged;
                } while (favoriteAppearances.NextRow());
            }

            // Static item appearances known by every player
            uint[] hiddenAppearanceItems =
            {
                134110, // Hidden Helm
                134111, // Hidden Cloak
                134112, // Hidden Shoulder
                142503, // Hidden Shirt
                142504, // Hidden Tabard
                143539  // Hidden Belt
            };

            foreach (uint hiddenItem in hiddenAppearanceItems)
            {
                ItemModifiedAppearanceRecord hiddenAppearance = Global.DB2Mgr.GetItemModifiedAppearance(hiddenItem, 0);
                //ASSERT(hiddenAppearance);
                if (_appearances.Length <= hiddenAppearance.Id)
                {
                    _appearances.Length = (int)hiddenAppearance.Id + 1;
                }

                _appearances.Set((int)hiddenAppearance.Id, true);
            }
        }
Exemplo n.º 2
0
 public CollectionMgr(WorldSession owner)
 {
     _owner       = owner;
     _appearances = new System.Collections.BitSet(0);
 }