/// <summary>
		/// Attempt to rank up. Returns false if unsuccessful
		/// </summary>
		/// <returns></returns>
		public bool RankUp()
		{
			if (!journal.JournalComplete())
				return false;

			ResetRarities();
			journal = new CollectionJournal();
			inventory = new CollectionStorage();
			coins = CollectionManager.CoinRestockAmount;
			lastRestock = DateTime.Now;
			stars++;

			return true;
		}
		/// <summary>
		/// Copy Constructor
		/// </summary>
		/// <param name="copyStorage"></param>
		public CollectionStorage(CollectionStorage copyStorage)
		{
			for (int i = 0; i < width; i++)
				for (int j = 0; j < height; j++)
					obtained[i, j] = copyStorage.obtained[i, j];
		}
		/// <summary>
		/// Copy constructor
		/// </summary>
		/// <param name="copyPlayer"></param>
		public CollectionPlayer(CollectionPlayer copyPlayer) : this()
		{
			coins = copyPlayer.coins;
			totalCoinsCollected = copyPlayer.totalCoinsCollected;
			stars = copyPlayer.stars;
			lastRestock = copyPlayer.lastRestock;
			inventory = new CollectionStorage(copyPlayer.inventory);
			journal = new CollectionJournal(copyPlayer.journal);
			foreverJournal = new CollectionJournal(copyPlayer.foreverJournal);
         loveList = new List<int>(copyPlayer.loveList);
		}