diff options
| author | Jørgen P. Tjernø <[email protected]> | 2013-12-02 19:31:46 -0800 |
|---|---|---|
| committer | Jørgen P. Tjernø <[email protected]> | 2013-12-02 19:46:31 -0800 |
| commit | f56bb35301836e56582a575a75864392a0177875 (patch) | |
| tree | de61ddd39de3e7df52759711950b4c288592f0dc /mp/src/public/toolframework/itoolentity.h | |
| parent | Mark some more files as text. (diff) | |
| download | source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.tar.xz source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.zip | |
Fix line endings. WHAMMY.
Diffstat (limited to 'mp/src/public/toolframework/itoolentity.h')
| -rw-r--r-- | mp/src/public/toolframework/itoolentity.h | 496 |
1 files changed, 248 insertions, 248 deletions
diff --git a/mp/src/public/toolframework/itoolentity.h b/mp/src/public/toolframework/itoolentity.h index 7e1199db..7433c14a 100644 --- a/mp/src/public/toolframework/itoolentity.h +++ b/mp/src/public/toolframework/itoolentity.h @@ -1,248 +1,248 @@ -//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-//=============================================================================
-
-#ifndef ITOOLENTITY_H
-#define ITOOLENTITY_H
-#ifdef _WIN32
-#pragma once
-#endif
-
-#include "tier1/interface.h"
-#include "tier1/utlvector.h"
-#include "Color.h"
-#include "basehandle.h"
-#include "iclientrenderable.h"
-#include "engine/ishadowmgr.h"
-
-
-//-----------------------------------------------------------------------------
-// Forward declarations
-//-----------------------------------------------------------------------------
-class IServerEntity;
-class IClientEntity;
-class IToolSystem;
-class IClientRenderable;
-class Vector;
-class QAngle;
-class CBaseEntity;
-class CBaseAnimating;
-class CTakeDamageInfo;
-class ITempEntsSystem;
-class IEntityFactoryDictionary;
-
-
-//-----------------------------------------------------------------------------
-// Safe accessor to an entity
-//-----------------------------------------------------------------------------
-typedef unsigned int HTOOLHANDLE;
-enum
-{
- HTOOLHANDLE_INVALID = 0
-};
-
-
-//-----------------------------------------------------------------------------
-// If you change this, change the flags in IClientShadowMgr.h also
-//-----------------------------------------------------------------------------
-enum ClientShadowFlags_t
-{
- SHADOW_FLAGS_USE_RENDER_TO_TEXTURE = (SHADOW_FLAGS_LAST_FLAG<<1),
- SHADOW_FLAGS_ANIMATING_SOURCE = (SHADOW_FLAGS_LAST_FLAG<<2),
- SHADOW_FLAGS_USE_DEPTH_TEXTURE = (SHADOW_FLAGS_LAST_FLAG<<3),
- // Update this if you add flags
- CLIENT_SHADOW_FLAGS_LAST_FLAG = SHADOW_FLAGS_USE_DEPTH_TEXTURE
-};
-
-
-//-----------------------------------------------------------------------------
-// Opaque pointer returned from Find* methods, don't store this, you need to
-// Attach it to a tool entity or discard after searching
-//-----------------------------------------------------------------------------
-typedef void *EntitySearchResult;
-
-
-//-----------------------------------------------------------------------------
-// Purpose: Client side tool interace (right now just handles IClientRenderables).
-// In theory could support hooking into client side entities directly
-//-----------------------------------------------------------------------------
-class IClientTools : public IBaseInterface
-{
-public:
- // Allocates or returns the handle to an entity previously found using the Find* APIs below
- virtual HTOOLHANDLE AttachToEntity( EntitySearchResult entityToAttach ) = 0;
- virtual void DetachFromEntity( EntitySearchResult entityToDetach ) = 0;
-
- // Checks whether a handle is still valid.
- virtual bool IsValidHandle( HTOOLHANDLE handle ) = 0;
-
- // Iterates the list of entities which have been associated with tools
- virtual int GetNumRecordables() = 0;
- virtual HTOOLHANDLE GetRecordable( int index ) = 0;
-
- // Iterates through ALL entities (separate list for client vs. server)
- virtual EntitySearchResult NextEntity( EntitySearchResult currentEnt ) = 0;
- EntitySearchResult FirstEntity() { return NextEntity( NULL ); }
-
- // Use this to turn on/off the presence of an underlying game entity
- virtual void SetEnabled( HTOOLHANDLE handle, bool enabled ) = 0;
- // Use this to tell an entity to post "state" to all listening tools
- virtual void SetRecording( HTOOLHANDLE handle, bool recording ) = 0;
- // Some entities are marked with ShouldRecordInTools false, such as ui entities, etc.
- virtual bool ShouldRecord( HTOOLHANDLE handle ) = 0;
-
- virtual HTOOLHANDLE GetToolHandleForEntityByIndex( int entindex ) = 0;
-
- virtual int GetModelIndex( HTOOLHANDLE handle ) = 0;
- virtual const char* GetModelName ( HTOOLHANDLE handle ) = 0;
- virtual const char* GetClassname ( HTOOLHANDLE handle ) = 0;
-
- virtual void AddClientRenderable( IClientRenderable *pRenderable, int renderGroup ) = 0;
- virtual void RemoveClientRenderable( IClientRenderable *pRenderable ) = 0;
- virtual void SetRenderGroup( IClientRenderable *pRenderable, int renderGroup ) = 0;
- virtual void MarkClientRenderableDirty( IClientRenderable *pRenderable ) = 0;
- virtual void UpdateProjectedTexture( ClientShadowHandle_t h, bool bForce ) = 0;
-
- virtual bool DrawSprite( IClientRenderable *pRenderable, float scale, float frame, int rendermode, int renderfx, const Color &color, float flProxyRadius, int *pVisHandle ) = 0;
-
- virtual EntitySearchResult GetLocalPlayer() = 0;
- virtual bool GetLocalPlayerEyePosition( Vector& org, QAngle& ang, float &fov ) = 0;
-
- // See ClientShadowFlags_t above
- virtual ClientShadowHandle_t CreateShadow( CBaseHandle handle, int nFlags ) = 0;
- virtual void DestroyShadow( ClientShadowHandle_t h ) = 0;
-
- virtual ClientShadowHandle_t CreateFlashlight( const FlashlightState_t &lightState ) = 0;
- virtual void DestroyFlashlight( ClientShadowHandle_t h ) = 0;
- virtual void UpdateFlashlightState( ClientShadowHandle_t h, const FlashlightState_t &lightState ) = 0;
-
- virtual void AddToDirtyShadowList( ClientShadowHandle_t h, bool force = false ) = 0;
- virtual void MarkRenderToTextureShadowDirty( ClientShadowHandle_t h ) = 0;
-
- // Global toggle for recording
- virtual void EnableRecordingMode( bool bEnable ) = 0;
- virtual bool IsInRecordingMode() const = 0;
-
- // Trigger a temp entity
- virtual void TriggerTempEntity( KeyValues *pKeyValues ) = 0;
-
- // get owning weapon (for viewmodels)
- virtual int GetOwningWeaponEntIndex( int entindex ) = 0;
- virtual int GetEntIndex( EntitySearchResult entityToAttach ) = 0;
-
- virtual int FindGlobalFlexcontroller( char const *name ) = 0;
- virtual char const *GetGlobalFlexControllerName( int idx ) = 0;
-
- // helper for traversing ownership hierarchy
- virtual EntitySearchResult GetOwnerEntity( EntitySearchResult currentEnt ) = 0;
-
- // common and useful types to query for hierarchically
- virtual bool IsPlayer ( EntitySearchResult currentEnt ) = 0;
- virtual bool IsBaseCombatCharacter( EntitySearchResult currentEnt ) = 0;
- virtual bool IsNPC ( EntitySearchResult currentEnt ) = 0;
-
- virtual Vector GetAbsOrigin( HTOOLHANDLE handle ) = 0;
- virtual QAngle GetAbsAngles( HTOOLHANDLE handle ) = 0;
-
- // This reloads a portion or all of a particle definition file.
- // It's up to the client to decide if it cares about this file
- // Use a UtlBuffer to crack the data
- virtual void ReloadParticleDefintions( const char *pFileName, const void *pBufData, int nLen ) = 0;
-
- // Sends a mesage from the tool to the client
- virtual void PostToolMessage( KeyValues *pKeyValues ) = 0;
-
- // Indicates whether the client should render particle systems
- virtual void EnableParticleSystems( bool bEnable ) = 0;
-
- // Is the game rendering in 3rd person mode?
- virtual bool IsRenderingThirdPerson() const = 0;
-};
-
-#define VCLIENTTOOLS_INTERFACE_VERSION "VCLIENTTOOLS001"
-
-
-//-----------------------------------------------------------------------------
-// Purpose: Interface from engine to tools for manipulating entities
-//-----------------------------------------------------------------------------
-class IServerTools : public IBaseInterface
-{
-public:
- virtual IServerEntity *GetIServerEntity( IClientEntity *pClientEntity ) = 0;
- virtual bool SnapPlayerToPosition( const Vector &org, const QAngle &ang, IClientEntity *pClientPlayer = NULL ) = 0;
- virtual bool GetPlayerPosition( Vector &org, QAngle &ang, IClientEntity *pClientPlayer = NULL ) = 0;
- virtual bool SetPlayerFOV( int fov, IClientEntity *pClientPlayer = NULL ) = 0;
- virtual int GetPlayerFOV( IClientEntity *pClientPlayer = NULL ) = 0;
- virtual bool IsInNoClipMode( IClientEntity *pClientPlayer = NULL ) = 0;
-
- // entity searching
- virtual CBaseEntity *FirstEntity( void ) = 0;
- virtual CBaseEntity *NextEntity( CBaseEntity *pEntity ) = 0;
- virtual CBaseEntity *FindEntityByHammerID( int iHammerID ) = 0;
-
- // entity query
- virtual bool GetKeyValue( CBaseEntity *pEntity, const char *szField, char *szValue, int iMaxLen ) = 0;
- virtual bool SetKeyValue( CBaseEntity *pEntity, const char *szField, const char *szValue ) = 0;
- virtual bool SetKeyValue( CBaseEntity *pEntity, const char *szField, float flValue ) = 0;
- virtual bool SetKeyValue( CBaseEntity *pEntity, const char *szField, const Vector &vecValue ) = 0;
-
- // entity spawning
- virtual CBaseEntity *CreateEntityByName( const char *szClassName ) = 0;
- virtual void DispatchSpawn( CBaseEntity *pEntity ) = 0;
-
- // This reloads a portion or all of a particle definition file.
- // It's up to the server to decide if it cares about this file
- // Use a UtlBuffer to crack the data
- virtual void ReloadParticleDefintions( const char *pFileName, const void *pBufData, int nLen ) = 0;
-
- virtual void AddOriginToPVS( const Vector &org ) = 0;
- virtual void MoveEngineViewTo( const Vector &vPos, const QAngle &vAngles ) = 0;
-
- virtual bool DestroyEntityByHammerId( int iHammerID ) = 0;
- virtual CBaseEntity *GetBaseEntityByEntIndex( int iEntIndex ) = 0;
- virtual void RemoveEntity( CBaseEntity *pEntity ) = 0;
- virtual void RemoveEntityImmediate( CBaseEntity *pEntity ) = 0;
- virtual IEntityFactoryDictionary *GetEntityFactoryDictionary( void ) = 0;
-
- virtual void SetMoveType( CBaseEntity *pEntity, int val ) = 0;
- virtual void SetMoveType( CBaseEntity *pEntity, int val, int moveCollide ) = 0;
- virtual void ResetSequence( CBaseAnimating *pEntity, int nSequence ) = 0;
- virtual void ResetSequenceInfo( CBaseAnimating *pEntity ) = 0;
-
- virtual void ClearMultiDamage( void ) = 0;
- virtual void ApplyMultiDamage( void ) = 0;
- virtual void AddMultiDamage( const CTakeDamageInfo &pTakeDamageInfo, CBaseEntity *pEntity ) = 0;
- virtual void RadiusDamage( const CTakeDamageInfo &info, const Vector &vecSrc, float flRadius, int iClassIgnore, CBaseEntity *pEntityIgnore ) = 0;
-
- virtual ITempEntsSystem *GetTempEntsSystem( void ) = 0;
-};
-
-typedef IServerTools IServerTools001;
-
-#define VSERVERTOOLS_INTERFACE_VERSION_1 "VSERVERTOOLS001"
-#define VSERVERTOOLS_INTERFACE_VERSION "VSERVERTOOLS002"
-#define VSERVERTOOLS_INTERFACE_VERSION_INT 2
-
-//-----------------------------------------------------------------------------
-// Purpose: Client side tool interace (right now just handles IClientRenderables).
-// In theory could support hooking into client side entities directly
-//-----------------------------------------------------------------------------
-class IServerChoreoTools : public IBaseInterface
-{
-public:
-
- // Iterates through ALL entities (separate list for client vs. server)
- virtual EntitySearchResult NextChoreoEntity( EntitySearchResult currentEnt ) = 0;
- EntitySearchResult FirstChoreoEntity() { return NextChoreoEntity( NULL ); }
- virtual const char *GetSceneFile( EntitySearchResult sr ) = 0;
-
- // For interactive editing
- virtual int GetEntIndex( EntitySearchResult sr ) = 0;
- virtual void ReloadSceneFromDisk( int entindex ) = 0;
-};
-
-#define VSERVERCHOREOTOOLS_INTERFACE_VERSION "VSERVERCHOREOTOOLS001"
-
-#endif // ITOOLENTITY_H
+//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +//============================================================================= + +#ifndef ITOOLENTITY_H +#define ITOOLENTITY_H +#ifdef _WIN32 +#pragma once +#endif + +#include "tier1/interface.h" +#include "tier1/utlvector.h" +#include "Color.h" +#include "basehandle.h" +#include "iclientrenderable.h" +#include "engine/ishadowmgr.h" + + +//----------------------------------------------------------------------------- +// Forward declarations +//----------------------------------------------------------------------------- +class IServerEntity; +class IClientEntity; +class IToolSystem; +class IClientRenderable; +class Vector; +class QAngle; +class CBaseEntity; +class CBaseAnimating; +class CTakeDamageInfo; +class ITempEntsSystem; +class IEntityFactoryDictionary; + + +//----------------------------------------------------------------------------- +// Safe accessor to an entity +//----------------------------------------------------------------------------- +typedef unsigned int HTOOLHANDLE; +enum +{ + HTOOLHANDLE_INVALID = 0 +}; + + +//----------------------------------------------------------------------------- +// If you change this, change the flags in IClientShadowMgr.h also +//----------------------------------------------------------------------------- +enum ClientShadowFlags_t +{ + SHADOW_FLAGS_USE_RENDER_TO_TEXTURE = (SHADOW_FLAGS_LAST_FLAG<<1), + SHADOW_FLAGS_ANIMATING_SOURCE = (SHADOW_FLAGS_LAST_FLAG<<2), + SHADOW_FLAGS_USE_DEPTH_TEXTURE = (SHADOW_FLAGS_LAST_FLAG<<3), + // Update this if you add flags + CLIENT_SHADOW_FLAGS_LAST_FLAG = SHADOW_FLAGS_USE_DEPTH_TEXTURE +}; + + +//----------------------------------------------------------------------------- +// Opaque pointer returned from Find* methods, don't store this, you need to +// Attach it to a tool entity or discard after searching +//----------------------------------------------------------------------------- +typedef void *EntitySearchResult; + + +//----------------------------------------------------------------------------- +// Purpose: Client side tool interace (right now just handles IClientRenderables). +// In theory could support hooking into client side entities directly +//----------------------------------------------------------------------------- +class IClientTools : public IBaseInterface +{ +public: + // Allocates or returns the handle to an entity previously found using the Find* APIs below + virtual HTOOLHANDLE AttachToEntity( EntitySearchResult entityToAttach ) = 0; + virtual void DetachFromEntity( EntitySearchResult entityToDetach ) = 0; + + // Checks whether a handle is still valid. + virtual bool IsValidHandle( HTOOLHANDLE handle ) = 0; + + // Iterates the list of entities which have been associated with tools + virtual int GetNumRecordables() = 0; + virtual HTOOLHANDLE GetRecordable( int index ) = 0; + + // Iterates through ALL entities (separate list for client vs. server) + virtual EntitySearchResult NextEntity( EntitySearchResult currentEnt ) = 0; + EntitySearchResult FirstEntity() { return NextEntity( NULL ); } + + // Use this to turn on/off the presence of an underlying game entity + virtual void SetEnabled( HTOOLHANDLE handle, bool enabled ) = 0; + // Use this to tell an entity to post "state" to all listening tools + virtual void SetRecording( HTOOLHANDLE handle, bool recording ) = 0; + // Some entities are marked with ShouldRecordInTools false, such as ui entities, etc. + virtual bool ShouldRecord( HTOOLHANDLE handle ) = 0; + + virtual HTOOLHANDLE GetToolHandleForEntityByIndex( int entindex ) = 0; + + virtual int GetModelIndex( HTOOLHANDLE handle ) = 0; + virtual const char* GetModelName ( HTOOLHANDLE handle ) = 0; + virtual const char* GetClassname ( HTOOLHANDLE handle ) = 0; + + virtual void AddClientRenderable( IClientRenderable *pRenderable, int renderGroup ) = 0; + virtual void RemoveClientRenderable( IClientRenderable *pRenderable ) = 0; + virtual void SetRenderGroup( IClientRenderable *pRenderable, int renderGroup ) = 0; + virtual void MarkClientRenderableDirty( IClientRenderable *pRenderable ) = 0; + virtual void UpdateProjectedTexture( ClientShadowHandle_t h, bool bForce ) = 0; + + virtual bool DrawSprite( IClientRenderable *pRenderable, float scale, float frame, int rendermode, int renderfx, const Color &color, float flProxyRadius, int *pVisHandle ) = 0; + + virtual EntitySearchResult GetLocalPlayer() = 0; + virtual bool GetLocalPlayerEyePosition( Vector& org, QAngle& ang, float &fov ) = 0; + + // See ClientShadowFlags_t above + virtual ClientShadowHandle_t CreateShadow( CBaseHandle handle, int nFlags ) = 0; + virtual void DestroyShadow( ClientShadowHandle_t h ) = 0; + + virtual ClientShadowHandle_t CreateFlashlight( const FlashlightState_t &lightState ) = 0; + virtual void DestroyFlashlight( ClientShadowHandle_t h ) = 0; + virtual void UpdateFlashlightState( ClientShadowHandle_t h, const FlashlightState_t &lightState ) = 0; + + virtual void AddToDirtyShadowList( ClientShadowHandle_t h, bool force = false ) = 0; + virtual void MarkRenderToTextureShadowDirty( ClientShadowHandle_t h ) = 0; + + // Global toggle for recording + virtual void EnableRecordingMode( bool bEnable ) = 0; + virtual bool IsInRecordingMode() const = 0; + + // Trigger a temp entity + virtual void TriggerTempEntity( KeyValues *pKeyValues ) = 0; + + // get owning weapon (for viewmodels) + virtual int GetOwningWeaponEntIndex( int entindex ) = 0; + virtual int GetEntIndex( EntitySearchResult entityToAttach ) = 0; + + virtual int FindGlobalFlexcontroller( char const *name ) = 0; + virtual char const *GetGlobalFlexControllerName( int idx ) = 0; + + // helper for traversing ownership hierarchy + virtual EntitySearchResult GetOwnerEntity( EntitySearchResult currentEnt ) = 0; + + // common and useful types to query for hierarchically + virtual bool IsPlayer ( EntitySearchResult currentEnt ) = 0; + virtual bool IsBaseCombatCharacter( EntitySearchResult currentEnt ) = 0; + virtual bool IsNPC ( EntitySearchResult currentEnt ) = 0; + + virtual Vector GetAbsOrigin( HTOOLHANDLE handle ) = 0; + virtual QAngle GetAbsAngles( HTOOLHANDLE handle ) = 0; + + // This reloads a portion or all of a particle definition file. + // It's up to the client to decide if it cares about this file + // Use a UtlBuffer to crack the data + virtual void ReloadParticleDefintions( const char *pFileName, const void *pBufData, int nLen ) = 0; + + // Sends a mesage from the tool to the client + virtual void PostToolMessage( KeyValues *pKeyValues ) = 0; + + // Indicates whether the client should render particle systems + virtual void EnableParticleSystems( bool bEnable ) = 0; + + // Is the game rendering in 3rd person mode? + virtual bool IsRenderingThirdPerson() const = 0; +}; + +#define VCLIENTTOOLS_INTERFACE_VERSION "VCLIENTTOOLS001" + + +//----------------------------------------------------------------------------- +// Purpose: Interface from engine to tools for manipulating entities +//----------------------------------------------------------------------------- +class IServerTools : public IBaseInterface +{ +public: + virtual IServerEntity *GetIServerEntity( IClientEntity *pClientEntity ) = 0; + virtual bool SnapPlayerToPosition( const Vector &org, const QAngle &ang, IClientEntity *pClientPlayer = NULL ) = 0; + virtual bool GetPlayerPosition( Vector &org, QAngle &ang, IClientEntity *pClientPlayer = NULL ) = 0; + virtual bool SetPlayerFOV( int fov, IClientEntity *pClientPlayer = NULL ) = 0; + virtual int GetPlayerFOV( IClientEntity *pClientPlayer = NULL ) = 0; + virtual bool IsInNoClipMode( IClientEntity *pClientPlayer = NULL ) = 0; + + // entity searching + virtual CBaseEntity *FirstEntity( void ) = 0; + virtual CBaseEntity *NextEntity( CBaseEntity *pEntity ) = 0; + virtual CBaseEntity *FindEntityByHammerID( int iHammerID ) = 0; + + // entity query + virtual bool GetKeyValue( CBaseEntity *pEntity, const char *szField, char *szValue, int iMaxLen ) = 0; + virtual bool SetKeyValue( CBaseEntity *pEntity, const char *szField, const char *szValue ) = 0; + virtual bool SetKeyValue( CBaseEntity *pEntity, const char *szField, float flValue ) = 0; + virtual bool SetKeyValue( CBaseEntity *pEntity, const char *szField, const Vector &vecValue ) = 0; + + // entity spawning + virtual CBaseEntity *CreateEntityByName( const char *szClassName ) = 0; + virtual void DispatchSpawn( CBaseEntity *pEntity ) = 0; + + // This reloads a portion or all of a particle definition file. + // It's up to the server to decide if it cares about this file + // Use a UtlBuffer to crack the data + virtual void ReloadParticleDefintions( const char *pFileName, const void *pBufData, int nLen ) = 0; + + virtual void AddOriginToPVS( const Vector &org ) = 0; + virtual void MoveEngineViewTo( const Vector &vPos, const QAngle &vAngles ) = 0; + + virtual bool DestroyEntityByHammerId( int iHammerID ) = 0; + virtual CBaseEntity *GetBaseEntityByEntIndex( int iEntIndex ) = 0; + virtual void RemoveEntity( CBaseEntity *pEntity ) = 0; + virtual void RemoveEntityImmediate( CBaseEntity *pEntity ) = 0; + virtual IEntityFactoryDictionary *GetEntityFactoryDictionary( void ) = 0; + + virtual void SetMoveType( CBaseEntity *pEntity, int val ) = 0; + virtual void SetMoveType( CBaseEntity *pEntity, int val, int moveCollide ) = 0; + virtual void ResetSequence( CBaseAnimating *pEntity, int nSequence ) = 0; + virtual void ResetSequenceInfo( CBaseAnimating *pEntity ) = 0; + + virtual void ClearMultiDamage( void ) = 0; + virtual void ApplyMultiDamage( void ) = 0; + virtual void AddMultiDamage( const CTakeDamageInfo &pTakeDamageInfo, CBaseEntity *pEntity ) = 0; + virtual void RadiusDamage( const CTakeDamageInfo &info, const Vector &vecSrc, float flRadius, int iClassIgnore, CBaseEntity *pEntityIgnore ) = 0; + + virtual ITempEntsSystem *GetTempEntsSystem( void ) = 0; +}; + +typedef IServerTools IServerTools001; + +#define VSERVERTOOLS_INTERFACE_VERSION_1 "VSERVERTOOLS001" +#define VSERVERTOOLS_INTERFACE_VERSION "VSERVERTOOLS002" +#define VSERVERTOOLS_INTERFACE_VERSION_INT 2 + +//----------------------------------------------------------------------------- +// Purpose: Client side tool interace (right now just handles IClientRenderables). +// In theory could support hooking into client side entities directly +//----------------------------------------------------------------------------- +class IServerChoreoTools : public IBaseInterface +{ +public: + + // Iterates through ALL entities (separate list for client vs. server) + virtual EntitySearchResult NextChoreoEntity( EntitySearchResult currentEnt ) = 0; + EntitySearchResult FirstChoreoEntity() { return NextChoreoEntity( NULL ); } + virtual const char *GetSceneFile( EntitySearchResult sr ) = 0; + + // For interactive editing + virtual int GetEntIndex( EntitySearchResult sr ) = 0; + virtual void ReloadSceneFromDisk( int entindex ) = 0; +}; + +#define VSERVERCHOREOTOOLS_INTERFACE_VERSION "VSERVERCHOREOTOOLS001" + +#endif // ITOOLENTITY_H |