DragonNest/Client/EtCutSceneTool/TEditData.h
2024-12-19 09:48:26 +08:00

117 lines
No EOL
3.4 KiB
C

#pragma once
#include "stdafx.h"
#include "IDnCutSceneDataReader.h"
//template <class Entity>
//class TEditData
//{
//public:
//
//private:
// Entity m_pData;
// int m_iType;
//
// TEditData( void ) {};
//public:
// TEditData( Entity pData ) : m_pData( pData ), m_iType( -1 )
// {
// _ASSERT( "템플릿에 정의되지 않은 데이터 타입입니다." );
// };
//
// //TEditData( ActionInfo* pData ) : m_pData( pData ), m_iType( ACTION ) {};
// //TEditData( KeyInfo* pData ) : m_pData( pData ), m_iType( KEY ) {};
// //TEditData( SubKey* pData ) : m_pData( pData ), m_iType( SUBKEY ) {};
// //TEditData( CamEventInfo* pData ) : m_pData( pData ), m_iType( MAX_CAMERA ) {};
// //TEditData( PropEventInfo* pData ) : m_pData( pData ), m_iType( PROP ) {};
// //TEditData( ParticleEventInfo* pData ) : m_pData( pData ), m_iType( PARTICLE ) {};
// //TEditData( SoundEventInfo* pData ) : m_pData( pData ), m_iType( SOUND ) {};
// //TEditData( FadeEventInfo* pData ) : m_pData( pData ), m_iType( FADE ) {};
//
// int GetType( void ) { return m_iType; };
//};
//
//
//
//// 툴에서 데이터를 갖고 작업할 때 간편하게 하기 위한 헬퍼 클래스.
//// 툴의 코어에서 관리하는 데이터와는 별도로 편집용으로 포인터를 공유하여 따로 리스트를 관리한다.
//template <class Entity>
//class TDataHelper
//{
//public:
// static vector< TEditData<Entity*>* > s_vlpEditData; // 데이터가 insert 될 때 new 하고 CToolData 가 해제될 때에 for_each로 파괴 시키자.
// static map< int, TEditData<Entity*>* >s_mapEditData;
//
// TDataHelper( void ) {};
// ~TDataHelper( void )
// {
// for_each( s_vlpEditData.begin(), s_vlpEditData.end(), DeleteData< TEditData<Entity*>* >() );
// };
//
// static void InsertData( Entity* pData )
// {
// TEditData<Entity*>* pTData = new TEditData<Entity*>(pData);
// s_vlpEditData.push_back( pTData );
// s_mapEditData.insert( make_pair(pData->iID, pTData) );
// };
//
// static bool RemoveData( Entity* pData )
// {
// bool bResult = false;
//
// vector< TEditData<Entity*>* >::iterator iter = find( s_vlpEditData.begin(), s_vlpEditData.end(), pData );
// if( s_vlpEditData.end() != iter )
// {
// map< int, TEditData<Entity*>* >::iterator iterMap = s_mapEditData.find( iter->iID );
// _ASSERT( s_mapEditData.end() != iterMap );
// if( s_mapEditData.end() != iterMap )
// {
// delete iterMap->second;
// s_mapEditData.erase( iterMap );
// s_vlpEditData.erase( iter );
// }
// }
//
// return bResult;
// }
//
// static bool RemoveData( int iID )
// {
// bool bResult = false;
//
// map< int, TEditData<Entity*>* >::iterator iterMap = s_mapEditData.find( iID );
// if( s_mapEditData.end() != iterMap )
// {
// vector< TEditData<Entity*>* >::iterator iter = find( s_vlpEditData.begin(), s_vlpEditData.end(), iterMap->second );
// _ASSERT( s_vlpEditData.end() != iter );
// if( s_vlpEditData.end() != iter )
// {
// delete iterMap->second;
// s_mapEditData.erase( iterMap );
// s_vlpEditData.erase( iter );
// }
// }
//
// return bResult;
// }
//
// // 기타 등등 필요한 헬퍼 함수들을 선언한다.
// static int GetType( int iID )
// {
// int iResult = TEditData::COUNT;
//
// map< int, TEditData<Entity*>* >::iterator iter = s_mapEditData.find( iID );
// if( s_mapEditData.end() != iter )
// {
// iResult = iter->second->GetType();
// }
//
// return iResult;
// }
//};
//
//
//template <class Entity>
//vector< TEditData<Entity*>* > TDataHelper<Entity>::s_vlpEditData;
//
//template <class Entity>
//map< int, TEditData<Entity*>* > TDataHelper<Entity>::s_mapEditData;