private BankChestMetadata GetBankChestMetadata(BankChestDataKey key)
{
using (QueryResult reader = this.DbConnection.QueryReader(
"SELECT Content FROM Protector_BankChests WHERE UserId = @0 AND ChestIndex = @1;",
key.UserId, key.BankChestIndex
)) {
if (!reader.Read())
return null;
ItemData[] itemDataFromDB = this.StringToItemMetadata(reader.Get<string>("Content"));
ItemData[] itemData = itemDataFromDB;
// Backward compatibility in case chests can now hold more items than before.
if (itemDataFromDB.Length < Chest.maxItems) {
itemData = new ItemData[Chest.maxItems];
for (int i = 0; i < itemDataFromDB.Length; i++)
itemData[i] = itemDataFromDB[i];
}
return new BankChestMetadata { Items = itemData };
};
}