You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

56 lines
1.4 KiB

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
namespace Networking
{
public class LogicProtocols
{
public const short SendLogicList = 200;
public class LogicMsg : MessageBase
{
public LogicBlock[] elements;
public LogicMsg() { }
public LogicMsg(LogicBlock[] elements)
{
this.elements = elements;
}
public override void Serialize(NetworkWriter writer)
{
base.Serialize(writer);
writer.Write(elements.Length);
foreach (LogicBlock block in elements)
{
BlockToken token = block.ToToken();
byte[] bytes = Utility.ObjectToByteArray(token);
writer.WriteBytesAndSize(bytes,bytes.Length);
}
}
public override void Deserialize(NetworkReader reader)
{
base.Deserialize(reader);
int count = reader.ReadInt32();
elements = new LogicBlock[count];
for (int i = 0; i < count; i++)
{
BlockToken token = Utility.ByteArrayToObject<BlockToken>(reader.ReadBytesAndSize());
elements[i] = token.ToLogicBlock();
}
}
}
}
}