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
5 years ago
|
//========= 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
|