//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============//
//
// Purpose: 
//
// $NoKeywords: $
//=============================================================================//

#ifndef HLW_PLAYERLOCALDATA_H
#define HLW_PLAYERLOCALDATA_H
#ifdef _WIN32
#pragma once
#endif


//#include "playernet_vars.h"
#include "networkvar.h"
#include "hl2wars/rts_shareddefs.h"

typedef CHandle<CAI_BaseNPC> CBaseNPCHandle;

//-----------------------------------------------------------------------------
// Purpose: RTS Player specific data ( sent only to local player, too )
//-----------------------------------------------------------------------------
class CHLWPlayerLocalData
{
public:
	// Save/restore
	DECLARE_SIMPLE_DATADESC();
	// Prediction data copying
	DECLARE_CLASS_NOBASE( CHLWPlayerLocalData );
	DECLARE_EMBEDDED_NETWORKVAR();

	CHLWPlayerLocalData();

public:
	CNetworkVar( int, m_iLevelRTS );
	CNetworkVar( int, m_iNumSelected );
	CNetworkArray( CBaseNPCHandle, m_hSelectedUnits, MAXSELECTED );
	CNetworkVar( int, m_iResources );
	CNetworkVar( int, m_iSelectionType );
	CNetworkHandle( CBaseEntity, m_hSelected );	// used for for selection different then npc, like buildings 
	CNetworkVar( int, m_iHighLightedUnit );
	CNetworkVar( int, m_iSelectedAbility );
	CNetworkVar( bool, m_bShowProgressQueue );
	CNetworkVar( int, m_nBehaviorButtonsState );	// wheter the buttons should be showed as on or off
};

EXTERN_SEND_TABLE(DT_HLWLocal);


#endif // HLW_PLAYERLOCALDATA_H
