149 lines
3.4 KiB
C#
149 lines
3.4 KiB
C#
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class TutorialManagerMainMenu : MonoBehaviour
|
|
{
|
|
public const string TUTORIAL_PREF_KEY = "tutorial_main_menu_completed";
|
|
public bool forceShow= false;
|
|
public GameObject tutorialPanel;
|
|
public int curScreen = 1;
|
|
|
|
[Header("Screen 1")]
|
|
public GameObject screen1;
|
|
public Button btnNext1;
|
|
public Button btnSkip;
|
|
|
|
|
|
[Header("Screen 2")]
|
|
public GameObject screen2;
|
|
public Button btnNext2;
|
|
|
|
[Header("Screen 3")]
|
|
public GameObject screen3;
|
|
public GameObject buyScreen;
|
|
|
|
|
|
[Header("Screen 4")]
|
|
public GameObject screen4;
|
|
|
|
[Header("Screen 5")]
|
|
public GameObject screen5;
|
|
|
|
[Header("Screen 6")]
|
|
public GameObject screen6;
|
|
public Button btnNext6;
|
|
public CardCarousel gameModeCarousel;
|
|
|
|
[Header("Screen 7")]
|
|
public GameObject screen7;
|
|
public Button btnFinish;
|
|
|
|
void Start()
|
|
{
|
|
btnNext1.onClick.AddListener(OnNext1);
|
|
btnSkip.onClick.AddListener(OnSkip);
|
|
btnNext2.onClick.AddListener(OnNext2);
|
|
btnNext6.onClick.AddListener(OnNext6);
|
|
|
|
btnFinish.onClick.AddListener(OnStartTutorialMatch);
|
|
|
|
if(!forceShow){
|
|
if(PlayerPrefs.HasKey(TUTORIAL_PREF_KEY)){
|
|
tutorialPanel.SetActive(false);
|
|
Debug.Log("Tutorial pref key is available, stopping;");
|
|
return;
|
|
}
|
|
|
|
if(LoginManager.CurrentUser.rc > 0){
|
|
tutorialPanel.SetActive(false);
|
|
Debug.Log("User has rc, stopping;");
|
|
return;
|
|
}
|
|
}
|
|
|
|
tutorialPanel.SetActive(true);
|
|
screen1.SetActive(true);
|
|
PlayerPrefs.SetInt(TUTORIAL_PREF_KEY, 1);
|
|
PlayerPrefs.Save();
|
|
}
|
|
|
|
void OnNext1(){
|
|
screen1.SetActive(false);
|
|
screen2.SetActive(true);
|
|
curScreen = 2;
|
|
}
|
|
|
|
void OnSkip(){
|
|
tutorialPanel.SetActive(false);
|
|
OnTutorialCompleted();
|
|
}
|
|
|
|
void OnNext2(){
|
|
screen2.SetActive(false);
|
|
screen3.SetActive(true);
|
|
|
|
curScreen = 3;
|
|
}
|
|
|
|
void OnNext6(){
|
|
screen6.SetActive(false);
|
|
screen7.SetActive(true);
|
|
|
|
gameModeCarousel.SetSelectedIndex(1);
|
|
|
|
curScreen = 7;
|
|
}
|
|
|
|
void OnNext3(){
|
|
screen3.SetActive(false);
|
|
screen4.SetActive(true);
|
|
curScreen = 4;
|
|
}
|
|
|
|
void OnNext4(){
|
|
MainMenuManager.instance.ShowMainMenuScreen();
|
|
screen4.SetActive(false);
|
|
screen5.SetActive(true);
|
|
curScreen = 5;
|
|
}
|
|
|
|
void OnNext5(){
|
|
screen5.SetActive(false);
|
|
screen6.SetActive(true);
|
|
curScreen = 6;
|
|
}
|
|
|
|
|
|
public void OnTutorialCompleted(){
|
|
PlayerPrefs.SetInt(TUTORIAL_PREF_KEY, 1);
|
|
PlayerPrefs.Save();
|
|
tutorialPanel.SetActive(false);
|
|
}
|
|
|
|
void OnStartTutorialMatch()
|
|
{
|
|
OnTutorialCompleted();
|
|
if (MainMenuManager.instance != null)
|
|
MainMenuManager.instance.OnPlayTutorial();
|
|
}
|
|
|
|
void Update()
|
|
{
|
|
if(curScreen < 2){return;}
|
|
|
|
if(curScreen == 3 && buyScreen.activeSelf){
|
|
OnNext3();
|
|
}
|
|
if(curScreen == 4 && LoginManager.CurrentUser.rc > 0){
|
|
OnNext4();
|
|
}
|
|
if(curScreen == 5 && MainMenuManager.instance.gameModesScreen.activeSelf){
|
|
OnNext5();
|
|
}
|
|
|
|
if(curScreen == 6 && CupidLobby.instance.isMatchmaking){
|
|
OnTutorialCompleted();
|
|
}
|
|
}
|
|
}
|