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

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

#include "hl2wars/rts_parsedata.h"

class CAI_BaseNPC;
class CRTSPointOrder;
class CBaseBuildingModel;

// -- prototypes follow here
// an info text can be used for story telling ingame with the env_rts_infomessage
void UTIL_HudInfoText( CBasePlayer *pPlayer, const char *pMessageSource, const char *pMessage, float expire_time );
void UTIL_HudInfoText( const char *pMessageSource, const char *pMessage, int team_id, float expire_time );

// this should be used to show messages like "Point captured, blabla failed, enemy spotted"
void UTIL_HudStrategyText( CBasePlayer *pPlayer, const char *pMessage, int type );

// -- order utils
/*void UTIL_SetNewOrder( CAI_BaseNPC *pNPC, CRTSPointOrder *pOrder );
void UTIL_SetNewOrderType( int type, CRTSPointOrder *pOrder );*/
bool UTIL_FindSpotForOrderInRadius( Vector *pResult, const Vector &vStartPos, float radius );
bool UTIL_CheckForOrderInSphere( const Vector &vOrigin, float radius );

// ----------------
CBaseBuildingModel *UTIL_PlaceBuilding( char *building, Vector position, QAngle angle, int teamid, bool constructed);
CBaseBuildingModel *UTIL_PlaceBuilding( ABILITY_FILE_INFO_HANDLE handle, Vector position, QAngle angle, int teamid, bool constructed );

#endif // UTILHL2WARS_H