using System; using System.Collections; using System.Collections.Generic; using UnityEngine; public class TurnManager : MonoBehaviour { // ======== serializeField ======== [SerializeField] private List playerCharacterGo; // 玩家队伍列表(应该传入5个角色), 暂时只传3个 [SerializeField] private int defaultHandCardNumber = 5; // 默认手牌数量 [SerializeField] private float everyCardDistributeDuration = 0.25f; // 系统发牌时间 [SerializeField] private float everyCardDiscardDuration = 0.25f; // 系统弃牌时间 [SerializeField] private CharacterManager characterManager; // ======== private ======== private TurnManagerSingleton turnManagerSingleton; private List cardDeckList; // 牌组 private readonly List cardPileList = new(); // 弃牌堆 private TurnManagerStateEnum turnManagerState; // 状态机 private readonly List playerCharacterList = new(); private void Start() { turnManagerSingleton = TurnManagerSingleton.Instance; TurnEnterSetupState(); } private void TurnEnterSetupState() { turnManagerState = TurnManagerStateEnum.SETUP_STATE; if (turnManagerSingleton.GetNeedDebugLog()) Debug.Log("进入设置状态"); cardDeckList.Clear(); cardPileList.Clear(); foreach (GameObject go in playerCharacterGo) playerCharacterList.Add(go.GetComponent()); foreach (var playerCharacter in playerCharacterList) playerCharacter.SetID(playerCharacterList.IndexOf(playerCharacter)); characterManager.SetFightCharacter(playerCharacterList); // 从5个角色里选出三个, 暂时只选三个 cardDeckList = characterManager.RenderCharacterSprite(); } }