using System; using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.UI; using System.Threading.Tasks; public class Buttons: MonoBehaviour { public GameObject panelSetting; public GameObject Achievements; private int LanguageID; public GameObject DD; public TMP_Dropdown DDE; public GameObject Reborn; public GameObject PlayB; public string string1; // Start is called before the first frame update private void Start() { List EL = new List {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; if (!PlayerPrefs.HasKey("PassLevels")) Currencies.Save("PassLevels",EL); if (panelSetting != null) { panelSetting.SetActive(false); } if (panelSetting != null) { panelSetting.SetActive(false); } LanguageID = PlayerPrefs.GetInt("LanguageID"); if (DD != null) { DDE = DD.GetComponent(); DDE.value = LanguageID; } if(PlayerPrefs.GetInt("LevelComplete") >= 50 && Reborn != null) { Reborn.SetActive(true); PlayB.SetActive(false); } else { print(PlayerPrefs.GetInt("LevelComplete")); } } public void OpenScene (String sceneName) { End(sceneName); } public void Destroy() { Destroy(GameObject.Find("LvlMusic(Clone)")); } public void OpenSettings() { panelSetting.SetActive(true); } public void CloseSettings() { panelSetting.SetActive(false ); } public void OpenAchievements() { Achievements.SetActive(true); } public void CloseAchievements() { Achievements.SetActive(false ) ; } public void Play() { End("LelelSelecter"); } public void Skins() { End("Skins"); } public void Minigames() { End("MiniGames"); } public void Menu() { End("LelelSelecter"); } public void MainMenu() { End("MainMenu"); } public void Retry() { // 1. Если string1 пустая, значит это не импортированный уровень, а обычная сцена (миниигра) if (string.IsNullOrEmpty(string1)) { // Просто перезагружаем ту сцену, в которой находимся сейчас End(SceneManager.GetActiveScene().name); } else { // 2. Если в string1 что-то есть, значит это уровень из файла (Level1, Level2...) // ВАЖНО: убедись, что на объекте panelSetting есть компонент TransferScript. // Если в редакторе Unity ты перепутал и там должен быть префаб Tobj — замени переменную. TransferScript ts = Instantiate(panelSetting).GetComponent(); ts.string1 = string1; ts.bool1 = true; // Ставим true, так как это ПОВТОР (Retry) ts.gameObject.SetActive(true); ts.gameObject.name = "Tobj"; DontDestroyOnLoad(ts.gameObject); End("ImportLeverl"); // Идем в сцену-загрузчик } } public void ResetLevels() { PlayerPrefs.SetInt("LevelComplete", 0); Debug.Log(PlayerPrefs.GetInt("LevelComplete")); } public void LC() { End("LevelCreator"); } public void LeaveGame() { Application.Quit(); } //MiniGames public void Dropper() { End("GameDropper"); } public void DoupleGame() { End("GameDoubleGame"); } public void Gravity() { End("GameGravity"); } public void Tower() { End("GameTower"); } public void Iceberg() { End("GameIceberg"); } public void Close() { Destroy(this.gameObject); } //settings public void SetLang(Int32 LangID) { LanguageID = LangID; PlayerPrefs.SetInt("LanguageID", LanguageID); } public void BackLLast() { PlayerPrefs.SetInt("LevelComplete", 50); } public static async void End(object S) { GameObject.FindGameObjectWithTag("Transition").GetComponent().SetTrigger("End"); string LoadedScene; LoadedScene = S.ToString(); await Task.Delay(750); Time.timeScale = 1f; try { int L = int.Parse(LoadedScene); SceneManager.LoadScene(L); } catch { SceneManager.LoadScene(LoadedScene); } } public void pause() { Time.timeScale = 0f; } public void resume() { Time.timeScale = 1f; } }