2025-11-18 18:53:06 +08:00

46 lines
1.5 KiB
C#

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<Card> handCardList = new();
private EVENT_OS_STATE osState;
private TurnHandlerDealCard turn_handler_deal_card_component;
private void Awake()
{
turn_handler_deal_card_component = GetComponent<TurnHandlerDealCard>();
}
private void Start()
{
deal_card();
}
public void AddHandCard(Card card) => handCardList.Add(card);
public int GetHandCardCount() => handCardList.Count;
public Card GetHandCard(int index) => handCardList[index];
public void SetState(EVENT_OS_STATE state) => osState = state;
public EVENT_OS_STATE GetState() => osState;
// -------------------- private -----------------------
private void deal_card() // 系统发牌
{
turn_handler_deal_card_component.DealCard(
new EVENT_STRUCT.STRUCT_EVENT_OS_DEAL_CARD
{
DECK_CARD_COUNT = defaultDeckNumber,
HAND_CARD_COUNT = defaultCardNumber,
DURATION = everyCardDealDuration,
});
}
}