All pastes #757041 Raw Edit

Anonymous

public text v1 · immutable
#757041 ·published 2007-10-31 22:36 UTC
rendered paste body
#include "cbase.h"
#include "filesystem.h"
#include "utlvector.h"
#include "questsystem_shared.h"
#include "dt_utlvector_recv.h"

C_QuestSystem * g_pQuestSystem;
//------------------
// Quest & Objective
//------------------
inline bool C_Quest::IsCompleted()
{
	if(m_bCompleted)
		return true;

	int count = m_Objectives.Count();
	for(int x=0;x<count;x++)
	{
		if(!m_Objectives[x].m_bCompleted)
			return false;
	}
	return m_bCompleted = true;
}

inline C_Objective *C_Quest::FindObjectiveByName(const char *pObjectiveName)
{
	int count = m_Objectives.Count();
	for(int x=0;x<count;x++)
	{
		if(FStrEq(STRING(m_Objectives[x].m_iszName),pObjectiveName))
		{
			return &m_Objectives[x];
		}
	}
	return NULL;
}

void C_Quest::GetName(){
		DevMsg("TEST");
}

void C_QuestSystem::GetTest(){
	DevMsg("TEST");
	Assert( !g_pQuestSystem );
	//DevMsg("CLIENT QUEST SIZE %i",m_Quests.Count());
}

void C_QuestSystem::OnDataChanged( DataUpdateType_t updateType )
{
	BaseClass::OnDataChanged( updateType );
	if( updateType == DATA_UPDATE_CREATED )
	{
		if(!g_pQuestSystem)
		{
			//g_pQuestSystem = ( C_QuestSystem * )CreateEntityByName( "quest_system" );
			g_pQuestSystem = this;
			Assert( !g_pQuestSystem );
			if ( g_pQuestSystem )
			{
				DevMsg("WE HAVE IT");
			}
		}
	}
}


BEGIN_RECV_TABLE_NOBASE( C_Objective, DT_Objective )
	RecvPropString( RECVINFO( m_iszName ) ),
	RecvPropString( RECVINFO( m_iszDescription ) ),
	RecvPropBool( RECVINFO( m_bDisabled ) ),
	RecvPropBool( RECVINFO( m_bCompleted ) ),
END_RECV_TABLE();

BEGIN_RECV_TABLE_NOBASE( C_Quest, DT_Quest )
	RecvPropString( RECVINFO( m_iszName ) ),
	RecvPropString( RECVINFO( m_iszGiver ) ),
	RecvPropString( RECVINFO( m_iszShort ) ),
	RecvPropString( RECVINFO( m_iszDescription ) ),
	RecvPropBool( RECVINFO( m_bCompleted ) ),
	RecvPropUtlVectorDataTable( m_Objectives, MAX_OBJECTIVES, DT_Objective ),
END_RECV_TABLE();

BEGIN_RECV_TABLE_NOBASE( C_QuestSystem, DT_QuestSystem )
	RecvPropInt( RECVINFO( m_iActiveQuest ) ),
	RecvPropUtlVectorDataTable( m_Quests, MAX_QUESTS, DT_Quest ),
END_RECV_TABLE();