DragonNest/Client/EtCutSceneTool/cwxSoundEventPanel.cpp

89 lines
2.9 KiB
C++
Raw Normal View History

2024-12-19 09:48:26 +08:00
#include "StdAfx.h"
#include "cwxSoundEventPanel.h"
#include "ToolData.h"
#include "RTCutSceneMakerFrame.h"
#include "cwxPropertyPanel.h"
#include "cwxEventTimeLinePanel.h"
BEGIN_EVENT_TABLE( cwxSoundEventPanel, wxPanel )
EVT_LIST_ITEM_SELECTED( LIST_CAMERA_ID, cwxSoundEventPanel::OnSelChangeCameraList )
END_EVENT_TABLE()
cwxSoundEventPanel::cwxSoundEventPanel( wxWindow* pParent, wxWindowID id /* = -1 */ ) : CEventPanel( pParent, id )
{
CEventPanel::_Initialize( LIST_CAMERA_ID, EventInfo::SOUND_1 );
}
cwxSoundEventPanel::~cwxSoundEventPanel(void)
{
}
void cwxSoundEventPanel::_UpdateEventList( void )
{
m_pListView->ClearAll();
_InitListViewColumn();
// <20>߰<EFBFBD><DFB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SOUND_8 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20>ִ´<D6B4>.
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>̺<EFBFBD>Ʈ <20><><EFBFBD><EFBFBD> <20>ܾ<EFBFBD><DCBE><EFBFBD>.
for( int iEventType = EventInfo::SOUND_1; iEventType <= EventInfo::SOUND_8; ++iEventType )
{
int iNumEventInfo = TOOL_DATA.GetThisTypesEventNum( iEventType );
for( int iEvent = 0; iEvent < iNumEventInfo; ++iEvent )
{
const EventInfo* pEventInfo = TOOL_DATA.GetEventInfoByIndex( iEventType, iEvent );
wxCSConv MBConv( wxFONTENCODING_CP949 );
wxChar caWBuf[ 256 ];
ZeroMemory( caWBuf, sizeof(caWBuf) );
MBConv.MB2WC( caWBuf, pEventInfo->strEventName.c_str(), 256 );
long iTemp = m_pListView->InsertItem( iEvent, caWBuf );
m_pListView->SetItemData( iTemp, iEvent );
wxSnprintf( caWBuf, 256, wxT("%dms"), DWORD(pEventInfo->fStartTime*10.0f) );
m_pListView->SetItem( iEvent, 1, caWBuf );
wxSnprintf( caWBuf, 256, wxT("%d"), pEventInfo->iID );
m_pListView->SetItem( iEvent, 2, caWBuf );
}
}
}
// TODO: <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>̺<EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD>õǸ<C3B5> Property<74><79> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ٲ<EFBFBD><D9B2><EFBFBD><EFBFBD><EFBFBD> <20>Ѵ<EFBFBD>. <20>׸<EFBFBD><D7B8><EFBFBD> <20><><EFBFBD><EFBFBD><ECBDBA> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>°<EFBFBD> <20>ȴ<EFBFBD>.
void cwxSoundEventPanel::OnSelChangeCameraList( wxListEvent& ListEvent )
{
// <20><><EFBFBD>õ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>̺<EFBFBD>Ʈ Ÿ<><C5B8> <20><><EFBFBD>ο<EFBFBD><CEBF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>.
int iSelected = m_pListView->GetNextItem( -1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED );
if( wxNOT_FOUND != iSelected )
{
// <20><><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD> <20>ε<EFBFBD><CEB5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ε<EFBFBD><CEB5><EFBFBD><EFBFBD><EFBFBD> <20><>ġ<EFBFBD>Ѵ<EFBFBD>.
wxListItem Item;
Item.SetId( iSelected );
Item.SetColumn( 2 );
Item.SetMask( wxLIST_MASK_TEXT );
m_pListView->GetItem( Item );
//const EventInfo* pSelectedEventInfo = TOOL_DATA.GetEventInfoByIndex( EventInfo::SOUND_1, iSelected );
long ID = 0;
Item.GetText().ToLong( &ID );
const EventInfo* pSelectedEventInfo = TOOL_DATA.GetEventInfoByID( ID );
if( pSelectedEventInfo )
{
// <20>̺<EFBFBD>Ʈ Ÿ<>Ӷ<EFBFBD><D3B6>ο<EFBFBD><CEBF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ŵ
cwxTLObjectSelectEvent SelectEvent( wxEVT_TIMELINE_OBJECT_SELECT, -1, wxString(wxT("List Select")),
pSelectedEventInfo->iID, pSelectedEventInfo->iType+3, 0 ); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>̺<EFBFBD>Ʈ Ÿ<><C5B8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E5BAB8> <20><><EFBFBD><EFBFBD> 3<><33><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>.
cwxEventTimeLinePanel* pEventTimeLinePanel = TOOL_DATA.GetEventTLPanel();
pEventTimeLinePanel->OnTLObjectSelect( SelectEvent ); // <20>Ӽ<EFBFBD>â <20><><EFBFBD><EFBFBD> <20>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD> <20>ٲ<EFBFBD>
pEventTimeLinePanel->SelectObject( pSelectedEventInfo->iID, DWORD(pSelectedEventInfo->fStartTime*10.0f) );
}
}
}