Пример #1
0
 public override void Apply(CharSheet sheet, int anim)
 {
     for (int ii = 0; ii < sheet.AnimData[anim].Sequences.Count; ii++)
     {
         DirH dirH;
         DirV dirV;
         DirExt.Separate((Dir8)ii, out dirH, out dirV);
         if (dirH == DirH.Left && !StartRight || dirH == DirH.Right && StartRight)
         {
             dirH = dirH.Reverse();
             Dir8 flipDir = DirExt.Combine(dirH, dirV);
             List <CharAnimFrame> frames = new List <CharAnimFrame>();
             for (int jj = 0; jj < sheet.AnimData[anim].Sequences[ii].Frames.Count; jj++)
             {
                 CharAnimFrame origFrame = sheet.AnimData[anim].Sequences[ii].Frames[jj];
                 CharAnimFrame newFrame  = new CharAnimFrame(origFrame);
                 newFrame.Flip         = !newFrame.Flip;
                 newFrame.Offset       = new Loc(-newFrame.Offset.X, newFrame.Offset.Y);
                 newFrame.ShadowOffset = new Loc(-newFrame.ShadowOffset.X, newFrame.ShadowOffset.Y);
                 frames.Add(newFrame);
             }
             sheet.AnimData[anim].Sequences[(int)flipDir].Frames = frames;
         }
     }
     sheet.Collapse(false, true);
 }
Пример #2
0
 public override void Apply(CharSheet sheet, int anim)
 {
     for (int ii = 0; ii < sheet.AnimData[anim].Sequences.Count; ii++)
     {
         CharAnimFrame firstFrame = sheet.AnimData[anim].Sequences[ii].Frames[0];
         Loc           diff       = StandardCenter - firstFrame.ShadowOffset;
         for (int jj = 0; jj < sheet.AnimData[anim].Sequences[ii].Frames.Count; jj++)
         {
             CharAnimFrame origFrame = sheet.AnimData[anim].Sequences[ii].Frames[jj];
             CharAnimFrame newFrame  = new CharAnimFrame(origFrame);
             newFrame.Offset       = newFrame.Offset + diff;
             newFrame.ShadowOffset = newFrame.ShadowOffset + diff;
             sheet.AnimData[anim].Sequences[ii].Frames[jj] = newFrame;
         }
     }
     sheet.Collapse(false, true);
 }
Пример #3
0
 public override void Apply(CharSheet sheet, int anim)
 {
     sheet.Collapse(true, true);
 }