1
0
mirror of https://github.com/alliedmodders/hl2sdk.git synced 2025-01-07 09:43:40 +08:00
hl2sdk/game/client/swarm/asw_briefing.h
2010-07-22 01:46:14 -05:00

83 lines
3.1 KiB
C++

#ifndef _INCLUDED_ASW_BRIEFING_H
#define _INCLUDED_ASW_BRIEFING_H
#ifdef _WIN32
#pragma once
#endif
#include "ibriefing.h"
class C_ASW_Player;
class C_ASW_Marine_Resource;
struct LobbySlotMapping_t
{
int m_nPlayerEntIndex;
CHandle<C_ASW_Player> m_hPlayer;
CHandle<C_ASW_Marine_Resource> m_hMR;
int m_nMarineResourceIndex;
};
class CASW_Briefing : public IBriefing
{
public:
CASW_Briefing();
~CASW_Briefing();
virtual const char* GetLeaderName();
virtual bool IsLocalPlayerLeader();
virtual void ToggleLocalPlayerReady();
virtual bool CheckMissionRequirements(); // do we have all the required classes/equips to start the mission?
virtual bool AreOtherPlayersReady(); // is everyone except the leader ready?
virtual void StartMission();
virtual bool IsLobbySlotOccupied( int nLobbySlot );
virtual bool IsLobbySlotLocal( int nLobbySlot );
virtual bool IsLobbySlotBot( int nLobbySlot );
virtual wchar_t* GetMarineOrPlayerName( int nLobbySlot );
virtual wchar_t* GetMarineName( int nLobbySlot ); // always returns the marine's profile name
virtual const char* GetPlayerNameForMarineProfile( int nProfileIndex );
virtual int GetCommanderLevel( int nLobbySlot );
virtual int GetCommanderXP( int nLobbySlot );
virtual int GetCommanderPromotion( int nLobbySlot );
#if !defined(NO_STEAM)
CSteamID GetCommanderSteamID( int nLobbySlot );
#endif
virtual ASW_Marine_Class GetMarineClass( int nLobbySlot );
virtual CASW_Marine_Profile *GetMarineProfile( int nLobbySlot );
virtual CASW_Marine_Profile *GetMarineProfileByProfileIndex( int nProfileIndex );
virtual int GetProfileSelectedWeapon( int nProfileIndex, int nWeaponSlot );
virtual int GetMarineSelectedWeapon( int nLobbySlot, int nWeaponSlot );
virtual const char* GetMarineWeaponClass( int nLobbySlot, int nWeaponSlot );
virtual int GetCommanderReady( int nLobbySlot );
virtual bool IsLeader( int nLobbySlot );
virtual int GetMarineSkillPoints( int nLobbySlot, int nSkillSlot );
virtual int GetProfileSkillPoints( int nProfileIndex, int nSkillSlot );
virtual bool IsWeaponUnlocked( const char *szWeaponClass );
virtual bool IsProfileSelectedBySomeoneElse( int nProfileIndex );
virtual bool IsProfileSelected( int nProfileIndex );
virtual int GetMaxPlayers();
virtual bool IsOfflineGame();
virtual bool IsCampaignGame();
virtual bool UsingFixedSkillPoints();
virtual void SetChangingWeaponSlot( int nWeaponSlot );
virtual int GetChangingWeaponSlot( int nLobbySlot );
virtual bool IsCommanderSpeaking( int nLobbySlot );
virtual void SelectMarine( int nOrder, int nProfileIndex, int nPreferredLobbySlot );
virtual void SelectWeapon( int nProfileIndex, int nInventorySlot, int nEquipIndex );
virtual void AutoSelectFullSquadForSingleplayer( int nFirstSelectedProfileIndex );
virtual void ResetLastChatterTime() { m_flLastSelectionChatterTime = 0.0f; }
int LobbySlotToMarineResourceIndex( int nLobbySlot );
void UpdateLobbySlotMapping();
int m_nLastLobbySlotMappingFrame;
LobbySlotMapping_t m_LobbySlotMapping[ NUM_BRIEFING_LOBBY_SLOTS ];
float m_flLastSelectionChatterTime;
};
IBriefing *Briefing();
#endif // _INCLUDED_ASW_BRIEFING_H