51 lines
1.4 KiB
C++
51 lines
1.4 KiB
C++
//========= Copyright © 1996-2013, Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose:
|
|
//
|
|
// $NoKeywords: $
|
|
//=============================================================================//
|
|
|
|
#ifndef IVISUALSDATAPROCESSOR_H
|
|
#define IVISUALSDATAPROCESSOR_H
|
|
|
|
#include "refcount.h"
|
|
|
|
class KeyValues;
|
|
class CUtlBuffer;
|
|
|
|
//
|
|
// Visuals Data Interface
|
|
//
|
|
// This abstracts the visuals data processing so that the main composite texture code
|
|
// can be used for weapons, clothing, or whatever.
|
|
// You need to implement one of these for use with CCompositeTexture.
|
|
//
|
|
|
|
class IVisualsDataCompare
|
|
{
|
|
public:
|
|
virtual void FillCompareBlob() = 0;
|
|
virtual const CUtlBuffer &GetCompareBlob() const = 0;
|
|
virtual bool Compare( const CUtlBuffer &pOther ) = 0;
|
|
};
|
|
|
|
class IVisualsDataProcessor : public CRefCounted<>
|
|
{
|
|
public:
|
|
IVisualsDataProcessor() {}
|
|
|
|
virtual KeyValues *GenerateCustomMaterialKeyValues() = 0;
|
|
virtual KeyValues *GenerateCompositeMaterialKeyValues( int nMaterialParamId ) = 0;
|
|
virtual IVisualsDataCompare *GetCompareObject() = 0;
|
|
virtual bool HasCustomMaterial() const = 0;
|
|
virtual const char* GetOriginalMaterialName() const = 0;
|
|
virtual const char* GetOriginalMaterialBaseName() const = 0;
|
|
virtual const char* GetPatternVTFName() const = 0;
|
|
virtual void Refresh() = 0;
|
|
|
|
protected:
|
|
virtual ~IVisualsDataProcessor() {}
|
|
};
|
|
|
|
#endif // IVISUALSDATAPROCESSOR_H
|