DDraceNetwork Documentation
Loading...
Searching...
No Matches
voting.h
Go to the documentation of this file.
1/* (c) Magnus Auvinen. See licence.txt in the root of the distribution for more information. */
2/* If you are missing that file, acquire a complete release at teeworlds.com. */
3#ifndef GAME_CLIENT_COMPONENTS_VOTING_H
4#define GAME_CLIENT_COMPONENTS_VOTING_H
5
6#include <engine/console.h>
8
10#include <game/client/ui_rect.h>
11#include <game/voting.h>
12
13class CVoting : public CComponent
14{
16
17 static void ConCallvote(IConsole::IResult *pResult, void *pUserData);
18 static void ConVote(IConsole::IResult *pResult, void *pUserData);
19
20 int64_t m_Opentime;
21 int64_t m_Closetime;
27
31
34
35 void RemoveOption(const char *pDescription);
36 void ClearOptions();
37 void Callvote(const char *pType, const char *pValue, const char *pReason);
38
39 void RenderBars(CUIRect Bars) const;
40
41public:
42 CVoting();
43 int Sizeof() const override { return sizeof(*this); }
44 void OnReset() override;
45 void OnConsoleInit() override;
46 void OnMessage(int MsgType, void *pRawMsg) override;
47
48 void Render();
49
50 void CallvoteSpectate(int ClientId, const char *pReason, bool ForceVote = false);
51 void CallvoteKick(int ClientId, const char *pReason, bool ForceVote = false);
52 void CallvoteOption(int OptionId, const char *pReason, bool ForceVote = false);
53 void RemovevoteOption(int OptionId);
54 void AddvoteOption(const char *pDescription, const char *pCommand);
55 void AddOption(const char *pDescription);
56
57 void Vote(int v); // -1 = no, 1 = yes
58
59 int SecondsLeft() const;
60 bool IsVoting() const { return m_Closetime != 0; }
61 int TakenChoice() const { return m_Voted; }
62 const char *VoteDescription() const { return m_aDescription; }
63 const char *VoteReason() const { return m_aReason; }
64 bool IsReceivingOptions() const { return m_ReceivingOptions; }
65 int NumOptions() const { return m_NumVoteOptions; }
66 const CVoteOptionClient *FirstOption() const { return m_pFirst; }
67};
68
69#endif
Definition component.h:165
Definition memheap.h:11
Definition ui_rect.h:12
const char * VoteDescription() const
Definition voting.h:62
int m_Total
Definition voting.h:25
int Sizeof() const override
Definition voting.h:43
void Callvote(const char *pType, const char *pValue, const char *pReason)
Definition voting.cpp:32
CVoteOptionClient * m_pRecycleFirst
Definition voting.h:32
void OnConsoleInit() override
Definition voting.cpp:243
void ClearOptions()
Definition voting.cpp:221
CVoteOptionClient * m_pRecycleLast
Definition voting.h:33
void OnMessage(int MsgType, void *pRawMsg) override
Definition voting.cpp:249
void Vote(int v)
Definition voting.cpp:143
int m_Pass
Definition voting.h:25
void CallvoteKick(int ClientId, const char *pReason, bool ForceVote=false)
Definition voting.cpp:67
void RemovevoteOption(int OptionId)
Definition voting.cpp:111
const CVoteOptionClient * FirstOption() const
Definition voting.h:66
void AddOption(const char *pDescription)
Definition voting.cpp:160
bool IsVoting() const
Definition voting.h:60
void OnReset() override
Definition voting.cpp:233
const char * VoteReason() const
Definition voting.h:63
bool IsReceivingOptions() const
Definition voting.h:64
int TakenChoice() const
Definition voting.h:61
char m_aReason[VOTE_REASON_LENGTH]
Definition voting.h:23
CHeap m_Heap
Definition voting.h:15
int64_t m_Closetime
Definition voting.h:21
int64_t m_Opentime
Definition voting.h:20
void CallvoteSpectate(int ClientId, const char *pReason, bool ForceVote=false)
Definition voting.cpp:51
void RenderBars(CUIRect Bars) const
Definition voting.cpp:402
void Render()
Definition voting.cpp:337
void RemoveOption(const char *pDescription)
Definition voting.cpp:190
CVoting()
Definition voting.cpp:154
int NumOptions() const
Definition voting.h:65
static void ConCallvote(IConsole::IResult *pResult, void *pUserData)
Definition voting.cpp:17
void CallvoteOption(int OptionId, const char *pReason, bool ForceVote=false)
Definition voting.cpp:83
static void ConVote(IConsole::IResult *pResult, void *pUserData)
Definition voting.cpp:23
char m_aDescription[VOTE_DESC_LENGTH]
Definition voting.h:22
CVoteOptionClient * m_pLast
Definition voting.h:30
CVoteOptionClient * m_pFirst
Definition voting.h:29
void AddvoteOption(const char *pDescription, const char *pCommand)
Definition voting.cpp:131
bool m_ReceivingOptions
Definition voting.h:26
int m_No
Definition voting.h:25
int m_Yes
Definition voting.h:25
int m_NumVoteOptions
Definition voting.h:28
int m_Voted
Definition voting.h:24
int SecondsLeft() const
Definition voting.cpp:149
Definition console.h:64
Definition voting.h:16
@ VOTE_DESC_LENGTH
Definition voting.h:8
@ VOTE_REASON_LENGTH
Definition voting.h:10