Arma Reforger Script API
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
SCR_VotingReferendum Interface Reference

Referendum about specific outcome. More...

Inheritance diagram for SCR_VotingReferendum:
[legend]

Public Member Functions

override void SetVote (int playerID, int value=DEFAULT_VALUE)
 Set vote of given player.
 
override bool RemoveVote (int playerID)
 Remove vote of given player.
 
override bool RemoveValue (int value)
 Remove all votes for given value.
 
override bool IsMatching (EVotingType type, int value=DEFAULT_VALUE)
 Check if the voting is matching given params.
 
override bool Evaluate (out EVotingOutcome outcome)
 Evaluate if the voting can end.
 
override int GetWinner ()
 Get winner of the vote.
 
override int GetPlayerVote (int playerID)
 
override int GetValue ()
 Get voting value.
 
override void Log ()
 
override void InitFromTemplate (SCR_VotingBase template, int value, float remainingDuration)
 Initialise voting from given template.
 
- Public Member Functions inherited from SCR_VotingBase
bool AddPlayerVotedServer (int playerID)
 A player has voted to approve (server only)
 
bool RemovePlayerVotedServer (int playerID)
 A player has voted to remove or abstain (server only)
 
void SetCurrentVoteCount (int currentVoteCount)
 Set the current amount of votes this vote has.
 
int GetCurrentVoteCount ()
 
int GetJoinServerVoteCooldown ()
 
int GetServerRuntimeIgnoreJoinServerCooldown ()
 
int GetVoteCooldownTime ()
 
bool HasCooldown ()
 
float GetLocalCooldownTimeStamp ()
 
void SetLocalCooldownTimeStamp (float newTimeStamp)
 Set the time stamp for cooldowns for this voting param[in] New Time stamp to set.
 
bool HasInitiatedVotingLocallyOnce ()
 
void SetHasInitiatedVotingLocallyOnce ()
 Set Has initiated voting locally at least once to true.
 
void SetVote (int playerID, int value=DEFAULT_VALUE)
 Set vote of given player.
 
bool RemoveVote (int playerID)
 Remove vote of given player.
 
bool RemoveValue (int value)
 Remove all votes for given value.
 
bool CanSendNotification (int value)
 Check if notification can be shown for this voting.
 
bool Evaluate (out EVotingOutcome outcome)
 Evaluate if the voting can end.
 
int GetWinner ()
 Get winner of the vote.
 
void OnVotingEnd (int value=DEFAULT_VALUE, int winner=DEFAULT_VALUE)
 Event called when the voting ends.
 
int GetPlayerVote (int playerID)
 
bool IsAvailable (int value, bool isOngoing)
 Check if the voting is available in the current world.
 
bool IsMatching (EVotingType type, int value=DEFAULT_VALUE)
 Check if the voting is matching given params.
 
void Log ()
 
string GetValueName (int value)
 Get name of the value.
 
EVotingType GetType ()
 Get voting type.
 
EVotingType GetValue ()
 Get voting value.
 
SCR_VotingUIInfo GetInfo ()
 Get voting UI representation.
 
float GetRemainingDuration ()
 
bool IsValuePlayerID ()
 Check if the voting is about player IDs.
 
void SetVoteLocal (int value)
 Save local vote.
 
void RemoveVoteLocal ()
 Remove local vote.
 
int GetLocalVote ()
 Get local vote.
 
void Update (float timeSlice)
 Periodically update the voting.
 
void InitFromTemplate (SCR_VotingBase template, int value, float remainingDuration)
 Initialise voting from given template.
 
int GetPlayerCount ()
 Get total player count of players that are valid to vote for the issue.
 
int GetVoteCountRequired ()
 Get total players needed to make sure the vote is successfull.
 

Protected Member Functions

float GetRatio ()
 
- Protected Member Functions inherited from SCR_VotingBase
bool EvaluateParticipation (int voteCount)
 

Protected Attributes

ref set< int > m_aPlayerIDs = new set<int>()
 
int m_iValue
 
- Protected Attributes inherited from SCR_VotingBase
EVotingType m_Type
 
bool m_bIsValuePlayerID
 
float m_fDuration
 
float m_fThreshold
 
float m_iMinParticipation
 
int m_iMinVotes
 
ref SCR_VotingUIInfo m_Info
 
int m_iJoinServerVoteCooldown
 
int m_iServerRuntimeIgnoreJoinServerCooldown
 
int m_iVoteCooldownTime
 
float m_fVoteCooldownTimeStamp = -1
 
bool m_bHasInitiatedVotingLocallyOnce
 
int m_iLocalValue = DEFAULT_VALUE
 
int m_iCurrentVoteCount
 
ref array< int > m_aPlayersVoted_Server = {}
 

Additional Inherited Members

- Static Public Attributes inherited from SCR_VotingBase
static const int DEFAULT_VALUE = -1
 

Detailed Description

Referendum about specific outcome.

Can have target value, e.g., player ID of whoever should be kicked. Multiple votings of the same type can exist at the same type, e.g., KICK player 1 and KICK player 2. The voting succeeds when proportion of votes is larger than given threshold and there was sufficient participation. If time runs out, the voting is invalid.

Member Function Documentation

◆ Evaluate()

override bool SCR_VotingReferendum.Evaluate ( out EVotingOutcome  outcome)

Evaluate if the voting can end.

Parameters
[out]outcomeOutcome of the vote (used only when returned value is true)
Returns
True if it can end

Implements SCR_VotingBase.

Implemented in SCR_VotingEditorIn, and SCR_VotingEditorWithdraw.

◆ GetPlayerVote()

override int SCR_VotingReferendum.GetPlayerVote ( int  playerID)
Parameters
[in]playerID
Returns

Implements SCR_VotingBase.

◆ GetRatio()

float SCR_VotingReferendum.GetRatio ( )
protected

◆ GetValue()

override int SCR_VotingReferendum.GetValue ( )

Get voting value.

Applicable only if the voting targets specific value, e.g., is referendum about certain outcome.

Returns
Value

Implements SCR_VotingBase.

◆ GetWinner()

override int SCR_VotingReferendum.GetWinner ( )

Get winner of the vote.

Returns
Winning value

Implements SCR_VotingBase.

◆ InitFromTemplate()

override void SCR_VotingReferendum.InitFromTemplate ( SCR_VotingBase  template,
int  value,
float  remainingDuration 
)

Initialise voting from given template.

Parameters
[in]templateSource template
[in]valueTarget value
[in]remainingDurationRemaining time until the voting ends in seconds (-1 to use default)

Implements SCR_VotingBase.

Implemented in SCR_VotingEditorIn, and SCR_VotingKick.

◆ IsMatching()

override bool SCR_VotingReferendum.IsMatching ( EVotingType  type,
int  value = DEFAULT_VALUE 
)

Check if the voting is matching given params.

Parameters
[in]typeVoting type
[in]valueVoting value
Returns

Implements SCR_VotingBase.

◆ Log()

override void SCR_VotingReferendum.Log ( )

Implements SCR_VotingBase.

◆ RemoveValue()

override bool SCR_VotingReferendum.RemoveValue ( int  value)

Remove all votes for given value.

Parameters
[in]valueValue
Returns

Implements SCR_VotingBase.

◆ RemoveVote()

override bool SCR_VotingReferendum.RemoveVote ( int  playerID)

Remove vote of given player.

Parameters
[in]playerIDPlayer ID
Returns
True if the voting should be cancelled

Implements SCR_VotingBase.

◆ SetVote()

override void SCR_VotingReferendum.SetVote ( int  playerID,
int  value = DEFAULT_VALUE 
)

Set vote of given player.

Parameters
[in]playerIDPlayer ID
[in]valueCast vote

Implements SCR_VotingBase.

Member Data Documentation

◆ m_aPlayerIDs

ref set<int> SCR_VotingReferendum.m_aPlayerIDs = new set<int>()
protected

◆ m_iValue

int SCR_VotingReferendum.m_iValue
protected

The documentation for this interface was generated from the following file: