我有两个客户端,A
和B
,都实现了Bolt.EntityEventListener
当我打印出以[A]为所有者的A
和B
的网络ID时,我看到以下映射:
A => network_id [1]
B => network_id [2]
但是:
当我通过B的视图打印网络时,网络ID被交换:
A => network_id [2]
B => network_id [1]
我的印象是,整个网络中的网络ID是consistent和unique。似乎并非如此。
我如何在整个网络中唯一地标识给定的实体?
1:您不需要唯一的ID,如果这样做,最好通过带有Id字段的ScriptableObjects使用您自己的系统。
2:通过标识,您可能意味着要标识它,以便您可以对同一复制游戏对象的其他客户端的对象执行操作,并且可以通过将实体类型作为事件中的参数传递来实现。发送事件时,您只需将该参数设置为游戏对象上的GetComponent(),然后Bolt会处理该参数的解析,因此接收事件的任何人都将拥有Entity参数,该Entity参数指向与复制的对象/您从另一个客户端发送的实体。