Beispiel #1
0
        /// <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);
            }
        }
Beispiel #2
0
    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());
                }
            }
        }
    }
Beispiel #3
0
        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);
        }
Beispiel #4
0
    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;
            }
        }
    }
Beispiel #5
0
    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 */
Beispiel #8
0
    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;
            }
        }
    }
Beispiel #9
0
    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;
            }
        }
    }
Beispiel #10
0
    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 */
Beispiel #12
0
    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;
            }
        }
    }
Beispiel #13
0
        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);
        }
Beispiel #14
0
    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;
        }
    }
Beispiel #15
0
 internal AssetInfo _Read(StringStreamReader reader)
 {
     PackPath = reader.ReadIndexString("/");
     return(this);
 }
 public void ThrowsWhenStreamIsInvalid()
 {
     var val = StringStreamReader.StartReader(null, null, false);
 } /* End of Function - ThrowsWhenStreamIsInvalid */