private void DrawTextBoxMenuItem(TextBoxMenuItem item, int tics) { var length = 24; DrawMenuPatch("M_LSLEFT", item.ItemX, item.ItemY); for (var i = 0; i < length; i++) { var x = item.ItemX + 8 * (1 + i); DrawMenuPatch("M_LSCNTR", x, item.ItemY); } DrawMenuPatch("M_LSRGHT", item.ItemX + 8 * (1 + length), item.ItemY); if (!item.Editing) { var text = item.Text != null ? item.Text : emptyText; DrawMenuText(text, item.ItemX + 8, item.ItemY); } else { DrawMenuText(item.Text, item.ItemX + 8, item.ItemY); if (tics / 3 % 2 == 0) { var textWidth = screen.MeasureText(item.Text, 1); DrawMenuText(cursor, item.ItemX + 8 + textWidth, item.ItemY); } } }
private void RenderCast(Finale finale) { DrawPatch("BOSSBACK", 0, 0); var frame = finale.CastState.Frame & 0x7fff; var patch = sprites[finale.CastState.Sprite].Frames[frame].Patches[0]; if (sprites[finale.CastState.Sprite].Frames[frame].Flip[0]) { screen.DrawPatchFlip( patch, screen.Width / 2, screen.Height - scale * 30, scale); } else { screen.DrawPatch( patch, screen.Width / 2, screen.Height - scale * 30, scale); } var width = screen.MeasureText(finale.CastName, scale); screen.DrawText( finale.CastName, (screen.Width - width) / 2, screen.Height - scale * 13, scale); }