public override actions.Action GetAction() { CalcXYDiff(); int xMov = 0, yMov = 0; while( XDif == 0 && YDif == 0) { curDest = WorldMap.GetArea(random.Next(10), random.Next(10)); CalcXYDiff(); } if( XDif < 0) { xMov = -1; }else if( XDif > 0 ) { xMov = 1; } if (YDif < 0) { yMov = -1; } else if (YDif > 0) { yMov = 1; } actions.Move ret = new actions.Move(Owner, WorldMap.GetArea(Owner.Location.X + xMov, Owner.Location.Y + yMov)); return ret; }
public override actions.Action GetAction() { CalcXYDiff(); int xMov = 0, yMov = 0; if( XDif == 0 && YDif == 0) { curDest++; if (curDest >= Destination.Length) { curDest = 0; } CalcXYDiff(); } if( XDif < 0) { xMov = -1; }else if( XDif > 0 ) { xMov = 1; } if (YDif < 0) { yMov = -1; } else if (YDif > 0) { yMov = 1; } actions.Move ret = new actions.Move(Owner, WorldMap.GetArea(Owner.Location.X + xMov, Owner.Location.Y + yMov)); return ret; }