YIUI3DDisplayChildSystem.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. using System;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using YIUIFramework;
  5. namespace ET.Client
  6. {
  7. /// <summary>
  8. /// 3DDisplay的扩展组件
  9. /// 文档: https://lib9kmxvq7k.feishu.cn/wiki/FhGGwVZSyiCqHCkTVQYcKHQCnKf
  10. /// </summary>
  11. [FriendOf(typeof(YIUI3DDisplayChild))]
  12. [EntitySystemOf(typeof(YIUI3DDisplayChild))]
  13. public static partial class YIUI3DDisplayChildSystem
  14. {
  15. [EntitySystem]
  16. private static void Awake(this YIUI3DDisplayChild self, UI3DDisplay ui3DDisplay)
  17. {
  18. self.m_UI3DDisplay = ui3DDisplay;
  19. self.m_OnClickedEntity = self.Parent;
  20. self.UI3DDisplay.m_YIUI3DDisplayChildRef = self;
  21. self.Awake3DDisplay();
  22. }
  23. [EntitySystem]
  24. private static void Destroy(this YIUI3DDisplayChild self)
  25. {
  26. self.Destroy3DDisplay();
  27. self.UI3DDisplay.m_YIUI3DDisplayChildRef = default;
  28. self.m_UI3DDisplay = null;
  29. self.m_OnClickedEntity = default;
  30. }
  31. }
  32. }