private object ReadExtraObject(CMsgSOMultipleObjects.SingleObject sharedObject) { try { using (var ms = new MemoryStream(sharedObject.object_data)) { Type t; if (Dota2SOHelper.SOTypes.TryGetValue(sharedObject.type_id, out t)) { return(RuntimeTypeModel.Default.Deserialize(ms, null, t)); } } } catch (ProtoException ex) { return("Error parsing SO data: " + ex.Message); } catch (EndOfStreamException ex) { return("Error parsing SO data: " + ex.Message); } return(null); }
object ReadExtraObject(CMsgSOMultipleObjects.SingleObject sharedObject) { try { using (var ms = new MemoryStream(sharedObject.object_data)) { switch (sharedObject.type_id) { case 2003: return(RuntimeTypeModel.Default.Deserialize(ms, null, typeof(CSODOTAParty))); case 2004: return(RuntimeTypeModel.Default.Deserialize(ms, null, typeof(CSODOTALobby))); } } } catch (ProtoException ex) { return("Error parsing SO data: " + ex.Message); } return(null); }