initial
This commit is contained in:
68
hammer/mapanimator.h
Normal file
68
hammer/mapanimator.h
Normal file
@@ -0,0 +1,68 @@
|
||||
//========= Copyright <20> 1996-2005, Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef MAPANIMATOR_H
|
||||
#define MAPANIMATOR_H
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "MapClass.h"
|
||||
#include "MapKeyFrame.h"
|
||||
|
||||
|
||||
class CMapAnimator : public CMapKeyFrame
|
||||
{
|
||||
public:
|
||||
|
||||
DECLARE_MAPCLASS( CMapAnimator, CMapKeyFrame );
|
||||
|
||||
//
|
||||
// Factories.
|
||||
//
|
||||
static CMapClass *CreateMapAnimator(CHelperInfo *pHelperInfo, CMapEntity *pParent);
|
||||
|
||||
//
|
||||
// Construction/destruction.
|
||||
//
|
||||
CMapAnimator();
|
||||
~CMapAnimator();
|
||||
|
||||
virtual size_t GetSize( void ) { return sizeof(*this); }
|
||||
virtual CMapClass *Copy(bool bUpdateDependencies);
|
||||
virtual CMapClass *CopyFrom(CMapClass *pFrom, bool bUpdateDependencies);
|
||||
|
||||
virtual void UpdateAnimation( float animTime );
|
||||
virtual void OnClone( CMapClass *pClone, CMapWorld *pWorld, const CMapObjectList &OriginalList, CMapObjectList &NewList );
|
||||
virtual bool GetTransformMatrix( VMatrix& matrix );
|
||||
virtual void OnParentKeyChanged( const char* key, const char* value );
|
||||
virtual CMapAnimator *GetAnimator(void) { return this; }
|
||||
void RebuildPath( void );
|
||||
|
||||
float GetKeyFramesAtTime( float time, CMapKeyFrame *&pKeyFrame, CMapKeyFrame *&pPrevKeyFrame );
|
||||
CMapEntity *CreateNewKeyFrame( float time );
|
||||
void GetAnimationAtTime( float animTime, Vector& newOrigin, Quaternion &newAngles );
|
||||
static void GetAnimationAtTime( CMapKeyFrame *currentKey, CMapKeyFrame *pPrevKey, float animTime, Vector& newOrigin, Quaternion &newAngles, int posInterpolator, int rotInterpolator );
|
||||
|
||||
int GetNumKeysChanged() {return m_nKeysChanged;}
|
||||
|
||||
private:
|
||||
// Used by the keys to detect when changes need to be sent to the position interpolators.
|
||||
int m_nKeysChanged;
|
||||
|
||||
VMatrix m_CoordFrame;
|
||||
bool m_bCurrentlyAnimating;
|
||||
CMapKeyFrame *m_pCurrentKeyFrame; // keyframe it's currently at
|
||||
|
||||
int m_iTimeModifier;
|
||||
int m_iPositionInterpolator;
|
||||
int m_iRotationInterpolator;
|
||||
|
||||
friend CMapKeyFrame;
|
||||
};
|
||||
|
||||
|
||||
#endif // MAPANIMATOR_H
|
||||
Reference in New Issue
Block a user