交互管理器 (Interaction Management)
“交互管理器(Interaction Management)”用于处理所有核心的交互逻辑和操作。有关这个的详细信息,请参阅FPEInteractionManagerScript.cs脚本或FPEInteractionManager.prefab预制体文件。
交互管理器还充当着大多数的其他系统的接口。
例如,当需要更新FPEPlayer组件(或FPEPlayer脚本的扩展类)时,或需要调用FPEPlayer组件中的函数时:会调用FPEInteractionManager,它会更新所需的任何内部状态数据,并随后调用FPEPlayer、FPEFirstPersonController等。
这样设计是因为:如果你选择用你自己角色控制器(玩家控制器)替换本插件自带的角色控制器(玩家控制器),这样的设计将更加的灵活。
“交互管理器”由状态机驱动,状态包含在FPEInteractionManagerScript.cs脚本内部的eInteractionState枚举类型中。
这些状态是:
状态名———————— | 状态名的中文翻译———————— | 说明 |
---|---|---|
FREE | 自由 | 玩家能够四处地走动,并与游戏中的对象进行互动。这是默认的状态。 |
IN_MENU | 在菜单中 | 玩家使用菜单时的状态。例如,在播放期间(处于FREE状态时),如果玩家打开菜单,状态将切换到IN_MENU。 |
SUSPENDED | 悬挂 | 在SUSPENDED状态时,玩家不能移动或交互,但游戏仍然在继续运行。 这种状态的一个例子,就是在过场动画期间,就处于这种状态。 |
注意:
当外部脚本使用BeginCutscene()函数时,玩家只能进入SUSPENDED状态。
此外部脚本可以通过调用EndCutscene()函数,来释放SUSPENDED状态。
如果不这样的话,做会导致游戏陷入暂停状态哦!