ComAICell.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. using CommonAI.ZoneClient;
  2. using CommonAIClient.Unity.Utils;
  3. namespace CommonAIClient.Unity.Battle
  4. {
  5. public partial class ComAICell : BattleObject
  6. {
  7. private ZoneObject mZoneObject;
  8. protected ZoneObject ZObject { get { return mZoneObject; } }
  9. public uint ObjectID { get { return mZoneObject.ObjectID; } }
  10. /// <summary>
  11. /// ZObject X
  12. /// </summary>
  13. public float X { get { return mZoneObject.X; } }
  14. /// <summary>
  15. /// ZObject Y
  16. /// </summary>
  17. public float Y { get { return mZoneObject.Y; } }
  18. /// <summary>
  19. /// ZObject Z
  20. /// </summary>
  21. public float Z { get { return mZoneObject.Z; } }
  22. public ComAICell(BattleScene battleScene, ZoneObject obj)
  23. : base(battleScene, string.Format("{0}_{1}({2})", obj.GetType().Name, obj.Name, obj.ObjectID))
  24. {
  25. mZoneObject = obj;
  26. RegistAllObjectEvent();
  27. }
  28. protected override void OnDispose()
  29. {
  30. base.OnDispose();
  31. mZoneObject.Dispose();
  32. }
  33. protected override void OnUpdate(float deltaTime)
  34. {
  35. base.OnUpdate(deltaTime);
  36. SyncState();
  37. }
  38. protected virtual void SyncState()
  39. {
  40. this.ObjectRoot.ZonePos2NavPos(ZObject.Parent.Terrain.TotalHeight
  41. , ZObject.X, ZObject.Y, ZObject.Z);
  42. this.ObjectRoot.ZoneRot2UnityRot(ZObject.Direction);
  43. }
  44. }
  45. }