示例#1
0
        public void Start()
        {
            _renderer = new LevelSelectorStateRenderer(this);

            float offset = _manager.Game.Witdh / 2.0f - 4 * 300 / 2.0f + 50.0f;
            float x      = offset;
            float y      = 25.0f;

            for (int i = 0; i < _levelCount; i++)
            {
                _selectButtons.Add(new LevelSelectButton(x,
                                                         y, new System.Numerics.Vector3(0.2f, 0.6f, 0.6f), _levelMetas[i], this));

                x += 300.0f;
                if ((x - offset) / 300.0f == 4.0f)
                {
                    x  = offset;
                    y += 300.0f;
                }
            }

            _star = ResourceManager.LoadTexture("Sun");
        }
示例#2
0
        public void Render(LevelSelectorStateRenderer renderer, Fontstash fons)
        {
            renderer.RenderQuad(_button.X, _button.Y, _button.Width, _button.Height, new Vector4(_colour, Hovering ? 1.0f : 0.75f));

            float size = 32;
            float x    = _button.X + size / 1.5f;
            float y    = _button.Y + size * 1.5f;

            for (int i = 0; i < _data.bestRating; i++)
            {
                renderer.RenderTexturedQuad(_state.Star, x + i * size, y, size, -size);
            }

            renderer.PrepareLegacy();
            fons.SetColour(0xFFFFFFFF);
            fons.SetFont(fons.GetFontByName("stdfont"));
            fons.SetSize(24.0f);
            fons.SetAlign((int)FonsAlign.Center | (int)FonsAlign.Middle);
            fons.DrawText(_button.X + _button.Width / 2.0f, _button.Y + _button.Height / 2.0f, _data.name);
            fons.SetSize(16.0f);
            fons.DrawText(_button.X + _button.Width / 2.0f, _button.Y + _button.Height / 2.0f + 35.0f, "Last Time: " + _data.bestTime.ToString());
            renderer.EndLegacy();
        }