/* ========================================================================== * ÀÛ ¼º ÀÚ : À̼ø±Ô * ÀÛ ¼º ÀÏ : 2006.12.06 * ³» ¿ë : ³×ºñ¸Þ½Ã °ÇÃà ´ÙÀ̾ó·Î±× * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #include "UI/Dialog.h" #include "UI/Button.h" #include "UI/CheckButton.h" #include "UI/CheckButtonGroup.h" #include "Resource.h" /// ³×ºñ¸Þ½Ã °ÇÃà ´ÙÀ̾ó·Î±× class cNaviMeshBuildDialog : public cDialog { DECLARE_DYNAMIC(cNaviMeshBuildDialog) public: cNaviMeshBuildDialog(); virtual ~cNaviMeshBuildDialog(); /// °»½Å void UpdateInnerRadius( float radius ); void UpdateOuterRadius( float radius ); /// ¹öư void SetCheckedButton( int id ); unsigned int GetCheckedButton() const; /// ÇÈÅ· À§Ä¡ void SetPickPos( const NiPoint3& pos ); /// ¹ÝÁö¸§ (´ÜÀ§: meter) float GetInnerRadius() const; float GetOuterRadius() const; /// °­µµ (´ÜÀ§: percent) unsigned int GetStrength() const; /// º¸°£ ºñÀ² (´ÜÀ§: percent) unsigned int GetSmoothRatio() const; protected: void DoDataExchange( CDataExchange* dx ); BOOL OnInitDialog(); virtual void OnOK() {} virtual void OnCancel() {} protected: DECLARE_MESSAGE_MAP() afx_msg void OnClickedButton(); afx_msg void OnClickedSyncAllButton(); afx_msg void OnHScroll( UINT code, UINT pos, CScrollBar* bar ); private: /// ¹öư cCheckButton mRaiseButton; cCheckButton mLowerButton; cCheckButton mFlattenButton; cCheckButton mSmoothButton; cCheckButton mSyncButton; cCheckButton mSyncToObjectButton; cCheckButton mSyncToPickPosButton; cCheckButtonGroup mGroup; cButton mSyncAllButton; }; inline unsigned int cNaviMeshBuildDialog::GetCheckedButton() const { cCheckButton* btn = mGroup.GetCheckedButton(); if( btn == 0 ) return 0; else return btn->GetDlgCtrlID(); } inline float cNaviMeshBuildDialog::GetInnerRadius() const { CSliderCtrl* slider = (CSliderCtrl*)GetDlgItem( IDC_SLIDER_TBUILD_INNER_RADIUS ); return slider->GetPos() / 10.0f; } inline float cNaviMeshBuildDialog::GetOuterRadius() const { CSliderCtrl* slider = (CSliderCtrl*)GetDlgItem( IDC_SLIDER_TBUILD_OUTER_RADIUS ); return slider->GetPos() / 10.0f; } inline unsigned int cNaviMeshBuildDialog::GetStrength() const { CSliderCtrl* slider = (CSliderCtrl*)GetDlgItem( IDC_SLIDER_TBUILD_STRENGTH ); return slider->GetPos(); } inline unsigned int cNaviMeshBuildDialog::GetSmoothRatio() const { CSliderCtrl* slider = (CSliderCtrl*)GetDlgItem( IDC_SLIDER_TBUILD_SMOOTH_RATIO ); return slider->GetPos(); }