Armor.cs 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. //------------------------------------------------------------
  2. // Game Framework
  3. // Copyright © 2013-2021 Jiang Yin. All rights reserved.
  4. // Homepage: https://gameframework.cn/
  5. // Feedback: mailto:ellan@gameframework.cn
  6. //------------------------------------------------------------
  7. using GameFramework;
  8. using UnityEngine;
  9. using UnityGameFramework.Runtime;
  10. namespace MetaClient
  11. {
  12. /// <summary>
  13. /// 装甲类。
  14. /// </summary>
  15. public class Armor : Entity
  16. {
  17. private const string AttachPoint = "Armor Point";
  18. [SerializeField]
  19. private ArmorData m_ArmorData = null;
  20. #if UNITY_2017_3_OR_NEWER
  21. protected override void OnInit(object userData)
  22. #else
  23. protected internal override void OnInit(object userData)
  24. #endif
  25. {
  26. base.OnInit(userData);
  27. }
  28. #if UNITY_2017_3_OR_NEWER
  29. protected override void OnShow(object userData)
  30. #else
  31. protected internal override void OnShow(object userData)
  32. #endif
  33. {
  34. base.OnShow(userData);
  35. m_ArmorData = userData as ArmorData;
  36. if (m_ArmorData == null)
  37. {
  38. Log.Error("Armor data is invalid.");
  39. return;
  40. }
  41. GameEntry.Entity.AttachEntity(Entity, m_ArmorData.OwnerId, AttachPoint);
  42. }
  43. #if UNITY_2017_3_OR_NEWER
  44. protected override void OnAttachTo(EntityLogic parentEntity, Transform parentTransform, object userData)
  45. #else
  46. protected internal override void OnAttachTo(EntityLogic parentEntity, Transform parentTransform, object userData)
  47. #endif
  48. {
  49. base.OnAttachTo(parentEntity, parentTransform, userData);
  50. Name = Utility.Text.Format("Armor of {0}", parentEntity.Name);
  51. CachedTransform.localPosition = Vector3.zero;
  52. }
  53. }
  54. }