public virtual void Update(GameTime gameTime) { WeaponController.Update(GameTime.Now); _interpolationManager.Update(gameTime); if (!_interpolationManager.Interpolating) { MovementController.Update(gameTime); } AbilityHandler.Update(GameTime.Now); _snapShotManager.Update(gameTime); base.Update(); Action command; while (_enqueuedCommands.Count > 0) { if (_enqueuedCommands.TryDequeue(out command) && !this.Disposed) { command(); } } }