using System; using System.Collections.Generic; using UnityEngine; public class TurnEventManagement : MonoBehaviour { // ======== serializeField ======== [SerializeField] private int defaultDeckNumber = 21; // 默认牌组数量 [SerializeField] private int defaultCardNumber = 5; // 默认手牌数量 [SerializeField] private float everyCardDealDuration = 0.25f; // 系统发牌时间 // ======== private ======== private CombatScenarioEventOS combatScenarioEventOS; private readonly List handCardList = new(); private TURN_OS_STATE osState; private TurnHandlerDealCard turn_handler_deal_card_component; private void Awake() { turn_handler_deal_card_component = GetComponent(); } private void Start() { deal_card(); } // ************* Public ************* // ============= Hand Card ============= public void AddHandCard(Card card) => handCardList.Add(card); public int GetHandCardCount() => handCardList.Count; public void FlushHandCard() => handCardList.Clear(); public Card GetHandCard(int index) => handCardList[index]; // ============= Set State ============= public void SetState(TURN_OS_STATE state) => osState = state; public TURN_OS_STATE GetState() => osState; // public void EndTurn () => // ************* Private ************* private void deal_card() // 系统发牌 { turn_handler_deal_card_component.DealCard( new STRUCT_TURN_OS.LET_OS_DEAL_CARD { DECK_CARD_COUNT = defaultDeckNumber, HAND_CARD_COUNT = defaultCardNumber, DURATION = everyCardDealDuration, }); } }