OpenClonk
C4GameLobby::C4PacketCountdown Class Reference

#include <C4GameLobby.h>

Inheritance diagram for C4GameLobby::C4PacketCountdown:
[legend]
Collaboration diagram for C4GameLobby::C4PacketCountdown:
[legend]

Public Types

enum  { Abort = -1 }
 

Public Member Functions

 C4PacketCountdown (int32_t iaCountdown)
 
 C4PacketCountdown ()=default
 
bool IsAbort () const
 
int32_t GetCountdown () const
 
StdStrBuf GetCountdownMsg (bool fInitialMsg=false) const
 
void CompileFunc (StdCompiler *pComp) override
 
C4NetIOPacket pack (const C4NetIO::addr_t &addr=C4NetIO::addr_t()) const
 
C4NetIOPacket pack (uint8_t cStatus, const C4NetIO::addr_t &addr=C4NetIO::addr_t()) const
 
void unpack (const C4NetIOPacket &Pkt, char *pStatus=nullptr)
 

Detailed Description

Definition at line 33 of file C4GameLobby.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
Abort 

Definition at line 38 of file C4GameLobby.h.

Constructor & Destructor Documentation

◆ C4PacketCountdown() [1/2]

C4GameLobby::C4PacketCountdown::C4PacketCountdown ( int32_t  iaCountdown)
inline

Definition at line 40 of file C4GameLobby.h.

References C4PacketCountdown().

40 : iCountdown(iaCountdown) { } // ctor
Here is the call graph for this function:

◆ C4PacketCountdown() [2/2]

C4GameLobby::C4PacketCountdown::C4PacketCountdown ( )
default

Referenced by C4PacketCountdown().

Here is the caller graph for this function:

Member Function Documentation

◆ CompileFunc()

void C4GameLobby::C4PacketCountdown::CompileFunc ( StdCompiler pComp)
overridevirtual

Implements C4PacketBase.

Definition at line 40 of file C4GameLobby.cpp.

References mkNamingAdapt(), and StdCompiler::Value().

Referenced by GetCountdown(), and C4GameLobby::C4PacketSetScenarioParameter::GetValue().

41  {
42  pComp->Value(mkNamingAdapt(iCountdown, "Countdown", 0));
43  }
StdNamingAdapt< T > mkNamingAdapt(T &&rValue, const char *szName)
Definition: StdAdaptors.h:92
void Value(const T &rStruct)
Definition: StdCompiler.h:161
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetCountdown()

int32_t C4GameLobby::C4PacketCountdown::GetCountdown ( ) const
inline

Definition at line 44 of file C4GameLobby.h.

References CompileFunc(), and GetCountdownMsg().

Referenced by C4GameLobby::MainDlg::OnCountdownPacket().

44 { return iCountdown; }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetCountdownMsg()

StdStrBuf C4GameLobby::C4PacketCountdown::GetCountdownMsg ( bool  fInitialMsg = false) const

Definition at line 45 of file C4GameLobby.cpp.

References C4GameLobby::AlmostStartCountdownTime, FormatString(), and LoadResStr().

Referenced by GetCountdown(), C4GameLobby::MainDlg::OnCountdownPacket(), and C4GameLobby::Countdown::OnSec1Timer().

46  {
47  const char *szCountdownMsg;
48  if (iCountdown < AlmostStartCountdownTime && !fInitialMsg) szCountdownMsg = "%d..."; else szCountdownMsg = LoadResStr("IDS_PRC_COUNTDOWN");
49  return FormatString(szCountdownMsg, (int)iCountdown);
50  }
const char * LoadResStr(const char *id)
Definition: C4Language.h:83
const int32_t AlmostStartCountdownTime
Definition: C4GameLobby.h:27
StdStrBuf FormatString(const char *szFmt,...)
Definition: StdBuf.cpp:270
Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsAbort()

bool C4GameLobby::C4PacketCountdown::IsAbort ( ) const
inline

Definition at line 43 of file C4GameLobby.h.

References Abort.

Referenced by C4GameLobby::MainDlg::OnCountdownPacket().

43 { return iCountdown == Abort; }
Here is the caller graph for this function:

◆ pack() [1/2]

C4NetIOPacket C4PacketBase::pack ( const C4NetIO::addr_t addr = C4NetIO::addr_t()) const
inherited

Definition at line 150 of file C4Packet2.cpp.

Referenced by MkC4NetIOPacket().

151 {
152  return C4NetIOPacket(DecompileToBuf<StdCompilerBinWrite>(*this), addr);
153 }
Here is the caller graph for this function:

◆ pack() [2/2]

C4NetIOPacket C4PacketBase::pack ( uint8_t  cStatus,
const C4NetIO::addr_t addr = C4NetIO::addr_t() 
) const
inherited

Definition at line 155 of file C4Packet2.cpp.

References mkDecompileAdapt(), and mkInsertAdapt().

156 {
157  return C4NetIOPacket(DecompileToBuf<StdCompilerBinWrite>(mkInsertAdapt(mkDecompileAdapt(*this), cStatus)), addr);
158 }
StdDecompileAdapt< T > mkDecompileAdapt(const T &rValue)
Definition: StdAdaptors.h:153
StdInsertAdapt< T, I > mkInsertAdapt(T &&rObj, I &&rIns, bool fBefore=true)
Definition: StdAdaptors.h:455
Here is the call graph for this function:

◆ unpack()

void C4PacketBase::unpack ( const C4NetIOPacket Pkt,
char *  pStatus = nullptr 
)
inherited

Definition at line 160 of file C4Packet2.cpp.

References C4PktBuf::C4PktBuf(), C4NetIOPacket::getPBuf(), C4NetIOPacket::getRef(), and C4NetIOPacket::getStatus().

Referenced by C4IDPacket::C4IDPacket(), and C4Network2IO::HandlePacket().

161 {
162  if (pStatus) *pStatus = Pkt.getStatus();
163  CompileFromBuf<StdCompilerBinRead>(*this, pStatus ? Pkt.getPBuf() : Pkt.getRef());
164 }
uint8_t getStatus() const
Definition: C4NetIO.h:318
StdBuf getPBuf() const
Definition: C4NetIO.h:321
C4NetIOPacket getRef() const
Definition: C4NetIO.h:324
Here is the call graph for this function:
Here is the caller graph for this function:

The documentation for this class was generated from the following files: