35 lines
1.2 KiB
C#
35 lines
1.2 KiB
C#
using System.Collections.Generic;
|
|
using Escape_Room_Engine.Engine.Scripts.Modules;
|
|
using Unity.XR.CoreUtils;
|
|
using UnityEngine;
|
|
using Logger = Escape_Room_Engine.Engine.Scripts.Utilities.Logger;
|
|
using LogType = Escape_Room_Engine.Engine.Scripts.Utilities.LogType;
|
|
|
|
namespace Escape_Room_Engine.Engine.Scripts.Requirements
|
|
{
|
|
[CreateAssetMenu(menuName = "Requirements/Face Space Center")]
|
|
public class FaceSpaceCenter : OrientationRequirement
|
|
{
|
|
public override IEnumerable<Orientation> OrientationCandidates(Module module, Space space)
|
|
{
|
|
var orientation = new HashSet<Orientation>(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);
|
|
|
|
Debug.Log($"{xRel}, {zRel}, {1 - xRel}");
|
|
|
|
if (zRel > xRel)
|
|
{
|
|
orientation.Add(zRel > 1 - xRel ? Orientation.South : Orientation.East);
|
|
}
|
|
else
|
|
{
|
|
orientation.Add(zRel > 1 - xRel ? Orientation.West : Orientation.North);
|
|
}
|
|
|
|
return orientation;
|
|
}
|
|
}
|
|
} |