private unsafe void AdvanceAndDrawString(int speed) { unsafe void DrawString(uint *bmpAddress, int bmpWidth, int bmpHeight) { _result = DrawNext(bmpAddress, bmpWidth, bmpHeight, speed); } _window.Image.Draw(DrawString); }
public unsafe void LogicTick() { bool IsDown() { return(InputManager.IsDown(Key.A) || InputManager.IsDown(Key.B)); } bool IsPressed() { return(InputManager.IsPressed(Key.A) || InputManager.IsPressed(Key.B)); } switch (_result) { case StringPrinterResult.EnoughChars: { int speed = IsDown() ? 3 : 1; AdvanceAndDrawString(speed); break; } case StringPrinterResult.FormFeed: { if (IsPressed()) { _window.ClearImage(); _result = StringPrinterResult.EnoughChars; } break; } case StringPrinterResult.VerticalTab: { if (IsPressed()) { _result = StringPrinterResult.EnoughChars; } break; } case StringPrinterResult.Ended: { if (IsPressed()) { _pressedDone = true; return; } break; } } }