reman3/Rayman_X/cpa/tempgrp/TGM/Src/CopyPaste.hpp

66 lines
2.0 KiB
C++

/*===========================================================================
Class Name: tdoCopyBuffer
Used for: Copy/Paste
Author: Yann Le Tensorer
Date: may 5, 1997
============================================================================*/
#if !defined ( __COPYPASTE_HPP__ )
#define __COPYPASTE_HPP__
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif
/******************************************/
class CPA_Modif;
typedef enum tdeCopyBufferType_
{
E_cbt_None,
E_cbt_Mechanics,
E_cbt_Collide,
E_cbt_Sound
} tdeCopyBufferType;
//=================================================================================
//=================================================================================
class tdoCopyBuffer
{
public:
tdoCopyBuffer(DNM_tdxHandleToMecMatCharacteristics _hMechanicsMaterial);
tdoCopyBuffer(GMT_tdxHandleToCollideMaterial _hCollideMaterial);
tdoCopyBuffer(SND_tdxHandleToSoundMaterial _hSoundMaterial);
~tdoCopyBuffer();
BOOL m_bDoPaste(GMT_tdxHandleToGameMaterial _hTargetGameMaterial);
tdeCopyBufferType m_eGetType() { return m_eType; }
//ROMTEAM WorldEditor (Cristi Petrescu 22/12/97)
GMT_tdxHandleToCollideMaterial m_hGetCollideMaterial (void) {return m_hCollideMaterialToPaste;};
//ENDROMTEAM WorldEditor (Cristi Petrescu)
private:
void m_vInvalidateAllHandlesAtConstruct();
tdeCopyBufferType m_eType;
DNM_tdxHandleToMecMatCharacteristics m_hMechanicsMaterialToPaste;
GMT_tdxHandleToCollideMaterial m_hCollideMaterialToPaste;
SND_tdxHandleToSoundMaterial m_hSoundMaterialToPaste;
};
//=================================================================================
//=================================================================================
class tdoPasteSubMaterialModif : public CPA_Modif
{
public:
tdoPasteSubMaterialModif(tdoCopyBuffer *_p_oCopyBuffer);
~tdoPasteSubMaterialModif();
BOOL Do();
BOOL Undo();
private:
GMT_tdxHandleToGameMaterial m_hTargetGameMaterial;
tdoCopyBuffer *m_p_oCopyBufferForDo, *m_p_oCopyBufferForUndo;
};
#endif /* __COPYPASTE_HPP__ */