HAARFTE/Assets/DemoGame/GameScript/Loader/Global.cs

61 lines
1.5 KiB
C#
Raw Normal View History

2024-10-24 16:16:57 +08:00
using System;
using Cysharp.Threading.Tasks;
using UnityEngine;
using YooAsset;
using ZC;
namespace Unity.Loader
{
public class Global : MonoBehaviour
{
2024-11-07 20:55:29 +08:00
public static Global Instance;
2024-10-24 16:16:57 +08:00
private InitializePackage _initializePackage;
[SerializeField] EPlayMode playMode;
[SerializeField] private string packageName = "DefaultPackage";
ZCGame zcGame;
2024-11-07 20:55:29 +08:00
private float time;
2024-10-26 23:50:18 +08:00
private GlobalData _globalData;
public GlobalData Data => _globalData;
2024-10-24 16:16:57 +08:00
2024-11-07 20:55:29 +08:00
// Action
2024-11-07 22:49:10 +08:00
public Action<string> updateTime;
public Action<string> updateScore;
public Action<string> updateProgress;
2024-11-07 20:55:29 +08:00
2024-10-24 16:16:57 +08:00
private void Awake()
{
2024-11-07 20:55:29 +08:00
Instance = this;
2024-10-24 16:16:57 +08:00
DontDestroyOnLoad(this.gameObject);
}
private void Start()
{
this._initializePackage = new InitializePackage(playMode, this.packageName, FinishCallback);
2024-10-26 23:50:18 +08:00
_globalData = new GlobalData();
}
private void Update()
{
time += Time.fixedTime;
2024-11-07 22:49:10 +08:00
updateTime?.Invoke(_globalData.runTimeStr);
2024-10-26 23:50:18 +08:00
// Debug.Log($"{_globalData.runTimeStr}");
}
private void OnDestroy()
{
_globalData.Dispose();
2024-10-24 16:16:57 +08:00
}
private void FinishCallback()
{
// yoo init finish
Debug.Log($"yoo init finish {DateTime.Now}");
zcGame = new ZCGame(this.gameObject);
}
}
}