mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-09-01 23:19:18 +00:00
upload "kind" alien swarm
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
#ifndef TILEGEN_ROOM_H
|
||||
#define TILEGEN_ROOM_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "Utlvector.h"
|
||||
#include "ChunkFile.h"
|
||||
#include "missionchooser/iasw_random_missions.h"
|
||||
|
||||
class CRoomTemplate;
|
||||
class CMapLayout;
|
||||
class CPlacedRoomTemplatePanel;
|
||||
|
||||
namespace vgui
|
||||
{
|
||||
class Panel;
|
||||
};
|
||||
|
||||
// an instance of a CRoomTemplate, i.e. an actual stamped down room on the map
|
||||
class CRoom : public IASW_Room_Details
|
||||
{
|
||||
public:
|
||||
CRoom();
|
||||
CRoom( CMapLayout *pMapLayout, const CRoomTemplate* pRoomTemplate, int TileX, int TileY );
|
||||
virtual ~CRoom();
|
||||
|
||||
// tile position we're in
|
||||
int m_iPosX;
|
||||
int m_iPosY;
|
||||
|
||||
const CRoomTemplate *m_pRoomTemplate;
|
||||
|
||||
// used by the layout generator
|
||||
int m_iNumChildren;
|
||||
|
||||
// A number indicating the placement order index of this room in the map layout, or -1 if not applicable.
|
||||
int m_nPlacementIndex;
|
||||
|
||||
// todo: lighting scale
|
||||
// todo: spawner scaling, etc., etc.
|
||||
|
||||
// io
|
||||
static bool LoadRoomFromKeyValues( KeyValues *pRoomKeys, CMapLayout *pMapLayout );
|
||||
KeyValues *GetKeyValuesCopy();
|
||||
bool SaveRoomToFile(CChunkFile *pFile);
|
||||
|
||||
// not saved
|
||||
void SetHasAlienEncounter( bool bEncounter ) { m_bHasAlienEncounter = bEncounter; }
|
||||
bool m_bHasAlienEncounter;
|
||||
|
||||
// UI specific
|
||||
vgui::Panel* m_pPlacedRoomPanel;
|
||||
|
||||
CMapLayout *m_pMapLayout;
|
||||
|
||||
// =================================
|
||||
// IASW_Room_Details interface
|
||||
// =================================
|
||||
|
||||
// tags
|
||||
virtual bool HasTag( const char *szTag );
|
||||
virtual int GetNumTags();
|
||||
virtual const char* GetTag( int i );
|
||||
virtual int GetSpawnWeight();
|
||||
virtual int GetNumExits();
|
||||
virtual IASW_Room_Details *GetAdjacentRoom( int nExit );
|
||||
virtual bool GetThumbnailName( char* szOut, int iBufferSize );
|
||||
virtual bool GetFullRoomName( char* szOut, int iBufferSize );
|
||||
virtual void GetSoundscape( char* szOut, int iBufferSize );
|
||||
virtual void GetTheme( char* szOut, int iBufferSize );
|
||||
virtual const Vector& GetAmbientLight();
|
||||
virtual bool HasAlienEncounter() { return m_bHasAlienEncounter; }
|
||||
virtual int GetTileType();
|
||||
virtual const char* GetTileTypeName( int nType );
|
||||
virtual int GetRoomIndex() const { return m_iNumChildren; }
|
||||
|
||||
// location
|
||||
virtual void GetWorldBounds( Vector *vecWorldMins, Vector *vecWorldMaxs );
|
||||
virtual const Vector& WorldSpaceCenter();
|
||||
};
|
||||
|
||||
#endif TILEGEN_ROOM_H
|
||||
Reference in New Issue
Block a user