public unsafe void RenderTick(uint *bmpAddress, int bmpWidth, int bmpHeight, int?fps) { lock (_threadLockObj) { if (_battleTransition != null) { _battleTransition.RenderTick(bmpAddress, bmpWidth, bmpHeight); goto bottom; } if (_battleGUI != null) { _battleGUI.RenderTick(bmpAddress, bmpWidth, bmpHeight); goto bottom; } _overworldGUI.RenderTick(bmpAddress, bmpWidth, bmpHeight); if (_fadeFromTransition != null) { _fadeFromTransition.RenderTick(bmpAddress, bmpWidth, bmpHeight); goto bottom; } if (_fadeToTransition != null) { _fadeToTransition.RenderTick(bmpAddress, bmpWidth, bmpHeight); goto bottom; } bottom: foreach (MessageBox mb in MessageBoxes.ToArray()) { mb.Render(bmpAddress, bmpWidth, bmpHeight); } if (fps.HasValue) { Font.Default.DrawString(bmpAddress, bmpWidth, bmpHeight, 0, 0, fps.Value.ToString(), Font.DefaultFemale); } } }