Files
HL2Overcharged/game/client/c_world.h
2025-05-21 21:09:22 +03:00

79 lines
1.7 KiB
C++

//========= 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