C# Windows混合现实-AttachToController

C# Windows混合现实-AttachToController,c#,windows-mixed-reality,C#,Windows Mixed Reality,因此,我使用AttachToController脚本来附加一个浮动在控制器顶部的窗口,这非常有效。在调用窗口的脚本中,我计算出哪只手按下了控制器的菜单按钮,并适当地设置了利手字段(左或右)。我试图解决的问题是:假设用户单击右控制器的菜单按钮,然后单击左菜单按钮。我遇到的问题是,即使我更改了“利手”字段,窗口仍然显示为连接到右侧控制器 private void InteractionManager_InteractionSourcePressed(InteractionSourcePressedE

因此,我使用AttachToController脚本来附加一个浮动在控制器顶部的窗口,这非常有效。在调用窗口的脚本中,我计算出哪只手按下了控制器的菜单按钮,并适当地设置了利手字段(左或右)。我试图解决的问题是:假设用户单击右控制器的菜单按钮,然后单击左菜单按钮。我遇到的问题是,即使我更改了“利手”字段,窗口仍然显示为连接到右侧控制器

private void InteractionManager_InteractionSourcePressed(InteractionSourcePressedEventArgs args)
{
    hand = args.state.source.handedness;
    ...
}

private void SetHandednessAndActivate(GameObject go)
{
    AttachToController script = go.GetComponentInChildren<AttachToController>();
    if (script != null)
    {
        script.Handedness = hand;           
    }
    go.SetActive(true);
}
private void InteractionManager\u InteractionSourcePressed(InteractionSourcePressedEventArgs args)
{
手=args.state.source.handeady;
...
}
私有void setHandedMessageAndActivate(游戏对象go)
{
AttachToController脚本=go.getComponentChildren();
如果(脚本!=null)
{
惯用手=手;
}
go.SetActive(true);
}
需要明确的是,如果用户首先单击左控制器菜单按钮,窗口始终位于左侧,右控制器也是如此。我想要的是让窗口移动到使用哪个控制器。

而不是

script.Handedness = hand;
使用

所有其他位都由脚本处理

script.ChangeHandedness(hand);