You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.6 KiB
63 lines
1.6 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
// $NoKeywords: $ |
|
//=============================================================================// |
|
|
|
#ifndef CL_DEMOACTIONMANAGER_H |
|
#define CL_DEMOACTIONMANAGER_H |
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
class CUtlBuffer; |
|
|
|
namespace vgui |
|
{ |
|
class Panel; |
|
}; |
|
|
|
class CBaseDemoAction; |
|
struct democmdinfo_t; |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: |
|
//----------------------------------------------------------------------------- |
|
abstract_class IDemoActionManager |
|
{ |
|
public: |
|
virtual ~IDemoActionManager( void ) {} |
|
|
|
virtual void Init( void ) = 0; |
|
virtual void Shutdown( void ) = 0; |
|
|
|
virtual void StartPlaying( char const *demfilename ) = 0; |
|
virtual void StopPlaying() = 0; |
|
|
|
virtual void Update( bool newframe, int demoframe, float demotime ) = 0; |
|
|
|
virtual void SaveToBuffer( CUtlBuffer& buf ) = 0; |
|
virtual void SaveToFile( void ) = 0; |
|
|
|
virtual char const *GetCurrentDemoFile( void ) = 0; |
|
|
|
virtual int GetActionCount( void ) = 0; |
|
virtual CBaseDemoAction *GetAction( int index ) = 0; |
|
virtual void AddAction( CBaseDemoAction *action ) = 0; |
|
virtual void RemoveAction( CBaseDemoAction *action ) = 0; |
|
|
|
virtual bool IsDirty( void ) const = 0; |
|
virtual void SetDirty( bool dirty ) = 0; |
|
|
|
virtual void ReloadFromDisk( void ) = 0; |
|
|
|
virtual void DispatchEvents() = 0; |
|
virtual void InsertFireEvent( CBaseDemoAction *action ) = 0; |
|
|
|
virtual bool OverrideView( democmdinfo_t& info, int tick ) = 0; |
|
}; |
|
|
|
extern IDemoActionManager *demoaction; |
|
|
|
#endif // CL_DEMOACTIONMANAGER_H
|
|
|