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); } }
public CollectionMgr(WorldSession owner) { _owner = owner; _appearances = new System.Collections.BitSet(0); }