//-----------------------------------------------------------------------------
// Purpose: Parse root data
// Input  : *pInitData - 
// Output : Returns true on success, false on failure.
//-----------------------------------------------------------------------------
bool CBaseDemoAction::Init( KeyValues *pInitData )
{
	char const *actionname = pInitData->GetString( "name", "" );
	if ( !actionname || !actionname[ 0 ] )
	{
		Msg( "CBaseDemoAction::Init:  must specify a name for action!\n" );
		return false;
	}

	SetActionName( actionname );

	m_nStartTick	= pInitData->GetInt( "starttick", -1 );
	m_flStartTime	= pInitData->GetFloat( "starttime", -1.0f );

	if ( m_nStartTick == -1 && m_flStartTime == -1.0f )
	{
		m_Timing = ACTION_USES_NEITHER;
	}
	else if ( m_nStartTick != -1 )
	{
		m_Timing = ACTION_USES_TICK;
	}
	else
	{
		Assert( m_flStartTime != -1.0f );
		m_Timing = ACTION_USES_TIME;
	}

	// See if there's a target name
	char const *target = pInitData->GetString( "target", "" );
	if ( target && target[ 0 ] )
	{
		Q_strncpy( m_szActionTarget, target, sizeof( m_szActionTarget ) );
	}

	return true;
}
Beispiel #2
0
Island::Island()
{
    SetActionName(" in ");
    SetLookAtName(" go to ");
    SetType(ISLANDTYPE);
}