Version: 5.5

MessageBase

class in UnityEngine.Networking

マニュアルに切り替える

説明

ネットワークのメッセージクラスはこのクラスを継承している必要があります。これらのメッセージクラスは NetworkConnection の さまざまな Send 関数で送信するために使用されています。

MessageBase を継承したクラスの public フィールドのデータはクラスが自動的にシリアライズします。virtual メソッドの Serialize と Deserialize は開発者が正確にシリアライズ/デシリアライズを実装したいときに使用します。これらのメソッドが実装されていない場合、自動的に生成されます。

以下の例では、メソッドが実装されていますが、メソッドを実装しない場合でも使用できます。

class SpawnMessage : MessageBase
{
    public uint netId;
    public NetworkHash128 assetId;
    public Vector3 position;
    public byte[] payload;

// This method would be generated public override void Deserialize(NetworkReader reader) { netId = reader.ReadPackedUInt32(); assetId = reader.ReadNetworkHash128(); position = reader.ReadVector3(); payload = reader.ReadBytesAndSize(); }

// This method would be generated public override void Serialize(NetworkWriter writer) { writer.WritePackedUInt32(netId); writer.Write(assetId); writer.Write(position); writer.WriteBytesFull(payload); } }

Public 関数

Deserializeこのメソッドは、NetworkReader のストリームからメッセージオブジェクトにデータを投入するために使用します。
Serializeこのメソッドは、メッセージオブジェクトから NetworkWriter のストリームに書き込むために使用します。