cleaned up menu vote code a bit

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401600
This commit is contained in:
David Anderson 2007-10-16 19:28:02 +00:00
parent f0dc4e996f
commit 54febbbc48
9 changed files with 28 additions and 8 deletions

View File

@ -53,7 +53,7 @@ public AdminMenu_VoteAllTalk(Handle:topmenu,
else if (action == TopMenuAction_DrawOption) else if (action == TopMenuAction_DrawOption)
{ {
/* disable this option if a vote is already running */ /* disable this option if a vote is already running */
buffer[0] = IsVoteInProgress() ? ITEMDRAW_IGNORE : ITEMDRAW_DEFAULT; buffer[0] = !IsNewVoteAllowed() ? ITEMDRAW_IGNORE : ITEMDRAW_DEFAULT;
} }
} }

View File

@ -54,7 +54,7 @@ public AdminMenu_VoteBurn(Handle:topmenu,
else if (action == TopMenuAction_DrawOption) else if (action == TopMenuAction_DrawOption)
{ {
/* disable this option if a vote is already running */ /* disable this option if a vote is already running */
buffer[0] = IsVoteInProgress() ? ITEMDRAW_IGNORE : ITEMDRAW_DEFAULT; buffer[0] = !IsNewVoteAllowed() ? ITEMDRAW_IGNORE : ITEMDRAW_DEFAULT;
} }
} }

View File

@ -52,7 +52,7 @@ public AdminMenu_VoteFF(Handle:topmenu,
else if (action == TopMenuAction_DrawOption) else if (action == TopMenuAction_DrawOption)
{ {
/* disable this option if a vote is already running */ /* disable this option if a vote is already running */
buffer[0] = IsVoteInProgress() ? ITEMDRAW_IGNORE : ITEMDRAW_DEFAULT; buffer[0] = !IsNewVoteAllowed() ? ITEMDRAW_IGNORE : ITEMDRAW_DEFAULT;
} }
} }

View File

@ -51,7 +51,7 @@ public AdminMenu_VoteGravity(Handle:topmenu,
else if (action == TopMenuAction_DrawOption) else if (action == TopMenuAction_DrawOption)
{ {
/* disable this option if a vote is already running */ /* disable this option if a vote is already running */
buffer[0] = IsVoteInProgress() ? ITEMDRAW_IGNORE : ITEMDRAW_DEFAULT; buffer[0] = !IsNewVoteAllowed() ? ITEMDRAW_IGNORE : ITEMDRAW_DEFAULT;
} }
} }

View File

@ -55,7 +55,7 @@ public AdminMenu_VoteSlay(Handle:topmenu,
else if (action == TopMenuAction_DrawOption) else if (action == TopMenuAction_DrawOption)
{ {
/* disable this option if a vote is already running */ /* disable this option if a vote is already running */
buffer[0] = IsVoteInProgress() ? ITEMDRAW_IGNORE : ITEMDRAW_DEFAULT; buffer[0] = !IsNewVoteAllowed() ? ITEMDRAW_IGNORE : ITEMDRAW_DEFAULT;
} }
} }

View File

@ -53,7 +53,7 @@ public AdminMenu_VoteBan(Handle:topmenu,
else if (action == TopMenuAction_DrawOption) else if (action == TopMenuAction_DrawOption)
{ {
/* disable this option if a vote is already running */ /* disable this option if a vote is already running */
buffer[0] = IsVoteInProgress() ? ITEMDRAW_IGNORE : ITEMDRAW_DEFAULT; buffer[0] = !IsNewVoteAllowed() ? ITEMDRAW_IGNORE : ITEMDRAW_DEFAULT;
} }
} }

View File

@ -52,7 +52,7 @@ public AdminMenu_VoteKick(Handle:topmenu,
else if (action == TopMenuAction_DrawOption) else if (action == TopMenuAction_DrawOption)
{ {
/* disable this option if a vote is already running */ /* disable this option if a vote is already running */
buffer[0] = IsVoteInProgress() ? ITEMDRAW_IGNORE : ITEMDRAW_DEFAULT; buffer[0] = !IsNewVoteAllowed() ? ITEMDRAW_IGNORE : ITEMDRAW_DEFAULT;
} }
} }

View File

@ -50,9 +50,11 @@ public MenuHandler_Confirm(Handle:menu, MenuAction:action, param1, param2)
if (action == MenuAction_End) if (action == MenuAction_End)
{ {
CloseHandle(menu); CloseHandle(menu);
g_VoteMapInUse = false;
} }
else if (action == MenuAction_Cancel) else if (action == MenuAction_Cancel)
{ {
g_VoteMapInUse = false;
if (param2 == MenuCancel_ExitBack && hTopMenu != INVALID_HANDLE) if (param2 == MenuCancel_ExitBack && hTopMenu != INVALID_HANDLE)
{ {
DisplayTopMenu(hTopMenu, param1, TopMenuPosition_LastCategory); DisplayTopMenu(hTopMenu, param1, TopMenuPosition_LastCategory);
@ -144,7 +146,7 @@ public AdminMenu_VoteMap(Handle:topmenu,
else if (action == TopMenuAction_DrawOption) else if (action == TopMenuAction_DrawOption)
{ {
/* disable this option if a vote is already running, theres no maps listed or someone else has already acessed this menu */ /* disable this option if a vote is already running, theres no maps listed or someone else has already acessed this menu */
buffer[0] = (IsVoteInProgress() || g_mapCount < 1 || g_VoteMapInUse) ? ITEMDRAW_DISABLED : ITEMDRAW_DEFAULT; buffer[0] = (!IsNewVoteAllowed() || g_mapCount < 1 || g_VoteMapInUse) ? ITEMDRAW_IGNORE : ITEMDRAW_DEFAULT;
} }
} }

View File

@ -731,3 +731,21 @@ stock GetMenuVoteInfo(param2, &winningVotes, &totalVotes)
winningVotes = param2 & 0xFFFF; winningVotes = param2 & 0xFFFF;
totalVotes = param2 >> 16; totalVotes = param2 >> 16;
} }
/**
* Quick stock to determine whether voting is allowed. This doesn't let you
* fine-tune a reason for not voting, so it's not recommended for lazily
* telling clients that voting isn't allowed.
*
* @return True if voting is allowed, false if voting is in progress
* or the cooldown is active.
*/
stock bool:IsNewVoteAllowed()
{
if (IsVoteInProgress() || CheckVoteDelay() != 0)
{
return false;
}
return true;
}