#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); }; void C_MOBAPlayer::Think( float fDelta ) { C_MOBAPlayer *pPlayerEntity = (C_MOBAPlayer*)UTIL_GetLocalPlayer(); m_vMovementVector.z = m_bIsBack - m_bIsForward; m_vMovementVector.x = m_bIsRight - m_bIsLeft; if (pPlayerEntity == this) { Vector vCameraPos; vCameraPos = GetAbsOrigin(); vCameraPos.z = 20; vCameraPos.y+=3; 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(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(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(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(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(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(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(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(pPlayer)) return; ((C_MOBAPlayer*)pPlayer)->m_bIsLeft = false; } static ConCommand endleft("-left", IN_LeftUp);