Counter Strike : Global Offensive Source Code
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.
|
|
//============ Copyright (c) Valve Corporation, All rights reserved. ============
//
//
//
//===============================================================================
#ifndef IASW_SPAWN_SELECTION_H
#define IASW_SPAWN_SELECTION_H
#ifdef _WIN32
#pragma once
#endif
#include "tier1/strtools.h"
#include "mathlib/vector.h"
class IASWSpawnDefinitionEntry;
// NOTE: Text version of these enum types is in asw_spawn_selection.cpp!
enum { ASW_NPC_SPAWN_TYPE_INVALID = -1, ASW_NPC_SPAWN_TYPE_ANY = 0, ASW_NPC_SPAWN_TYPE_FIXED = 1, ASW_NPC_SPAWN_TYPE_WANDERER, ASW_NPC_SPAWN_TYPE_SWARM, ASW_NPC_SPAWN_TYPE_BOSS, ASW_NPC_SPAWN_TYPE_PROP, ASW_NPC_SPAWN_TYPE_ARENAWAVE, ASW_NPC_SPAWN_TYPE_CONSOLE, ASW_NPC_SPAWN_TYPE_SPAWNER, ASW_NPC_SPAWN_TYPE_BIFURCATE, ASW_NPC_SPAWN_TYPE_SPECIAL1, ASW_NPC_SPAWN_TYPE_SPECIAL2,
// Has to be last.
ASW_NPC_SPAWN_TYPE_COUNT };
class IASWSpawnDefinitionEntry { public:
virtual const char *GetNPCClassname() = 0; virtual void GetSpawnCountRange( int &nMin, int &nMax ) = 0; virtual float GetEliteNPCChance( void ) = 0; virtual bool UseSpawners() = 0; };
class IASWSpawnDefinition { public:
virtual int GetEntryCount() = 0; virtual IASWSpawnDefinitionEntry *GetEntry( int nEntry ) = 0; };
class IASWSpawnSelection { public:
virtual IASWSpawnDefinition *GetSpawnDefinition( int nSpawnType ) = 0; virtual bool IsAvailableNPC( const char *szName ) = 0;
virtual void SetCurrentSpawnSet( int iMissionDifficulty ) = 0; virtual bool SetCurrentSpawnSet( const char *szSetName ) = 0;
virtual void DumpCurrentSpawnSet() = 0; };
// fixed spawn encounter in the mission
class IASW_Encounter { public: virtual const Vector& GetEncounterPosition() = 0; virtual int GetNumSpawnDefs() = 0; virtual IASWSpawnDefinition* GetSpawnDef( int i ) = 0; virtual float GetEncounterRadius() = 0; };
#endif // IASW_SPAWN_SELECTION_H
|