76 lines
2.1 KiB
C++
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
|