/// <summary>
 /// Notifies this storage that the given slot is free. The given slot can
 /// then be allocated to store a new tile, i.e., it can be returned by a
 //  subsequent call to newSlot.
 /// </summary>
 /// <param name="t">a slot that is no longer in use</param>
 public void DeleteSlot(Slot t)
 {
     m_freeSlots.AddLast(t);
 }
 protected void AddSlot(int i, Slot slot)
 {
     m_allSlots[i] = slot;
     m_freeSlots.AddLast(slot);
 }