public bool AddHandCard(int cardRecordID) { if (handCardIDs.Contains(cardRecordID)) { return(false); } else { if (handCardIDs.Count < maxHandCardCount) { handCardIDs.Add(cardRecordID); OnHandCardsChanged?.Invoke(this, cardRecordID, DataChangeCode.Add); return(true); } else { CardRecord cardRecord; if (Game != null && Game.GameCardManager.FindCard(cardRecordID, out cardRecord)) { cardRecord.Destroy(); } return(false); } } }
public bool RemoveHandCard(int cardRecordID) { if (handCardIDs.Contains(cardRecordID)) { handCardIDs.Remove(cardRecordID); OnHandCardsChanged?.Invoke(this, cardRecordID, DataChangeCode.Remove); return(true); } else { return(false); } }