using Cysharp.Threading.Tasks; using Eiko.YaSDK; using Eiko.YaSDK.Data; using JTSystems; using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.UI; public class StartUp : MonoBehaviour { private static GameObject LoadingScreenInstance; [SerializeField] private GameObject LoadScreen; [SerializeField] private Image loadingImage; [SerializeField] private int _levelOverride; private const int gamePlaySceneIndex = 1; private async void Start() { LeanTween.rotateAroundLocal(loadingImage.gameObject, Vector3.forward, 360f, 2f).setLoopClamp(); LoadingScreenInstance = LoadScreen; DontDestroyOnLoad(LoadScreen); YandexSDK.instance.InitializePurchases(); await YandexPrefs.Init(); if(_levelOverride > 0) YanGamesSaveManager.SaveLevel(_levelOverride - 1); await SceneManager.LoadSceneAsync(gamePlaySceneIndex); } /// /// ?????????? ??????????? ????? /// public static void EndLoad() { if(LoadingScreenInstance) Destroy(LoadingScreenInstance); else Debug.LogWarning("EndLoad should be called once after initial initialization"); } }