blob: 113f21264e3bdf6f525a33eee6c5762defa231c4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#pragma once
#include "Valve/dt_recv.h"
//dont leave things out of namespaces
namespace hooks
{
class c_netvar_proxy {
public:
c_netvar_proxy( RecvProp* target_property, RecvVarProxyFn new_proxy ) {
m_target = target_property;
m_original = target_property->m_ProxyFn;
m_target->m_ProxyFn = new_proxy;
}
c_netvar_proxy( ) = default;
void init( RecvProp* target, RecvVarProxyFn new_proxy ) {
m_target = target;
m_original = target->m_ProxyFn;
m_target->m_ProxyFn = new_proxy;
}
~c_netvar_proxy( ) {
if( !m_target ) return;
m_target->m_ProxyFn = m_original;
}
RecvVarProxyFn get_old_function( ) const {
return m_original;
}
private:
RecvProp* m_target;
RecvVarProxyFn m_original;
};
}
|