30 public void SetBounds(
int _x,
int _z,
int _maxX,
int _maxZ)
40 if (dx >=
x && dz >=
z && dx <=
maxX)
105 for (
int i =
z; i <
maxZ + 1; i++)
107 for (
int j =
x; j <
maxX + 1; j++)
118 else if (thing.
dir == 1)
122 else if (thing.
dir == 2)
142 return maxZ + a < EClass._map.Size - 1;
163 maxX = EClass._map.Size - 2;
167 maxZ = EClass._map.Size - 2;
184 for (
int i = 0; i < radius * radius * 2; i++)
197 for (
int i = 0; i < 10000; i++)
210 for (
int i = 0; i < 10000; i++)
225 for (
int i = 0; i < 10000; i++)
250 for (
int i = 0; i < tries; i++)
254 for (
int j = 0; j < height; j++)
256 for (
int k = 0; k < width; k++)
258 point.
Set(point2.
x + k, point2.
z + j);
275 Debug.Log(
"valid space not found:" + width +
"/" + height);
282 for (
int i =
x; i <=
maxX; i++)
284 for (
int j =
z; j <=
maxZ; j++)
294 for (
int i =
x; i <=
maxX; i++)
296 for (
int j =
z; j <=
maxZ; j++)
298 action(point.
Set(i, j));
305 for (
int i =
x; i <=
maxX; i++)
307 for (
int j =
z; j <=
maxZ; j++)
bool HasZoneStairs(bool includeLocked=true)
Point GetRandomEdge(int r=3)
Point GetLeftPos(float rate=-1f)
void SetBounds(int _x, int _z, int _maxX, int _maxZ)
Point GetSurface(int x, int z, bool walkable=true)
Point GetRandomSpawnPos()
void ForeachCell(Action< Cell > action)
void ForeachPoint(Action< Point > action)
Point GetBottomPos(float rate=-1f)
Point GetRandomSurface(int x, int z, int radius, bool walkable=true, bool allowWater=false)
Point GetRandomBottomPos()
Point GetRandomSurface(bool centered=false, bool walkable=true, bool allowWater=false)
Point GetTopPos(float rate=-1f)
Point GetRandomSpace(int width, int height, int tries=100)
void ForeachXYZ(Action< int, int > action)
Point GetRandomRightPos()
bool Contains(int dx, int dz)
Point GetRightPos(float rate=-1f)
Point GetSpawnPos(int x, int z, int maxX, int maxZ)
Point GetRandomPoint(Point center, int radius, int tries=100, bool mustBeWalkable=true, bool requireLos=true)
Point Set(int _x, int _z)
Point Clamp(bool useBounds=false)
Point GetNearestPoint(bool allowBlock=false, bool allowChara=true, bool allowInstalled=true, bool ignoreCenter=false)