NetworkWriter は、ストリームへオブジェクトを書き込むための高レベル API のクラスです。このクラスは、NetworkReader と組み合わせて使用します。NetworkWriter は、多くの Unity 独自に存在する型(Vector3、Rect など)のシリアライズ機能を持っています。
NetworkWriter は、MessageBase クラスを使ってネットワークのメッセージをシリアライズしたのを含むbyte配列を作成することができます。
void SendMessage(short msgType, MessageBase msg, int channelId)
{
// ローカルバッファにメッセージを書き込む
NetworkWriter writer = new NetworkWriter();
writer.StartMessage(msgType);
msg.Serialize(writer);
writer.FinishMessage();
myClient.SendWriter(writer, channelId);
}
メッセージは、メッセージハンドラーの機能がメッセージを呼び出すことができるように正しく変換されます。