97 lines
2.4 KiB
C#
97 lines
2.4 KiB
C#
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);
|
|
}
|
|
}
|