コード例 #1
0
        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);
                }
            }
        }
コード例 #2
0
        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);
        }