bumped menu api again - added feature to get menu end reason

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401003
This commit is contained in:
David Anderson
2007-06-21 23:06:37 +00:00
parent 4a82ce501b
commit 58eedf6226
7 changed files with 50 additions and 17 deletions
+3 -3
View File
@@ -104,7 +104,7 @@ void VoteMenuHandler::EndVoting()
IBaseMenu *menu = m_pCurMenu;
InternalReset();
m_pHandler->OnMenuVoteCancel(menu);
m_pHandler->OnMenuEnd(menu);
m_pHandler->OnMenuEnd(menu, MenuEnd_VotingCancelled);
return;
}
@@ -163,7 +163,7 @@ void VoteMenuHandler::EndVoting()
picked_item:
m_pHandler->OnMenuVoteEnd(m_pCurMenu, chosen, m_Votes[highest], total);
m_pHandler->OnMenuEnd(m_pCurMenu);
m_pHandler->OnMenuEnd(m_pCurMenu, MenuEnd_VotingDone);
InternalReset();
}
@@ -172,7 +172,7 @@ void VoteMenuHandler::OnMenuStart(IBaseMenu *menu)
m_Clients++;
}
void VoteMenuHandler::OnMenuEnd(IBaseMenu *menu)
void VoteMenuHandler::OnMenuEnd(IBaseMenu *menu, MenuEndReason reason)
{
DecrementPlayerCount();
}
+1 -1
View File
@@ -33,7 +33,7 @@ public: //IMenuHandler
void OnMenuDisplay(IBaseMenu *menu, int client, IMenuPanel *display);
void OnMenuSelect(IBaseMenu *menu, int client, unsigned int item);
void OnMenuCancel(IBaseMenu *menu, int client, MenuCancelReason reason);
void OnMenuEnd(IBaseMenu *menu);
void OnMenuEnd(IBaseMenu *menu, MenuEndReason reason);
void OnMenuDrawItem(IBaseMenu *menu, int client, unsigned int item, unsigned int &style);
void OnMenuDisplayItem(IBaseMenu *menu, int client, unsigned int item, const char **display);
public: //IVoteMenuHandler
+13 -5
View File
@@ -84,7 +84,7 @@ void BaseMenuStyle::_CancelClientMenu(int client, bool bAutoIgnore/* =false */,
/* Only fire end if there's a valid menu */
if (menu)
{
mh->OnMenuEnd(menu);
mh->OnMenuEnd(menu, MenuEnd_Cancelled);
}
if (bAutoIgnore)
@@ -311,7 +311,15 @@ void BaseMenuStyle::ClientPressedKey(int client, unsigned int key_press)
/* Only fire end for valid menus */
if (menu)
{
mh->OnMenuEnd(menu);
MenuEndReason end_reason =
(cancel ?
MenuEnd_Selected
:
(reason == MenuCancel_Exit ?
MenuEnd_Exit
:
MenuEnd_Cancelled));
mh->OnMenuEnd(menu, end_reason);
}
}
@@ -392,7 +400,7 @@ bool BaseMenuStyle::DoClientMenu(int client, CBaseMenu *menu, IMenuHandler *mh,
g_Logger.LogMessage("[SM_MENU] DoClientMenu(): Failed to display to client %d", client);
#endif
mh->OnMenuCancel(menu, client, MenuCancel_NoDisplay);
mh->OnMenuEnd(menu);
mh->OnMenuEnd(menu, MenuEnd_Cancelled);
return false;
}
@@ -403,7 +411,7 @@ bool BaseMenuStyle::DoClientMenu(int client, CBaseMenu *menu, IMenuHandler *mh,
g_Logger.LogMessage("[SM_MENU] DoClientMenu(): Client %d is autoIgnoring", client);
#endif
mh->OnMenuCancel(menu, client, MenuCancel_NoDisplay);
mh->OnMenuEnd(menu);
mh->OnMenuEnd(menu, MenuEnd_Cancelled);
return false;
}
@@ -439,7 +447,7 @@ bool BaseMenuStyle::DoClientMenu(int client, CBaseMenu *menu, IMenuHandler *mh,
player->bAutoIgnore = false;
player->bInMenu = false;
mh->OnMenuCancel(menu, client, MenuCancel_NoDisplay);
mh->OnMenuEnd(menu);
mh->OnMenuEnd(menu, MenuEnd_Cancelled);
return false;
}
+1 -1
View File
@@ -147,7 +147,7 @@ bool ValveMenuStyle::DoClientMenu(int client, CBaseMenu *menu, IMenuHandler *mh,
{
mh->OnMenuStart(menu);
mh->OnMenuCancel(menu, client, MenuCancel_NoDisplay);
mh->OnMenuEnd(menu);
mh->OnMenuEnd(menu, MenuEnd_Cancelled);
return false;
}
+3 -3
View File
@@ -69,7 +69,7 @@ public:
void OnMenuDisplay(IBaseMenu *menu, int client, IMenuPanel *display);
void OnMenuSelect(IBaseMenu *menu, int client, unsigned int item);
void OnMenuCancel(IBaseMenu *menu, int client, MenuCancelReason reason);
void OnMenuEnd(IBaseMenu *menu);
void OnMenuEnd(IBaseMenu *menu, MenuEndReason reason);
void OnMenuDestroy(IBaseMenu *menu);
void OnMenuVoteStart(IBaseMenu *menu);
void OnMenuVoteEnd(IBaseMenu *menu,
@@ -279,9 +279,9 @@ void CMenuHandler::OnMenuCancel(IBaseMenu *menu, int client, MenuCancelReason re
DoAction(menu, MenuAction_Cancel, client, (cell_t)reason);
}
void CMenuHandler::OnMenuEnd(IBaseMenu *menu)
void CMenuHandler::OnMenuEnd(IBaseMenu *menu, MenuEndReason reason)
{
DoAction(menu, MenuAction_End, 0, 0);
DoAction(menu, MenuAction_End, reason, 0);
}
void CMenuHandler::OnMenuDestroy(IBaseMenu *menu)