void CTypeInfoFunctions::ReadWithHook(CObjectIStream& stream, TTypeInfo objectType, TObjectPtr objectPtr) { CReadObjectHook* hook = objectType->m_ReadHookData.GetHook(stream.m_ObjectHookKey); if (!hook) { hook = objectType->m_ReadHookData.GetPathHook(stream); } if ( hook ) hook->ReadObject(stream, CObjectInfo(objectPtr, objectType)); else objectType->DefaultReadData(stream, objectPtr); }
{ delete [] m_pClassName; delete [] m_pStatusName; delete [] m_pBuilderWeaponName; delete [] m_pBuilderPlacementString; delete [] m_pIconActive; delete [] m_pIconInactive; delete [] m_pViewModel; delete [] m_pPlayerModel; delete [] m_pExplodeSound; delete [] m_pExplosionParticleEffect; } CObjectInfo g_ObjectInfos[OBJ_LAST] = { CObjectInfo( "OBJ_DISPENSER" ), CObjectInfo( "OBJ_TELEPORTER_ENTRANCE" ), CObjectInfo( "OBJ_TELEPORTER_EXIT" ), CObjectInfo( "OBJ_SENTRYGUN" ), CObjectInfo( "OBJ_ATTACHMENT_SAPPER" ), }; //----------------------------------------------------------------------------- // Purpose: //----------------------------------------------------------------------------- int GetBuildableId( const char *pszBuildableName ) { for ( int iBuildable = 0; iBuildable < OBJ_LAST; ++iBuildable ) { if ( !Q_stricmp( pszBuildableName, g_ObjectInfos[iBuildable].m_pObjectName ) ) return iBuildable;