|
|
@@ -332,6 +332,49 @@ public class RelativeHor : Move
|
|
|
{
|
|
|
randomPos = gos[i].GetRandomPos(tempPos, 0.3f);
|
|
|
count--;
|
|
|
+ if (count <= 0)//ÕÒ²»µ½¾ÍÇî¾Ù
|
|
|
+ {
|
|
|
+ var canvasSize = GeneratingTarget.gm.GetCanvasSize();
|
|
|
+ var HWidth = canvasSize.x * 0.5f;
|
|
|
+ var HHeight = canvasSize.y * 0.5f;
|
|
|
+ var canUse = false;
|
|
|
+ var newPos = Vector2.zero;
|
|
|
+ for (int xPos = 0; xPos <= HWidth * 0.7f; xPos += 20)
|
|
|
+ {
|
|
|
+ for (int yPos = 0; yPos < HHeight * 0.7f; yPos += 15)
|
|
|
+ {
|
|
|
+ newPos.x = xPos; newPos.y = yPos;
|
|
|
+ if (!IsUIBlock(gos[i], newPos, MoveType.RelativeHor, false) && !CheckOverLap(gos[i], newPos, MoveType.RelativeHor, gos.Count))
|
|
|
+ {
|
|
|
+ canUse = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ newPos.x = xPos; newPos.y = -yPos;
|
|
|
+ if (!IsUIBlock(gos[i], newPos, MoveType.RelativeHor, false) && !CheckOverLap(gos[i], newPos, MoveType.RelativeHor, gos.Count))
|
|
|
+ {
|
|
|
+ canUse = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ newPos.x = -xPos; newPos.y = yPos;
|
|
|
+ if (!IsUIBlock(gos[i], newPos, MoveType.RelativeHor, false) && !CheckOverLap(gos[i], newPos, MoveType.RelativeHor, gos.Count))
|
|
|
+ {
|
|
|
+ canUse = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ newPos.x = -xPos; newPos.y = -yPos;
|
|
|
+ if (!IsUIBlock(gos[i], newPos, MoveType.RelativeHor, false) && !CheckOverLap(gos[i], newPos, MoveType.RelativeHor, gos.Count))
|
|
|
+ {
|
|
|
+ canUse = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (canUse)
|
|
|
+ {
|
|
|
+ randomPos = newPos;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
var go = gos[i];
|
|
|
go.SetPos(randomPos);
|