using UnityEngine; using TMPro; using UnityEngine.SceneManagement; using UnityEngine.UI; public class MainMenuManager : MonoBehaviour { [Header("Stats")] [SerializeField] private GameObject statsPanel; [SerializeField] private TMP_Text usernameText; [SerializeField] private TMP_Text ccText; [SerializeField] private TMP_Text rcText; [Header("Screens")] public GameObject mainMenuScreen; public GameObject gameModesScreen; public GameObject dummyBuyScreen; [Header("Dummy Buy")] public Button btnBuyUsd5; public Button btnBuyUsd20; public Button btnBuyUsd50; void Awake() { if(LoginManager.instance==null){ SceneManager.LoadScene(0); } } void Start() { LoginManager.OnUserDataUpdated += OnUserUpdated; usernameText.text = ""; ccText.text = ""; rcText.text = ""; LoginManager.instance.GetUserData((success, error, user) => { if(success){ OnUserUpdated(user); } }); btnBuyUsd5.onClick.AddListener(() => OnBuy(RcPack.Usd5)); btnBuyUsd20.onClick.AddListener(() => OnBuy(RcPack.Usd20)); btnBuyUsd50.onClick.AddListener(() => OnBuy(RcPack.Usd50)); } void OnBuy(string packId){ LoginManager.instance.PurchaseRcPack(packId, (success, error) => { if(success){ OnUserUpdated(LoginManager.CurrentUser); } }); } void OnDestroy() { LoginManager.OnUserDataUpdated -= OnUserUpdated; } // Update is called once per frame void Update() { } void OnUserUpdated(UserData user){ usernameText.text = user.username; ccText.text = CoinHelper.FormatString(user.cc) + " CC"; rcText.text = CoinHelper.FormatString(user.rc) + " RC"; } public void ShowMainMenuScreen(){ statsPanel.SetActive(true); mainMenuScreen.SetActive(true); gameModesScreen.SetActive(false); dummyBuyScreen.SetActive(false); } public void ShowGameModesScreen(){ statsPanel.SetActive(true); mainMenuScreen.SetActive(false); gameModesScreen.SetActive(true); dummyBuyScreen.SetActive(false); } public void ShowDummyBuyScreen(){ statsPanel.SetActive(false); mainMenuScreen.SetActive(false); gameModesScreen.SetActive(false); dummyBuyScreen.SetActive(true); } }