using Lidgren.Network; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Barotrauma.Networking { abstract class NetEntityEvent { public enum Type { Default, ComponentState, InventoryState, Status } public readonly Entity Entity; public readonly UInt32 ID; //arbitrary extra data that will be passed to the Write method of the serializable entity //(the index of an itemcomponent for example) protected object[] Data; protected NetEntityEvent(INetSerializable entity, UInt32 id) { this.ID = id; this.Entity = entity as Entity; } public void SetData(object[] data) { this.Data = data; } public bool IsDuplicate(NetEntityEvent other) { if (other.Entity != this.Entity) return false; if (Data != null && other.Data != null) { if (Data.Length == other.Data.Length) { for (int i = 0; i