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.
79 lines
1.8 KiB
79 lines
1.8 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
// $NoKeywords: $ |
|
//=============================================================================// |
|
#if !defined( C_WORLD_H ) |
|
#define C_WORLD_H |
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
#include "c_baseentity.h" |
|
|
|
#if defined( CLIENT_DLL ) |
|
#define CWorld C_World |
|
#endif |
|
|
|
class C_World : public C_BaseEntity |
|
{ |
|
public: |
|
DECLARE_CLASS( C_World, C_BaseEntity ); |
|
DECLARE_CLIENTCLASS(); |
|
|
|
C_World( void ); |
|
~C_World( void ); |
|
|
|
// Override the factory create/delete functions since the world is a singleton. |
|
virtual bool Init( int entnum, int iSerialNum ); |
|
virtual void Release(); |
|
|
|
virtual void Precache(); |
|
virtual void Spawn(); |
|
|
|
// Don't worry about adding the world to the collision list; it's already there |
|
virtual CollideType_t GetCollideType( void ) { return ENTITY_SHOULD_NOT_COLLIDE; } |
|
|
|
virtual void OnDataChanged( DataUpdateType_t updateType ); |
|
virtual void PreDataUpdate( DataUpdateType_t updateType ); |
|
|
|
float GetWaveHeight() const; |
|
const char *GetDetailSpriteMaterial() const; |
|
|
|
public: |
|
enum |
|
{ |
|
MAX_DETAIL_SPRITE_MATERIAL_NAME_LENGTH = 256, |
|
}; |
|
|
|
float m_flWaveHeight; |
|
Vector m_WorldMins; |
|
Vector m_WorldMaxs; |
|
bool m_bStartDark; |
|
float m_flMaxOccludeeArea; |
|
float m_flMinOccluderArea; |
|
float m_flMinPropScreenSpaceWidth; |
|
float m_flMaxPropScreenSpaceWidth; |
|
bool m_bColdWorld; |
|
|
|
private: |
|
void RegisterSharedActivities( void ); |
|
char m_iszDetailSpriteMaterial[MAX_DETAIL_SPRITE_MATERIAL_NAME_LENGTH]; |
|
}; |
|
|
|
inline float C_World::GetWaveHeight() const |
|
{ |
|
return m_flWaveHeight; |
|
} |
|
|
|
inline const char *C_World::GetDetailSpriteMaterial() const |
|
{ |
|
return m_iszDetailSpriteMaterial; |
|
} |
|
|
|
void ClientWorldFactoryInit(); |
|
void ClientWorldFactoryShutdown(); |
|
C_World* GetClientWorldEntity(); |
|
|
|
#endif // C_WORLD_H
|