コード例 #1
0
        public void ReadSkelControlLists(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;
                SkelControlListEntry e = new SkelControlListEntry();
                foreach (PropertyReader.Property p in pp)
                {
                    switch (pcc.getNameEntry(p.Name))
                    {
                    case "BoneName":
                        e.BoneName = pcc.getNameEntry(p.Value.IntValue);
                        break;

                    case "ControlHead":
                        e.ControlHead = p.Value.IntValue;
                        break;
                    }
                }
                SkelControlLists.Add(e);
            }
        }
コード例 #2
0
ファイル: AnimTree.cs プロジェクト: ME3Explorer/ME3Explorer
 public void ReadSkelControlLists(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;
         SkelControlListEntry e = new SkelControlListEntry();
         foreach (PropertyReader.Property p in pp)
             switch (pcc.getNameEntry(p.Name))
             {
                 case "BoneName":
                     e.BoneName = pcc.getNameEntry(p.Value.IntValue);
                     break;
                 case "ControlHead":
                     e.ControlHead = p.Value.IntValue;
                     break;
             }
         SkelControlLists.Add(e);
     }
 }