/********************************************************************
*
* Created: 2/2/2013 17:19
*
* File: gfCJigsawComponentCutter.h
*
* Author: Martin P. King
*
* Purpose: Class that controls the cutting up of the raw
* jigsaw texture into its various components
*
*********************************************************************/
#ifndef gfCJigsawComponentCutterhdr
#define gfCJigsawComponentCutterhdr
#include "../gfICutterComponent.h"
class fsCJigsawCutComponentPF;
class fsCEntityManager;
class gfCJigsawStencilTextures;
class gfCJigsawComponentCutter : public gfICutterComponent
{
friend class fsCComponentFactory;
public:
static const fsCUniqueId mTypeId;
static const fsStr mEntityPrefix;
void stencilsCreate() override;
protected:
fsStr minigamePieceNameGet() const override;
void doCut(fsCEntity* pEnt, gfIStencil* pStencil, fsBool pFirstTime) override;
gfIStencil* const stencilRestore() override;
void doSetup(const fsCVariableTable& pStyle, const fsStr& pLevelName) override;
static fsIComponent* create(fsCEntity* pParent);
gfCJigsawComponentCutter(fsCEntity* pParent);
virtual ~gfCJigsawComponentCutter();<--- Destructor in derived class
private:
gfCJigsawStencilTextures* mStencilTextures;
};
#endif