/// <summary> /// 将文本数据反序列化成AssetManagerInfo实例。 /// </summary> /// <param name="stream">读取流。</param> /// <returns>返回AssetManagerInfo对象。</returns> public static AssetManagerInfo Deserialize(Stream stream) { try { var binarize = Convert.ToBoolean(stream.ReadByte()); if (binarize) { using (var reader = new StringStreamReader(stream)) { AssetManagerInfo info = new AssetManagerInfo(); info._Read(reader); return(info); } } else { using (var reader = new StreamReader(stream)) { // var deserializer = new Deserializer(namingConvention: new CamelCaseNamingConvention()); //return deserializer.Deserialize<AssetManagerInfo>(reader); return(null); } } } catch (Exception e) { Logger <IAssetManager> .X(e); return(null); } }
public void DeserializeFromText(string text) { m_items.Clear(); MyEquips.Singleton.myEquips.Clear(); StringStreamReader reader = new StringStreamReader(text); //byte version = reader.ReadByte(); int count = reader.ReadInt(); CSItemSegmentDefine segmentDef = CSItemSegmentDefine.Singleton; for (int index = 0; index < count; ++index) { CSItem item = new CSItem(); item.m_guid.m_lowPart = reader.ReadInt(); item.m_guid.m_highPart = reader.ReadInt(); item.m_id = reader.ReadShort(); item.m_flag = reader.ReadShort(); for (int seg = 0; seg <= segmentDef.MaxSegmentType; seg++) { if ((item.m_flag & (0x1 << seg)) > 0) { segmentDef.ReadSegmentFromText(item, seg, reader.ReadString()); } } } }
private AssetManagerInfo _Read(StringStreamReader reader) { Version = reader.ReadString(); Date = DateTime.Parse(reader.ReadString()); var count = reader.ReadNumber(); for (var i = 0; i < count; ++i) { var key = reader.ReadIndexString("/"); var value = new AssetPackInfo()._Read(reader); Packs.Add(key, value); } count = reader.ReadNumber(); for (var i = 0; i < count; ++i) { var key = reader.ReadIndexString("/"); var value = new AssetInfo()._Read(reader); Assets.Add(key, value); } return(this); }
public override void ReadFromString(string value) { StringStreamReader reader = new StringStreamReader(value); int length = reader.ReadInt(); for (int index = 0; index < length; ++index) { int id = reader.ReadInt(); if (0 == id) { continue; } MissionInst inst = new MissionInst(); inst.m_id = id; inst.m_isFinished = reader.ReadBool(); inst.m_questRequire1 = reader.ReadShort(); inst.m_questRequire2 = reader.ReadShort(); inst.m_questRequire3 = reader.ReadShort(); inst.m_questRequire4 = reader.ReadShort(); if (myMissions.Length < index) { myMissions[index] = inst; } } }
public override void ReadFromString(string value) { StringStreamReader reader = new StringStreamReader(value); int length = reader.ReadInt(); for (int index = 0; index < length; ++index) { int id = reader.ReadInt(); if (0 == id) { continue; } TeamItem inst = new TeamItem(); // inst.m_memberList[(int)Team.EDITTYPE.enMain] = reader.ReadInt(); // inst.m_memberList[(int)Team.EDITTYPE.enDeputy] = reader.ReadInt(); // inst.m_memberList[(int)Team.EDITTYPE.enSupport] = reader.ReadInt(); if (m_teamList.Length < index) { m_teamList[index] = inst; } } }
public void CanHandleStreamWithoutWrite() { var memStrm = new MemoryStream(); using (var reader = StringStreamReader.StartReader(memStrm, null)) { // Do nothing at this point, just want it to dispose } // end of using - resource Assert.IsFalse(memStrm.CanRead); Assert.IsFalse(memStrm.CanWrite); } /* End of Function - CanHandleStreamWithoutWrite */
public void DoesNotCloseWhenToldNotTo() { using (var memStrm = new MemoryStream()) { using (var reader = StringStreamReader.StartReader(memStrm, null, false)) { // Do nothing at this point, just want it to dispose } // end of using - resource Assert.IsTrue(memStrm.CanRead); Assert.IsTrue(memStrm.CanWrite); } // end of using - memory stream resource } /* End of Function - DoesNotCloseWhenToldNotTo */
public override void ReadFromString(string value) { StringStreamReader reader = new StringStreamReader(value); int length = reader.ReadInt(); for (int index = 0; index < length; ++index) { int id = reader.ReadInt(); if (m_list.Length < index) { m_list[index] = id; } } }
public override void ReadFromString(string value) { StringStreamReader reader = new StringStreamReader(value); int length = reader.ReadInt(); for (int index = 0; index < length; ++index) { byte item = reader.ReadByte(); if (m_finishedList.Length < index) { m_finishedList[index] = item; } } }
public override void ReadFromString(string value) { StringStreamReader reader = new StringStreamReader(value); int length = reader.ReadInt(); for (int index = 0; index < length; ++index) { int lowPart = reader.ReadInt(); int highPart = reader.ReadInt(); if (dress.Length < index) { //dress[index] = new CSItemGuid(); dress[index].m_lowPart = lowPart; dress[index].m_highPart = highPart; } } }
public void SendsDataReceivedEvent() { bool called = false; var memStrm = new MemoryStream(); memStrm.Write(new byte[] { 0, 1, 2 }, 0, 3); memStrm.Flush(); memStrm.Position = 0; using (var reader = StringStreamReader.StartReader( memStrm, (s, e) => { called = true; }, false)) { // Close the memory stream to force reader to exit memStrm.Close(); } // end of using - resource Assert.IsTrue(called); } /* End of Function - SendsDataReceivedEvent */
public void DeserializeFromText(string text) { StringStreamReader reader = new StringStreamReader(text); int count = reader.ReadInt(); for (int index = 0; index < count; ++index) { int propertyID = reader.ReadInt(); int innerIndex = 0; PropertyValue prop = GetPropertyByID(propertyID, ref innerIndex); if (prop == null) { continue; } switch (prop.m_type) { case (int)PropertySetValueType.enBitArray: case (int)PropertySetValueType.enBuffer: prop.m_customObject.ReadFromString(reader.ReadString()); break; case (int)PropertySetValueType.enString: prop.m_string = reader.ReadString(); break; case (int)PropertySetValueType.enInt32: prop.m_int32 = reader.ReadInt(); break; case (int)PropertySetValueType.enFloat: prop.m_float = reader.ReadFloat(); break; case (int)PropertySetValueType.enFloat3: prop.m_float3.x = reader.ReadFloat(); prop.m_float3.y = reader.ReadFloat(); prop.m_float3.z = reader.ReadFloat(); break; } } }
internal AssetPackInfo _Read(StringStreamReader reader) { Type = (AssetPackType)reader.ReadNumber(); var length = reader.ReadNumber(); if (length > 0) { Dependencies = new string[length]; for (var i = 0; i < length; ++i) { Dependencies[i] = reader.ReadIndexString("/"); } } CheckCode = reader.ReadString(); Size = reader.ReadNumber(); return(this); }
public override void ReadFromString(string value) { StringStreamReader reader = new StringStreamReader(value); int length = reader.ReadInt(); for (int index = 0; index < length; ++index) { int id = reader.ReadInt(); SkillInfo info = GameTable.SkillTableAsset.Lookup(id); if (null == info) { continue; } SkillInst inst = new SkillInst(); inst.SkillInfo = info; inst.SkillLevel = reader.ReadInt(); inst.SkillAddLevel = reader.ReadInt(); m_item[index] = inst; MySkill.Singleton.m_skillInst[index] = inst; } }
internal AssetInfo _Read(StringStreamReader reader) { PackPath = reader.ReadIndexString("/"); return(this); }
public void ThrowsWhenStreamIsInvalid() { var val = StringStreamReader.StartReader(null, null, false); } /* End of Function - ThrowsWhenStreamIsInvalid */