protected virtual void DrawDirtyScreenParts()
{
// Update verbs
UpdateDirtyScreen(_verbVirtScreen);
// Update the conversation area (at the top of the screen)
UpdateDirtyScreen(_textVirtScreen);
// Update game area ("stage")
if (_camera.LastPosition.X != _camera.CurrentPosition.X || (_game.Version >= 7 && (Camera.CurrentPosition.Y != Camera.LastPosition.Y)))
{
// Camera moved: redraw everything
DrawStripToScreen(_mainVirtScreen, 0, _mainVirtScreen.Width, 0, _mainVirtScreen.Height);
_mainVirtScreen.SetDirtyRange(_mainVirtScreen.Height, 0);
}
else
{
UpdateDirtyScreen(_mainVirtScreen);
}
// Handle shaking
HandleShaking();
}