using System.Collections.Generic; using BlueWater.Items; using UnityEngine; namespace BlueWater { [CreateAssetMenu(fileName = "CardTable", menuName = "ScriptableObjects/CardTable")] public class CardDataSo : DataSo { private Dictionary _selectedCard = new Dictionary(); // 선택된 카드를 저장함. public CardData GetRandCardData() { var rand = Random.Range(0, 100); // 범위를 0-100으로 조정 var checkAdd = 0; foreach (var element in _datas.Values) { checkAdd += element.Ratio; // Ratio를 더하고 비교하도록 수정 if (checkAdd > rand) return element; } return null; } // 카드를 선택했을 때 호출 public void AddToSelectedCard(CardData cardData) { if (_selectedCard.ContainsKey(cardData.Idx)) { _selectedCard[cardData.Idx] += 1; Debug.Log(_selectedCard[cardData.Idx]); } else // 신규 { _selectedCard[cardData.Idx] = 1; // TryAdd를 사용하지 않고 대입 Debug.Log(_selectedCard[cardData.Idx]); } } // 카드가 MAX값인지 확인할 때 - MAX값이면 true를 리턴 public bool CardMaxCheck(CardData cardData) { return _selectedCard.TryGetValue(cardData.Idx, out var value) && cardData.Max != 0 && value >= cardData.Max; } } }