Exemplo n.º 1
0
        internal ObjectGuid64(ulong value, ParsingContext parseContext)
        {
            _value = value;

            _parsingContext = parseContext;

            _stream = new ObjectGuidStream(this, 8, index =>
            {
                var byteSpan = MemoryMarshal.Cast <ulong, byte>(Parts);
                return(ref byteSpan[index]);
            });
        }
Exemplo n.º 2
0
        internal ObjectGuid128(ulong lowPart, ulong highPart, ParsingContext parseContext)
        {
            _parts = new[] { lowPart, highPart };

            Type = parseContext.Helper.GuidResolver.ResolveObjectGuidType(this, parseContext);

            Entry    = (uint)((highPart >> 6) & 0x7FFFFF);
            ServerID = (uint)((lowPart >> 40) & 0xFFFFFF);
            RealmID  = (uint)((highPart >> 42) & 0x1FFF);
            MapID    = (uint)((highPart >> 29) & 0x1FFF);
            Low      = (uint)(lowPart & 0xFFFFFFFFFF);

            _stream = new ObjectGuidStream(this, 16, index =>
            {
                var byteSpan = MemoryMarshal.Cast <ulong, byte>(Parts);
                return(ref byteSpan[index]);
            });
        }