diff -r c7b4237fff50 -r 03a67e41afbc core/MenuVoting.h --- a/core/MenuVoting.h Fri Mar 28 06:21:34 2008 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,99 +0,0 @@ -/** - * vim: set ts=4 : - * ============================================================================= - * SourceMod - * Copyright (C) 2004-2007 AlliedModders LLC. All rights reserved. - * ============================================================================= - * - * This program is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License, version 3.0, as published by the - * Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more - * details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - * - * As a special exception, AlliedModders LLC gives you permission to link the - * code of this program (as well as its derivative works) to "Half-Life 2," the - * "Source Engine," the "SourcePawn JIT," and any Game MODs that run on software - * by the Valve Corporation. You must obey the GNU General Public License in - * all respects for all other code used. Additionally, AlliedModders LLC grants - * this exception to all derivative works. AlliedModders LLC defines further - * exceptions, found in LICENSE.txt (as of this writing, version JULY-31-2007), - * or . - * - * Version: $Id$ - */ - -#ifndef _INCLUDE_SOURCEMOD_MENUVOTING_H_ -#define _INCLUDE_SOURCEMOD_MENUVOTING_H_ - -#include -#include -#include -#include "sm_globals.h" - -using namespace SourceHook; -using namespace SourceMod; - -class VoteMenuHandler : - public IMenuHandler, - public SMGlobalClass, - public IClientListener -{ -public: //SMGlobalClass - void OnSourceModAllInitialized(); - void OnSourceModShutdown(); - void OnSourceModLevelChange(const char *mapName); -public: //IClientListener - void OnClientDisconnected(int client); -public: //IMenuHandler - unsigned int GetMenuAPIVersion2(); - void OnMenuStart(IBaseMenu *menu); - void OnMenuDisplay(IBaseMenu *menu, int client, IMenuPanel *display); - void OnMenuSelect(IBaseMenu *menu, int client, unsigned int item); - void OnMenuSelect2(IBaseMenu *menu, int client, unsigned int item, unsigned int item_on_page); - void OnMenuCancel(IBaseMenu *menu, int client, MenuCancelReason reason); - void OnMenuEnd(IBaseMenu *menu, MenuEndReason reason); - void OnMenuDrawItem(IBaseMenu *menu, int client, unsigned int item, unsigned int &style); - unsigned int OnMenuDisplayItem(IBaseMenu *menu, int client, IMenuPanel *panel, unsigned int item, const ItemDrawInfo &dr); -public: - bool StartVote(IBaseMenu *menu, - unsigned int num_clients, - int clients[], - unsigned int max_time, - unsigned int flags=0); - bool IsVoteInProgress(); - void CancelVoting(); - IBaseMenu *GetCurrentMenu(); - bool IsCancelling(); - unsigned int GetRemainingVoteDelay(); -private: - void Reset(IMenuHandler *mh); - void DecrementPlayerCount(); - void EndVoting(); - void InternalReset(); - bool InitializeVoting(IBaseMenu *menu, - IMenuHandler *handler, - unsigned int time, - unsigned int flags); - void StartVoting(); -private: - IMenuHandler *m_pHandler; - unsigned int m_Clients; - unsigned int m_Items; - CVector m_Votes; - IBaseMenu *m_pCurMenu; - bool m_bStarted; - bool m_bCancelled; - unsigned int m_NumVotes; - unsigned int m_VoteTime; - unsigned int m_VoteFlags; - int m_ClientVotes[256+1]; -}; - -#endif //_INCLUDE_SOURCEMOD_MENUVOTING_H_