Class M2Sequence
One animation sequence entry. Abstract over the client version; construct a concrete version with M2Sequence.ForVersion / for_version.
public class M2Sequence : IDisposable
- Inheritance
-
M2Sequence
- Implements
- Derived
- Inherited Members
Constructors
M2Sequence()
public M2Sequence()
M2Sequence(M2Sequence)
Copy-construct: a deep copy of other (the C++ copy constructor).
public M2Sequence(M2Sequence other)
Parameters
otherM2Sequence
Properties
AliasNext
public ushort AliasNext { get; set; }
Property Value
Bounds
Bounds while the sequence plays.
public M2Bounds Bounds { get; set; }
Property Value
Flags
See SequenceFlags.
public SequenceFlags Flags { get; set; }
Property Value
Frequency
Playback probability weight (sums to 0x7FFF per id).
public short Frequency { get; set; }
Property Value
Id
Animation id in AnimationData.dbc.
public ushort Id { get; set; }
Property Value
Movespeed
Character move speed during the sequence.
public float Movespeed { get; set; }
Property Value
Padding
Unused alignment padding.
public ushort Padding { get; set; }
Property Value
Replay
Random repetition bounds; both 0 = no repeat.
public M2Range Replay { get; set; }
Property Value
VariationIndex
Which variation of the animation this is.
public ushort VariationIndex { get; set; }
Property Value
VariationNext
Next variation index, -1 if none.
public short VariationNext { get; set; }
Property Value
Methods
Dispose()
Release the native object now. Optional: the finalizer releases it on
collection anyway - dispose (or using) when you want native memory back
promptly.
public virtual void Dispose()
Equals(object?)
Determines whether the specified object is equal to the current object.
public override bool Equals(object? obj)
Parameters
objobjectThe object to compare with the current object.
Returns
ForVersion(ClientVersion)
A fresh M2Sequence for an exact client version — the only axis that can name a Classic client, whose files follow the engine its build was cut on rather than its 1.15 / 4.4 version number.
public static M2Sequence ForVersion(ClientVersion version)
Parameters
versionClientVersion
Returns
ForVersion(Expansion)
A fresh M2Sequence for the given era, as the family base — the dynamic twin of the typed Era factories.
public static M2Sequence ForVersion(Expansion era)
Parameters
eraExpansion
Returns
GetHashCode()
Reference-identity hash (the C++ type has no hash to mirror).
public override int GetHashCode()
Returns
IsAlias()
Whether this sequence is an alias (flag 0x40): it owns NO track data — resolve it by following alias_next. Files still carry stale array records for aliases (dead offsets, junk values), so they are never chased.
public bool IsAlias()
Returns
OwnsAnimFile()
Whether this sequence owns an external .anim file: its data is low-priority (0x10/0x20/0x100 all clear) and it is no alias.
public bool OwnsAnimFile()
Returns
Operators
operator ==(M2Sequence?, M2Sequence?)
public static bool operator ==(M2Sequence? l, M2Sequence? r)
Parameters
lM2SequencerM2Sequence
Returns
operator !=(M2Sequence?, M2Sequence?)
public static bool operator !=(M2Sequence? l, M2Sequence? r)
Parameters
lM2SequencerM2Sequence