public virtual void FollowTarget()
{
if (!SelObj.GetGameMap().CanMove(TargetObj.GetCurrentX(), TargetObj.GetCurrentY()))
{
return;
}
findlist = SelObj.GetGameMap().GetMapPath().FindPath(SelObj.GetCurrentX(),
SelObj.GetCurrentY(), TargetObj.GetCurrentX(), TargetObj.GetCurrentY());
if (findlist != null && findlist.Count > 0)
{
findlist.RemoveAt(0); //这个是角色目标点- 删掉
}
//short x = 0;
//short y = 0;
//byte dir = 0;
//short targetx,targety;
//targetx = TargetObj.GetCurrentX();
//targety = TargetObj.GetCurrentY();
//for (int i = 0; i < 8; i++)
//{
// short tempx =(short) (targetx + DIR._DELTA_X[i]);
// short tempy = (short) (targety + DIR._DELTA_Y[i]);
// if (SelObj.GetGameMap().GetPointOfObj(SelObj, x, y))
// {
// if (x == 0 && y == 0) { x = tempx; y = tempy; }
// if(Math.Abs(tempx - targetx) < Math.Abs(x - targetx) &&
// Math.Abs(tempy - targety) < Math.Abs(y - targety))
// {
// x = tempx;
// y = tempy;
// }
// }
//}
//if (x != 0 && y != 0)
//{
// dir = DIR.GetNextDir(SelObj.GetCurrentY(), SelObj.GetCurrentY(), x, y);
// SelObj.Walk(dir);
//}
}