EvEmu  0.8.4
11 September 2021
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Timer Class Reference

#include "timer.h"

Public Member Functions

 Timer (uint32 time=0, bool useAcurateTiming=false)
 
 Timer (uint32 startAt, uint32 time, bool useAcurateTiming=false)
 
 ~Timer ()
 
void Enable ()
 
void Disable ()
 
const uint32GetSetAtTrigger ()
 
bool Enabled () const
 
uint32 GetStartTime () const
 
uint32 GetDuration () const
 
void Trigger ()
 
void SetTimer (uint32 setTimerTime=0)
 
void Start (uint32 setTimerTime=0, bool changeResetTimer=true)
 
void SetAtTrigger (uint32 setAtTrigger, bool enableIfDisabled=false)
 
bool TimerFinished ()
 
bool Check (bool reset=true)
 
uint32 GetRemainingTime () const
 
uint32 GetCurrentTime ()
 

Static Public Member Functions

static const void SetCurrentTime ()
 

Private Attributes

bool m_enabled
 
bool m_useAcurateTiming
 
uint32 m_duration
 
uint32 m_startTime
 
uint32 m_setAtTrigger
 

Detailed Description

Definition at line 30 of file timer.h.

Constructor & Destructor Documentation

Timer::Timer ( uint32  time = 0,
bool  useAcurateTiming = false 
)

Definition at line 37 of file timer.cpp.

References currentTime, m_duration, m_enabled, m_setAtTrigger, m_startTime, and m_useAcurateTiming.

37  {
38  m_duration = time;
40  m_setAtTrigger = time;
41  m_useAcurateTiming = useAcurateTiming;
42 
43  if (time)
44  m_enabled = true;
45  else
46  m_enabled = false;
47 }
uint32 m_setAtTrigger
Definition: timer.h:66
bool m_useAcurateTiming
Definition: timer.h:62
bool m_enabled
Definition: timer.h:60
uint32 m_startTime
Definition: timer.h:65
uint32 m_duration
Definition: timer.h:64
static uint32 currentTime
Definition: timer.cpp:33
Timer::Timer ( uint32  startAt,
uint32  time,
bool  useAcurateTiming = false 
)

Definition at line 49 of file timer.cpp.

References m_duration, m_enabled, m_setAtTrigger, m_startTime, and m_useAcurateTiming.

49  {
50  m_duration = time;
51  m_startTime = startAt;
52  m_setAtTrigger = time;
53  m_useAcurateTiming = useAcurateTiming;
54 
55  if (time)
56  m_enabled = true;
57  else
58  m_enabled = false;
59 }
uint32 m_setAtTrigger
Definition: timer.h:66
bool m_useAcurateTiming
Definition: timer.h:62
bool m_enabled
Definition: timer.h:60
uint32 m_startTime
Definition: timer.h:65
uint32 m_duration
Definition: timer.h:64
Timer::~Timer ( )
inline

Definition at line 36 of file timer.h.

36 { /* do nothing here */ }

Member Function Documentation

bool Timer::Check ( bool  reset = true)

Definition at line 62 of file timer.cpp.

References currentTime, m_duration, m_enabled, m_setAtTrigger, m_startTime, and m_useAcurateTiming.

Referenced by SentryAI::Attack(), DroneAIMgr::Attack(), NPCAIMgr::Attack(), ConcordAI::Attack(), Client::IsJetcanAvalible(), SentryAI::Process(), ActiveModule::Process(), SpawnMgr::Process(), AnomalyMgr::Process(), WormholeMgr::Process(), BeltMgr::Process(), MarketBotMgr::Process(), Missile::Process(), Colony::Process(), BubbleManager::Process(), SystemBubble::Process(), NPCAIMgr::Process(), EntityList::Process(), AsteroidSE::Process(), ConcordAI::Process(), StructureSE::Process(), ContainerSE::Process(), WreckSE::Process(), ShipSE::Process(), Client::ProcessClient(), SystemManager::ProcessTic(), ProbeSE::ProcessTic(), and EVETCPConnection::RecvData().

63 {
64  if (m_enabled)
66  if (reset) {
68  m_startTime += m_duration; /* set start time to end of last timer */
69  else
70  m_startTime = currentTime; /* set start time to now */
72  } else
73  m_enabled = false;
74  return true;
75  }
76 
77  return false;
78 }
uint32 m_setAtTrigger
Definition: timer.h:66
bool m_useAcurateTiming
Definition: timer.h:62
bool m_enabled
Definition: timer.h:60
uint32 m_startTime
Definition: timer.h:65
uint32 m_duration
Definition: timer.h:64
static uint32 currentTime
Definition: timer.cpp:33

Here is the caller graph for this function:

void Timer::Disable ( )
inline
void Timer::Enable ( )
inline

Definition at line 38 of file timer.h.

References m_enabled.

Referenced by SetAtTrigger().

38 { m_enabled = true; }
bool m_enabled
Definition: timer.h:60

Here is the caller graph for this function:

uint32 Timer::GetCurrentTime ( )

Definition at line 134 of file timer.cpp.

References currentTime.

Referenced by Client::ProcessClient(), Client::SetBallParkTimer(), Client::SetCloakTimer(), Client::SetInvulTimer(), Client::SetStateTimer(), and Client::SetUncloakTimer().

134  {
135  return currentTime;
136 }
static uint32 currentTime
Definition: timer.cpp:33

Here is the caller graph for this function:

uint32 Timer::GetDuration ( ) const
inline

Definition at line 43 of file timer.h.

References m_duration.

43 { return m_duration; }
uint32 m_duration
Definition: timer.h:64
uint32 Timer::GetRemainingTime ( ) const
const uint32& Timer::GetSetAtTrigger ( )
inline

Definition at line 40 of file timer.h.

References m_setAtTrigger.

40 { return m_setAtTrigger; }
uint32 m_setAtTrigger
Definition: timer.h:66
uint32 Timer::GetStartTime ( ) const
inline

Definition at line 42 of file timer.h.

References m_startTime.

42 { return m_startTime; }
uint32 m_startTime
Definition: timer.h:65
void Timer::SetAtTrigger ( uint32  setAtTrigger,
bool  enableIfDisabled = false 
)

Definition at line 122 of file timer.cpp.

References Enable(), m_enabled, and m_setAtTrigger.

122  {
123  m_setAtTrigger = setAtTrigger;
124  if (!m_enabled && enableIfDisabled)
125  Enable();
126 }
uint32 m_setAtTrigger
Definition: timer.h:66
bool m_enabled
Definition: timer.h:60
void Enable()
Definition: timer.h:38

Here is the call graph for this function:

const void Timer::SetCurrentTime ( )
static

Definition at line 138 of file timer.cpp.

References currentTime, GetSteadyTime(), and lastTime.

Referenced by main().

139 {
140  int64 tickCount = GetSteadyTime();
141  if (lastTime == 0)
142  currentTime = 0;
143  else
144  currentTime += (tickCount - lastTime);
145  lastTime = tickCount;
146  //currentSeconds = (tickCount / 1000);
147 }
int64 GetSteadyTime()
Definition: utils_time.cpp:95
static int64 lastTime
Definition: timer.cpp:35
signed __int64 int64
Definition: eve-compat.h:51
static uint32 currentTime
Definition: timer.cpp:33

Here is the call graph for this function:

Here is the caller graph for this function:

void Timer::SetTimer ( uint32  setTimerTime = 0)

Definition at line 102 of file timer.cpp.

References currentTime, m_duration, m_enabled, m_setAtTrigger, and m_startTime.

Referenced by StructureSE::Activate(), StructureSE::Deactivate(), StructureSE::PullAnchor(), StructureSE::SetAnchor(), and StructureSE::SetTimer().

102  {
103  /* If we were disabled before => restart the timer */
104  if (!m_enabled) {
106  m_enabled = true;
107  }
108  if (setTimerTime) {
109  m_duration = setTimerTime;
110  m_setAtTrigger = setTimerTime;
111  }
112 }
uint32 m_setAtTrigger
Definition: timer.h:66
bool m_enabled
Definition: timer.h:60
uint32 m_startTime
Definition: timer.h:65
uint32 m_duration
Definition: timer.h:64
static uint32 currentTime
Definition: timer.cpp:33

Here is the caller graph for this function:

void Timer::Start ( uint32  setTimerTime = 0,
bool  changeResetTimer = true 
)

Definition at line 81 of file timer.cpp.

References currentTime, m_duration, m_enabled, m_setAtTrigger, and m_startTime.

Referenced by SystemManager::BootSystem(), SentryAI::CheckDistance(), DroneAIMgr::CheckDistance(), ConcordAI::CheckDistance(), EVETCPConnection::ClearBuffers(), ConcordAI::ConcordAI(), ContainerSE::ContainerSE(), DroneAIMgr::DroneAIMgr(), AnomalyMgr::Init(), BeltMgr::Init(), WormholeMgr::Initialize(), BubbleManager::Initialize(), EntityList::Initialize(), ActiveModule::LoadCharge(), Colony::LoadPlants(), Missile::Missile(), Client::MoveToLocation(), ProbeSE::ProbeSE(), SentryAI::Process(), NPCAIMgr::Process(), EVETCPConnection::ProcessReceivedData(), ProbeSE::RecoverProbe(), SentryAI::SentryAI(), Client::SetBallPark(), Client::SetBallParkTimer(), Client::SetCloakTimer(), Missile::SetHitTimer(), NPCAIMgr::SetIdle(), Client::SetInvulTimer(), Colony::SetProgramResults(), Client::SetScanTimer(), Colony::SetSchematic(), Client::SetSessionTimer(), SystemBubble::SetSpawnTimer(), Client::SetStateTimer(), ActiveModule::SetTimer(), Client::SetUncloakTimer(), ShipSE::ShipSE(), Client::StartJetcanTimer(), SpawnMgr::StartRatGroupTimer(), SpawnMgr::StartRatTimer(), ProbeSE::StartStateTimer(), TargetManager::StartTargeting(), NPCAIMgr::Target(), NPCAIMgr::Targeted(), and ProbeSE::UpdateProbe().

81  {
82  if (setTimerTime == 0) {
83  m_enabled = false;
84  return;
85  }
86 
87  if (m_enabled) { // this will allow resetting of the time without changing the start time
88  if (m_duration != setTimerTime)
89  m_duration = setTimerTime;
90  } else {
92  m_duration = setTimerTime;
93  }
94 
95  if (changeResetTimer)
96  m_setAtTrigger = setTimerTime;
97 
98  m_enabled = true;
99 }
uint32 m_setAtTrigger
Definition: timer.h:66
bool m_enabled
Definition: timer.h:60
uint32 m_startTime
Definition: timer.h:65
uint32 m_duration
Definition: timer.h:64
static uint32 currentTime
Definition: timer.cpp:33

Here is the caller graph for this function:

bool Timer::TimerFinished ( )
void Timer::Trigger ( )

Definition at line 128 of file timer.cpp.

References currentTime, m_duration, m_enabled, m_setAtTrigger, and m_startTime.

128  {
129  m_enabled = true;
132 }
uint32 m_setAtTrigger
Definition: timer.h:66
bool m_enabled
Definition: timer.h:60
uint32 m_startTime
Definition: timer.h:65
uint32 m_duration
Definition: timer.h:64
static uint32 currentTime
Definition: timer.cpp:33

Member Data Documentation

uint32 Timer::m_duration
private

Definition at line 64 of file timer.h.

Referenced by Check(), GetDuration(), GetRemainingTime(), SetTimer(), Start(), Timer(), and Trigger().

bool Timer::m_enabled
private
uint32 Timer::m_setAtTrigger
private

Definition at line 66 of file timer.h.

Referenced by Check(), GetSetAtTrigger(), SetAtTrigger(), SetTimer(), Start(), Timer(), and Trigger().

uint32 Timer::m_startTime
private

Definition at line 65 of file timer.h.

Referenced by Check(), GetRemainingTime(), GetStartTime(), SetTimer(), Start(), Timer(), and Trigger().

bool Timer::m_useAcurateTiming
private

Definition at line 62 of file timer.h.

Referenced by Check(), and Timer().


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