DebugInfoOverlay.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. using UnityEngine;
  2. using UnityEngine.Serialization;
  3. using UnityEngine.UI;
  4. namespace ARLocation.UI
  5. {
  6. public class DebugInfoOverlay : MonoBehaviour
  7. {
  8. [FormerlySerializedAs("show")] public bool Show;
  9. [FormerlySerializedAs("showObjectInfo")] public bool ShowObjectInfo;
  10. private GameObject canvas;
  11. private GameObject canvas2;
  12. private GameObject btn1;
  13. private GameObject btn2;
  14. private Text btn1Text;
  15. // Use this for initialization
  16. void Start()
  17. {
  18. canvas = GameObject.Find(gameObject.name + "/Canvas");
  19. canvas2 = GameObject.Find(gameObject.name + "/ObjectInfoCanvas");
  20. btn1 = GameObject.Find(gameObject.name + "/ButtonCanvas/ToggleInfoButton");
  21. if (btn1)
  22. {
  23. btn1Text = btn1.GetComponentInChildren<Text>();
  24. }
  25. UpdateInfo();
  26. }
  27. private void UpdateInfo()
  28. {
  29. if (!canvas || !canvas2) return;
  30. canvas.SetActive(Show);
  31. canvas2.SetActive(ShowObjectInfo);
  32. var message = Show ? "Hide Info Overlay" : "Show Info Overlay";
  33. if (btn1Text)
  34. {
  35. btn1Text.text = message;
  36. }
  37. }
  38. public void Toggle()
  39. {
  40. Show = !Show;
  41. UpdateInfo();
  42. }
  43. public void ToggleObjectInfo()
  44. {
  45. ShowObjectInfo = !ShowObjectInfo;
  46. UpdateInfo();
  47. }
  48. }
  49. }