Files
soccar2d/Assets/Scripts/TutorialManagerMainMenu.cs
T
2026-07-26 12:31:59 +05:30

147 lines
3.2 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);
return;
}
if(LoginManager.CurrentUser.rc > 0){
tutorialPanel.SetActive(false);
return;
}
}
tutorialPanel.SetActive(true);
screen1.SetActive(true);
}
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();
}
}
}