using UnityEngine.Networking;
namespace Cyber.Networking.Messages {
    /// 
    /// Packet containing a list of ID's of players currently connected.
    /// 
    public class MassIdentityPkt : MessageBase {
        /// 
        /// List of Connection ID's to send
        /// 
        public int[] IdList;
        /// 
        /// Create a Mass Identity packet used to send a list of currently online connections.
        /// 
        /// 
        public MassIdentityPkt(int[] idList) {
            IdList = idList;
        }
        /// 
        /// Parameter-less constructor using when deserializing the message.
        /// 
        public MassIdentityPkt() {
        }
        /// 
        /// Used to deserialize a message received via networking.
        /// 
        /// 
        public override void Deserialize(NetworkReader reader) {
            byte[][] ByteArray = new byte[4][];
            ByteArray[0] = reader.ReadBytesAndSize();
            ByteArray[1] = reader.ReadBytesAndSize();
            ByteArray[2] = reader.ReadBytesAndSize();
            ByteArray[3] = reader.ReadBytesAndSize();
            IdList = NetworkHelper.DeserializeIntArray(ByteArray);
        }
        /// 
        /// Used to serialize the message before it is sent.
        /// 
        /// 
        public override void Serialize(NetworkWriter writer) {
            byte[][] ByteArray = NetworkHelper.SerializeIntArray(IdList);
            writer.WriteBytesFull(ByteArray[0]);
            writer.WriteBytesFull(ByteArray[1]);
            writer.WriteBytesFull(ByteArray[2]);
            writer.WriteBytesFull(ByteArray[3]);
        }
    }
}