mirror of
https://github.com/celisej567/source-engine.git
synced 2026-01-05 22:09:59 +03:00
1
This commit is contained in:
64
game/server/player_command.h
Normal file
64
game/server/player_command.h
Normal file
@@ -0,0 +1,64 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef PLAYER_COMMAND_H
|
||||
#define PLAYER_COMMAND_H
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "edict.h"
|
||||
#include "usercmd.h"
|
||||
|
||||
|
||||
class IMoveHelper;
|
||||
class CMoveData;
|
||||
class CBasePlayer;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Server side player movement
|
||||
//-----------------------------------------------------------------------------
|
||||
class CPlayerMove
|
||||
{
|
||||
public:
|
||||
DECLARE_CLASS_NOBASE( CPlayerMove );
|
||||
|
||||
// Construction/destruction
|
||||
CPlayerMove( void );
|
||||
virtual ~CPlayerMove( void ) {}
|
||||
|
||||
// Public interfaces:
|
||||
// Run a movement command from the player
|
||||
void RunCommand ( CBasePlayer *player, CUserCmd *ucmd, IMoveHelper *moveHelper );
|
||||
|
||||
protected:
|
||||
// Prepare for running movement
|
||||
virtual void SetupMove( CBasePlayer *player, CUserCmd *ucmd, IMoveHelper *pHelper, CMoveData *move );
|
||||
|
||||
// Finish movement
|
||||
virtual void FinishMove( CBasePlayer *player, CUserCmd *ucmd, CMoveData *move );
|
||||
|
||||
// Called before and after any movement processing
|
||||
virtual void StartCommand( CBasePlayer *player, CUserCmd *cmd );
|
||||
void FinishCommand( CBasePlayer *player );
|
||||
|
||||
// Helper to determine if the user is standing on ground
|
||||
void CheckMovingGround( CBasePlayer *player, double frametime );
|
||||
|
||||
// Helpers to call pre and post think for player, and to call think if a think function is set
|
||||
void RunPreThink( CBasePlayer *player );
|
||||
void RunThink (CBasePlayer *ent, double frametime );
|
||||
void RunPostThink( CBasePlayer *player );
|
||||
};
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Singleton accessor
|
||||
//-----------------------------------------------------------------------------
|
||||
CPlayerMove *PlayerMove();
|
||||
|
||||
|
||||
#endif // PLAYER_COMMAND_H
|
||||
Reference in New Issue
Block a user