public AnimationNode(uint nodeType, string nodeTag) : base(nodeType, nodeTag) { this.mFlags = JazzAnimationFlags.Default; this.mPriority = JazzChunk.AnimationPriority.Unset; this.mBlendInTime = 0; this.mBlendOutTime = 0; this.mSpeed = 1; this.mActor = null; this.mTimingPriority = JazzChunk.AnimationPriority.Unset; }
public void SetFlags(JazzAnimationFlags flags, bool value) { if (value) { this.mFlags |= flags; } else { this.mFlags &= ~flags; } }
public AnimationNode(uint nodeType, string nodeTag) : base(nodeType, nodeTag) { this.mFlags = JazzAnimationFlags.Default; this.mPriority = JazzChunk.AnimationPriority.Unset; this.mBlendInTime = 0; this.mBlendOutTime = 0; this.mSpeed = 1; this.mActor = null; this.mTimingPriority = JazzChunk.AnimationPriority.Unset; }
public override void UpdateVisualization() { if (this.mScene.StateView == null) { return; } SizeF size; float w = 40; float h = 15; string name; IResourceKey rk; Graphics g = this.mScene.StateView.CreateGraphics(); StringBuilder sb = new StringBuilder(); ActorDefinition ad = this.mPlayNode.Actor; /*this.mActorString = "Actor: " + (ad == null ? "" : ad.Name); * //w = Math.Max(w, kAGW * this.mActorString.Length + 4); * size = g.MeasureString(this.mActorString, TextFont); * w = Math.Max(w, size.Width + 5);/* */ sb.AppendLine("Actor: " + (ad == null ? "" : ad.Name)); /*this.mPropsString = "Flags: " + AnimFlagString(this.mPlayNode.Flags); + //w = Math.Max(w, kAGW * this.mPropsString.Length + 4); + size = g.MeasureString(this.mPropsString, TextFont); + w = Math.Max(w, size.Width + 5);/* */ sb.Append("Flags: "); sb.Append(AnimFlagString(this.mPlayNode.Flags)); JazzAnimationFlags flags = this.mPlayNode.Flags; rk = this.mPlayNode.ClipKey; if (!string.IsNullOrEmpty(this.mPlayNode.ClipPattern)) { /*this.mBaseClipString = "Base: " + this.mPlayNode.ClipPattern; + //w = Math.Max(w, kAGW * this.mBaseClipString.Length + 4); + size = g.MeasureString(this.mBaseClipString, TextFont); + w = Math.Max(w, size.Width + 5); + h += kMGH;/* */ sb.AppendLine(); sb.Append("Base: "); sb.Append(this.mPlayNode.ClipPattern); if ((flags & kBaseClipMask) != JazzAnimationFlags.TimingNormal) { sb.Append(" (Social | Object Only)"); } else if ( (flags & JazzAnimationFlags.BaseClipIsSocial) != JazzAnimationFlags.TimingNormal) { sb.Append(" (Social)"); } else if ( (flags & JazzAnimationFlags.BaseClipIsObjectOnly) != JazzAnimationFlags.TimingNormal) { sb.Append(" (Object Only)"); } } else if (rk != null && !rk.Equals(sZeroKey) && rk.Instance != 0) { /*this.mBaseClipString = "Base: " + rk.ToString(); * if (KeyNameReg.TryFindName(rk.Instance, out name)) * { * this.mBaseClipString += string.Concat(" ", name); * } * //w = Math.Max(w, kAGW * this.mBaseClipString.Length + 4); * size = g.MeasureString(this.mBaseClipString, TextFont); * w = Math.Max(w, size.Width + 5); * h += kMGH;/* */ sb.AppendLine(); sb.Append("Base: "); if (KeyNameReg.TryFindName(rk.Instance, out name)) { sb.Append(name); } else if (KeyNameReg.TryFindGenCLIP(rk.Instance, out name)) { sb.Append(name); } else if (KeyNameReg.TryFindLabel(rk.Instance, out name)) { sb.Append(name); } else { sb.Append("0x" + rk.Instance.ToString("X16")); } if ((flags & kBaseClipMask) != JazzAnimationFlags.TimingNormal) { sb.Append(" (Social | Object Only)"); } else if ( (flags & JazzAnimationFlags.BaseClipIsSocial) != JazzAnimationFlags.TimingNormal) { sb.Append(" (Social)"); } else if ( (flags & JazzAnimationFlags.BaseClipIsObjectOnly) != JazzAnimationFlags.TimingNormal) { sb.Append(" (Object Only)"); } } /*else * { * this.mBaseClipString = null; * }/* */ rk = this.mPlayNode.TrackMaskKey; if (rk != null && !rk.Equals(sZeroKey) && rk.Instance != 0) { /*this.mTkMkString = "TkMk: " + rk.ToString(); * if (KeyNameReg.TryFindName(rk.Instance, out name)) * { * this.mTkMkString += string.Concat(" ", name); * } * //w = Math.Max(w, kAGW * this.mTkMkString.Length + 4); * size = g.MeasureString(this.mTkMkString, TextFont); * w = Math.Max(w, size.Width + 5); * h += kMGH;/* */ sb.AppendLine(); sb.Append("TkMk: "); if (KeyNameReg.TryFindNameOrLabel(rk.Instance, out name)) { sb.Append(name); } else { sb.Append("0x" + rk.Instance.ToString("X16")); } } /*else * { * this.mTkMkString = null; * }/* */ rk = this.mPlayNode.AdditiveClipKey; if (!string.IsNullOrEmpty(this.mPlayNode.AdditiveClipPattern)) { /*this.mAddiClipString = "Addi: " + this.mPlayNode.AdditiveClipPattern; + //w = Math.Max(w, kAGW * this.mAddiClipString.Length + 4); + size = g.MeasureString(this.mAddiClipString, TextFont); + w = Math.Max(w, size.Width + 5); + h += kMGH;/* */ sb.AppendLine(); sb.Append("Addi: "); sb.Append(this.mPlayNode.AdditiveClipPattern); if ((flags & kAdditiveClipMask) != JazzAnimationFlags.TimingNormal) { sb.Append(" (Social | Object Only)"); } else if ( (flags & JazzAnimationFlags.AdditiveClipIsSocial) != JazzAnimationFlags.TimingNormal) { sb.Append(" (Social)"); } else if ( (flags & JazzAnimationFlags.AdditiveClipIsObjectOnly) != JazzAnimationFlags.TimingNormal) { sb.Append(" (Object Only)"); } } else if (rk != null && !rk.Equals(sZeroKey) && rk.Instance != 0) { /*this.mAddiClipString = "Addi: " + rk.ToString(); * if (KeyNameReg.TryFindName(rk.Instance, out name)) * { * this.mAddiClipString += string.Concat(" ", name); * } * //w = Math.Max(w, kAGW * this.mAddiClipString.Length + 4); * size = g.MeasureString(this.mAddiClipString, TextFont); * w = Math.Max(w, size.Width + 5); * h += kMGH;/* */ sb.AppendLine(); sb.Append("Addi: "); if (KeyNameReg.TryFindName(rk.Instance, out name)) { sb.Append(name); } else if (KeyNameReg.TryFindGenCLIP(rk.Instance, out name)) { sb.Append(name); } else if (KeyNameReg.TryFindLabel(rk.Instance, out name)) { sb.Append(name); } else { sb.Append("0x" + rk.Instance.ToString("X16")); } if ((flags & kAdditiveClipMask) != JazzAnimationFlags.TimingNormal) { sb.Append(" (Social | Object Only)"); } else if ( (flags & JazzAnimationFlags.AdditiveClipIsSocial) != JazzAnimationFlags.TimingNormal) { sb.Append(" (Social)"); } else if ( (flags & JazzAnimationFlags.AdditiveClipIsObjectOnly) != JazzAnimationFlags.TimingNormal) { sb.Append(" (Object Only)"); } } /*else * { * this.mAddiClipString = null; * }/* */ this.mTextString = sb.ToString(); size = g.MeasureString(this.mTextString, sTextFont); w = Math.Max(w, size.Width + 5); h = Math.Max(h, size.Height + 5); this.mEntryAnchor.SetPosition(0, h / 2); this.mTargetAnchor.SetPosition(w, h / 2); if (this.mBorderPath == null) { this.mBorderPath = new GraphicsPath(); } this.mBorderPath.Reset(); AddRoundedRectangle(this.mBorderPath, 0, 0, w, h, 5); float bbp = 2 * AnchorPoint.Radius; this.BoundingBox = new RectangleF( -bbp, -bbp, w + 2 * bbp, h + 2 * bbp); }
public static string AnimFlagString(JazzAnimationFlags flags) { if (flags == JazzAnimationFlags.TimingNormal) { return "Timing Normal"; } StringBuilder fsb = new StringBuilder(); if ((flags & JazzAnimationFlags.TimingMask) != JazzAnimationFlags.TimingNormal) { if ((flags & JazzAnimationFlags.TimingMaster) == JazzAnimationFlags.TimingMaster) { fsb.Append("Timing Master"); } else if ((flags & JazzAnimationFlags.TimingSlave) == JazzAnimationFlags.TimingSlave) { fsb.Append("Timing Slave"); } else { fsb.Append("Timing Ignored"); } } else { fsb.Append("Timing Normal"); } if ((flags & JazzAnimationFlags.AtEnd) != JazzAnimationFlags.TimingNormal) { fsb.Append(" | At End"); } if ((flags & JazzAnimationFlags.LoopAsNeeded) != JazzAnimationFlags.TimingNormal) { fsb.Append(" | Loop As Needed"); } if ((flags & JazzAnimationFlags.OverridePriority) != JazzAnimationFlags.TimingNormal) { fsb.Append(" | Override Priority"); } if ((flags & kMirrorMask) != JazzAnimationFlags.TimingNormal) { fsb.Append(" | (Override) Mirror"); } else if ((flags & JazzAnimationFlags.Mirror) != JazzAnimationFlags.TimingNormal) { fsb.Append(" | Mirror"); } else if ((flags & JazzAnimationFlags.OverrideMirror) != JazzAnimationFlags.TimingNormal) { fsb.Append(" | Override Mirror"); } if ((flags & JazzAnimationFlags.Interruptible) != JazzAnimationFlags.TimingNormal) { fsb.Append(" | Interruptible"); } if ((flags & JazzAnimationFlags.ForceBlend) != JazzAnimationFlags.TimingNormal) { fsb.Append(" | Force Blend"); } if ((flags & kTimingPriorityMask) != JazzAnimationFlags.TimingNormal) { fsb.Append(" | Use Timing Priority (As Clock Master)"); } else if ((flags & JazzAnimationFlags.UseTimingPriority) == JazzAnimationFlags.UseTimingPriority) { fsb.Append(" | Use Timing Priority"); } else if ((flags & JazzAnimationFlags.UseTimingPriorityAsClockMaster) != JazzAnimationFlags.TimingNormal) { fsb.Append(" | Use Timing Priority As Clock Master"); } if ((flags & JazzAnimationFlags.HoldPose) != JazzAnimationFlags.HoldPose) { fsb.Append(" | Hold Pose"); } if ((flags & JazzAnimationFlags.BlendMotionAccumulation) != JazzAnimationFlags.TimingNormal) { fsb.Append(" | Blend Motion Accumulation"); } return fsb.ToString(); }
private void CreateFlagsCommand(object value) { JazzAnimationFlags flags = (JazzAnimationFlags)value; this.mScene.Container.UndoRedo.Submit(new FlagsCommand(this, flags)); }
public static string AnimFlagString(JazzAnimationFlags flags) { if (flags == JazzAnimationFlags.TimingNormal) { return("Timing Normal"); } StringBuilder fsb = new StringBuilder(); if ((flags & JazzAnimationFlags.TimingMask) != JazzAnimationFlags.TimingNormal) { if ((flags & JazzAnimationFlags.TimingMaster) == JazzAnimationFlags.TimingMaster) { fsb.Append("Timing Master"); } else if ((flags & JazzAnimationFlags.TimingSlave) == JazzAnimationFlags.TimingSlave) { fsb.Append("Timing Slave"); } else { fsb.Append("Timing Ignored"); } } else { fsb.Append("Timing Normal"); } if ((flags & JazzAnimationFlags.AtEnd) != JazzAnimationFlags.TimingNormal) { fsb.Append(" | At End"); } if ((flags & JazzAnimationFlags.LoopAsNeeded) != JazzAnimationFlags.TimingNormal) { fsb.Append(" | Loop As Needed"); } if ((flags & JazzAnimationFlags.OverridePriority) != JazzAnimationFlags.TimingNormal) { fsb.Append(" | Override Priority"); } if ((flags & kMirrorMask) != JazzAnimationFlags.TimingNormal) { fsb.Append(" | (Override) Mirror"); } else if ((flags & JazzAnimationFlags.Mirror) != JazzAnimationFlags.TimingNormal) { fsb.Append(" | Mirror"); } else if ((flags & JazzAnimationFlags.OverrideMirror) != JazzAnimationFlags.TimingNormal) { fsb.Append(" | Override Mirror"); } if ((flags & JazzAnimationFlags.Interruptible) != JazzAnimationFlags.TimingNormal) { fsb.Append(" | Interruptible"); } if ((flags & JazzAnimationFlags.ForceBlend) != JazzAnimationFlags.TimingNormal) { fsb.Append(" | Force Blend"); } if ((flags & kTimingPriorityMask) != JazzAnimationFlags.TimingNormal) { fsb.Append(" | Use Timing Priority (As Clock Master)"); } else if ((flags & JazzAnimationFlags.UseTimingPriority) == JazzAnimationFlags.UseTimingPriority) { fsb.Append(" | Use Timing Priority"); } else if ((flags & JazzAnimationFlags.UseTimingPriorityAsClockMaster) != JazzAnimationFlags.TimingNormal) { fsb.Append(" | Use Timing Priority As Clock Master"); } if ((flags & JazzAnimationFlags.HoldPose) != JazzAnimationFlags.HoldPose) { fsb.Append(" | Hold Pose"); } if ((flags & JazzAnimationFlags.BlendMotionAccumulation) != JazzAnimationFlags.TimingNormal) { fsb.Append(" | Blend Motion Accumulation"); } return(fsb.ToString()); }
public void SetFlags(JazzAnimationFlags flags, bool value) { if (value) { this.mFlags |= flags; } else { this.mFlags &= ~flags; } }