コード例 #1
0
 public AMTActionPlayer(AMTPackage Pak, AMTAction Act)
 {
     this.Package         = Pak;
     this.Action          = AMTUtil.ExpandFrame(Pak.Animation, Act);
     this.CurrentFrame    = 0;
     this.LoopTimes       = 0;
     this.RandomGenerator = new Random();
 }
コード例 #2
0
ファイル: ActionPreview.cs プロジェクト: r1cebank/AmiMat
 public ActionPreview(AMTPackage Package, AMTAction Action)
 {
     InitializeComponent();
     PreviewPackage       = Package;
     PreviewAction        = Action;
     ExpandedActionPlayer = new AMTActionPlayer(Package, Action);
     this.Text            = this.Text + " " + Action.Name;
     PlayTimer.Enabled    = true;
 }
コード例 #3
0
 public static string CheckReference(AMTAnimation Animation, AMTAction CurrentAction, AMTAction ActionToAdd)
 {
     foreach (AMTFrame f in ActionToAdd.Frames)
     {
         if (f.ActionRef != null)
         {
             if (f.ActionRef == CurrentAction.Name)
             {
                 return(ActionToAdd.Name);
             }
             else
             {
                 return(CheckReference(Animation, CurrentAction, GetActionFromName(Animation, f.ActionRef)));
             }
         }
     }
     return(null);
 }
コード例 #4
0
        /// <summary>
        /// Expand Current action with action reference frames into Action with frame reference frames
        /// </summary>
        /// <param name="Animation">Current Animation</param>
        /// <param name="Action">Action to Expand</param>
        /// <returns>New expanded action</returns>
        public static AMTAction ExpandFrame(AMTAnimation Animation, AMTAction Action)
        {
            AMTAction ExpandedAction = new AMTAction();

            ExpandedAction.Name = Action.Name;
            ExpandedAction.Frames.Clear();
            foreach (AMTFrame f in Action.Frames)
            {
                if (f.ActionRef != null)
                {
                    AMTAction EmbeddedAction         = AMTUtil.GetActionFromName(Animation, f.ActionRef);
                    AMTAction ExpandedEmbeddedAction = ExpandFrame(Animation, EmbeddedAction);
                    foreach (AMTFrame fe in ExpandedEmbeddedAction.Frames)
                    {
                        ExpandedAction.Frames.Add(fe);
                    }
                }
                else
                {
                    ExpandedAction.Frames.Add(f);
                }
            }
            return(ExpandedAction);
        }