Table of Contents

Class M2EventTrack

Namespace
WoWLib.Formats.M2.Root.Record
Assembly
WoWLib.dll

A timestamp-only event track (every key fires). Abstract over the client version; construct a concrete version with M2EventTrack.ForVersion / for_version.

public class M2EventTrack : IDisposable, IAnimTimeline
Inheritance
M2EventTrack
Implements
Derived
Inherited Members

Constructors

M2EventTrack()

public M2EventTrack()

M2EventTrack(M2EventTrack)

Copy-construct: a deep copy of other (the C++ copy constructor).

public M2EventTrack(M2EventTrack other)

Parameters

other M2EventTrack

Properties

GlobalSequence

The global sequence driving this track; -1: none.

public ushort GlobalSequence { get; set; }

Property Value

ushort

InterpolationType

Interpolation: 0 none, 1 linear (keys fire, no value to interpolate).

public ushort InterpolationType { get; set; }

Property Value

ushort

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

obj object

The object to compare with the current object.

Returns

bool

true if the specified object is equal to the current object; otherwise, false.

ForVersion(ClientVersion)

A fresh M2EventTrack 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 M2EventTrack ForVersion(ClientVersion version)

Parameters

version ClientVersion

Returns

M2EventTrack

ForVersion(Expansion)

A fresh M2EventTrack for the given era, as the family base — the dynamic twin of the typed Era factories.

public static M2EventTrack ForVersion(Expansion era)

Parameters

era Expansion

Returns

M2EventTrack

GetHashCode()

Reference-identity hash (the C++ type has no hash to mirror).

public override int GetHashCode()

Returns

int

KeyCount(ulong)

The number of trigger keys on one timeline.

public ulong KeyCount(ulong timeline)

Parameters

timeline ulong

Returns

ulong

TimelineCount()

The number of timelines this track carries: one per interpolation range, or a single timeline 0 for a global-sequence-driven or rangeless track (0 when the track is empty).

public ulong TimelineCount()

Returns

ulong

TimelineTimestamps(ulong)

One timeline's trigger timestamps, as a copy.

public uint[] TimelineTimestamps(ulong timeline)

Parameters

timeline ulong

Returns

uint[]

Operators

operator ==(M2EventTrack?, M2EventTrack?)

public static bool operator ==(M2EventTrack? l, M2EventTrack? r)

Parameters

l M2EventTrack
r M2EventTrack

Returns

bool

operator !=(M2EventTrack?, M2EventTrack?)

public static bool operator !=(M2EventTrack? l, M2EventTrack? r)

Parameters

l M2EventTrack
r M2EventTrack

Returns

bool