52 lines
1.7 KiB
C#
52 lines
1.7 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 TURN_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 *************
|
|
// ============= 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,
|
|
});
|
|
}
|
|
} |