15class AnimEventPlayer {
 
   24    bool IsAttachedSound()
 const {
 
   25        return mHandle.IsAttachedSound();
 
   28    bool IsCurrentEvent(
const AnimEvent *event)
 const {
 
   29        return event == mpEvent;
 
   32    int GetPriority()
 const {
 
   33        if (!IsAttachedSound()) {
 
   36        return mHandle.detail_GetAttachedSound()->GetPriority();
 
   39    bool IsRunning()
 const {
 
   48        if (mpEvent == event) {
 
   53    void SetVolume(f32 volume) {
 
   54        if (IsAttachedSound()) {
 
   55            mHandle.detail_GetAttachedSound()->SetVolume(volume, 0);
 
   59    void SetPitch(f32 pitch) {
 
   60        if (IsAttachedSound()) {
 
   61            mHandle.detail_GetAttachedSound()->SetPitch(pitch);
 
   73    void SetVolumePitch(
const AnimEvent *event, 
bool b);
 
   74    void SetVariable(
const AnimEvent *event, ulong varNo, f32 f);
 
 
   92    bool Setup(
const void *data);
 
   94    void ResetFrame(f32, 
int);
 
   95    void UpdateFrame(f32 frame, PlayDirection dir);
 
   96    void UpdateForward(f32 frame);
 
   97    void UpdateBackward(f32 frame);
 
   98    void UpdateOneFrame(s32 duration, PlayDirection direction);
 
   99    void UpdateTrigger(
const AnimEventRef *, s32, PlayDirection);
 
  103    void StartEvent(
const AnimEvent *, 
bool);
 
  109    typedef void (*Callback)(int, s32, 
const char *, UNKWORD, UNKWORD);