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);
}
}
}