Mark.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using Sirenix.OdinInspector;
  5. namespace ChivaXR
  6. {
  7. /// <summary>
  8. /// GameObject标记
  9. /// </summary>
  10. public class Mark : MonoBehaviour
  11. {
  12. [LabelText("标记名称:")]
  13. [LabelWidth(100)]
  14. public string markName;
  15. [HideInInspector]
  16. public bool isRegister = false;
  17. [HideIf("isRegister")]
  18. [Button("注册至场景标记库")]
  19. public void RegistorContainer()
  20. {
  21. MarkContainer markContainer = GameObject.FindObjectOfType<MarkContainer>();
  22. if (markContainer)
  23. {
  24. markContainer.RegisterMark(this);
  25. isRegister = true;
  26. }
  27. }
  28. [ShowIf("isRegister")]
  29. [Button("删除注册信息")]
  30. public void RemoveRegistor()
  31. {
  32. MarkContainer markContainer = GameObject.FindObjectOfType<MarkContainer>();
  33. if (markContainer)
  34. {
  35. markContainer.RemoveMark(this);
  36. isRegister = false;
  37. }
  38. }
  39. }
  40. }