sqwarmed/sdk_src/game/server/swarm/asw_objective.h

76 lines
2.4 KiB
C++

#ifndef ASW_OBJECTIVEINFO_H
#define ASW_OBJECTIVEINFO_H
#ifdef _WIN32
#pragma once
#endif
#include "baseentity.h"
class CASW_Marine_Profile;
class CASW_Marine;
class CASW_Player;
class CASW_Alien;
class CASW_Egg;
class CASW_Alien_Goo;
// This class holds information about a particular mission objective
class CASW_Objective : public CBaseEntity
{
public:
DECLARE_CLASS( CASW_Objective, CBaseEntity );
DECLARE_SERVERCLASS();
DECLARE_DATADESC();
CASW_Objective();
virtual ~CASW_Objective();
virtual void AlienKilled(CBaseEntity* pAlien);
virtual void MarineKilled(CASW_Marine* pMarine);
virtual void EggKilled(CASW_Egg* pEgg);
virtual void GooKilled(CASW_Alien_Goo* pGoo);
virtual void MissionStarted(void);
virtual void MissionFail(void);
virtual void MissionSuccess(void);
virtual void SetComplete(bool bComplete);
virtual void SetFailed(bool bFailed);
virtual int ShouldTransmit( const CCheckTransmitInfo *pInfo );
virtual bool KeyValue( const char *szKeyName, const char *szValue );
virtual bool IsObjectiveComplete() { return m_bComplete; }
virtual bool IsObjectiveFailed() { return m_bFailed; }
virtual bool IsObjectiveOptional() { return m_bOptional; }
virtual bool IsObjectiveDummy() { return m_bDummy; }
virtual bool IsObjectiveHidden() { return !m_bVisible; }
virtual float GetObjectiveProgress() { return IsObjectiveComplete() ? 1.0f : 0.0f; }
CNetworkString( m_ObjectiveTitle, 255 );
CNetworkString( m_ObjectiveDescription1, 255 );
CNetworkString( m_ObjectiveDescription2, 255 );
CNetworkString( m_ObjectiveDescription3, 255 );
CNetworkString( m_ObjectiveDescription4, 255 );
CNetworkString( m_ObjectiveImage, 255 );
CNetworkString( m_ObjectiveMarkerName, 255 );
CNetworkString( m_ObjectiveInfoIcon1, 255 );
CNetworkString( m_ObjectiveInfoIcon2, 255 );
CNetworkString( m_ObjectiveInfoIcon3, 255 );
CNetworkString( m_ObjectiveInfoIcon4, 255 );
CNetworkString( m_ObjectiveInfoIcon5, 255 );
CNetworkString( m_ObjectiveIcon, 255 );
CNetworkString( m_MapMarkings, 255 );
CNetworkVar( bool, m_bComplete );
CNetworkVar( bool, m_bFailed );
CNetworkVar( bool, m_bOptional );
CNetworkVar( bool, m_bDummy );
CNetworkVar( bool, m_bVisible);
CNetworkVar( int, m_Priority );
COutputEvent m_OnObjectiveComplete;
void InputSetVisible( inputdata_t &inputdata );
};
#endif /* ASW_OBJECTIVEINFO_H */