コード例 #1
0
        public void ReadAnimGroups(byte[] raw)
        {
            int count = GetArrayCount(raw);

            byte[] buff = GetArrayContent(raw);
            int    pos  = 0;

            for (int i = 0; i < count; i++)
            {
                List <PropertyReader.Property> pp = PropertyReader.ReadProp(pcc, buff, pos);
                pos = pp[pp.Count - 1].offend;
                AnimGroupEntry e = new AnimGroupEntry();
                foreach (PropertyReader.Property p in pp)
                {
                    switch (pcc.getNameEntry(p.Name))
                    {
                    case "GroupName":
                        e.GroupName = pcc.getNameEntry(p.Value.IntValue);
                        break;

                    case "RateScale":
                        e.RateScale = BitConverter.ToSingle(p.raw, p.raw.Length - 4);
                        break;

                    case "SynchPctPosition":
                        e.SynchPctPosition = BitConverter.ToSingle(p.raw, p.raw.Length - 4);
                        break;
                    }
                }
                AnimGroups.Add(e);
            }
        }
コード例 #2
0
ファイル: AnimTree.cs プロジェクト: ME3Explorer/ME3Explorer
 public void ReadAnimGroups(byte[] raw)
 {
     int count = GetArrayCount(raw);
     byte[] buff = GetArrayContent(raw);
     int pos = 0;
     for (int i = 0; i < count; i++)
     {
         List<PropertyReader.Property> pp = PropertyReader.ReadProp(pcc, buff, pos);
         pos = pp[pp.Count - 1].offend;
         AnimGroupEntry e = new AnimGroupEntry();
         foreach(PropertyReader.Property p in pp)
             switch (pcc.getNameEntry(p.Name))
             {
                 case "GroupName":
                     e.GroupName = pcc.getNameEntry(p.Value.IntValue);
                     break;
                 case "RateScale":
                     e.RateScale = BitConverter.ToSingle(p.raw, p.raw.Length - 4);
                     break;
                 case "SynchPctPosition":
                     e.SynchPctPosition = BitConverter.ToSingle(p.raw, p.raw.Length - 4);
                     break;                        
             }
         AnimGroups.Add(e);
     }
 }