Game_CodeMM/Assets/00_scripts/Events/TurnScripts/TurnManagerSingleton.cs
2025-11-21 02:12:50 +08:00

39 lines
1.4 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TurnManagerSingleton : MonoBehaviour
{
public static TurnManagerSingleton Instance { get; private set; }
[SerializeField] private TurnManager turnManager;
[SerializeField] private bool needDebugLog = true;
private void Awake()
{
if (Instance != null && Instance != this) Destroy(gameObject);
Instance = this;
DontDestroyOnLoad(gameObject);
if (turnManager == null) turnManager = GetComponent<TurnManager>();
}
// public void SetDebugLog(bool value) => needDebugLog = value;
public bool GetNeedDebugLog() => needDebugLog;
public void PrintMsg(string msg_from, string msg_title, string msg_content) => print($"[{msg_from}][{msg_title}]: {msg_content}");
public bool GetValueIsNotNull(object value, string errorMessage)
{
if (value != null) return true;
Debug.LogError($"[传值为空]: Variable => [{errorMessage}], Type => [{typeof(object)}]");
return false;
}
public bool CompareManagerState(TurnManager.TurnManagerStateEnum targetState)
{
TurnManager.TurnManagerStateEnum srcState = turnManager.GetTurnManagerState();
if (srcState == targetState) return true;
Debug.LogError($"[流程验证失败]系统正在执行其他流程: {srcState}, 期望流程: {targetState}");
return false;
}
}