Modified source engine (2017) developed by valve and leaked in 2020. Not for commercial purporses
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

51 lines
1.7 KiB

#ifndef _INCLUDED_ASW_VOTING_MISSIONS_H
#define _INCLUDED_ASW_VOTING_MISSIONS_H
#ifdef _WIN32
#pragma once
#endif
#include "asw_shareddefs.h"
#include "missionchooser/iasw_mission_chooser_source.h"
class CASW_Player;
// this class asks the server's local mission source to find maps, campaigns and saved games
// then puts them into networked strings to network down to an individual player
class CASW_Voting_Missions : public CBaseEntity
{
public:
DECLARE_CLASS( CASW_Voting_Missions, CBaseEntity );
DECLARE_SERVERCLASS();
DECLARE_DATADESC();
CASW_Voting_Missions();
virtual void Spawn();
void SetListType(CASW_Player *pPlayer, int iListType, int nOffset, int iNumSlots, int iCampaignIndex=-1);
void ScanThink();
int ShouldTransmit( const CCheckTransmitInfo *pInfo );
CHandle<CASW_Player> m_hPlayer; // the player this entity is networking map names to
CNetworkVar(int, m_iListType); // 0 = none, 1 = missions, 2 = campaigns, 3 = saved games
int m_nOffset;
int m_iNumSlots;
CNetworkVar(int, m_nCampaignIndex);
CNetworkVar(int, m_iNumMissions);
CNetworkVar(int, m_iNumOverviewMissions);
CNetworkVar(int, m_iNumCampaigns);
CNetworkVar(int, m_iNumSavedCampaigns);
CNetworkArray( string_t, m_iszMissionNames, ASW_SAVES_PER_PAGE );
CNetworkArray( string_t, m_iszCampaignNames, ASW_CAMPAIGNS_PER_PAGE );
CNetworkArray( string_t, m_iszSaveNames, ASW_SAVES_PER_PAGE );
CNetworkArray( string_t, m_iszSaveCampaignNames, ASW_SAVES_PER_PAGE );
CNetworkArray( string_t, m_iszSaveDateTimes, ASW_SAVES_PER_PAGE );
CNetworkArray( string_t, m_iszSavePlayerNames, ASW_SAVES_PER_PAGE );
CNetworkArray( int, m_iSaveMissionsComplete, ASW_SAVES_PER_PAGE );
};
#endif /* _INCLUDED_ASW_WEAPON_RIFLE_H */