public override bool ReadConnectRequest(BitStream stream, ref string errorString) { if (!base.ReadConnectRequest(stream, ref errorString)) { return(false); } stream.Read(out uint classCount); var myCount = NetClassRep.GetNetClassCount((uint)GetNetClassGroup(), (uint)NetClassType.NetClassTypeEvent); if (myCount <= classCount) { EventClassCount = myCount; } else { EventClassCount = classCount; if (!NetClassRep.IsVersionBorderCount((uint)GetNetClassGroup(), (uint)NetClassType.NetClassTypeEvent, EventClassVersion)) { return(false); } } EventClassVersion = (uint)NetClassRep.GetClass((uint)GetNetClassGroup(), (uint)NetClassType.NetClassTypeEvent, EventClassCount - 1).ClassVersion; EventClassBitSize = Utils.GetNextBinLog2(EventClassCount); return(true); }
public override bool ReadConnectAccept(BitStream stream, ref string errorString) { if (!base.ReadConnectAccept(stream, ref errorString)) { return(false); } stream.Read(out EventClassCount); var myCount = NetClassRep.GetNetClassCount((uint)GetNetClassGroup(), (uint)NetClassType.NetClassTypeEvent); if (EventClassCount > myCount) { return(false); } if (!NetClassRep.IsVersionBorderCount((uint)GetNetClassGroup(), (uint)NetClassType.NetClassTypeEvent, EventClassCount)) { return(false); } EventClassBitSize = Utils.GetNextBinLog2(EventClassCount); return(true); }