//========= Copyright Valve Corporation, All rights reserved. ============// // // Purpose: // // $NoKeywords: $ //=============================================================================// #ifndef ICHOREOEVENTCALLBACK_H #define ICHOREOEVENTCALLBACK_H #ifdef _WIN32 #pragma once #endif class CChoreoEvent; class CChoreoChannel; class CChoreoActor; class CChoreoScene; //----------------------------------------------------------------------------- // Purpose: During choreo playback, events are triggered by calling back from // the scene through this interface. //----------------------------------------------------------------------------- abstract_class IChoreoEventCallback { public: virtual void StartEvent( float currenttime, CChoreoScene *scene, CChoreoEvent *event ) = 0; // Only called for events with HasEndTime() == true virtual void EndEvent( float currenttime, CChoreoScene *scene, CChoreoEvent *event ) = 0; // Called for events which have been started but aren't done yet virtual void ProcessEvent( float currenttime, CChoreoScene *scene, CChoreoEvent *event ) = 0; // Called for events that are part of a pause condition virtual bool CheckEvent( float currenttime, CChoreoScene *scene, CChoreoEvent *event ) = 0; }; #endif // ICHOREOEVENTCALLBACK_H