laser puzzle platform and elevated platform module

This commit is contained in:
2023-04-11 11:16:20 +02:00
parent 1ba43d0b07
commit fd44becec0
46 changed files with 2901 additions and 255 deletions

View File

@@ -93,35 +93,14 @@ namespace EscapeRoomEngine.Engine.Runtime.Utilities
var sizeMinusOne = size - Vector2Int.one;
var spaceSize = space.rrPlacement.size;
foreach (var o in OrientationExtensions.EveryOrientation())
{
Range x;
Range z;
switch (o)
{
case Orientation.North:
x = new Range(0, spaceSize.x - sizeMinusOne.x);
z = new Range(0, spaceSize.y - sizeMinusOne.y);
break;
case Orientation.East:
x = new Range(0, spaceSize.x - sizeMinusOne.y);
z = new Range(sizeMinusOne.x, spaceSize.y);
break;
case Orientation.South:
x = new Range(sizeMinusOne.x, spaceSize.x);
z = new Range(sizeMinusOne.y, spaceSize.y);
break;
case Orientation.West:
x = new Range(sizeMinusOne.y, spaceSize.x);
z = new Range(0, spaceSize.y - sizeMinusOne.x);
break;
default:
throw new ArgumentOutOfRangeException();
}
placements.AddRange(ConstrainedPlacements(o, size, x, z));
}
placements.AddRange(ConstrainedPlacements(Orientation.North, size,
new Range(0, spaceSize.x - sizeMinusOne.x), new Range(0, spaceSize.y - sizeMinusOne.y)));
placements.AddRange(ConstrainedPlacements(Orientation.East, size,
new Range(0, spaceSize.x - sizeMinusOne.y), new Range(sizeMinusOne.x, spaceSize.y)));
placements.AddRange(ConstrainedPlacements(Orientation.South, size,
new Range(sizeMinusOne.x, spaceSize.x), new Range(sizeMinusOne.y, spaceSize.y)));
placements.AddRange(ConstrainedPlacements(Orientation.West, size,
new Range(sizeMinusOne.y, spaceSize.x), new Range(0, spaceSize.y - sizeMinusOne.x)));
return placements;
}