128 lines
2.9 KiB
C++
128 lines
2.9 KiB
C++
#include "player.h"
|
|
#include "cglm/cglm.h"
|
|
#include "assetmgr.h"
|
|
#include "game.h"
|
|
|
|
void C_MOBAPlayer::Precache()
|
|
{
|
|
}
|
|
|
|
|
|
void C_MOBAPlayer::Spawn()
|
|
{
|
|
BaseClass::Spawn();
|
|
SetThink(Think);
|
|
SetScale(1);
|
|
vCameraPos = {0,0,-20};
|
|
};
|
|
|
|
void C_MOBAPlayer::Think( float fDelta )
|
|
{
|
|
|
|
C_MOBAPlayer *pEntity = (C_MOBAPlayer*)UTIL_GetLocalPlayer();
|
|
|
|
|
|
m_vMovementVector.z = m_bIsForward - m_bIsBack;
|
|
m_vMovementVector.x = m_bIsLeft - m_bIsRight;
|
|
|
|
if (pEntity == this)
|
|
{
|
|
g_pWorldRenderer->SetCameraPosition(vCameraPos);
|
|
}
|
|
BaseClass::Think(fDelta);
|
|
};
|
|
|
|
LINK_ENTITY_TO_CLASS(player, C_MOBAPlayer)
|
|
|
|
BEGIN_DATADESC(C_MOBAPlayer)
|
|
END_DATADESC()
|
|
|
|
IMPLEMENT_RECV_DT(C_MOBAPlayer)
|
|
END_RECV_DT()
|
|
|
|
IMPLEMENT_SEND_DT(C_MOBAPlayer)
|
|
NetPropFloat3(m_vMovementVector),
|
|
END_SEND_DT()
|
|
|
|
|
|
static void IN_ForwardDown( int c, char **v ) {
|
|
C_BaseEntity *pPlayer = UTIL_GetLocalPlayer();
|
|
if (!pPlayer)
|
|
return;
|
|
if (!dynamic_cast<C_MOBAPlayer*>(pPlayer))
|
|
return;
|
|
((C_MOBAPlayer*)pPlayer)->m_bIsForward = true;
|
|
}
|
|
static ConCommand startforward("+forward", IN_ForwardDown);
|
|
|
|
static void IN_ForwardUp( int c, char **v ) {
|
|
C_BaseEntity *pPlayer = UTIL_GetLocalPlayer();
|
|
if (!pPlayer)
|
|
return;
|
|
if (!dynamic_cast<C_MOBAPlayer*>(pPlayer))
|
|
return;
|
|
((C_MOBAPlayer*)pPlayer)->m_bIsForward = false;
|
|
}
|
|
static ConCommand endforward("-forward", IN_ForwardUp);
|
|
|
|
static void IN_BackDown( int c, char **v ) {
|
|
C_BaseEntity *pPlayer = UTIL_GetLocalPlayer();
|
|
if (!pPlayer)
|
|
return;
|
|
if (!dynamic_cast<C_MOBAPlayer*>(pPlayer))
|
|
return;
|
|
((C_MOBAPlayer*)pPlayer)->m_bIsBack = true;
|
|
}
|
|
static ConCommand startback("+back", IN_BackDown);
|
|
|
|
static void IN_BackUp( int c, char **v ) {
|
|
C_BaseEntity *pPlayer = UTIL_GetLocalPlayer();
|
|
if (!pPlayer)
|
|
return;
|
|
if (!dynamic_cast<C_MOBAPlayer*>(pPlayer))
|
|
return;
|
|
((C_MOBAPlayer*)pPlayer)->m_bIsBack = false;
|
|
}
|
|
static ConCommand endback("-back", IN_BackUp);
|
|
|
|
static void IN_RightDown( int c, char **v ) {
|
|
C_BaseEntity *pPlayer = UTIL_GetLocalPlayer();
|
|
if (!pPlayer)
|
|
return;
|
|
if (!dynamic_cast<C_MOBAPlayer*>(pPlayer))
|
|
return;
|
|
((C_MOBAPlayer*)pPlayer)->m_bIsRight = true;
|
|
}
|
|
static ConCommand startright("+right", IN_RightDown);
|
|
|
|
static void IN_RightUp( int c, char **v ) {
|
|
C_BaseEntity *pPlayer = UTIL_GetLocalPlayer();
|
|
if (!pPlayer)
|
|
return;
|
|
if (!dynamic_cast<C_MOBAPlayer*>(pPlayer))
|
|
return;
|
|
((C_MOBAPlayer*)pPlayer)->m_bIsRight = false;
|
|
}
|
|
static ConCommand endright("-right", IN_RightUp);
|
|
|
|
|
|
static void IN_LeftDown( int c, char **v ) {
|
|
C_BaseEntity *pPlayer = UTIL_GetLocalPlayer();
|
|
if (!pPlayer)
|
|
return;
|
|
if (!dynamic_cast<C_MOBAPlayer*>(pPlayer))
|
|
return;
|
|
((C_MOBAPlayer*)pPlayer)->m_bIsLeft = true;
|
|
}
|
|
static ConCommand startleft("+left", IN_LeftDown);
|
|
|
|
static void IN_LeftUp( int c, char **v ) {
|
|
C_BaseEntity *pPlayer = UTIL_GetLocalPlayer();
|
|
if (!pPlayer)
|
|
return;
|
|
if (!dynamic_cast<C_MOBAPlayer*>(pPlayer))
|
|
return;
|
|
((C_MOBAPlayer*)pPlayer)->m_bIsLeft = false;
|
|
}
|
|
static ConCommand endleft("-left", IN_LeftUp);
|