2using System.Collections.Generic;
 
   10    public static Action<Point, bool> 
onVisit;
 
   12    public static int MAX(
int a, 
int b)
 
   21    public static int ABS(
int a)
 
   30    public static int ZSGN(
int a)
 
   43    private static bool IsBlocked(
int x, 
int z, 
int sx, 
int sz)
 
   54            if ((sz == -1 && weights[0] == 0) || (sz == 1 && weights[2] == 0) || (sx == 1 && weights[1] == 0) || (sx == -1 && weights[3] == 0))
 
   58            if (!flag && sx != 0 && sz != 0)
 
   67                    if ((sz < 0 && weights2[2] == 0) || (sx > 0 && weights2[3] == 0))
 
   71                    if ((sz > 0 && weights2[0] == 0) || (sx < 0 && weights2[1] == 0))
 
   92        List<Point> list = 
new List<Point>();
 
   93        List<Point> vecs = 
new List<Point>();
 
   98            if (point3.
x != 0 || point3.
z != 0)
 
  103        }, returnOnBlock: 
false);
 
  109        for (
int i = 0; i < radius; i++)
 
  111            Point point2 = vecs[i % vecs.Count];
 
  121            if (_onVisit != 
null)
 
  123                _onVisit(
p, blocked);
 
  144        Point rushPos = 
null;
 
  150                if (blocked || p.HasChara || p.IsBlocked)
 
  169        return IsVisible(p1.
x, p2.
x, p1.
z, p2.
z, _onVisit);
 
  177    public static bool IsVisible(
int x1, 
int x2, 
int z1, 
int z2, Action<Point, bool> _onVisit = 
null, 
bool returnOnBlock = 
true)
 
  181        originalP.
Set(x1, z1);
 
  184        int num = ABS(a) << 1;
 
  185        int num2 = ABS(a2) << 1;
 
  192            int num7 = num2 - (num >> 1);
 
  200                        onVisit(p, arg2: 
false);
 
  204                if (IsBlocked(num5, num6, num3, (num7 >= 0) ? num4 : 0) && returnOnBlock)
 
  220            int num8 = num - (num2 >> 1);
 
  228                        onVisit(p, arg2: 
false);
 
  232                if (IsBlocked(num5, num6, (num8 >= 0) ? num3 : 0, num4) && returnOnBlock)
 
if(item3.idFile==idFirstFile &&item3.id==idFirstTopic)
static int MAX(int a, int b)
static bool IsVisible(int x1, int x2, int z1, int z2, Action< Point, bool > _onVisit=null, bool returnOnBlock=true)
static List< Point > ListVisible(Point p1, Point p2, int radius, Action< Point, bool > _onVisit=null)
static bool IsVisible(Card c1, Card c2)
static Point GetNearestNeighbor(Point p1, Point p2)
static bool IsBlocked(int x, int z, int sx, int sz)
static bool IsVisible(Point p1, Point p2, Action< Point, bool > _onVisit=null)
static Point GetRushPoint(Point p1, Point dest)
static Action< Point, bool > onVisit
Point Set(int _x, int _z)
bool Equals(int _x, int _z)