Esempio n. 1
0
        public void ReadChildren(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;
                ChildrenEntry e = new ChildrenEntry();
                foreach (PropertyReader.Property p in pp)
                {
                    switch (pcc.getNameEntry(p.Name))
                    {
                    case "Name":
                        e.Name = pcc.getNameEntry(p.Value.IntValue);
                        break;

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

                    case "Anim":
                        e.Anim = p.Value.IntValue;
                        break;

                    case "bMirrorSkeleton":
                        e.bMirrorSkeleton = (p.raw[p.raw.Length - 1] == 1);
                        break;

                    case "bIsAdditive":
                        e.bIsAdditive = (p.raw[p.raw.Length - 1] == 1);
                        break;
                    }
                }
                Children.Add(e);
            }
        }
Esempio n. 2
0
 public void ReadChildren(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;
         ChildrenEntry e = new ChildrenEntry();
         foreach (PropertyReader.Property p in pp)
             switch (pcc.getNameEntry(p.Name))
             {
                 case "Name":
                     e.Name = pcc.getNameEntry(p.Value.IntValue);
                     break;
                 case "Weight":
                     e.Weight = BitConverter.ToSingle(p.raw, p.raw.Length - 4);
                     break;
                 case "Anim":
                     e.Anim = p.Value.IntValue;
                     break;
                 case "bMirrorSkeleton":
                     e.bMirrorSkeleton = (p.raw[p.raw.Length - 1] == 1);
                     break;
                 case "bIsAdditive":
                     e.bIsAdditive = (p.raw[p.raw.Length - 1] == 1);
                     break;
             }
         Children.Add(e);
     }
 }