MiscGUI.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. using System;
  2. using UnityEngine;
  3. namespace COM3D2.MeidoPhotoStudio.Plugin
  4. {
  5. internal static class MiscGUI
  6. {
  7. public static readonly GUILayoutOption HalfSlider = GUILayout.Width(98);
  8. private static GUIStyle lineStyleWhite;
  9. private static GUIStyle lineStyleBlack;
  10. private static GUIStyle textureBoxStyle;
  11. static MiscGUI()
  12. {
  13. lineStyleWhite = new GUIStyle(GUI.skin.box);
  14. lineStyleWhite.padding = lineStyleWhite.border = new RectOffset(0, 0, 1, 1);
  15. lineStyleWhite.margin = new RectOffset(0, 0, 8, 8);
  16. lineStyleWhite.normal.background = Utility.MakeTex(2, 2, new Color(1f, 1f, 1f, 0.2f));
  17. lineStyleBlack = new GUIStyle(lineStyleWhite);
  18. lineStyleBlack.normal.background = Utility.MakeTex(2, 2, new Color(0f, 0f, 0f, 0.3f));
  19. textureBoxStyle = new GUIStyle(GUI.skin.box);
  20. textureBoxStyle.normal.background = Utility.MakeTex(2, 2, new Color(0f, 0f, 0f, 0f));
  21. }
  22. private static void Line(GUIStyle style) => GUILayout.Box(GUIContent.none, style, GUILayout.Height(1));
  23. public static void WhiteLine() => Line(lineStyleWhite);
  24. public static void BlackLine() => Line(lineStyleBlack);
  25. public static void DrawTexture(Texture texture, params GUILayoutOption[] layoutOptions)
  26. {
  27. GUILayout.Box(texture, textureBoxStyle, layoutOptions);
  28. }
  29. public static void Header(string text, params GUILayoutOption[] layoutOptions)
  30. {
  31. GUIStyle style = new GUIStyle(GUI.skin.label);
  32. style.padding = new RectOffset(7, 0, 0, -5);
  33. GUILayout.Label(text, style, layoutOptions);
  34. }
  35. }
  36. }