コード例 #1
0
        public static void AddText(string text, GUCView.Fonts font, ColorRGBA color, long duration = TextDuration)
        {
            if (string.IsNullOrWhiteSpace(text))
            {
                return;
            }

            if (vis.Texts.Count == 0)
            {
                vis.CreateTextCenterX("", 0);
            }

            int vFontSize = GUCView.PixelToVirtualY(GUCView.GetFontSize(font));

            // push up active texts
            for (int i = endTimes.Count - 1; i >= 0; i--)
            {
                if (i == vis.Texts.Count - 1)
                {
                    vis.CreateTextCenterX("", 0);
                }

                var newText = vis.Texts[i + 1];
                var curText = vis.Texts[i];

                newText.Font = curText.Font;
                newText.SetColor(curText.GetColor());
                newText.Text = curText.Text;
                newText.SetPosY(curText.VPos.Y - vFontSize, true);
            }

            // add new text
            var visText = vis.Texts[0];

            visText.Font = font;
            visText.SetColor(color);
            visText.Text = text;
            visText.SetPosY(0xB00 - vFontSize, true);

            endTimes.Insert(0, GameTime.Ticks + duration);

            if (endTimes.Count == 1)
            {
                vis.Show();
                GUCScripts.OnUpdate += Update;
            }
        }
コード例 #2
0
 public static void AddText(string text, GUCView.Fonts font = GUCView.Fonts.Default)
 {
     AddText(text, font, ColorRGBA.White, TextDuration);
 }