예제 #1
0
        public override void Read(BinaryReader reader, int buffVersion, Dictionary <ushort, StatModifier> idTable)
        {
            base.Read(reader, buffVersion, idTable);
            multiBuffVersion = new Value <int>(reader.ReadInt32());

            multiBuffClassId = reader.ReadString();

            //num3
            int multiBuffActionListCount = reader.ReadInt32();

            multiBuffActionList = new List <MultiBuffAction>();
            for (int i = 0; i < multiBuffActionListCount; i++)
            {
                MultiBuffAction item = MultiBuffAction.Read(reader);
                multiBuffActionList.Add(item);
            }

            //num4
            int multiBuffActionList2Count = reader.ReadInt32();

            multiBuffActionList2 = new List <MultiBuffAction>();
            for (int j = 0; j < multiBuffActionList2Count; j++)
            {
                MultiBuffAction item2 = MultiBuffAction.Read(reader);
                multiBuffActionList2.Add(item2);
            }

            //num5
            int multiBuffPrefabAttachmentDescriptorCount = reader.ReadInt32();

            multiBuffPrefabAttachmentDescriptorList = new List <MultiBuffPrefabAttachmentDescriptor>();
            for (int k = 0; k < multiBuffPrefabAttachmentDescriptorCount; k++)
            {
                multiBuffPrefabAttachmentDescriptorList.Add(MultiBuffPrefabAttachmentDescriptor.Read(reader));
            }

            //num6
            int buffCounterValuesCount = reader.ReadInt32();

            buffCounterValues = new Dictionary <string, float>();
            for (int l = 0; l < buffCounterValuesCount; l++)
            {
                string key   = reader.ReadString();
                float  value = reader.ReadSingle();
                buffCounterValues[key] = value;
            }
        }
        public static MultiBuffAction Read(BinaryReader reader)
        {
            multiBuffActionVersion = new Value <int>(reader.ReadInt32());

            MultiBuffAction multiBuffAction = new MultiBuffAction {
                command       = (EnumCommand)reader.ReadByte(),
                unknownC      = new Value <float>(reader.ReadSingle()),
                categoryFlags = (EnumBuffCategoryFlags)reader.ReadInt32(),
                unknownV      = new Value <int>(reader.ReadInt32()),
                unknownO      = new Value <string>(reader.ReadString()),
                unknownW      = new Value <string>(reader.ReadString()),
                context       = new Value <string>(reader.ReadString()),

                unknownJ = BuffTimer.Read(reader),
                unknownS = BuffTimer.Read(reader),

                unknownF = new Value <bool>(reader.ReadBoolean()),
                unknownI = new Value <bool>(reader.ReadBoolean())
            };

            return(multiBuffAction);
        }