diff options
| author | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
|---|---|---|
| committer | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
| commit | 3bf9df6b2785fa6d951086978a3e66f49427166a (patch) | |
| tree | 2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /utils/scenemanager/vcdfile.h | |
| download | archived-source-engine-2018-hl2-src-master.tar.xz archived-source-engine-2018-hl2-src-master.zip | |
Diffstat (limited to 'utils/scenemanager/vcdfile.h')
| -rw-r--r-- | utils/scenemanager/vcdfile.h | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/utils/scenemanager/vcdfile.h b/utils/scenemanager/vcdfile.h new file mode 100644 index 0000000..661f332 --- /dev/null +++ b/utils/scenemanager/vcdfile.h @@ -0,0 +1,90 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +//=============================================================================// + +#ifndef VCDFILE_H +#define VCDFILE_H +#ifdef _WIN32 +#pragma once +#endif + +class CSoundEntry; +class CScene; + +#include "itreeitem.h" +#include "ichoreoeventcallback.h" + +class CChoreoScene; + +class CVCDFile : public ITreeItem, public IChoreoEventCallback +{ +public: + CVCDFile( CScene *scene, char const *filename ); + ~CVCDFile(); + + CScene *GetOwnerScene(); + + char const *GetName() const; + char const *GetComments(); + void SetComments( char const *comments ); + + int GetSoundEntryCount() const; + CSoundEntry *GetSoundEntry( int index ); + + void ValidateTree( mxTreeView *tree, mxTreeViewItem* parent ); + + // ITreeItem + virtual CWorkspace *GetWorkspace() { return NULL; } + virtual CProject *GetProject() { return NULL; } + virtual CScene *GetScene() { return NULL; } + virtual CVCDFile *GetVCDFile() { return this; } + virtual CSoundEntry *GetSoundEntry() { return NULL; } + virtual CWaveFile *GetWaveFile() { return NULL; } + + // IChoreoEventCallback stubs + virtual void StartEvent( float currenttime, CChoreoScene *scene, CChoreoEvent *event ) {} + // Only called for events with HasEndTime() == true + virtual void EndEvent( float currenttime, CChoreoScene *scene, CChoreoEvent *event ) {} + // Called for events which have been started but aren't done yet + virtual void ProcessEvent( float currenttime, CChoreoScene *scene, CChoreoEvent *event ) {} + // Called for events that are part of a pause condition + virtual bool CheckEvent( float currenttime, CChoreoScene *scene, CChoreoEvent *event ) { return false; } + + virtual void Checkout( bool updatestateicons = true ); + virtual void Checkin( bool updatestateicons = true ); + + bool IsCheckedOut() const; + int GetIconIndex() const; + + virtual void MoveChildUp( ITreeItem *child ); + virtual void MoveChildDown( ITreeItem *child ); + + void SetDirty( bool dirty ); + + virtual bool IsChildFirst( ITreeItem *child ); + virtual bool IsChildLast( ITreeItem *child ); + +private: + + CChoreoScene *LoadScene( char const *filename ); + + void LoadSoundsFromScene( CChoreoScene *scene ); + + enum + { + MAX_VCD_NAME = 128, + }; + + char m_szName[ MAX_VCD_NAME ]; + char *m_pszComments; + + CUtlVector< CSoundEntry * > m_Sounds; + + CChoreoScene *m_pScene; + + CScene *m_pOwner; +}; + +#endif // VCDFILE_H |