aboutsummaryrefslogtreecommitdiff
path: root/mp/src/game/client/animatedoffsettextureproxy.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'mp/src/game/client/animatedoffsettextureproxy.cpp')
-rw-r--r--mp/src/game/client/animatedoffsettextureproxy.cpp56
1 files changed, 56 insertions, 0 deletions
diff --git a/mp/src/game/client/animatedoffsettextureproxy.cpp b/mp/src/game/client/animatedoffsettextureproxy.cpp
new file mode 100644
index 00000000..2d3ea228
--- /dev/null
+++ b/mp/src/game/client/animatedoffsettextureproxy.cpp
@@ -0,0 +1,56 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+//=============================================================================//
+
+#include "cbase.h"
+#include "baseanimatedtextureproxy.h"
+
+// memdbgon must be the last include file in a .cpp file!!!
+#include "tier0/memdbgon.h"
+
+class CAnimatedOffsetTextureProxy : public CBaseAnimatedTextureProxy
+{
+public:
+ CAnimatedOffsetTextureProxy() : m_flFrameOffset( 0.0f ) {}
+
+ virtual ~CAnimatedOffsetTextureProxy() {}
+
+ virtual float GetAnimationStartTime( void* pBaseEntity );
+ virtual void OnBind( void *pBaseEntity );
+
+protected:
+
+ float m_flFrameOffset;
+};
+
+EXPOSE_INTERFACE( CAnimatedOffsetTextureProxy, IMaterialProxy, "AnimatedOffsetTexture" IMATERIAL_PROXY_INTERFACE_VERSION );
+
+//-----------------------------------------------------------------------------
+// Purpose:
+// Input : pArg -
+// Output : float
+//-----------------------------------------------------------------------------
+float CAnimatedOffsetTextureProxy::GetAnimationStartTime( void* pArg )
+{
+ return m_flFrameOffset;
+}
+
+//-----------------------------------------------------------------------------
+// Purpose:
+// Input : *pBaseEntity -
+//-----------------------------------------------------------------------------
+void CAnimatedOffsetTextureProxy::OnBind( void *pBaseEntity )
+{
+ C_BaseEntity* pEntity = (C_BaseEntity*)pBaseEntity;
+
+ if ( pEntity )
+ {
+ m_flFrameOffset = pEntity->GetTextureAnimationStartTime();
+ }
+
+ // Call into the base class
+ CBaseAnimatedTextureProxy::OnBind( pBaseEntity );
+}
+