public static void StraightenCompass() { if (compassStraight) { return; } compass = new twin[] { right, up, left, down }; compassStraight = true; }
public void DoEach(System.Action <twin> func) { for (twin point = min; point.y <= max.y; point.x = min.x, point.y++) { for (; point.x <= max.x; point.x++) { func(point); } } }
public int GetArea() { twin size = max - min + twin.one; if (size.x < 0) { size.x = -size.x; } if (size.y < 0) { size.y = -size.y; } return(size.x * size.y); }
public bool Contains(twin point) { return(point >= min && point <= max); }
public twinrect(twin min, twin max) { this.min = min; this.max = max; }
public twinrect(int x1, int y1, int x2, int y2) { this.min = new twin(x1, y1); this.max = new twin(x2, y2); }