Exemplo n.º 1
0
    protected override void ProcessStream(uint msgid, MemoryStream stream)
    {
        try
        {
            var meta = _metaSet.GetByID(msgid);
            if (meta != MessageMetaSet.NullMeta)
            {
                object msg = null;

                if (stream != null)
                {
                    pCache[0] = spack.unpack(stream.ToArray());
                    msg       = meta.type.GetConstructor(tCache).Invoke(pCache);
                }


                if (DebugMessage)
                {
                    ReflectMessage(msgid, msg);
                }

                _dispatcher.Invoke(msgid, msg);
            }
        }
        catch (Exception e)
        {
            Debug.LogError(e.ToString());
        }
    }
Exemplo n.º 2
0
    protected override void ProcessStream(uint msgid, MemoryStream stream)
    {
        //if (stream == null)
        //   return;

        try
        {
            var meta = _metaSet.GetByID(msgid);
            if (meta != MessageMetaSet.NullMeta)
            {
                //var msg = Activator.CreateInstance(meta.type.GetType());
                //meta.type.GetType() msg = new(meta.type);// as IMessage;
                //object msg = Activator.CreateInstance(meta.type);

                object result = null;
                Type   type   = Type.GetType(meta.type.FullName);

                result = Activator.CreateInstance(type);
                IMessage im = result as IMessage;
                if (stream != null)
                {
                    im.MergeFrom(stream);
                }

                _dispatcher.Invoke(msgid, im);
            }
        }
        catch (Exception e)
        {
            //uint id = msgid;

            Debug.LogError(e.ToString());
        }
    }
Exemplo n.º 3
0
    protected override void ProcessStream(uint msgid, MemoryStream stream)
    {
        try
        {
            var meta = _metaSet.GetByID(msgid);
            if (meta != MessageMetaSet.NullMeta)
            {
                var msg = ProtoBuf.Serializer.NonGeneric.Deserialize(meta.type, stream);

                if (DebugMessage)
                {
                    ReflectMessage(msgid, msg);
                }

                _dispatcher.Invoke(msgid, msg);
            }
        }
        catch (Exception e)
        {
            Debug.LogError(e.ToString());
        }
    }