using System.Collections.Generic; using Escape_Room_Engine.Engine.Scripts.Modules; using UnityEngine; namespace Escape_Room_Engine.Engine.Scripts.Requirements { [CreateAssetMenu(menuName = "Requirements/Face Space Center")] public class FaceSpaceCenter : OrientationRequirement { protected override IEnumerable GenerateCandidates(Module module, Space space) { var orientation = new HashSet(1); float width = space.rrDimensions.width; float length = space.rrDimensions.length; var xRel = module.SrPosition.x / (width - 1); var zRel = module.SrPosition.y / (length - 1); if (zRel > xRel) { orientation.Add(zRel > 1 - xRel ? Orientation.South : Orientation.East); } else { orientation.Add(zRel > 1 - xRel ? Orientation.West : Orientation.North); } return orientation; } } }