using System; using Cysharp.Threading.Tasks; using JNGame.Util; using Plugins.JNGame.System; namespace JNGame { public class JNetGame : SingletonScene { private SystemBase[] _systems; public async UniTask Init(SystemBase[] systems) { _systems = systems; foreach (var system in _systems) { if (system is not null) { await system.OnInit(); } } } public void Close() { if (_systems is not null) { foreach (var system in _systems) { system?.OnClose(); } } } private void OnApplicationQuit() { Close(); } protected override void OnDispose() { Close(); } } }