168 lines
4.7 KiB
C++
168 lines
4.7 KiB
C++
|
|
// RandomDungeonDefaultPaneView.cpp : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
|||
|
|
//
|
|||
|
|
|
|||
|
|
#include "stdafx.h"
|
|||
|
|
#include "EtWorldPainter.h"
|
|||
|
|
#include "RandomDungeonDefaultPaneView.h"
|
|||
|
|
#include "UserMessage.h"
|
|||
|
|
#include "TEtRandomDungeon.h"
|
|||
|
|
#include "EtMaze.h"
|
|||
|
|
|
|||
|
|
|
|||
|
|
PropertyGridBaseDefine g_DungeonDefaultPropertyDefine[] = {
|
|||
|
|
{ "Default", "Width", CUnionValueProperty::Integer, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>|5|200|1", TRUE },
|
|||
|
|
{ "Default", "Height", CUnionValueProperty::Integer, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>|5|200|1", TRUE },
|
|||
|
|
{ "Default", "Level", CUnionValueProperty::Integer, "<EFBFBD><EFBFBD> <20><>|1|10|1", TRUE },
|
|||
|
|
{ "Default", "Sparseness", CUnionValueProperty::Integer, "<EFBFBD><EFBFBD> <20><><EFBFBD> ( 0:<3A><><EFBFBD><EFBFBD>, 100:<3A><><EFBFBD><EFBFBD>)|0|100|1|1", TRUE },
|
|||
|
|
{ "Default", "Randomness", CUnionValueProperty::Integer, "<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ȯ<EFBFBD><C8AE>|0|100|1", TRUE },
|
|||
|
|
{ "Default", "Deadends Remove", CUnionValueProperty::Integer, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>̾<EFBFBD><CCBE><EFBFBD> Ȯ<><C8AE>|0|100|1", TRUE },
|
|||
|
|
{ "Default", "Seed", CUnionValueProperty::Integer, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>õ<EFBFBD> ( 0<><30> <20><><EFBFBD><EFBFBD> )", TRUE },
|
|||
|
|
{ "Default", "Current Seed", CUnionValueProperty::Integer, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>õ<EFBFBD>", FALSE },
|
|||
|
|
{ NULL },
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
|
|||
|
|
// CRandomDungeonDefaultPaneView
|
|||
|
|
|
|||
|
|
IMPLEMENT_DYNCREATE(CRandomDungeonDefaultPaneView, CFormView)
|
|||
|
|
|
|||
|
|
CRandomDungeonDefaultPaneView::CRandomDungeonDefaultPaneView()
|
|||
|
|
: CFormView(CRandomDungeonDefaultPaneView::IDD)
|
|||
|
|
{
|
|||
|
|
m_bActivate = false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
CRandomDungeonDefaultPaneView::~CRandomDungeonDefaultPaneView()
|
|||
|
|
{
|
|||
|
|
ResetPropertyGrid();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void CRandomDungeonDefaultPaneView::DoDataExchange(CDataExchange* pDX)
|
|||
|
|
{
|
|||
|
|
CFormView::DoDataExchange(pDX);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
BEGIN_MESSAGE_MAP(CRandomDungeonDefaultPaneView, CFormView)
|
|||
|
|
ON_MESSAGE( UM_REFRESH_PANE_VIEW, OnRefresh )
|
|||
|
|
ON_MESSAGE( XTPWM_PROPERTYGRID_NOTIFY, OnNotifyGrid )
|
|||
|
|
ON_WM_SIZE()
|
|||
|
|
END_MESSAGE_MAP()
|
|||
|
|
|
|||
|
|
|
|||
|
|
// CRandomDungeonDefaultPaneView <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
|||
|
|
|
|||
|
|
#ifdef _DEBUG
|
|||
|
|
void CRandomDungeonDefaultPaneView::AssertValid() const
|
|||
|
|
{
|
|||
|
|
CFormView::AssertValid();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#ifndef _WIN32_WCE
|
|||
|
|
void CRandomDungeonDefaultPaneView::Dump(CDumpContext& dc) const
|
|||
|
|
{
|
|||
|
|
CFormView::Dump(dc);
|
|||
|
|
}
|
|||
|
|
#endif
|
|||
|
|
#endif //_DEBUG
|
|||
|
|
|
|||
|
|
|
|||
|
|
// CRandomDungeonDefaultPaneView <20><EFBFBD><DEBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
|||
|
|
|
|||
|
|
LRESULT CRandomDungeonDefaultPaneView::OnRefresh( WPARAM wParam, LPARAM lParam )
|
|||
|
|
{
|
|||
|
|
RefreshPropertyGrid( g_DungeonDefaultPropertyDefine );
|
|||
|
|
return S_OK;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
LRESULT CRandomDungeonDefaultPaneView::OnNotifyGrid( WPARAM wParam, LPARAM lParam )
|
|||
|
|
{
|
|||
|
|
return ProcessNotifyGrid( wParam, lParam );
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void CRandomDungeonDefaultPaneView::OnSize(UINT nType, int cx, int cy)
|
|||
|
|
{
|
|||
|
|
__super::OnSize(nType, cx, cy);
|
|||
|
|
|
|||
|
|
// TODO: <20><><EFBFBD> <20><EFBFBD><DEBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
|||
|
|
if( m_PropertyGrid ) {
|
|||
|
|
CRect rcRect;
|
|||
|
|
GetClientRect( &rcRect );
|
|||
|
|
m_PropertyGrid.MoveWindow( &rcRect );
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void CRandomDungeonDefaultPaneView::OnInitialUpdate()
|
|||
|
|
{
|
|||
|
|
__super::OnInitialUpdate();
|
|||
|
|
|
|||
|
|
// TODO: <20><><EFBFBD> Ư<><C6AF>ȭ<EFBFBD><C8AD> <20>ڵ带 <20>߰<EFBFBD> <20><>/<2F>Ǵ<EFBFBD> <20>⺻ Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȣ<><C8A3><EFBFBD>մϴ<D5B4>.
|
|||
|
|
if( m_bActivate == true ) return;
|
|||
|
|
m_bActivate = true;
|
|||
|
|
|
|||
|
|
CRect rcRect;
|
|||
|
|
GetClientRect( &rcRect );
|
|||
|
|
|
|||
|
|
m_PropertyGrid.Create( rcRect, this, 0 );
|
|||
|
|
m_PropertyGrid.SetCustomColors( RGB(200, 200, 200), 0, RGB(182, 210, 189), RGB(247, 243, 233), 0);
|
|||
|
|
SendMessage( UM_REFRESH_PANE_VIEW );
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
void CRandomDungeonDefaultPaneView::OnSetValue( CUnionValueProperty *pVariable, DWORD dwIndex )
|
|||
|
|
{
|
|||
|
|
switch( dwIndex ) {
|
|||
|
|
case 0:
|
|||
|
|
pVariable->SetVariable( CGlobalValue::GetInstance().m_DungeonSize.nX );
|
|||
|
|
break;
|
|||
|
|
case 1:
|
|||
|
|
pVariable->SetVariable( CGlobalValue::GetInstance().m_DungeonSize.nY );
|
|||
|
|
break;
|
|||
|
|
case 2:
|
|||
|
|
pVariable->SetVariable( CGlobalValue::GetInstance().m_DungeonSize.nZ );
|
|||
|
|
break;
|
|||
|
|
case 3:
|
|||
|
|
pVariable->SetVariable( CGlobalValue::GetInstance().m_nDungeonSparseness );
|
|||
|
|
break;
|
|||
|
|
case 4:
|
|||
|
|
pVariable->SetVariable( CGlobalValue::GetInstance().m_nDungeonRandomness );
|
|||
|
|
break;
|
|||
|
|
case 5:
|
|||
|
|
pVariable->SetVariable( CGlobalValue::GetInstance().m_nDungeonDeadendRemove );
|
|||
|
|
break;
|
|||
|
|
case 6:
|
|||
|
|
pVariable->SetVariable( CGlobalValue::GetInstance().m_nDungeonSeed );
|
|||
|
|
break;
|
|||
|
|
case 7:
|
|||
|
|
if( CTEtRandomDungeon::GetInstance().GetMaze() )
|
|||
|
|
pVariable->SetVariable( CTEtRandomDungeon::GetInstance().GetCurSeed() );
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void CRandomDungeonDefaultPaneView::OnChangeValue( CUnionValueProperty *pVariable, DWORD dwIndex )
|
|||
|
|
{
|
|||
|
|
switch( dwIndex ) {
|
|||
|
|
case 0:
|
|||
|
|
CGlobalValue::GetInstance().m_DungeonSize.nX = pVariable->GetVariableInt();
|
|||
|
|
break;
|
|||
|
|
case 1:
|
|||
|
|
CGlobalValue::GetInstance().m_DungeonSize.nY = pVariable->GetVariableInt();
|
|||
|
|
break;
|
|||
|
|
case 2:
|
|||
|
|
CGlobalValue::GetInstance().m_DungeonSize.nZ = pVariable->GetVariableInt();
|
|||
|
|
break;
|
|||
|
|
case 3:
|
|||
|
|
CGlobalValue::GetInstance().m_nDungeonSparseness = pVariable->GetVariableInt();
|
|||
|
|
break;
|
|||
|
|
case 4:
|
|||
|
|
CGlobalValue::GetInstance().m_nDungeonRandomness = pVariable->GetVariableInt();
|
|||
|
|
break;
|
|||
|
|
case 5:
|
|||
|
|
CGlobalValue::GetInstance().m_nDungeonDeadendRemove = pVariable->GetVariableInt();
|
|||
|
|
break;
|
|||
|
|
case 6:
|
|||
|
|
CGlobalValue::GetInstance().m_nDungeonSeed = pVariable->GetVariableInt();
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
}
|