public void Update(TimeSpan elapsedGameTime, TimeSpan totalGameTime) { try { _editorHostGame?.Update(totalGameTime, elapsedGameTime); } finally { FlushLogs(); } }
private void DoUpdate(GameTime gameTime) { foreach (var ws in _wantsUpdateSignals) { ws.Update(); } if (_playing) { if (State == LoadedGameState.Paused || State == LoadedGameState.Loaded) { State = LoadedGameState.Playing; SyncPlaybackStateToEditor(); } } else { if (State == LoadedGameState.Playing) { State = LoadedGameState.Paused; SyncPlaybackStateToEditor(); } } /*if (!_isReadyForMainThread || _gameLoader == null) * { * return; * } */ if (!_hasAssignedGame) { InternalLog("Assigning host instance to game"); _editorHostGame = new EditorHostGame(_game, _sharedRendererClientFactory); InternalLog("Assigned host instance to game"); _hasAssignedGame = true; SyncPlaybackStateToEditor(); } if (State == LoadedGameState.Playing) { try { _editorHostGame?.Update(gameTime.TotalGameTime, gameTime.ElapsedGameTime); } finally { FlushLogs(); } } else { if (!(_game?.HasLoadedContent ?? true)) { _editorHostGame?.Update(gameTime.TotalGameTime, gameTime.ElapsedGameTime); } Thread.Sleep(0); } _hasRunGameUpdate = true; }