⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainbardialog.cpp

📁 墨香最新私服
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	if( !m_bFold )
	{
		PTRLISTPOS pos = m_MainList.GetHeadPosition();
		CBarIcon * pIcon;

		while( pIcon = (CBarIcon * )m_MainList.GetNext(pos) )
		{
			if( pIcon->GetAbsX() + pIcon->GetWidth() < GetAbsX() + GetWidth() )
				pIcon->Render();
		}
		
/*		
		if(m_crossStep != -1 && m_OldDragFlag)
		{
			if(!m_MoveCrossImage.IsNull())
			{
				VECTOR2 Pos;
				Pos.x = m_absPos.x + m_lOffSetX + m_crossStep * ( m_IconBarWidth + m_IconBarSpace ) + m_crossBarHalfX;
				
				Pos.y = m_absPos.y + m_crossBarHalfY;
				m_MoveCrossImage.RenderSprite(NULL,NULL,0,&Pos,RGBA_MERGE(0xffffff, m_alpha * m_dwOptionAlpha / 100));
			}	
		}
*/		
	}
	
	cDialog::Render();
}

void CMainBarDialog::PushMenuID( DWORD windowID, BOOL bPushed )
{
	int idx = -1;
	switch(windowID)
	{
//	case SSI_STALLDLG:
//		{
//			idx = OPT_STREETSTALLDLGICON;
//		}
//		break;
	case HI_DLG:
		{
			idx = OPT_HELPDLGICON;
		}
		break;
	case CI_CHARDLG:
		{
			idx = OPT_CHARACTERDLGICON;
		}
		break;
	case IN_INVENTORYDLG:
		{
			idx = OPT_INVENTORYDLGICON;
		}
		break;
	case MGI_MUGONGSURYUNDLG:
		{
			idx = OPT_MUGONGDLGICON;
		}
		break;
//	case QUESTDLG:
//		{
//		}
//		break;
	case MNM_DIALOG:
		{
			idx = OPT_MINIMAPDLGICON;
		}
		break;
//	case MUNPADLG:
//		{
//		}
//		break;
	case FRI_FRIENDDLG:
		{
			idx = OPT_FRIENDDLGICON;
		}
		break;
	case NOTE_NOTEDLG:
		{
			idx = OPT_NOTEDLGICON;
		}
		break;
	/*
		case MGI_MUGONGDLG:
				{
					idx = OPT_CLOSEALLDLGICON;
				}
				break;
				*/
	case OTI_TABDLG:
		{
			idx = OPT_OPTIONDLGICON;
		}
		break;	
	case EXT_DIALOG:
		{
			idx = OPT_EXITDLGICON;
		}
		break;
//	case XCI_DIALOG:
//		{
//			idx = OPT_EXCHANGEDLGICON;
//		}
//		break;
	/*
		case MGI_MUGONGDLG:
				{
					idx = OPT_PARTYDLGICON;
				}
				break;*/
	}

	if( idx != -1 )
	{
		CBarIcon * bar = GetBarIcon(idx);
		if( bar )
		{
//			bar->SetPush(bar->IsPushed() ^ TRUE);
			bar->SetPush( bPushed );
		}
	}
}

#include "MHCamera.h"

void CMainBarDialog::PushDirectMenu( WORD idx )
{
	// FreeCamera葛靛(恐 捞抚阑 eCM_EyeView扼绊 茄败..) 老锭绰 虐啊 救 冈档废 茄促.  by RaMa
	if( idx != -1 && CAMERA->GetCameraMode() != eCM_EyeView)
	{
		PushMenu( idx );
	}
}

CBarIcon * CMainBarDialog::GetBarIcon(WORD kind)
{
	PTRLISTPOS pos = m_MainList.GetHeadPosition();
	while(pos)
	{
		CBarIcon * pIcon = (CBarIcon * )m_MainList.GetNext(pos);
		if( pIcon->GetInfo()->kind == kind)
			return pIcon;
	}
	return NULL;
}

void CMainBarDialog::PushMenu( WORD idx )
{
	cDialog * pHandler = NULL;
	CBarIcon* pBarIcon = GetBarIcon( idx );
	if( !pBarIcon ) return;
	
	if(GAMEIN->GetGameInInitKind() == eGameInInitKind_SuryunEnter || 
		GAMEIN->GetGameInInitKind() == eGameInInitKind_EventMapEnter )
		return;
	switch(idx)
	{
	case OPT_HELPDLGICON:
		{
			pHandler = (cDialog*)GAMEIN->GetHelpDialog();
			if( !pHandler ) return;

			if( pHandler->IsActive() )
			{
				pHandler->SetActive( FALSE );
			}
			else
			{
				((cHelpDialog*)pHandler)->OpenDialog();
			}
		}
		break;
	case OPT_CHARACTERDLGICON:
		{
			pHandler = GAMEIN->GetCharacterDialog();
			if( !pHandler )	return;

			if( pHandler->IsActive() )
			{
				//ANIMGR->StartFade(ANI_FADE_OUT, 255, 0, 50, pHandler );
				//缠锭 FadeOut栏肺 窍妨搁 active false何盒俊 内爹阑 眠啊秦具茄促.
				pHandler->SetActive( FALSE );
			}
			else 
			{
				((CCharacterDialog*)pHandler)->UpdateData();
				//ANIMGR->StartFade( ANI_FADE_IN, 0, 255, 100, pHandler );
				pHandler->SetActive( TRUE );	
				
				GAMEEVENTMGR->AddEvent( eGameEvent_CharInterface );
			}

			pBarIcon->SetPush( pHandler->IsActive() );
		}
		break;

	case OPT_INVENTORYDLGICON:
		{
			pHandler = (cDialog*)GAMEIN->GetInventoryDialog();
			if( !pHandler ) return ;
			if( pHandler->IsActive() )
			{
				//ANIMGR->StartFade(ANI_FADE_OUT, 255, 0, 50, pHandler );//秦寸 dialog狼 setactive何盒狼 //--- main bar icon何盒阑 荐沥窍矫坷.
				pHandler->SetActive( FALSE );
			}
			else 
			{
				pHandler->SetActive( TRUE );
				//ANIMGR->StartFade( ANI_FADE_IN, 0, 255, 100, pHandler );

				GAMEEVENTMGR->AddEvent( eGameEvent_InvenInterface );
			}

			pBarIcon->SetPush( pHandler->IsActive() );
		}
		break;
		
	case OPT_MUGONGDLGICON:
		{
			pHandler = (cDialog*)GAMEIN->GetMugongSuryunDialog();
			if( !pHandler ) return ;

			if( pHandler->IsActive() )
			{
				//ANIMGR->StartFade(ANI_FADE_OUT, 255, 0, 50, pHandler );
				pHandler->SetActive( FALSE );
			}
			else 
			{
				//ANIMGR->StartFade(ANI_FADE_IN, 0, 255, 100, pHandler );
				pHandler->SetActive( TRUE );

				GAMEEVENTMGR->AddEvent( eGameEvent_MugongInterface );
			}

			pBarIcon->SetPush( pHandler->IsActive() );
		}
		break;

	case OPT_QUESTDLGICON:
		{
			pHandler = (cDialog*)GAMEIN->GetQuestTotalDialog();
			if( !pHandler ) return ;

			if( pHandler->IsActive() )
			{
				pHandler->SetActive(FALSE);
			}
			else
			{
				// 场抄 涅胶飘啊 乐绰瘤 眉农 - 04.10.19
				GAMEIN->GetQuestDialog()->CheckQuestDate();
				
				pHandler->SetActive(TRUE);

				GAMEEVENTMGR->AddEvent( eGameEvent_QuestInterface );
			}

			pBarIcon->SetPush( pBarIcon->IsActive() );	//烙矫
			
			//CHATMGR->AddMsg( CTC_SYSMSG, CHATMGR->GetChatMsg(439) );	//酒流 荤侩且 荐 绝绰 扁瓷
//			GAMEIN->GetQuestTotalDialog()->SetActive(TRUE);
		}
		break;
	case OPT_MINIMAPDLGICON:
		{
			pHandler = (cDialog*)GAMEIN->GetMiniMapDialog();
			if( !pHandler ) return ;

			if( pHandler->IsActive() )
			{
				pHandler->SetActive(FALSE);
			}
			else
			{
				pHandler->SetActive(TRUE);

				GAMEEVENTMGR->AddEvent( eGameEvent_MapInterface );
			}
		}
		break;
	case OPT_MUNPADLGICON:
		{
			pHandler =  (cDialog*)GAMEIN->GetGuildDlg();
			if( !pHandler ) return ;
			if( pHandler->IsActive() )
			{
				pHandler->SetActive(FALSE);
			}
			else
			{
				if(HERO->GetMunpaIdx() != 0)
					pHandler->SetActive(TRUE);
				else
					CHATMGR->AddMsg( CTC_SYSMSG, CHATMGR->GetChatMsg( 35 ));

				GAMEEVENTMGR->AddEvent( eGameEvent_MunpaInterface );
			}
			pBarIcon->SetPush( !pBarIcon->IsPushed() );
		}
		break;
/*
	case OPT_PARTYDLGICON:
		{
			CPartyDialog* pDlg = GAMEIN->GetPartyDialog();

			if( !pDlg ) return;
			if( pDlg->IsActive() )
			{
				pDlg->SetActive( FALSE );
			}
			else 
			{
				pDlg->SetActive( TRUE );
			}

			pBarIcon->SetPush( pDlg->IsActive() );
		}
		break;
*/
//KES EXCHANGE 030918
/*
	case OPT_EXCHANGEDLGICON:
		{
			//TODOABIL
			pHandler = (cDialog*)GAMEIN->GetExchangeDialog();
			if( !pHandler ) 
				return ;
			if(ABILITYMGR->CheckAbilityLevel(ABILITYINDEX_EXCHANGE,HERO->GetAbilityGroup(),1) == FALSE)
			{
				CHATMGR->AddMsg( CTC_ABILITYUPGRADE_FAILED, CHATMGR->GetChatMsg( 139 ));
			}
			else
			{
				EXCHANGEMGR->ApplyExchange();
			}
			pBarIcon->SetPush( pHandler->IsActive() );
		}
		break;

//LBS 荐沥 03.09.17
	case OPT_STREETSTALLDLGICON: 
		{
			//TODOABIL
			pHandler = (cDialog*)GAMEIN->GetStreetStallDialog();
			if( !pHandler ) return ;
			if(ABILITYMGR->CheckAbilityLevel(ABILITYINDEX_STALL,HERO->GetAbilityGroup(),1) == FALSE)
			{
				CHATMGR->AddMsg( CTC_ABILITYUPGRADE_FAILED, CHATMGR->GetChatMsg( 139 ));
			}
			else
			{
				if( HERO->GetState() == eObjectState_None && !VIMUMGR->IsVimuing() )
				{
					STREETSTALLMGR->ChangeDialogState();
				}
			}
			pBarIcon->SetPush( pHandler->IsActive() );
		}
		break;
*/

	case OPT_FRIENDDLGICON:
		{
			pHandler = (cDialog*)GAMEIN->GetFriendDialog();
			if( !pHandler ) return ;
			if( pHandler->IsActive() )
			{
				pHandler->SetActive(FALSE);
			}
			else
			{
				FRIENDMGR->FriendListSyn(1);

				GAMEEVENTMGR->AddEvent( eGameEvent_FriendInterface );
			}

			pBarIcon->SetPush( pHandler->IsActive() );
		}
		break;
		
	case OPT_NOTEDLGICON:
		{
			pHandler = (cDialog*)GAMEIN->GetNoteDialog();
			if( !pHandler ) return ;
			if( pHandler->IsActive() )
			{
				pHandler->SetActive(FALSE);
			}
			else
			{
				FRIENDMGR->NoteListSyn(1);

				GAMEEVENTMGR->AddEvent( eGameEvent_NoteInterface );
			}

			pBarIcon->SetPush( pHandler->IsActive() );
		}
		break;

	case OPT_OPTIONDLGICON:
		{
			pHandler = (cDialog*)GAMEIN->GetOptionDialog();
			if( !pHandler ) return ;
			if( pHandler->IsActive() )
			{
				pHandler->SetActive(FALSE);
			}
			else
			{
				pHandler->SetActive(TRUE);

				GAMEEVENTMGR->AddEvent( eGameEvent_OptionInterface );
			}
		}
		break;

	case OPT_EXITDLGICON:
		{
			pHandler = (cDialog*)GAMEIN->GetExitDialog();
			if( !pHandler ) return ;
			if( pHandler->IsActive() )
			{
				pHandler->SetActive(FALSE);
			}
			else
			{
				if( !WINDOWMGR->GetWindowForID( MBI_EXIT ) )
				if( !EXITMGR->IsExitWaiting() )
					pHandler->SetActive(TRUE);

				GAMEEVENTMGR->AddEvent( eGameEvent_ExitInterface );
			}
		}
		break;
	case OPT_PKMODEICON:
		{
			if( !PKMGR->ToggleHeroPKMode() )
				pBarIcon->SetPush( !pBarIcon->IsPushed() );	//烙矫
			
			//CHATMGR->AddMsg( CTC_SYSMSG, CHATMGR->GetChatMsg(439) );	//酒流 荤侩且 荐 绝绰 扁瓷

//			GAMEEVENTMGR->AddEvent( eGameEvent_PKInterface );
		}
		break;
/*
	case OPT_CLOSEALLDLGICON:
		{
			WINDOWMGR->CloseAllAutoCloseWindows();
			pBarIcon->SetPush( FALSE );
		}
		break;
		
	case OPT_VIMUICON:
		{
			//TODOABIL
			if(ABILITYMGR->CheckAbilityLevel(ABILITYINDEX_VIMU,HERO->GetAbilityGroup(),1) == FALSE)
			{
				CHATMGR->AddMsg( CTC_ABILITYUPGRADE_FAILED, CHATMGR->GetChatMsg( 139 ));
			}
			else
			{
				VIMUMGR->ApplyVimu();
			}
			pBarIcon->SetPush( VIMUMGR->IsVimuing() );
		}
		break;
*/
	default:
		{
			ASSERT(0);
		}
	}
}


void CMainBarDialog::SetPushBarIcon( WORD idx, BOOL bPushed )
{
	CBarIcon* pBarIcon = GetBarIcon( idx );
	if( pBarIcon )
		pBarIcon->SetPush( bPushed );
}

void CMainBarDialog::Fold( BOOL bFold )
{
	if( bFold == m_bFold ) return;

	m_bFold = bFold;

	if( bFold )
	{
		m_lSlidingX = m_IconBarWidth*m_nIconNum;

		m_pBtnSize->SetRelXY( m_lOffSetX, 0 );
		SetAbsXY( m_lOriX + m_lSlidingX, m_lOriY );
		SetWH( m_lOffSetX + m_pBtnSize->GetWidth(), GetHeight() );
		m_nSlidingDir = eSLIDING_NONE;
				
		m_lOriX = (LONG)GetAbsX() - m_lSlidingX;
		m_lOriY = (LONG)GetAbsY();
	}
	else
	{
		m_lSlidingX = 0;
		m_pBtnSize->SetRelXY( m_lOffSetX + m_IconBarWidth*m_nIconNum, 0 );
		SetAbsXY( m_lOriX, m_lOriY );
		SetWH( m_lOffSetX + m_pBtnSize->GetWidth() + m_IconBarWidth*m_nIconNum, GetHeight() );
		
		m_nSlidingDir = eSLIDING_NONE;
		
		m_lOriX = (LONG)GetAbsX() - m_lSlidingX;
		m_lOriY = (LONG)GetAbsY();
		
	}
}

void CMainBarDialog::SetAlram( int idx, BOOL bAlram )
{
	CBarIcon* pBarIcon = GetBarIcon( idx );
	pBarIcon->SetAlram( bAlram );
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -