protected Slot GetOrCreateSlot(Int2 coords) { Slot slot; if (_slots.ContainsKey(coords)) { slot = _slots[coords]; } else { slot = new Slot { Coords = coords.Clone(), }; _slots.Add(coords, slot); } return(slot); }