mirror of
https://github.com/alliedmodders/hl2sdk.git
synced 2025-01-05 17:13:36 +08:00
44 lines
1.6 KiB
C++
44 lines
1.6 KiB
C++
#ifndef _INCLUDED_ASW_CLIENT_VEHICLE_H
|
|
#define _INCLUDED_ASW_CLIENT_VEHICLE_H
|
|
#ifdef _WIN32
|
|
#pragma once
|
|
#endif
|
|
|
|
class C_ASW_Marine;
|
|
class C_BasePlayer;
|
|
class CUserCmd;
|
|
class IMoveHelper;
|
|
class CMoveData;
|
|
|
|
#include "iasw_client_usable_entity.h"
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Interface for asw vehicles to implement on the clientside
|
|
//-----------------------------------------------------------------------------
|
|
abstract_class IASW_Client_Vehicle : public IASW_Client_Usable_Entity
|
|
{
|
|
public:
|
|
virtual int ASWGetNumPassengers() = 0;
|
|
virtual C_ASW_Marine* ASWGetDriver() = 0;
|
|
virtual C_ASW_Marine* ASWGetPassenger(int i) = 0;
|
|
virtual int GetDriveIconTexture() = 0;
|
|
virtual int GetRideIconTexture() = 0;
|
|
virtual const char* GetDriveIconText() = 0;
|
|
virtual const char* GetRideIconText() = 0;
|
|
virtual bool ValidUseTarget() = 0;
|
|
virtual void ASWStartEngine() = 0;
|
|
virtual void ASWStopEngine() = 0;
|
|
virtual void SetupMove( C_BasePlayer *player, CUserCmd *ucmd, IMoveHelper *pHelper, CMoveData *move ) = 0;
|
|
virtual void ProcessMovement( C_BasePlayer *pPlayer, CMoveData *pMoveData ) = 0;
|
|
|
|
// IASW_Client_Usable_Entity
|
|
virtual C_BaseEntity* GetEntity() = 0;
|
|
virtual bool IsUsable(C_BaseEntity *pUser) = 0;
|
|
virtual bool GetUseAction(ASWUseAction &action, C_ASW_Marine *pUser) = 0;
|
|
virtual void CustomPaint(int ix, int iy, int alpha, vgui::Panel *pUseIcon) = 0;
|
|
virtual bool ShouldPaintBoxAround() = 0;
|
|
virtual bool NeedsLOSCheck() { return false; }
|
|
};
|
|
|
|
#endif // _INCLUDED_ASW_CLIENT_VEHICLE_H
|