void SerializeData(SerializingContainer Container)
 {
     if (Container.isLoading)
         data = new ME3DataAnimSetStruct();
     data.unk1 = Container + data.unk1;
     data.unk2 = Container + data.unk2;
     data.unk3 = Container + data.unk3;
     data.unk4 = Container + data.unk4;
     int count = 0;
     if (!Container.isLoading)
         count = data.Data.Length;
     count = Container + count;
     if (Container.isLoading)
         data.Data = new ME3FaceFXLine[count];
     for (int i = 0; i < count; i++)
     {
         if (Container.isLoading)
             data.Data[i] = new ME3FaceFXLine();
         ME3FaceFXLine d = data.Data[i];
         d.Name = Container + d.Name;
         if (Container.isLoading)
         {
             d.NameAsString = header.Names[d.Name];
         }
         int count2 = 0;
         if (!Container.isLoading)
             count2 = d.animations.Length;
         count2 = Container + count2;
         if (Container.isLoading)
             d.animations = new ME3NameRef[count2];
         for (int j = 0; j < count2; j++)
         {
             if (Container.isLoading)
                 d.animations[j] = new ME3NameRef();
             ME3NameRef u = d.animations[j];
             u.index = Container + u.index;
             u.unk2 = Container + u.unk2;
             d.animations[j] = u;
         }
         count2 = 0;
         if (!Container.isLoading)
             count2 = d.points.Length;
         count2 = Container + count2;
         if (Container.isLoading)
             d.points = new ControlPoint[count2];
         for (int j = 0; j < count2; j++)
         {
             if (Container.isLoading)
                 d.points[j] = new ControlPoint();
             ControlPoint u = d.points[j];
             u.time = Container + u.time;
             u.weight = Container + u.weight;
             u.inTangent = Container + u.inTangent;
             u.leaveTangent = Container + u.leaveTangent;
             d.points[j] = u;
         }
         if (d.animations.Length > 0)
         {
             count2 = 0;
             if (!Container.isLoading)
                 count2 = d.numKeys.Length;
             count2 = Container + count2;
             if (Container.isLoading)
                 d.numKeys = new int[count2];
             for (int j = 0; j < count2; j++)
                 d.numKeys[j] = Container + d.numKeys[j]; 
         }
         else if (Container.isLoading)
         {
             d.numKeys = new int[0];
         }
         d.FadeInTime = Container + d.FadeInTime;
         d.FadeOutTime = Container + d.FadeOutTime;
         d.unk2 = Container + d.unk2;
         d.path = SerializeString(Container, d.path);
         d.ID = SerializeString(Container, d.ID);
         d.index = Container + d.index;
         data.Data[i] = d;
     }
 }
Exemple #2
0
        void SerializeData(SerializingContainer Container)
        {
            if (Container.isLoading)
            {
                data = new ME3DataAnimSetStruct();
            }
            data.unk1 = Container + data.unk1;
            data.unk2 = Container + data.unk2;
            data.unk3 = Container + data.unk3;
            data.unk4 = Container + data.unk4;
            int count = 0;

            if (!Container.isLoading)
            {
                count = data.Data.Length;
            }
            count = Container + count;
            if (Container.isLoading)
            {
                data.Data = new ME3FaceFXLine[count];
            }
            for (int i = 0; i < count; i++)
            {
                if (Container.isLoading)
                {
                    data.Data[i] = new ME3FaceFXLine();
                }
                ME3FaceFXLine d = data.Data[i];
                d.Name = Container + d.Name;
                if (Container.isLoading)
                {
                    d.NameAsString = header.Names[d.Name];
                }
                int count2 = 0;
                if (!Container.isLoading)
                {
                    count2 = d.animations.Length;
                }
                count2 = Container + count2;
                if (Container.isLoading)
                {
                    d.animations = new ME3NameRef[count2];
                }
                for (int j = 0; j < count2; j++)
                {
                    if (Container.isLoading)
                    {
                        d.animations[j] = new ME3NameRef();
                    }
                    ME3NameRef u = d.animations[j];
                    u.index         = Container + u.index;
                    u.unk2          = Container + u.unk2;
                    d.animations[j] = u;
                }
                count2 = 0;
                if (!Container.isLoading)
                {
                    count2 = d.points.Length;
                }
                count2 = Container + count2;
                if (Container.isLoading)
                {
                    d.points = new ControlPoint[count2];
                }
                for (int j = 0; j < count2; j++)
                {
                    if (Container.isLoading)
                    {
                        d.points[j] = new ControlPoint();
                    }
                    ControlPoint u = d.points[j];
                    u.time         = Container + u.time;
                    u.weight       = Container + u.weight;
                    u.inTangent    = Container + u.inTangent;
                    u.leaveTangent = Container + u.leaveTangent;
                    d.points[j]    = u;
                }
                if (d.animations.Length > 0)
                {
                    count2 = 0;
                    if (!Container.isLoading)
                    {
                        count2 = d.numKeys.Length;
                    }
                    count2 = Container + count2;
                    if (Container.isLoading)
                    {
                        d.numKeys = new int[count2];
                    }
                    for (int j = 0; j < count2; j++)
                    {
                        d.numKeys[j] = Container + d.numKeys[j];
                    }
                }
                else if (Container.isLoading)
                {
                    d.numKeys = new int[0];
                }
                d.FadeInTime  = Container + d.FadeInTime;
                d.FadeOutTime = Container + d.FadeOutTime;
                d.unk2        = Container + d.unk2;
                d.path        = SerializeString(Container, d.path);
                d.ID          = SerializeString(Container, d.ID);
                d.index       = Container + d.index;
                data.Data[i]  = d;
            }
        }