using System.Collections.Generic; using EscapeRoomEngine.Engine.Runtime.Modules; using UnityEngine; namespace EscapeRoomEngine.Engine.Runtime.Requirements { [CreateAssetMenu(menuName = "Requirements/Face Space Center")] public class FaceSpaceCenter : PlacementRequirement { protected override List FilterCandidates(List candidates, Module module, Space space) { float width = space.rrPlacement.size.x - 1; float length = space.rrPlacement.size.y - 1; candidates.RemoveAll(candidate => { var xRel = candidate.position.x / width; var zRel = candidate.position.z / length; return candidate.orientation != (zRel > xRel ? zRel > 1 - xRel ? Orientation.South : Orientation.East : zRel > 1 - xRel ? Orientation.West : Orientation.North); }); return candidates; } } }