writer | 用于向流写入数据的写入器。 |
initialState | 如果调用此方法,则发送初始状态。 |
bool 如果已写入数据,则为 true。
一种虚拟函数,通过重载发送自定义序列化数据。与发送序列化数据相对应的函数是 OnDeserialize()。
initialState 标志有助于把第一次序列化对象的时间与能够发送增量更新的时间区分开。第一次将对象发送到客户端时,该对象必须包括完整状态快照,但后续更新可以通过仅包括增量变更来节省带宽。请注意,当 initialState 为 true 时,系统不调用 SyncVar 钩子函数,此函数仅在增量更新时调用。
如果一个类有 SyncVars,那么系统会自动向此类添加此函数和 OnDeserialize() 的实现。因此有 SyncVars 的类不能同时拥有自定义序列化函数。
OnSerialize 函数需要返回 true,以表明应该发送更新。如果它返回 true,那么该脚本的脏位会设为零;如果它返回 false,则脏位不变。该方法允许对脚本的多个更改随时间累积,并在系统就绪时发送,而不是按帧发送。
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.