Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        public override void WriteConnectRequest(BitStream stream)
        {
            base.WriteConnectRequest(stream);

            stream.Write(NetClassRep.GetNetClassCount((uint)GetNetClassGroup(), (uint)NetClassType.NetClassTypeEvent));
        }
Example #4
0
        public uint ReadClassId(uint classType, uint classGroup)
        {
            var ret = ReadInt((byte)NetClassRep.GetNetClassBitSize(classGroup, classType));

            return(ret >= NetClassRep.GetNetClassCount(classGroup, classType) ? 0xFFFFFFFFU : ret);
        }