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()); } }
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()); } }
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()); } }