MainMenuRenderer.java 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package pathgame.rendering;
  2. import me.hammerle.snuviengine.api.Renderer;
  3. import pathgame.gameplay.Keys;
  4. import pathgame.gameplay.MainMenu;
  5. public class MainMenuRenderer
  6. {
  7. public void renderTick(Renderer r, float lag, MainMenu menu)
  8. {
  9. r.translateTo(0.0f, 0.0f);
  10. r.scale(2.0f, 2.0f);
  11. r.updateMatrix();
  12. renderBackground(r);
  13. renderButton("Start", r.getViewHeight() * 0.25f - 20 - r.getFontRenderer().getSize("Start").getHeight() * 0.5f, menu.isActiveButton(MainMenu.MenuButtons.START), r);
  14. renderButton("Options", r.getViewHeight() * 0.25f - r.getFontRenderer().getSize("Options").getHeight() * 0.5f, menu.isActiveButton(MainMenu.MenuButtons.OPTIONS), r);
  15. renderButton("Exit", r.getViewHeight() * 0.25f + 20 - r.getFontRenderer().getSize("Exit").getHeight() * 0.5f, menu.isActiveButton(MainMenu.MenuButtons.EXIT), r);
  16. }
  17. private void renderButton(String text, float y, boolean active, Renderer r)
  18. {
  19. r.setMixColorEnabled(false);
  20. r.setColorEnabled(true);
  21. r.setTextureEnabled(true);
  22. String s = text;
  23. if(active)
  24. {
  25. s = "&f" + s;
  26. }
  27. else
  28. {
  29. s = "&7" + s;
  30. }
  31. r.getFontRenderer().drawString(r.getViewWidth() * 0.25f - (r.getFontRenderer().getSize(s).getWidth() * 0.5f), y, s);
  32. }
  33. private void renderBackground(Renderer r)
  34. {
  35. r.setMixColorEnabled(true);
  36. r.setColorEnabled(true);
  37. r.setTextureEnabled(false);
  38. r.setBlendingEnabled(true);
  39. r.getColorRenderer().drawRectangle(r.getViewWidth() * 0.25f - 100, r.getViewHeight() * 0.25f - 50, r.getViewWidth() * 0.25f + 100, r.getViewHeight() * 0.25f + 50, 0x33_00_00_00);//ABGR
  40. }
  41. }