12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- 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);
- }
- /// <summary>
- /// ?????????? ??????????? ?????
- /// </summary>
- public static void EndLoad()
- {
- if(LoadingScreenInstance)
- Destroy(LoadingScreenInstance);
- else
- Debug.LogWarning("EndLoad should be called once after initial initialization");
- }
- }
|