1
This commit is contained in:
90
game/server/tf2/orders.h
Normal file
90
game/server/tf2/orders.h
Normal file
@ -0,0 +1,90 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose: Order handling
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef ORDERS_H
|
||||
#define ORDERS_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
|
||||
class CTFTeam;
|
||||
class CBaseTFPlayer;
|
||||
|
||||
|
||||
#include "order_events.h"
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Datatable container class for orders
|
||||
//-----------------------------------------------------------------------------
|
||||
class COrder : public CBaseEntity
|
||||
{
|
||||
DECLARE_CLASS( COrder, CBaseEntity );
|
||||
public:
|
||||
DECLARE_SERVERCLASS();
|
||||
|
||||
COrder();
|
||||
virtual void UpdateOnRemove( void );
|
||||
|
||||
virtual int UpdateTransmitState() { return SetTransmitState( FL_EDICT_FULLCHECK ); }
|
||||
virtual int ShouldTransmit( const CCheckTransmitInfo *pInfo );
|
||||
|
||||
// This is called when removing the order.
|
||||
void DetachFromPlayer();
|
||||
|
||||
|
||||
// Overridables.
|
||||
public:
|
||||
|
||||
// Purpose: for updates on the order. Return true if the order should be removed.
|
||||
virtual bool Update( void );
|
||||
virtual bool UpdateOnEvent( COrderEvent_Base *pEvent );
|
||||
|
||||
|
||||
|
||||
public:
|
||||
|
||||
CBaseTFPlayer *GetOwner( void );
|
||||
CBaseEntity *GetTargetEntity( void );
|
||||
int GetType( void );
|
||||
|
||||
void SetOwner( CBaseTFPlayer *pPlayer );
|
||||
void SetType( int iOrderType );
|
||||
void SetTarget( CBaseEntity *pTarget );
|
||||
void SetDistance( float flDistance );
|
||||
void SetLifetime( float flLifetime );
|
||||
|
||||
public:
|
||||
// Sent via datatable
|
||||
CNetworkVar( int, m_iOrderType );
|
||||
float m_flDistanceToRemove;
|
||||
|
||||
// When the order goes away.
|
||||
double m_flDieTime;
|
||||
|
||||
// Personal order owner
|
||||
CHandle< CBaseTFPlayer > m_hOwningPlayer;
|
||||
EHANDLE m_hTarget;
|
||||
CNetworkVar( int, m_iTargetEntIndex );
|
||||
};
|
||||
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// ORDER CREATION DATA
|
||||
//-----------------------------------------------------------------------------
|
||||
// Time between personal order updates
|
||||
#define PERSONAL_ORDER_UPDATE_TIME 2.0
|
||||
|
||||
// KILL orders
|
||||
#define ORDER_KILL_ENEMY_DISTANCE 2048 // Distance the enemy must be within for this player to receive this order
|
||||
|
||||
// HEAL orders
|
||||
#define ORDER_HEAL_FRIENDLY_DISTANCE 2048 // Distance the friendly must be within this player to receive this order
|
||||
|
||||
#endif // ORDERS_H
|
Reference in New Issue
Block a user