m_PlayerAnimState
Jump to navigation
Jump to search
The m_PlayerAnimState object maintains a player's animation state. It is shared code. There are two versions, CBasePlayerAnimState and CMultiPlayerAnimState, and two entry points:
Update( float eyeYaw, float eyePitch )- Manages ambient, looping animations (running/swimming, aiming, breathing) based on player velocity and look direction every frame. Typically called from:
CBasePlayer::PostThink()C_BasePlayer::UpdateClientSideAnimation()
DoAnimationEvent()- Begins a discrete, event-based animation (crouching, shooting, reloading) whenever called.
Implementation
You must define m_PlayerAnimState in both your client and server classes:
class CMyPlayerClass : public CBasePlayer
{
// ...
CMultiPlayerAnimState* m_PlayerAnimState;
// ...
}
Dispatching
In multiplayer you must dispatch animation events to all onlooking clients, a job which is not performed by CBasePlayer. See m_PlayerAnimState/TempEnt for the temporary entity used by Valve.