using UnityEngine;
public class GameDataSynchronizer : MonoBehaviour
{
public enum EGameDataType { Go, Bbug, Bell }
[SerializeField] private TMPro.TextMeshProUGUI tmp;
[SerializeField] private EGameDataType type;
[SerializeField] private bool isPlayer;
private void Awake()
{
if (GameManager.Instance != null)
{
GameManager.Event.RegistEvent(EEventType.OnSynchronizeGameData, this.OnSynchronizeGameData);
}
switch (type)
{
case EGameDataType.Go:
tmp.text = "0고";
break;
case EGameDataType.Bbug:
tmp.text = "0";
break;
case EGameDataType.Bell:
tmp.text = "0";
break;
}
}
private void OnDestroy()
{
if (GameManager.Instance != null)
{
GameManager.Event.RemoveEvent(EEventType.OnSynchronizeGameData, this.OnSynchronizeGameData);
}
}
private void OnSynchronizeGameData()
{
switch (type)
{
case EGameDataType.Go:
int goNum = isPlayer ? GamePanel.Instance.Player_Go : GamePanel.Instance.AI_Go;
tmp.text = $"{goNum}고";
break;
case EGameDataType.Bbug:
tmp.text = isPlayer ? GamePanel.Instance.Player_Bbug.ToString() : GamePanel.Instance.AI_Bbug.ToString();
break;
case EGameDataType.Bell:
tmp.text = isPlayer ? GamePanel.Instance.Player_Bell.ToString() : GamePanel.Instance.AI_Bell.ToString();
break;
}
}
}