ManaPlus
Public Member Functions | Private Attributes
KillStats Class Reference

#include <killstats.h>

Inheritance diagram for KillStats:
Window ActionListener AttributeListener BasicContainer2 MouseListener WidgetListener BasicContainer Widget WidgetDeathListener Widget2

Public Member Functions

 KillStats ()
 
 ~KillStats ()
 
void action (const ActionEvent &event)
 
void gainXp (int64_t Xp)
 
void recalcStats ()
 
void update ()
 
void resetTimes ()
 
void attributeChanged (const AttributesT id, const int64_t oldVal, const int64_t newVal)
 
- Public Member Functions inherited from Window
 Window (const std::string &caption="Window", const Modal modal=Modal_false, Window *const parent=0, std::string skin="")
 
virtual ~Window ()
 
void draw (Graphics *const graphics)
 
void safeDraw (Graphics *const graphics)
 
void setContentSize (int width, int height)
 
void setLocationRelativeTo (const Widget *const widget)
 
void setLocationHorisontallyRelativeTo (const Widget *const widget)
 
void setLocationRelativeTo (const ImagePosition::Type &position, int offsetX=0, int offsetY=0)
 
void setResizable (const bool resize)
 
void redraw ()
 
void widgetResized (const Event &event)
 
void widgetMoved (const Event &event)
 
void widgetHidden (const Event &event)
 
void setCloseButton (const bool flag)
 
bool getCloseButton () const
 
void setAllowClose (const bool b)
 
bool getAlowClose () const
 
bool isResizable () const
 
void setMinWidth (const int width)
 
int getMinWidth () const
 
void setMinHeight (const int height)
 
int getMinHeight () const
 
void setMaxWidth (const int width)
 
int getMaxWidth () const
 
void setMaxHeight (const int height)
 
int getMaxHeight () const
 
void setShowTitle (bool flag)
 
void setStickyButton (const bool flag)
 
void setSticky (const bool sticky)
 
bool isSticky () const
 
void setStickyButtonLock (const bool sticky)
 
bool isStickyButtonLock () const
 
virtual void setVisible (Visible visible)
 
void setVisible (const Visible visible, const bool forceSticky)
 
bool isDefaultVisible () const
 
void setDefaultVisible (const bool save)
 
bool willSaveVisible () const
 
void setSaveVisible (const bool save)
 
void postInit ()
 
WindowgetParentWindow () const
 
virtual void scheduleDelete ()
 
void mousePressed (MouseEvent &event)
 
void mouseDragged (MouseEvent &event)
 
void mouseMoved (MouseEvent &event)
 
void mouseReleased (MouseEvent &event)
 
void mouseExited (MouseEvent &event)
 
void mouseEntered (MouseEvent &event)
 
void updateResizeHandler (MouseEvent &event)
 
void setWindowName (const std::string &name)
 
const std::string & getWindowName () const
 
void loadWindowState ()
 
void saveWindowState ()
 
void setDefaultSize (const int defaultX, const int defaultY, int defaultWidth, int defaultHeight)
 
void setDefaultSize ()
 
void setDefaultSize (const int defaultWidth, const int defaultHeight, const ImagePosition::Type &position, const int offsetx=0, const int offsetY=0)
 
virtual void resetToDefaultSize ()
 
void adjustPositionAfterResize (const int oldScreenWidth, const int oldScreenHeight)
 
LayoutgetLayout ()
 
void clearLayout ()
 
void reflowLayout (int w=0, int h=0)
 
LayoutCellplace (const int x, const int y, Widget *const wg, const int w=1, const int h=1)
 
ContainerPlacer getPlacer (const int x, const int y)
 
void center ()
 
void centerHorisontally ()
 
virtual void close ()
 
void setModal (const Modal modal)
 
Rect getWindowArea () const
 
bool isResizeAllowed (const MouseEvent &event) const
 
void setCaptionFont (Font *font)
 
void enableVisibleSound (bool b)
 
bool isWindowVisible () const
 
void setPadding (int padding)
 
int getPadding () const
 
void setTitleBarHeight (unsigned int height)
 
unsigned int getTitleBarHeight () const
 
void setCaption (const std::string &caption)
 
const std::string & getCaption () const
 
void setAlignment (Graphics::Alignment alignment)
 
Graphics::Alignment getAlignment () const
 
void setMovable (Move movable)
 
bool isMovable () const
 
Rect getChildrenArea ()
 
virtual void resizeToContent ()
 
- Public Member Functions inherited from BasicContainer2
 BasicContainer2 (const Widget2 *const widget)
 
virtual ~BasicContainer2 ()
 
void setOpaque (Opaque opaque)
 
bool isOpaque () const
 
virtual void add (Widget *const widget)
 
void addXY (Widget *const widget, const int x, const int y)
 
- Public Member Functions inherited from BasicContainer
 BasicContainer (const Widget2 *const widget)
 
virtual ~BasicContainer ()
 
void showWidgetPart (Widget *const widget, const Rect &area)
 
void moveToTop (Widget *const widget)
 
void moveToBottom (Widget *const widget)
 
void focusNext ()
 
void focusPrevious ()
 
void logic ()
 
void setFocusHandler (FocusHandler *const focusHandler)
 
void setInternalFocusHandler (FocusHandler *const focusHandler)
 
WidgetgetWidgetAt (int x, int y)
 
void death (const Event &event)
 
WidgetfindFirstWidget (const std::set< Widget *> &list)
 
void add (Widget *const widget)
 
virtual void remove (Widget *const widget)
 
virtual void clear ()
 
- Public Member Functions inherited from Widget
 Widget (const Widget2 *const widget)
 
virtual ~Widget ()
 
virtual void drawFrame (Graphics *graphics)
 
virtual void safeDrawFrame (Graphics *graphics)
 
void setFrameSize (const unsigned int frameSize)
 
unsigned int getFrameSize () const
 
WidgetgetParent () const
 
void setWidth (const int width)
 
int getWidth () const
 
void setHeight (const int height)
 
int getHeight () const
 
void setSize (const int width, const int height)
 
void setX (const int x)
 
int getX () const
 
void setY (const int y)
 
int getY () const
 
void setPosition (const int x, const int y)
 
void setDimension (const Rect &dimension)
 
const RectgetDimension () const
 
void setFocusable (const bool focusable)
 
bool isFocusable () const
 
virtual bool isFocused () const
 
void setEnabled (const bool enabled)
 
bool isEnabled () const
 
void setVisible (Visible visible)
 
bool isVisible () const
 
void setBaseColor (const Color &color)
 
const ColorgetBaseColor () const
 
void setForegroundColor (const Color &color)
 
const ColorgetForegroundColor () const
 
void setBackgroundColor (const Color &color)
 
const ColorgetBackgroundColor () const
 
virtual void requestFocus ()
 
virtual void requestMoveToTop ()
 
virtual void requestMoveToBottom ()
 
FocusHandlergetFocusHandler ()
 
void addActionListener (ActionListener *const actionListener)
 
void removeActionListener (ActionListener *const actionListener)
 
void addDeathListener (WidgetDeathListener *const deathListener)
 
void removeDeathListener (WidgetDeathListener *const deathListener)
 
void addMouseListener (MouseListener *const mouseListener)
 
void removeMouseListener (MouseListener *const mouseListener)
 
void addKeyListener (KeyListener *const keyListener)
 
void removeKeyListener (KeyListener *const keyListener)
 
void addFocusListener (FocusListener *const focusListener)
 
void removeFocusListener (FocusListener *const focusListener)
 
void addWidgetListener (WidgetListener *const widgetListener)
 
void removeWidgetListener (WidgetListener *const widgetListener)
 
void setActionEventId (const std::string &actionEventId)
 
const std::string & getActionEventId () const
 
virtual void getAbsolutePosition (int &x, int &y) const
 
virtual void setParent (Widget *parent)
 
FontgetFont () const
 
void setFont (Font *const font)
 
virtual void fontChanged ()
 
bool isTabInEnabled () const
 
void setTabInEnabled (const bool enabled)
 
bool isTabOutEnabled () const
 
void setTabOutEnabled (const bool enabled)
 
void requestModalFocus ()
 
virtual void requestModalMouseInputFocus ()
 
virtual void releaseModalFocus ()
 
virtual void releaseModalMouseInputFocus ()
 
virtual bool isModalFocused () const
 
virtual bool isModalMouseInputFocused () const
 
const std::list< MouseListener * > & getMouseListeners () const A_CONST
 
const std::list< KeyListener * > & getKeyListeners () const A_CONST
 
const std::list< FocusListener * > & getFocusListeners () const A_CONST
 
virtual FocusHandlergetInternalFocusHandler ()
 
void setInternalFocusHandler (FocusHandler *const internalFocusHandler)
 
void setId (const std::string &id)
 
const std::string & getId () const
 
virtual void showPart (const Rect &rectangle)
 
bool isAllowLogic () const
 
void setMouseConsume (const bool b)
 
bool isMouseConsume () const
 
void setRedraw (const bool b)
 
virtual bool isSelectable () const
 
void setSelectable (const bool selectable)
 
void windowResized ()
 
- Public Member Functions inherited from Widget2
virtual ~Widget2 ()
 
const ColorgetThemeColor (const ThemeColorIdT type, const unsigned int alpha=255U) const A_INLINE
 
const ColorgetThemeCharColor (const signed char c, bool &valid) const A_INLINE
 
virtual void setWidget2 (const Widget2 *const widget)
 
void setPalette (int palette)
 
void checkPalette ()
 
void setForegroundColor2 (const Color &color)
 
WidgetgetWindow () const
 
virtual void setWindow (Widget *const window)
 
- Public Member Functions inherited from WidgetDeathListener
virtual ~WidgetDeathListener ()
 
- Public Member Functions inherited from MouseListener
virtual ~MouseListener ()
 
virtual void mouseClicked (MouseEvent &event)
 
virtual void mouseWheelMovedUp (MouseEvent &event)
 
virtual void mouseWheelMovedDown (MouseEvent &event)
 
- Public Member Functions inherited from WidgetListener
virtual ~WidgetListener ()
 
virtual void widgetShown (const Event &event)
 
- Public Member Functions inherited from ActionListener
virtual ~ActionListener ()
 
- Public Member Functions inherited from AttributeListener
 AttributeListener ()
 
virtual ~ AttributeListener ()
 

Private Attributes

time_t mKillTimer
 
ButtonmResetButton
 
ButtonmTimerButton
 
LabelmLine1
 
LabelmLine2
 
LabelmLine3
 
LabelmLine4
 
LabelmLine5
 
LabelmLine6
 
LabelmLine7
 
LabelmExpSpeed1Label
 
LabelmExpTime1Label
 
LabelmExpSpeed5Label
 
LabelmExpTime5Label
 
LabelmExpSpeed15Label
 
LabelmExpTime15Label
 
LabelmLastKillExpLabel
 
int mKillCounter
 
int64_t mExpCounter
 
int mKillTCounter
 
int64_t mExpTCounter
 
time_t m1minExpTime
 
int64_t m1minExpNum
 
int m1minSpeed
 
time_t m5minExpTime
 
int64_t m5minExpNum
 
int m5minSpeed
 
time_t m15minExpTime
 
int64_t m15minExpNum
 
int m15minSpeed
 

Additional Inherited Members

- Static Public Member Functions inherited from Window
static void setWindowContainer (WindowContainer *const windowContainer)
 
- Static Public Member Functions inherited from Widget
static void setGlobalFont (Font *const font)
 
static FontgetGloablFont ()
 
static void cleanGlobalFont ()
 
static bool widgetExists (const Widget *const widget)
 
static void distributeWindowResizeEvent ()
 
static WidgetcallPostInit (Widget *const widget)
 
- Static Public Member Functions inherited from AttributeListener
static void distributeEvent (const AttributesT id, const int64_t oldVal, const int64_t newVal)
 
static void addListener (AttributeListener *const listener)
 
static void removeListener (const AttributeListener *const listener)
 
- Data Fields inherited from Widget
Visible mVisible
 
- Protected Types inherited from BasicContainer
typedef std::vector< Widget * > WidgetList
 
typedef WidgetList::iterator WidgetListIterator
 
typedef WidgetList::const_iterator WidgetListConstIterator
 
typedef WidgetList::reverse_iterator WidgetListReverseIterator
 
typedef WidgetList::const_reverse_iterator WidgetListCReverseIterator
 
- Protected Types inherited from Widget
typedef std::list< MouseListener * > MouseListenerList
 
typedef MouseListenerList::iterator MouseListenerIterator
 
typedef std::list< KeyListener * > KeyListenerList
 
typedef KeyListenerList::iterator KeyListenerIterator
 
typedef std::list< ActionListener * > ActionListenerList
 
typedef ActionListenerList::iterator ActionListenerIterator
 
typedef std::list< WidgetDeathListener * > WidgetDeathListenerList
 
typedef WidgetDeathListenerList::iterator WidgetDeathListenerIterator
 
typedef std::list< FocusListener * > FocusListenerList
 
typedef FocusListenerList::iterator FocusListenerIterator
 
typedef std::list< WidgetListener * > WidgetListenerList
 
typedef WidgetListenerList::iterator WidgetListenerIterator
 
- Protected Member Functions inherited from Window
bool canMove () const
 
int getOption (const std::string &name, const int def=0) const
 
bool getOptionBool (const std::string &name, const bool def=false) const
 
void setTitlePadding (const int p)
 
int getTitlePadding () const
 
- Protected Member Functions inherited from BasicContainer
virtual void drawChildren (Graphics *const graphics)
 
virtual void safeDrawChildren (Graphics *const graphics)
 
virtual void logicChildren ()
 
- Protected Member Functions inherited from Widget
void distributeActionEvent ()
 
void distributeResizedEvent ()
 
void distributeMovedEvent ()
 
void distributeHiddenEvent ()
 
void distributeShownEvent ()
 
- Protected Member Functions inherited from Widget2
 Widget2 (const Widget2 *const widget)
 
- Protected Member Functions inherited from WidgetDeathListener
 WidgetDeathListener ()
 
- Protected Member Functions inherited from MouseListener
 MouseListener ()
 
- Protected Member Functions inherited from WidgetListener
 WidgetListener ()
 
- Protected Member Functions inherited from ActionListener
 ActionListener ()
 
- Protected Attributes inherited from Window
std::string mCaption
 
Graphics::Alignment mAlignment
 
int mPadding
 
unsigned int mTitleBarHeight
 
Move mMovable
 
int mDragOffsetX
 
int mDragOffsetY
 
bool mMoved
 
SkinmSkin
 
int mDefaultX
 
int mDefaultY
 
int mDefaultWidth
 
int mDefaultHeight
 
int mCaptionOffsetX
 
int mCaptionOffsetY
 
bool mShowTitle
 
bool mLastRedraw
 
- Protected Attributes inherited from BasicContainer2
Opaque mOpaque
 
- Protected Attributes inherited from BasicContainer
WidgetList mWidgets
 
WidgetList mLogicWidgets
 
- Protected Attributes inherited from Widget
MouseListenerList mMouseListeners
 
KeyListenerList mKeyListeners
 
ActionListenerList mActionListeners
 
WidgetDeathListenerList mDeathListeners
 
FocusListenerList mFocusListeners
 
WidgetListenerList mWidgetListeners
 
Color mForegroundColor
 
Color mBackgroundColor
 
Color mBaseColor
 
Rect mDimension
 
std::string mActionEventId
 
std::string mId
 
FocusHandlermFocusHandler
 
FocusHandlermInternalFocusHandler
 
WidgetmParent
 
FontmCurrentFont
 
unsigned int mFrameSize
 
bool mFocusable
 
bool mTabIn
 
bool mTabOut
 
bool mEnabled
 
bool mAllowLogic
 
bool mMouseConsume
 
bool mRedraw
 
bool mSelectable
 
- Protected Attributes inherited from Widget2
int mPaletteOffset
 
WidgetmWindow
 
Color mForegroundColor2
 
- Static Protected Attributes inherited from Widget
static FontmGlobalFont = 0
 

Detailed Description

Definition at line 34 of file killstats.h.

Constructor & Destructor Documentation

◆ KillStats()

KillStats::KillStats ( )

Constructor.

Definition at line 47 of file killstats.cpp.

References _, CAST_U64, Window::enableVisibleSound(), PlayerInfo::getAttribute64(), LocalPlayer::getLevel(), Window::loadWindowState(), localPlayer, mExpSpeed15Label, mExpSpeed1Label, mExpSpeed5Label, mExpTime15Label, mExpTime1Label, mExpTime5Label, mLastKillExpLabel, mLine1, mLine2, mLine3, mLine4, mLine5, mLine6, mLine7, mResetButton, mTimerButton, Window::place(), Attributes::PLAYER_EXP, Attributes::PLAYER_EXP_NEEDED, SetupWindow::registerWindowForReset(), Window::setCloseButton(), Window::setDefaultSize(), LayoutCell::setPadding(), Window::setResizable(), Window::setSaveVisible(), Window::setStickyButtonLock(), setupWindow, Window::setWindowName(), strprintf(), and Catch::toString().

47  :
48  // TRANSLATORS: kill stats window name
49  Window(_("Kill stats"), Modal_false, nullptr, "killstats.xml"),
52  mKillTimer(0),
53  // TRANSLATORS: kill stats window button
54  mResetButton(new Button(this, _("Reset stats"), "reset", this)),
55  // TRANSLATORS: kill stats window button
56  mTimerButton(new Button(this, _("Reset timer"), "timer", this)),
57  mLine1(nullptr),
58  mLine2(nullptr),
59  mLine3(nullptr),
60  // TRANSLATORS: kill stats window label
61  mLine4(new Label(this, strprintf(_("Kills: %s, total exp: %s"),
62  "?", "?"))),
63  // TRANSLATORS: kill stats window label
64  mLine5(new Label(this, strprintf(_("Avg Exp: %s"), "?"))),
65  // TRANSLATORS: kill stats window label
66  mLine6(new Label(this, strprintf(_("No. of avg mob to next level: %s"),
67  "?"))),
68  // TRANSLATORS: kill stats window label
69  mLine7(new Label(this, strprintf(_("Kills/Min: %s, Exp/Min: %s"),
70  "?", "?"))),
71  mExpSpeed1Label(new Label(this, strprintf(ngettext(
72  // TRANSLATORS: kill stats window label
73  "Exp speed per %d min: %s", "Exp speed per %d min: %s", 1), 1, "?"))),
74  mExpTime1Label(new Label(this, strprintf(ngettext(
75  "Time for next level per %d min: %s",
76  "Time for next level per %d min: %s", 1), 1, "?"))),
77  mExpSpeed5Label(new Label(this, strprintf(ngettext(
78  "Exp speed per %d min: %s", "Exp speed per %d min: %s", 5), 5, "?"))),
79  mExpTime5Label(new Label(this, strprintf(ngettext(
80  "Time for next level per %d min: %s",
81  "Time for next level per %d min: %s", 5), 5, "?"))),
82  mExpSpeed15Label(new Label(this, strprintf(ngettext(
83  "Exp speed per %d min: %s", "Exp speed per %d min: %s", 15),
84  15, "?"))),
85  mExpTime15Label(new Label(this, strprintf(ngettext(
86  "Time for next level per %d min: %s",
87  "Time for next level per %d min: %s", 15), 15, "?"))),
88  // TRANSLATORS: kill stats window label
89  mLastKillExpLabel(new Label(this, strprintf("%s ?", _("Last kill exp:")))),
90  mKillCounter(0),
91  mExpCounter(0),
92  mKillTCounter(0),
93  mExpTCounter(0),
94  m1minExpTime(0),
95  m1minExpNum(0),
96  m1minSpeed(0),
97  m5minExpTime(0),
98  m5minExpNum(0),
99  m5minSpeed(0),
100  m15minExpTime(0),
101  m15minExpNum(0),
102  m15minSpeed(0)
103 {
104  setWindowName("Kill stats");
105  setCloseButton(true);
106  setResizable(true);
107  setSaveVisible(true);
108  setStickyButtonLock(true);
109  setDefaultSize(250, 250, 350, 300);
110 
111  if (setupWindow != nullptr)
113 
115  int64_t xpNextLevel(PlayerInfo::getAttribute64(
117 
118  if (xpNextLevel == 0)
119  xpNextLevel = 1;
120 
121  // TRANSLATORS: kill stats window label
122  mLine1 = new Label(this, strprintf(_("Level: %d at %f%%"),
123  localPlayer->getLevel(), static_cast<double>(xp)
124  / static_cast<double>(xpNextLevel) * 100.0));
125 
126  const std::string strXp = toString(CAST_U64(xp));
127  const std::string strXpNextLevel = toString(CAST_U64(xpNextLevel));
128  const std::string strXpLeft = toString(CAST_U64(xpNextLevel - xp));
129  const std::string strXpPercent = toString(CAST_U64(xpNextLevel / 100));
130  // TRANSLATORS: kill stats window label
131  mLine2 = new Label(this, strprintf(_("Exp: %s/%s Left: %s"),
132  strXp.c_str(),
133  strXpNextLevel.c_str(),
134  strXpLeft.c_str()));
135 
136  // TRANSLATORS: kill stats window label
137  mLine3 = new Label(this, strprintf(_("1%% = %s exp, avg mob for 1%%: %s"),
138  strXpPercent.c_str(),
139  "?"));
140 
141  place(0, 0, mLine1, 6).setPadding(0);
142  place(0, 1, mLine2, 6).setPadding(0);
143  place(0, 2, mLine3, 6).setPadding(0);
144  place(0, 3, mLine4, 6).setPadding(0);
145  place(0, 4, mLine5, 6).setPadding(0);
146  place(0, 5, mLine6, 6).setPadding(0);
147  place(0, 6, mLine7, 6).setPadding(0);
148 
149  place(0, 7, mLastKillExpLabel, 6).setPadding(0);
150  place(0, 8, mExpSpeed1Label, 6).setPadding(0);
151  place(0, 9, mExpTime1Label, 6).setPadding(0);
152  place(0, 10, mExpSpeed5Label, 6).setPadding(0);
153  place(0, 11, mExpTime5Label, 6).setPadding(0);
154  place(0, 12, mExpSpeed15Label, 6).setPadding(0);
155  place(0, 13, mExpTime15Label, 6).setPadding(0);
156 
157  place(5, 12, mTimerButton).setPadding(0);
158  place(5, 13, mResetButton).setPadding(0);
159 
160  loadWindowState();
161  enableVisibleSound(true);
162 }
Label * mExpSpeed5Label
Definition: killstats.h:89
void setDefaultSize()
Definition: window.cpp:1186
#define _(s)
Definition: gettext.h:34
time_t m1minExpTime
Definition: killstats.h:101
Label * mLine4
Definition: killstats.h:82
void loadWindowState()
Definition: window.cpp:1075
Button * mTimerButton
Definition: killstats.h:78
Label * mLine2
Definition: killstats.h:80
Label * mExpTime1Label
Definition: killstats.h:88
int getLevel() const
#define CAST_U64
Definition: cast.h:32
Definition: button.h:94
int64_t mExpCounter
Definition: killstats.h:97
Label * mLine3
Definition: killstats.h:81
int mKillTCounter
Definition: killstats.h:98
time_t mKillTimer
Definition: killstats.h:76
int64_t m1minExpNum
Definition: killstats.h:102
Label * mExpSpeed15Label
Definition: killstats.h:91
Label * mExpSpeed1Label
Definition: killstats.h:87
void registerWindowForReset(Window *const window)
int64_t getAttribute64(const AttributesT id)
Definition: playerinfo.cpp:92
int64_t m5minExpNum
Definition: killstats.h:106
int64_t mExpTCounter
Definition: killstats.h:99
int64_t m15minExpNum
Definition: killstats.h:110
std::string strprintf(const char *const format,...)
Definition: stringutils.cpp:99
Definition: label.h:87
LayoutCell & place(const int x, const int y, Widget *const wg, const int w=1, const int h=1)
Definition: window.cpp:1372
Label * mLine1
Definition: killstats.h:79
LocalPlayer * localPlayer
Label * mExpTime5Label
Definition: killstats.h:90
Label * mExpTime15Label
Definition: killstats.h:92
int m5minSpeed
Definition: killstats.h:107
time_t m5minExpTime
Definition: killstats.h:105
int mKillCounter
Definition: killstats.h:96
void setCloseButton(const bool flag)
Definition: window.cpp:737
void enableVisibleSound(bool b)
Definition: window.h:473
Label * mLine5
Definition: killstats.h:83
LayoutCell & setPadding(int p)
Definition: layoutcell.h:59
void setSaveVisible(const bool save)
Definition: window.h:298
std::string toString(T const &value)
converts any type to a string
Definition: catch.hpp:1774
Label * mLastKillExpLabel
Definition: killstats.h:94
Button * mResetButton
Definition: killstats.h:77
time_t m15minExpTime
Definition: killstats.h:109
Label * mLine7
Definition: killstats.h:85
Label * mLine6
Definition: killstats.h:84
void setResizable(const bool resize)
Definition: window.cpp:615
void setStickyButtonLock(const bool sticky)
Definition: window.cpp:760
SetupWindow * setupWindow
Definition: setupwindow.cpp:63
Window(const std::string &caption="Window", const Modal modal=Modal_false, Window *const parent=0, std::string skin="")
Definition: window.cpp:108
int m15minSpeed
Definition: killstats.h:111
int m1minSpeed
Definition: killstats.h:103
void setWindowName(const std::string &name)
Definition: window.h:353

◆ ~KillStats()

KillStats::~KillStats ( )
inline

Destructor.

Definition at line 49 of file killstats.h.

References action(), attributeChanged(), gainXp(), recalcStats(), resetTimes(), and update().

50  { }

Member Function Documentation

◆ action()

void KillStats::action ( const ActionEvent event)
virtual

Stuff.

Implements ActionListener.

Definition at line 164 of file killstats.cpp.

References _, CAST_U64, PlayerInfo::getAttribute64(), mExpCounter, mExpTCounter, mKillCounter, mKillTCounter, mKillTimer, mLine3, mLine4, mLine5, mLine6, mLine7, Attributes::PLAYER_EXP_NEEDED, resetTimes(), Label::setCaption(), strprintf(), and Catch::toString().

Referenced by ~KillStats().

165 {
166  const std::string &eventId = event.getId();
167  if (eventId == "reset")
168  {
169  mKillCounter = 0;
170  mExpCounter = 0;
171  const std::string strXpPercent = toString(CAST_U64(
173  mLine3->setCaption(strprintf("1%% = %s exp, avg mob for 1%%: %s",
174  strXpPercent.c_str(),
175  "?"));
176  // TRANSLATORS: kill stats window label
177  mLine4->setCaption(strprintf(_("Kills: %s, total exp: %s"), "?", "?"));
178  // TRANSLATORS: kill stats window label
179  mLine5->setCaption(strprintf(_("Avg Exp: %s"), "?"));
181  // TRANSLATORS: kill stats window label
182  _("No. of avg mob to next level: %s"), "?"));
183 
184  resetTimes();
185  }
186  else if (eventId == "timer")
187  {
188  mKillTimer = 0;
189  mKillTCounter = 0;
190  mExpTCounter = 0;
192  // TRANSLATORS: kill stats window label
193  _("Kills/Min: %s, Exp/Min: %s"), "?", "?"));
194 
195  resetTimes();
196  }
197 }
#define _(s)
Definition: gettext.h:34
Label * mLine4
Definition: killstats.h:82
#define CAST_U64
Definition: cast.h:32
int64_t mExpCounter
Definition: killstats.h:97
Label * mLine3
Definition: killstats.h:81
void resetTimes()
Definition: killstats.cpp:199
int mKillTCounter
Definition: killstats.h:98
time_t mKillTimer
Definition: killstats.h:76
int64_t getAttribute64(const AttributesT id)
Definition: playerinfo.cpp:92
int64_t mExpTCounter
Definition: killstats.h:99
std::string strprintf(const char *const format,...)
Definition: stringutils.cpp:99
void setCaption(const std::string &caption)
Definition: label.cpp:256
int mKillCounter
Definition: killstats.h:96
Label * mLine5
Definition: killstats.h:83
std::string toString(T const &value)
converts any type to a string
Definition: catch.hpp:1774
Label * mLine7
Definition: killstats.h:85
Label * mLine6
Definition: killstats.h:84

◆ attributeChanged()

void KillStats::attributeChanged ( const AttributesT  id,
const int64_t  oldVal,
const int64_t  newVal 
)
virtual

Implements AttributeListener.

Definition at line 435 of file killstats.cpp.

References _, CAST_U64, gainXp(), PlayerInfo::getAttribute(), mExpCounter, mExpTCounter, mKillCounter, mKillTCounter, mLine3, mLine4, mLine5, mLine6, mLine7, Attributes::PLAYER_BASE_LEVEL, Attributes::PLAYER_EXP, Attributes::PLAYER_EXP_NEEDED, PRAGMA45(), resetTimes(), Label::setCaption(), strprintf(), Catch::toString(), and update().

Referenced by ~KillStats().

438 {
439  PRAGMA45(GCC diagnostic push)
440  PRAGMA45(GCC diagnostic ignored "-Wswitch-enum")
441  switch (id)
442  {
445  gainXp(newVal - oldVal);
446  break;
448  {
449  const std::string strXpPercent = toString(CAST_U64(
452  mKillCounter = 0;
453  mKillTCounter = 0;
454  mExpCounter = 0;
455  mExpTCounter = 0;
456  mLine3->setCaption(strprintf("1%% = %s exp, avg mob for 1%%: %s",
457  strXpPercent.c_str(),
458  "?"));
460  // TRANSLATORS: kill stats window label
461  _("Kills: %s, total exp: %s"), "?", "?"));
462  // TRANSLATORS: kill stats window label
463  mLine5->setCaption(strprintf(_("Avg Exp: %s"), "?"));
465  // TRANSLATORS: kill stats window label
466  _("No. of avg mob to next level: %s"), "?"));
468  // TRANSLATORS: kill stats window label
469  _("Kills/Min: %s, Exp/Min: %s"), "?", "?"));
470 
471  resetTimes();
472  update();
473  break;
474  }
475  default:
476  break;
477  }
478  PRAGMA45(GCC diagnostic pop)
479 }
#define _(s)
Definition: gettext.h:34
void gainXp(int64_t Xp)
Definition: killstats.cpp:212
Label * mLine4
Definition: killstats.h:82
PRAGMA45(GCC diagnostic push) PRAGMA45(GCC diagnostic ignored "-Wunused-result") int TestLauncher
#define CAST_U64
Definition: cast.h:32
int64_t mExpCounter
Definition: killstats.h:97
Label * mLine3
Definition: killstats.h:81
void resetTimes()
Definition: killstats.cpp:199
int mKillTCounter
Definition: killstats.h:98
int64_t mExpTCounter
Definition: killstats.h:99
std::string strprintf(const char *const format,...)
Definition: stringutils.cpp:99
void setCaption(const std::string &caption)
Definition: label.cpp:256
int mKillCounter
Definition: killstats.h:96
Label * mLine5
Definition: killstats.h:83
std::string toString(T const &value)
converts any type to a string
Definition: catch.hpp:1774
Label * mLine7
Definition: killstats.h:85
Label * mLine6
Definition: killstats.h:84
void update()
Definition: killstats.cpp:363
int32_t getAttribute(const AttributesT id)
Definition: playerinfo.cpp:100

◆ gainXp()

void KillStats::gainXp ( int64_t  Xp)

Definition at line 212 of file killstats.cpp.

References _, CAST_U64, cur_time, ServerCommandType::exp, PlayerInfo::getAttribute64(), LocalPlayer::getLevel(), localPlayer, mExpCounter, mExpTCounter, mKillCounter, mKillTCounter, mKillTimer, mLastKillExpLabel, mLine1, mLine2, mLine3, mLine4, mLine5, mLine6, mLine7, Attributes::PLAYER_EXP, Attributes::PLAYER_EXP_NEEDED, recalcStats(), Label::setCaption(), strprintf(), Catch::toString(), and update().

Referenced by attributeChanged(), and ~KillStats().

213 {
214  const int64_t expNeed = PlayerInfo::getAttribute64(
216  if (xp == expNeed)
217  xp = 0;
218  else if (xp == 0)
219  return;
220 
221  mKillCounter++;
222  mKillTCounter++;
223 
224  mExpCounter = mExpCounter + xp;
225  mExpTCounter = mExpTCounter + xp;
226  if (mKillCounter == 0)
227  mKillCounter = 1;
228 
229  const float AvgExp = static_cast<float>(mExpCounter)
230  / static_cast<float>(mKillCounter);
231  int64_t xpNextLevel(expNeed);
232 
233  if (mKillTimer == 0)
235 
236  if (xpNextLevel == 0)
237  xpNextLevel = 1;
238 
239  double timeDiff = difftime(cur_time, mKillTimer) / 60;
240 
241  if (timeDiff <= 0.001)
242  timeDiff = 1;
243 
245  // TRANSLATORS: kill stats window label
246  mLine1->setCaption(strprintf(_("Level: %d at %f%%"),
247  localPlayer->getLevel(), static_cast<double>(exp)
248  / static_cast<double>(xpNextLevel) * 100.0));
249 
250  const std::string strXp = toString(CAST_U64(exp));
251  const std::string strXpNextLevel = toString(CAST_U64(xpNextLevel));
252  const std::string strXpLeft = toString(CAST_U64(xpNextLevel - exp));
253  const std::string strXpPercent = toString(CAST_U64(xpNextLevel / 100));
254  // TRANSLATORS: kill stats window label
255  mLine2->setCaption(strprintf(_("Exp: %s/%s Left: %s"),
256  strXp.c_str(),
257  strXpNextLevel.c_str(),
258  strXpLeft.c_str()));
259 
260  if (AvgExp >= -0.001F && AvgExp <= 0.001F)
261  {
262  // TRANSLATORS: kill stats window label
263  mLine3->setCaption(strprintf(_("1%% = %s exp, avg mob for 1%%: %s"),
264  strXpPercent.c_str(),
265  "?"));
266 
267  // TRANSLATORS: kill stats window label
268  mLine5->setCaption(strprintf(_("Avg Exp: %s"),
269  toString(AvgExp).c_str()));
270 
272  // TRANSLATORS: kill stats window label
273  _("No. of avg mob to next level: %s"), "?"));
274  }
275  else
276  {
277  // TRANSLATORS: kill stats window label
278  mLine3->setCaption(strprintf(_("1%% = %s exp, avg mob for 1%%: %s"),
279  strXpPercent.c_str(), toString((static_cast<float>(
280  xpNextLevel) / 100) / AvgExp).c_str()));
281 
282  // TRANSLATORS: kill stats window label
283  mLine5->setCaption(strprintf(_("Avg Exp: %s"),
284  toString(AvgExp).c_str()));
285 
286  // TRANSLATORS: kill stats window label
287  mLine6->setCaption(strprintf(_("No. of avg mob to next level: %s"),
288  toString(static_cast<float>(xpNextLevel - exp) / AvgExp).c_str()));
289  }
290  // TRANSLATORS: kill stats window label
291  mLine4->setCaption(strprintf(_("Kills: %s, total exp: %s"),
292  toString(mKillCounter).c_str(),
293  toString(CAST_U64(mExpCounter)).c_str()));
294 
295  // TRANSLATORS: kill stats window label
296  mLine7->setCaption(strprintf(_("Kills/Min: %s, Exp/Min: %s"),
297  toString(mKillTCounter / timeDiff).c_str(),
298  toString(CAST_U64(mExpTCounter / timeDiff)).c_str()));
299 
301  // TRANSLATORS: kill stats window label
302  _("Last kill exp:"),
303  strXp.c_str()));
304 
305  recalcStats();
306  update();
307 }
#define _(s)
Definition: gettext.h:34
Label * mLine4
Definition: killstats.h:82
Label * mLine2
Definition: killstats.h:80
int getLevel() const
#define CAST_U64
Definition: cast.h:32
int64_t mExpCounter
Definition: killstats.h:97
Label * mLine3
Definition: killstats.h:81
int mKillTCounter
Definition: killstats.h:98
time_t mKillTimer
Definition: killstats.h:76
int64_t getAttribute64(const AttributesT id)
Definition: playerinfo.cpp:92
int64_t mExpTCounter
Definition: killstats.h:99
std::string strprintf(const char *const format,...)
Definition: stringutils.cpp:99
void setCaption(const std::string &caption)
Definition: label.cpp:256
Label * mLine1
Definition: killstats.h:79
LocalPlayer * localPlayer
int mKillCounter
Definition: killstats.h:96
volatile time_t cur_time
Definition: timer.cpp:57
Label * mLine5
Definition: killstats.h:83
std::string toString(T const &value)
converts any type to a string
Definition: catch.hpp:1774
Label * mLastKillExpLabel
Definition: killstats.h:94
Label * mLine7
Definition: killstats.h:85
void recalcStats()
Definition: killstats.cpp:309
Label * mLine6
Definition: killstats.h:84
void update()
Definition: killstats.cpp:363

◆ recalcStats()

void KillStats::recalcStats ( )

Recalc stats if needed

Definition at line 309 of file killstats.cpp.

References BLOCK_END, BLOCK_START, CAST_S32, cur_time, PlayerInfo::getAttribute(), m15minExpNum, m15minExpTime, m15minSpeed, m1minExpNum, m1minExpTime, m1minSpeed, m5minExpNum, m5minExpTime, m5minSpeed, mLastHost, mStatsReUpdated, Attributes::PLAYER_EXP, and Attributes::PLAYER_EXP_NEEDED.

Referenced by gainXp(), Game::slowLogic(), and ~KillStats().

310 {
311  BLOCK_START("KillStats::recalcStats")
312  const time_t curTime = cur_time;
313 
314  // Need Update Exp Counter
315  if (curTime - m1minExpTime > 60)
316  {
317  const int64_t newExp = PlayerInfo::getAttribute(
319  if (m1minExpTime != 0)
320  m1minSpeed = CAST_S32(newExp - m1minExpNum);
321  else
322  m1minSpeed = 0;
323  m1minExpTime = curTime;
324  m1minExpNum = newExp;
325  }
326 
327  if (curTime != 0 && mLastHost == 0xFF6B66 && cur_time > 1)
328  {
329  const int newExp = PlayerInfo::getAttribute(
331  if (m1minExpTime != 0)
332  m1minSpeed = CAST_S32(newExp - m1minExpNum);
333  mStatsReUpdated = true;
334  m1minExpNum = newExp;
335  }
336 
337  if (curTime - m5minExpTime > 60*5)
338  {
339  const int64_t newExp = PlayerInfo::getAttribute(
341  if (m5minExpTime != 0)
342  m5minSpeed = CAST_S32(newExp - m5minExpNum);
343  else
344  m5minSpeed = 0;
345  m5minExpTime = curTime;
346  m5minExpNum = newExp;
347  }
348 
349  if (curTime - m15minExpTime > 60*15)
350  {
351  const int64_t newExp = PlayerInfo::getAttribute(
353  if (m15minExpTime != 0)
354  m15minSpeed = CAST_S32(newExp - m15minExpNum);
355  else
356  m15minSpeed = 0;
357  m15minExpTime = curTime;
358  m15minExpNum = newExp;
359  }
360  BLOCK_END("KillStats::recalcStats")
361 }
time_t m1minExpTime
Definition: killstats.h:101
#define BLOCK_START(name)
Definition: perfomance.h:78
if(!vert) return
#define BLOCK_END(name)
Definition: perfomance.h:79
int64_t m1minExpNum
Definition: killstats.h:102
unsigned int mLastHost
Definition: client.cpp:123
bool mStatsReUpdated
Definition: game.cpp:156
int64_t m5minExpNum
Definition: killstats.h:106
int64_t m15minExpNum
Definition: killstats.h:110
#define CAST_S32
Definition: cast.h:29
int m5minSpeed
Definition: killstats.h:107
time_t m5minExpTime
Definition: killstats.h:105
volatile time_t cur_time
Definition: timer.cpp:57
time_t m15minExpTime
Definition: killstats.h:109
int32_t getAttribute(const AttributesT id)
Definition: playerinfo.cpp:100
int m15minSpeed
Definition: killstats.h:111
int m1minSpeed
Definition: killstats.h:103

◆ resetTimes()

void KillStats::resetTimes ( )

Definition at line 199 of file killstats.cpp.

References m15minExpNum, m15minExpTime, m15minSpeed, m1minExpNum, m1minExpTime, m1minSpeed, m5minExpNum, m5minExpTime, and m5minSpeed.

Referenced by action(), attributeChanged(), and ~KillStats().

200 {
201  m1minExpTime = 0;
202  m1minExpNum = 0;
203  m1minSpeed = 0;
204  m5minExpTime = 0;
205  m5minExpNum = 0;
206  m5minSpeed = 0;
207  m15minExpTime = 0;
208  m15minExpNum = 0;
209  m15minSpeed = 0;
210 }
time_t m1minExpTime
Definition: killstats.h:101
int64_t m1minExpNum
Definition: killstats.h:102
int64_t m5minExpNum
Definition: killstats.h:106
int64_t m15minExpNum
Definition: killstats.h:110
int m5minSpeed
Definition: killstats.h:107
time_t m5minExpTime
Definition: killstats.h:105
time_t m15minExpTime
Definition: killstats.h:109
int m15minSpeed
Definition: killstats.h:111
int m1minSpeed
Definition: killstats.h:103

◆ update()

void KillStats::update ( )

Updates this dialog

Definition at line 363 of file killstats.cpp.

References _, Label::adjustSize(), BLOCK_END, BLOCK_START, PlayerInfo::getAttribute(), m15minSpeed, m1minSpeed, m5minSpeed, mExpSpeed15Label, mExpSpeed1Label, mExpSpeed5Label, mExpTime15Label, mExpTime1Label, mExpTime5Label, Attributes::PLAYER_EXP, Attributes::PLAYER_EXP_NEEDED, Label::setCaption(), strprintf(), and Catch::toString().

Referenced by attributeChanged(), gainXp(), Game::slowLogic(), and ~KillStats().

364 {
365  BLOCK_START("KillStats::update")
366 
367  mExpSpeed1Label->setCaption(strprintf(ngettext("Exp speed per %d min: %s",
368  "Exp speed per %d min: %s", 1),
369  1,
370  toString(m1minSpeed).c_str()));
371 
372  if (m1minSpeed != 0)
373  {
374  // TRANSLATORS: kill stats window label
375  mExpTime1Label->setCaption(strprintf(_(" Time for next level: %s"),
376  toString(static_cast<float>((PlayerInfo::getAttribute(
379  static_cast<float>(m1minSpeed))).c_str()));
380  }
381  else
382  {
384  // TRANSLATORS: kill stats window label
385  _(" Time for next level: %s"), "?"));
386  }
388 
389  mExpSpeed5Label->setCaption(strprintf(ngettext("Exp speed per %d min: %s",
390  "Exp speed per %d min: %s", 5),
391  5,
392  toString(m5minSpeed / 5).c_str()));
394 
395  if (m5minSpeed != 0)
396  {
397  // TRANSLATORS: kill stats window label
398  mExpTime5Label->setCaption(strprintf(_(" Time for next level: %s"),
399  toString(static_cast<float>((PlayerInfo::getAttribute(
401  Attributes::PLAYER_EXP)) / m5minSpeed * 5)).c_str()));
402  }
403  else
404  {
406  // TRANSLATORS: kill stats window label
407  _(" Time for next level: %s"), "?"));
408  }
410 
411 
412  mExpSpeed15Label->setCaption(strprintf(ngettext("Exp speed per %d min: %s",
413  "Exp speed per %d min: %s", 15), 15, toString(
414  m15minSpeed / 15).c_str()));
416 
417  if (m15minSpeed != 0)
418  {
419  // TRANSLATORS: kill stats window label
420  mExpTime15Label->setCaption(strprintf(_(" Time for next level: %s"),
421  toString(static_cast<float>((PlayerInfo::getAttribute(
423  Attributes::PLAYER_EXP)) / m15minSpeed * 15)).c_str()));
424  }
425  else
426  {
428  // TRANSLATORS: kill stats window label
429  _(" Time for next level: %s"), "?"));
430  }
431 
432  BLOCK_END("KillStats::update")
433 }
Label * mExpSpeed5Label
Definition: killstats.h:89
#define _(s)
Definition: gettext.h:34
Label * mExpTime1Label
Definition: killstats.h:88
#define BLOCK_START(name)
Definition: perfomance.h:78
if(!vert) return
#define BLOCK_END(name)
Definition: perfomance.h:79
Label * mExpSpeed15Label
Definition: killstats.h:91
Label * mExpSpeed1Label
Definition: killstats.h:87
std::string strprintf(const char *const format,...)
Definition: stringutils.cpp:99
void setCaption(const std::string &caption)
Definition: label.cpp:256
Label * mExpTime5Label
Definition: killstats.h:90
Label * mExpTime15Label
Definition: killstats.h:92
int m5minSpeed
Definition: killstats.h:107
std::string toString(T const &value)
converts any type to a string
Definition: catch.hpp:1774
int32_t getAttribute(const AttributesT id)
Definition: playerinfo.cpp:100
void setCaption(const std::string &caption)
Definition: window.h:523
void adjustSize()
Definition: label.cpp:192
int m15minSpeed
Definition: killstats.h:111
int m1minSpeed
Definition: killstats.h:103

Field Documentation

◆ m15minExpNum

int64_t KillStats::m15minExpNum
private

Definition at line 110 of file killstats.h.

Referenced by recalcStats(), and resetTimes().

◆ m15minExpTime

time_t KillStats::m15minExpTime
private

Definition at line 109 of file killstats.h.

Referenced by recalcStats(), and resetTimes().

◆ m15minSpeed

int KillStats::m15minSpeed
private

Definition at line 111 of file killstats.h.

Referenced by recalcStats(), resetTimes(), and update().

◆ m1minExpNum

int64_t KillStats::m1minExpNum
private

Definition at line 102 of file killstats.h.

Referenced by recalcStats(), and resetTimes().

◆ m1minExpTime

time_t KillStats::m1minExpTime
private

Definition at line 101 of file killstats.h.

Referenced by recalcStats(), and resetTimes().

◆ m1minSpeed

int KillStats::m1minSpeed
private

Definition at line 103 of file killstats.h.

Referenced by recalcStats(), resetTimes(), and update().

◆ m5minExpNum

int64_t KillStats::m5minExpNum
private

Definition at line 106 of file killstats.h.

Referenced by recalcStats(), and resetTimes().

◆ m5minExpTime

time_t KillStats::m5minExpTime
private

Definition at line 105 of file killstats.h.

Referenced by recalcStats(), and resetTimes().

◆ m5minSpeed

int KillStats::m5minSpeed
private

Definition at line 107 of file killstats.h.

Referenced by recalcStats(), resetTimes(), and update().

◆ mExpCounter

int64_t KillStats::mExpCounter
private

Session Exp counter.

Definition at line 97 of file killstats.h.

Referenced by action(), attributeChanged(), and gainXp().

◆ mExpSpeed15Label

Label* KillStats::mExpSpeed15Label
private

Definition at line 91 of file killstats.h.

Referenced by KillStats(), and update().

◆ mExpSpeed1Label

Label* KillStats::mExpSpeed1Label
private

Definition at line 87 of file killstats.h.

Referenced by KillStats(), and update().

◆ mExpSpeed5Label

Label* KillStats::mExpSpeed5Label
private

Definition at line 89 of file killstats.h.

Referenced by KillStats(), and update().

◆ mExpTCounter

int64_t KillStats::mExpTCounter
private

Timer Exp counter.

Definition at line 99 of file killstats.h.

Referenced by action(), attributeChanged(), and gainXp().

◆ mExpTime15Label

Label* KillStats::mExpTime15Label
private

Definition at line 92 of file killstats.h.

Referenced by KillStats(), and update().

◆ mExpTime1Label

Label* KillStats::mExpTime1Label
private

Definition at line 88 of file killstats.h.

Referenced by KillStats(), and update().

◆ mExpTime5Label

Label* KillStats::mExpTime5Label
private

Definition at line 90 of file killstats.h.

Referenced by KillStats(), and update().

◆ mKillCounter

int KillStats::mKillCounter
private

Session Kill counter.

Definition at line 96 of file killstats.h.

Referenced by action(), attributeChanged(), and gainXp().

◆ mKillTCounter

int KillStats::mKillTCounter
private

Timer Kill counter.

Definition at line 98 of file killstats.h.

Referenced by action(), attributeChanged(), and gainXp().

◆ mKillTimer

time_t KillStats::mKillTimer
private

Timer for kill stats.

Definition at line 76 of file killstats.h.

Referenced by action(), and gainXp().

◆ mLastKillExpLabel

Label* KillStats::mLastKillExpLabel
private

Definition at line 94 of file killstats.h.

Referenced by gainXp(), and KillStats().

◆ mLine1

Label* KillStats::mLine1
private

Definition at line 79 of file killstats.h.

Referenced by gainXp(), and KillStats().

◆ mLine2

Label* KillStats::mLine2
private

Definition at line 80 of file killstats.h.

Referenced by gainXp(), and KillStats().

◆ mLine3

Label* KillStats::mLine3
private

Definition at line 81 of file killstats.h.

Referenced by action(), attributeChanged(), gainXp(), and KillStats().

◆ mLine4

Label* KillStats::mLine4
private

Definition at line 82 of file killstats.h.

Referenced by action(), attributeChanged(), gainXp(), and KillStats().

◆ mLine5

Label* KillStats::mLine5
private

Definition at line 83 of file killstats.h.

Referenced by action(), attributeChanged(), gainXp(), and KillStats().

◆ mLine6

Label* KillStats::mLine6
private

Definition at line 84 of file killstats.h.

Referenced by action(), attributeChanged(), gainXp(), and KillStats().

◆ mLine7

Label* KillStats::mLine7
private

Definition at line 85 of file killstats.h.

Referenced by action(), attributeChanged(), gainXp(), and KillStats().

◆ mResetButton

Button* KillStats::mResetButton
private

Definition at line 77 of file killstats.h.

Referenced by KillStats().

◆ mTimerButton

Button* KillStats::mTimerButton
private

Definition at line 78 of file killstats.h.

Referenced by KillStats().


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