它是PUN2框架中的一个接口,用于实现自定义的数据同步逻辑。
该接口定义了两个方法:OnPhotonSerializeView和OnPhotonDeserializeView,这两个方法允许你在发送和接收网络数据时执行自定义的逻辑。
具体来说,当一个PhotonView(PUN2中的一个组件,用于同步对象状态)需要发送数据时,PUN2会调用OnPhotonSerializeView方法,你可以在该方法中定义如何将对象的状态转换为网络可发送的格式。
当接收到数据时,PUN2会调用OnPhotonDeserializeView方法,你可以在该方法中解析接收到的数据,并还原对象的状态。
IPunObservable接口的使用可以帮助你实现更精细的数据同步逻辑,例如只同步对象的部分属性或执行特定的自定义逻辑。在PUN2的文档中,你可以找到有关IPunObservable接口的更详细说明和示例代码,以帮助你理解和使用它。(官方文档请点我跳转)
示例:
首先你的Class要继承接口IPunObservable
// 发送同步实时数据
public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info)
{
// 如果是控制者
if (stream.IsWriting)
{
//就发送当前血量
stream.SendNext(this.current_hp);
}
else {
// 如果不是控制者,就赋值血量
this.current_hp = (int)stream.ReceiveNext();
}
}
Comments | NOTHING