using System; using Cysharp.Threading.Tasks; using UnityEngine; using YooAsset; namespace Unity.Loader { public class Global : MonoBehaviour { private InitializePackage _initializePackage; [SerializeField] EPlayMode playMode; [SerializeField] private string packageName = "DefaultPackage"; private float _time; private void Awake() { DontDestroyOnLoad(this.gameObject); } private void Start() { this._initializePackage = new InitializePackage(playMode, this.packageName, FinishCallback); } private void Update() { _time += Time.deltaTime; } private void FinishCallback() { // yoo init finish Debug.Log($"yoo init finish {DateTime.Now}"); this.LoadDlls().Forget(); } private async UniTask LoadDlls() { Loader loader = new Loader(); await loader.DownloadAsync(); loader.OnStart(gameObject, this.playMode); } } }