// main loop public void Update(int ms) { if (!_isValid || !_isRunning) { return; } #if UNITY_EDITOR if (UnityEditor.EditorApplication.isCompiling) { ScriptEngine.Shutdown(); _logger?.Write(LogLevel.Warn, "assembly reloading, shutdown script engine immediately"); return; } #endif if (_pendingActions.Count != 0) { ExecutePendingActions(); } OnUpdate?.Invoke(); //TODO: optimize ExecutePendingJob(); // poll here; _timerManager.Update(ms); if (_autorelease != null) { _autorelease.Drain(); } }
// main loop public void Update(int ms) { if (!_isValid || !_isRunning) { return; } if (_pendingActions.Count != 0) { ExecutePendingActions(); } OnUpdate?.Invoke(); //TODO: optimize ExecutePendingJob(); // poll here; _timerManager.Update(ms); if (_autorelease != null) { _autorelease.Drain(); } }