This repository has been archived on 2024-06-13. You can view files and clone it, but cannot push or open issues or pull requests.
2020-08-04 13:13:01 -04:00

76 lines
2.1 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose: The worldspawn entity. This spawns first when each level begins.
//
// $NoKeywords: $
//=============================================================================//
#ifndef WORLD_H
#define WORLD_H
#ifdef _WIN32
#pragma once
#endif
class CWorld : public CBaseEntity {
public:
DECLARE_CLASS(CWorld, CBaseEntity);
CWorld();
~CWorld();
DECLARE_SERVERCLASS();
virtual int RequiredEdictIndex(void) {
return 0;
} // the world always needs to be in slot 0
static void RegisterSharedActivities(void);
static void RegisterSharedEvents(void);
virtual void Spawn(void);
virtual void Precache(void);
virtual bool KeyValue(const char *szKeyName, const char *szValue);
virtual void DecalTrace(trace_t *pTrace, char const *decalName);
virtual void VPhysicsCollision(int index, gamevcollisionevent_t *pEvent) {}
virtual void VPhysicsFriction(IPhysicsObject *pObject, float energy,
int surfaceProps, int surfacePropsHit) {}
inline void GetWorldBounds(Vector &vecMins, Vector &vecMaxs) {
VectorCopy(m_WorldMins, vecMins);
VectorCopy(m_WorldMaxs, vecMaxs);
}
inline float GetWaveHeight() const { return (float)m_flWaveHeight; }
bool GetDisplayTitle() const;
bool GetStartDark() const;
void SetDisplayTitle(bool display);
void SetStartDark(bool startdark);
bool IsColdWorld(void);
private:
DECLARE_DATADESC();
string_t m_iszChapterTitle;
CNetworkVar(float, m_flWaveHeight);
CNetworkVector(m_WorldMins);
CNetworkVector(m_WorldMaxs);
CNetworkVar(float, m_flMaxOccludeeArea);
CNetworkVar(float, m_flMinOccluderArea);
CNetworkVar(float, m_flMinPropScreenSpaceWidth);
CNetworkVar(float, m_flMaxPropScreenSpaceWidth);
CNetworkVar(string_t, m_iszDetailSpriteMaterial);
// start flags
CNetworkVar(bool, m_bStartDark);
CNetworkVar(bool, m_bColdWorld);
bool m_bDisplayTitle;
};
CWorld *GetWorldEntity();
extern const char *GetDefaultLightstyleString(int styleIndex);
#endif // WORLD_H