core/MenuStyle_Base.cpp
changeset 877 898c39fbfde9
parent 825 472a11443703
child 879 f1e33b35f3b6
     1.1 --- a/core/MenuStyle_Base.cpp	Tue Jun 05 05:45:48 2007 +0000
     1.2 +++ b/core/MenuStyle_Base.cpp	Tue Jun 05 16:27:45 2007 +0000
     1.3 @@ -434,12 +434,14 @@
     1.4  CBaseMenu::CBaseMenu(IMenuHandler *pHandler, IMenuStyle *pStyle, IdentityToken_t *pOwner) : 
     1.5  m_pStyle(pStyle), m_Strings(512), m_Pagination(7), m_ExitButton(true), 
     1.6  m_bShouldDelete(false), m_bCancelling(false), m_pOwner(pOwner ? pOwner : g_pCoreIdent), 
     1.7 -m_bDeleting(false), m_bWillFreeHandle(false), m_hHandle(BAD_HANDLE), m_pHandler(pHandler)
     1.8 +m_bDeleting(false), m_bWillFreeHandle(false), m_hHandle(BAD_HANDLE), m_pHandler(pHandler),
     1.9 +m_pVoteHandler(NULL)
    1.10  {
    1.11  }
    1.12  
    1.13  CBaseMenu::~CBaseMenu()
    1.14  {
    1.15 +	g_Menus.ReleaseVoteWrapper(m_pVoteHandler);
    1.16  }
    1.17  
    1.18  Handle_t CBaseMenu::GetHandle()
    1.19 @@ -647,3 +649,24 @@
    1.20  	delete this;
    1.21  }
    1.22  
    1.23 +bool CBaseMenu::BroadcastVote(int clients[], 
    1.24 +							  unsigned int numClients, 
    1.25 +							  unsigned int maxTime,
    1.26 +							  unsigned int flags)
    1.27 +{
    1.28 +	if (!m_pVoteHandler)
    1.29 +	{
    1.30 +		m_pVoteHandler = g_Menus.CreateVoteWrapper(m_pHandler);
    1.31 +	} else if (m_pVoteHandler->IsVoteInProgress()) {
    1.32 +		return false;
    1.33 +	}
    1.34 +
    1.35 +	m_pVoteHandler->InitializeVoting(this);
    1.36 +
    1.37 +	for (unsigned int i=0; i<numClients; i++)
    1.38 +	{
    1.39 +		VoteDisplay(clients[i], maxTime);
    1.40 +	}
    1.41 +
    1.42 +	m_pVoteHandler->StartVoting();
    1.43 +}