The-Simpsons-Hit-and-Run/game/code/presentation/simpleanimationplayer.h

90 lines
2.5 KiB
C++

//=============================================================================
// Copyright (C) 2002 Radical Entertainment Ltd. All rights reserved.
//
// File: .h
//
// Description: Blahblahblah
//
// History: 29/05/2002 + Created -- NAME
//
//=============================================================================
#ifndef SIMPLEANIMATIONPLAYER_H
#define SIMPLEANIMATIONPLAYER_H
//========================================
// Nested Includes
//========================================
#include <p3d/anim/animate.hpp> // p3dCycleMode
#include <presentation/animplayer.h>
//========================================
// Forward References
//========================================
class tMultiController;
class tCamera;
//=============================================================================
//
// Synopsis: Wraps up the P3D related crap involved with playing an
// animation.
//
//=============================================================================
class SimpleAnimationPlayer : public AnimationPlayer
{
public:
SimpleAnimationPlayer();
virtual ~SimpleAnimationPlayer();
virtual void Update( unsigned int elapsedTime );
virtual void ClearData();
void SetNameData( char* controller, char* camera, char* animation );
void SetCycleMode( p3dCycleMode cycleMode ) { mCycleMode = cycleMode; }
void SetIntroLoop(unsigned nFrames);
void SetOutroLoop(unsigned nFrames);
void Play(void);
void DoneIntro(void);
void Rewind();
protected:
// These set all the objects needs to play an animation
void SetController(tMultiController* pController ) { mpMasterController = pController; }
void SetCamera( tCamera* pCamera ) { mpCamera = pCamera; }
virtual void DoLoaded();
virtual void DoRender();
const char* GetAnimationName() { return( &msAnimation[0] ); }
private:
//Prevent wasteful constructor creation.
SimpleAnimationPlayer( const SimpleAnimationPlayer& );
SimpleAnimationPlayer& operator=( const SimpleAnimationPlayer& );
char msController[32];
char msCamera[32];
char msAnimation[32];
tMultiController* mpMasterController;
p3dCycleMode mCycleMode;
tCamera* mpCamera;
tCamera* mpViewCamera;
bool mbSetCamera;
unsigned mIntroFrames;
unsigned mOutroFrames;
bool mInIntro;
unsigned mNumFrames;
};
#endif // SIMPLEANIMATIONPLAYER_H