public virtual void AddSlot(TSlot slot) { if (SlotExists(slot.Id)) { return; } slot.RectTransform.SetParent(transform, false); SlotsMap.Add(slot.Id, slot); Paginate(); }
public virtual void RemoveSlot(string slotId) { if (!SlotExists(slotId)) { return; } var slot = SlotsMap[slotId]; ObjectUtils.DestroyOrImmediate(slot.gameObject); SlotsMap.Remove(slotId); Paginate(); }
public virtual bool SlotExists(string slotId) => SlotsMap.ContainsKey(slotId);
public virtual TSlot GetSlot(string slotId) => SlotsMap.TryGetValue(slotId, out var slot) ? slot : null;