示例#1
0
 private MovementPath method_3(SimpleCellInfo class13_0)
 {
     List<MapPoint> range = new List<MapPoint>();
     SimpleCellInfo class2 = class13_0;
     while (class2.v_OriginPoint.CellId != this.MapPoint_FromCell.CellId)
     {
         class2 = class2.class13_0;
         range.Add(class2.v_OriginPoint);
     }
     range.Reverse();
     range.Add(class13_0.v_OriginPoint);
     if (this.v_MouvementPoints != -1)
     {
         range = range.GetRange(0, (((this.v_MouvementPoints + 1) > range.Count) ? range.Count : (this.v_MouvementPoints + 1)));
     }
     MovementPath path = new MovementPath { CellStart = this.MapPoint_FromCell, CellEnd = range[(range.Count - 1)] };
     int num = (range.Count - 2);
     int i = 0;
     while (i <= num)
     {
         PathElement item = new PathElement { Cell = range[i], Orientation = range[i].OrientationTo(range[(i + 1)]) };
         path.Cells.Add(item);
         i += 1;
     }
     path.Compress();
     return path;
 }