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.
36 lines
1.2 KiB
36 lines
1.2 KiB
1 year ago
|
#include "cbase.h"
|
||
|
#include "asw_tutorial_spawning.h"
|
||
|
|
||
|
// memdbgon must be the last include file in a .cpp file!!!
|
||
|
#include "tier0/memdbgon.h"
|
||
|
|
||
|
LINK_ENTITY_TO_CLASS(info_tutorial_start, CASW_TutorialStartPoint);
|
||
|
|
||
|
ConVar asw_tutorial_save_stage("asw_tutorial_save_stage", "0", FCVAR_ARCHIVE, "How far through the tutorial the player has got");
|
||
|
|
||
|
BEGIN_DATADESC( CASW_TutorialStartPoint )
|
||
|
DEFINE_KEYFIELD( m_iMarineSlot, FIELD_INTEGER, "MarineSlot" ),
|
||
|
DEFINE_KEYFIELD( m_iSaveStage, FIELD_INTEGER, "SaveStage" ),
|
||
|
END_DATADESC()
|
||
|
|
||
|
// static
|
||
|
CASW_TutorialStartPoint* CASW_TutorialStartPoint::GetTutorialStartPoint(int iMarineSlot)
|
||
|
{
|
||
|
if (iMarineSlot<0 || iMarineSlot>=8)
|
||
|
return NULL;
|
||
|
|
||
|
CASW_TutorialStartPoint* pStartEntity = (CASW_TutorialStartPoint*) gEntList.FindEntityByClassname( NULL, "info_tutorial_start");
|
||
|
while (pStartEntity != NULL)
|
||
|
{
|
||
|
if (pStartEntity->m_iMarineSlot == iMarineSlot
|
||
|
&& pStartEntity->m_iSaveStage == GetTutorialSaveStage())
|
||
|
return pStartEntity;
|
||
|
pStartEntity = (CASW_TutorialStartPoint*) gEntList.FindEntityByClassname( pStartEntity, "info_tutorial_start");
|
||
|
}
|
||
|
return NULL;
|
||
|
}
|
||
|
|
||
|
int CASW_TutorialStartPoint::GetTutorialSaveStage()
|
||
|
{
|
||
|
return asw_tutorial_save_stage.GetInt();
|
||
|
}
|