交互模式管理器

交互模式表示一部分应基于有关用户所执行操作的上下文信息启用的交互器。 例如,近距离交互模式可能会在允许使用抓取和戳击交互器的同时禁用所有射线交互器。 相反,当用户正在抓取对象时,你可能想要进入近距离抓取交互模式,这会禁用触摸交互器,防止在抓取对象时发生意外的触摸激活。

Sample Near Interaction Mode

交互模式管理器在这些交互上下文之间进行协调。 它依赖于“交互模式检测器”模式来确定当前上下文的最佳模式。 模式检测器(例如 ProximityModeDetector)会根据任意条件规定给定控制器的活动模式。 开发人员可以创建新方法,通过实现 IInteractionModeDetector 来消除交互上下文之间的歧义。

Near Interaction Mode Detector in Action

每个模式的优先级取决于其在交互模式管理器中的列出顺序。 在列表中列在后面的模式具有更高的优先级,因此在多个交互上下文可能有效的情况下,它们是主导模式。 交互模式管理器还允许用户指定默认交互模式。

Mode Manager Priority