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(); }
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; }
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); }
/// <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); }