| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 | 
							- using System;
 
- using UnityEngine;
 
- namespace VEngine
 
- {
 
-     public sealed class Updater : MonoBehaviour
 
-     {
 
-         public static Action updated;
 
-         public float maxUpdateTimeSlice = 0.01f;
 
-         public float time { get; private set; }
 
-         public bool busy => Time.realtimeSinceStartup - time >= maxUpdateTimeSlice;
 
-         public static Updater Instance { get; private set; }
 
-         private void Awake()
 
-         {
 
-             Instance = this;
 
-         }
 
-         private void Update()
 
-         {
 
-             time = Time.realtimeSinceStartup;
 
-             Loadable.UpdateAll();
 
-             Operation.UpdateAll();
 
-             Download.UpdateAll();
 
-             if (updated != null) updated.Invoke();
 
-         }
 
-         private void OnDestroy()
 
-         {
 
-             Download.ClearAllDownloads();
 
-         }
 
-         [RuntimeInitializeOnLoadMethod]
 
-         private static void InitializeOnLoad()
 
-         {
 
-             var updater = FindObjectOfType<Updater>();
 
-             if (updater == null)
 
-             {
 
-                 updater = new GameObject("Updater").AddComponent<Updater>();
 
-                 DontDestroyOnLoad(updater);
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |