orientation requirements

This commit is contained in:
2022-11-07 15:41:00 +01:00
parent 8719543f96
commit d9513f70b3
17 changed files with 133 additions and 19 deletions

View File

@@ -7,19 +7,19 @@ namespace Escape_Room_Engine.Engine.Scripts.Requirements
[CreateAssetMenu(menuName = "Requirements/Place Along Space Edges")]
public class PlaceAlongSpaceEdges : PlacementRequirement
{
public override HashSet<Vector2Int> PlacementCandidates(Module module, Space space)
public override IEnumerable<Vector2Int> PlacementCandidates(Module module, Space space)
{
var edgePositions = new HashSet<Vector2Int>();
for (var x = 0; x < space.rrDimensions.width; x++)
{
edgePositions.Add(new Vector2Int(x, 0));
edgePositions.Add(new Vector2Int(x, space.rrDimensions.length));
edgePositions.Add(new Vector2Int(x, space.rrDimensions.length - 1));
}
for (var z = 0; z < space.rrDimensions.length; z++)
{
edgePositions.Add(new Vector2Int(0, z));
edgePositions.Add(new Vector2Int(space.rrDimensions.width, z));
edgePositions.Add(new Vector2Int(space.rrDimensions.width - 1, z));
}
return edgePositions;