上文中已经提到,用户可以使用SvrEye.Instances获取场景中全部的SvrEye脚本。
获取到全部的SvrEye脚本属性后,如何判断SvrEye左眼和右眼的属性类型?
在SvrEye是通过定义了一个枚举类型eSide来进行判断的:
public enum eSide
{
Left = 1,
Right = 2,
Both = 3,
[HideInInspector]
Count = Both
};
Left和Right分别代表左眼和右眼类型。
之后SvrEye中定义了一个eSide类型的变量Side表示当前SvrEye中的左右眼类型:
[Tooltip("Side mask")]
public eSide side = eSide.Both;
public eSide Side
{
get { return side; }
set { side = value; }
}
用户可以通过SvrEye.Side来获取SvrEye的类型属性。
如何使用?
在SvrManager脚本中的实例化左右眼SvrEye的脚本逻辑,其中在如下的代码中给SvrEye的Side属性进行赋值:
eyes.Clear();
if (monoCamera != null && monoCamera.gameObject.activeSelf)
{
AddEyes(monoCamera, SvrEye.eSide.Both);
}
if (leftCamera != null && leftCamera.gameObject.activeSelf)
{
AddEyes(leftCamera, SvrEye.eSide.Left);
}
if (rightCamera != null && rightCamera.gameObject.activeSelf)
{
AddEyes(rightCamera, SvrEye.eSide.Right);
}