using CommonAI.ZoneClient; using CommonAIClient.Unity.Utils; namespace CommonAIClient.Unity.Battle { public partial class ComAICell : BattleObject { private ZoneObject mZoneObject; protected ZoneObject ZObject { get { return mZoneObject; } } public uint ObjectID { get { return mZoneObject.ObjectID; } } /// /// ZObject X /// public float X { get { return mZoneObject.X; } } /// /// ZObject Y /// public float Y { get { return mZoneObject.Y; } } /// /// ZObject Z /// public float Z { get { return mZoneObject.Z; } } public ComAICell(BattleScene battleScene, ZoneObject obj) : base(battleScene, string.Format("{0}_{1}({2})", obj.GetType().Name, obj.Name, obj.ObjectID)) { mZoneObject = obj; RegistAllObjectEvent(); } protected override void OnDispose() { base.OnDispose(); mZoneObject.Dispose(); } protected override void OnUpdate(float deltaTime) { base.OnUpdate(deltaTime); SyncState(); } protected virtual void SyncState() { this.ObjectRoot.ZonePos2NavPos(ZObject.Parent.Terrain.TotalHeight , ZObject.X, ZObject.Y, ZObject.Z); this.ObjectRoot.ZoneRot2UnityRot(ZObject.Direction); } } }