#ifndef C_BASEANIMATINGOVERLAY_H #define C_BASEANIMATINGOVERLAY_H #pragma once #include "c_baseanimating.h" #define CBaseAnimatingOverlay C_BaseAnimatingOverlay class C_BaseAnimatingOverlay : public C_BaseAnimating { public: DECLARE_CLASS(C_BaseAnimatingOverlay, C_BaseAnimating); DECLARE_CLIENTCLASS(); DECLARE_PREDICTABLE(); DECLARE_INTERPOLATION(); C_BaseAnimatingOverlay(); virtual CStudioHdr* OnNewModel(); C_AnimationLayer* GetAnimOverlay(int i); void SetNumAnimOverlays(int num); int GetNumAnimOverlays() const; virtual void GetRenderBounds(Vector& theMins, Vector& theMaxs); void CheckForLayerChanges(CStudioHdr* hdr, float currentTime); virtual void AccumulateLayers(IBoneSetup& boneSetup, Vector pos[], Quaternion q[], float currentTime); virtual void DoAnimationEvents(CStudioHdr* pStudioHdr); enum { MAX_OVERLAYS = 15, }; CUtlVector < C_AnimationLayer > m_AnimOverlay; CUtlVector < CInterpolatedVar< C_AnimationLayer > > m_iv_AnimOverlay; float m_flOverlayPrevEventCycle[MAX_OVERLAYS]; private: C_BaseAnimatingOverlay(const C_BaseAnimatingOverlay&); }; EXTERN_RECV_TABLE(DT_BaseAnimatingOverlay); #endif