public RpcMethod Read(BinaryReader br)
{
RpcMethod method = new RpcMethod();
method.MethodId = br.ReadUInt32();
switch (method.MethodId)
{
case 1:
method.Args = new object[2];
method.Args[0] = br.ReadUInt64();
if (br.ReadByte() == (byte)SerializeObjectMark.Common)
{
method.Args[1] = br.ReadString();
}
break;
case 2:
method.Args = new object[2];
method.Args[0] = br.ReadUInt64();
method.Args[1] = br.ReadUInt32();
break;
case 3:
method.Args = new object[2];
method.Args[0] = br.ReadUInt64();
method.Args[1] = br.ReadUInt32();
break;
case 4:
method.Args = new object[2];
method.Args[0] = br.ReadUInt64();
method.Args[1] = (TowerState)br.ReadInt32();
break;
case 5:
method.Args = new object[2];
if (br.ReadByte() == (byte)SerializeObjectMark.Common)
{
{
var count0 = br.ReadInt32();
var arrayVal0 = new UInt64[count0];
if (count0 > 0)
{
for (int i0 = 0; i0 < count0; i0++)
{
arrayVal0[i0] = br.ReadUInt64();
}
}
method.Args[0] = arrayVal0;
}
}
method.Args[1] = (TowerState)br.ReadInt32();
break;
case 6:
method.Args = new object[2];
if (br.ReadByte() == (byte)SerializeObjectMark.Common)
{
{
var count0 = br.ReadInt32();
var listVal0 = new List<Boolean>(count0);
if (count0 > 0)
{
for (int i0 = 0; i0 < count0; i0++)
{
var item0 = default(Boolean);
item0 = br.ReadBoolean();
listVal0.Add(item0);
}
}
method.Args[0] = listVal0;
}
}
method.Args[1] = (TowerState)br.ReadInt32();
break;
case 7:
method.Args = new object[2];
if (br.ReadByte() == (byte)SerializeObjectMark.Common)
{
{
var count0 = br.ReadInt32();
var dictVal0 = new Dictionary<Boolean, PlayerInfo>(count0);
if (count0 > 0)
{
for (int i0 = 0; i0 < count0; i0++)
{
var key0 = default(Boolean);
var value0 = default(PlayerInfo);
key0 = br.ReadBoolean();
value0 = (new PlayerInfo()).Read(br);
dictVal0.Add(key0, value0);
}
}
method.Args[0] = dictVal0;
}
}
method.Args[1] = (TowerState)br.ReadInt32();
break;
case 8:
method.Args = new object[1];
method.Args[0] = br.ReadUInt64();
break;
case 9:
method.Args = new object[3];
if (br.ReadByte() == (byte)SerializeObjectMark.Common)
{
method.Args[0] = (new TestBaseClass()).Read(br);
}
if (br.ReadByte() == (byte)SerializeObjectMark.Common)
{
method.Args[1] = (new TestDerived1Class()).Read(br);
}
if (br.ReadByte() == (byte)SerializeObjectMark.Common)
{
method.Args[2] = (new TestDerived11Class()).Read(br);
}
break;
case 10:
method.Args = new object[3];
if (br.ReadByte() == (byte)SerializeObjectMark.Common)
{
method.Args[0] = (new TestBaseClass()).Read(br);
}
if (br.ReadByte() == (byte)SerializeObjectMark.Common)
{
method.Args[1] = (new TestDerived1Class()).Read(br);
}
if (br.ReadByte() == (byte)SerializeObjectMark.Common)
{
method.Args[2] = (new TestDerived11Class()).Read(br);
}
break;
}
return method;
}
public void Write(uint methodId, object[] args, BinaryWriter bw)