XmdsClientVirtual_Monster.cs 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. using CommonAI.ZoneClient;
  2. using XmdsCommon.Message;
  3. namespace XmdsCommon.ZoneClient.XmdsClientVirtual
  4. {
  5. public class XmdsClientVirtual_Monster : XmdsClientVirtual
  6. {
  7. private MonsterVisibleDataB2C mData = null;
  8. public override void OnInit(ZoneUnit owner)
  9. {
  10. base.OnInit(owner);
  11. if (owner == null || owner.SyncInfo == null || !(owner.SyncInfo.VisibleInfo is MonsterVisibleDataB2C))
  12. {
  13. mLog.Error("ClientVirtual_Monster Init Error");
  14. }
  15. else
  16. {
  17. mData = owner.SyncInfo.VisibleInfo as MonsterVisibleDataB2C;
  18. }
  19. }
  20. public override void OnDispose(ZoneUnit owner)
  21. {
  22. base.OnDispose(owner);
  23. }
  24. protected override void MOwner_OnDoEvent(ZoneObject obj, CommonAI.Zone.ObjectEvent e)
  25. {
  26. if (e is MonsterHeirInfoChangeEventB2C)
  27. {
  28. if (mData != null)
  29. {
  30. mData.UnitHeirInfo = (e as MonsterHeirInfoChangeEventB2C).UnitHeirInfo;
  31. }
  32. }
  33. base.MOwner_OnDoEvent(obj, e);
  34. }
  35. #region 常用方法.
  36. public string GetName()
  37. {
  38. if (mData != null)
  39. {
  40. return mData.DisplayName;
  41. }
  42. return null;
  43. }
  44. public int GetLv()
  45. {
  46. if (mOwner != null && mOwner.SyncInfo != null)
  47. {
  48. return mOwner.SyncInfo.Level;
  49. }
  50. return 0;
  51. }
  52. /// <summary>
  53. /// 获得怪物品质.
  54. /// </summary>
  55. /// <returns></returns>
  56. public MonsterVisibleDataB2C.MonsterQcolor GetMonsterQcolor()
  57. {
  58. if (mData != null)
  59. {
  60. return mData.Qcolor;
  61. }
  62. return MonsterVisibleDataB2C.MonsterQcolor.Q0;
  63. }
  64. /// <summary>
  65. /// 获得怪物类型小怪、精英、BOSS.
  66. /// </summary>
  67. /// <returns></returns>
  68. public MonsterVisibleDataB2C.MonsterType GetMonsterType()
  69. {
  70. if (mData != null)
  71. {
  72. return mData.MType;
  73. }
  74. return MonsterVisibleDataB2C.MonsterType.MType0;
  75. }
  76. /// <summary>
  77. /// 获得攻击类型(主动\被动).
  78. /// </summary>
  79. /// <returns></returns>
  80. public MonsterVisibleDataB2C.MonsterAttackType GetMonsterAtkType()
  81. {
  82. if (mData != null)
  83. {
  84. return mData.AttackType;
  85. }
  86. return MonsterVisibleDataB2C.MonsterAttackType.Active;
  87. }
  88. /// <summary>
  89. /// 获得种族类型.
  90. /// </summary>
  91. /// <returns></returns>
  92. public MonsterVisibleDataB2C.MonsterAtype GetMonsterRaceType()
  93. {
  94. if (mData != null)
  95. {
  96. return mData.Atype;
  97. }
  98. return MonsterVisibleDataB2C.MonsterAtype.Monster;
  99. }
  100. public int GetID()
  101. {
  102. if (mData != null)
  103. {
  104. return mData.MonsterID;
  105. }
  106. return 0;
  107. }
  108. public string GetSceneType()
  109. {
  110. if (mData != null)
  111. {
  112. return mData.SenceType;
  113. }
  114. return null;
  115. }
  116. public string GetTitle()
  117. {
  118. if (mData != null)
  119. {
  120. return mData.Title;
  121. }
  122. return null;
  123. }
  124. public MonsterVisibleDataB2C.HeirInfo GetHeirInfo()
  125. {
  126. if (mData != null)
  127. {
  128. return mData.UnitHeirInfo;
  129. }
  130. return null;
  131. }
  132. public byte GetHpPlies()
  133. {
  134. if(mData != null)
  135. {
  136. return mData.hpPlies;
  137. }
  138. return 1;
  139. }
  140. public MonsterVisibleDataB2C GetData()
  141. {
  142. return mData;
  143. }
  144. #endregion
  145. }
  146. }