Crossfire JXClient, Trunk
StarvingWatcher.java
Go to the documentation of this file.
1 /*
2  * This file is part of JXClient, the Fullscreen Java Crossfire Client.
3  *
4  * JXClient is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * JXClient is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with JXClient; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17  *
18  * Copyright (C) 2005-2008 Yann Chachkoff
19  * Copyright (C) 2006-2017,2019-2023 Andreas Kirschbaum
20  * Copyright (C) 2010-2012,2014-2018,2020-2023 Nicolas Weeger
21  */
22 
23 package com.realtime.crossfire.jxclient.stats;
24 
25 import javax.swing.Timer;
26 import org.jetbrains.annotations.NotNull;
27 
33 public class StarvingWatcher {
34 
38  private static final int TIMEOUT_DE_ASSERT = 1000;
39 
43  @NotNull
44  private final Stats stats;
45 
49  @NotNull
50  @SuppressWarnings("FieldCanBeLocal")
51  private final StatsListener statsListener = new StatsListener() {
52 
53  @Override
54  public void resetBefore() {
55  }
56 
57  @Override
58  public void resetAfter() {
59  timer.restart();
60  }
61 
62  @Override
63  public void statChanged(final int statNo, final int value) {
64  if (statNo == Stats.CS_STAT_FOOD || statNo == Stats.CS_STAT_HP) {
65  timer.restart();
66  }
67  }
68 
69  @Override
70  public void simpleWeaponSpeedChanged(final boolean simpleWeaponSpeed) {
71  }
72 
73  @Override
74  public void titleChanged(@NotNull final String title) {
75  }
76 
77  @Override
78  public void godNameChanged(@NotNull final String godName) {
79  }
80 
81  @Override
82  public void rangeChanged(@NotNull final String range) {
83  }
84 
85  @Override
86  public void activeSkillChanged(@NotNull final String activeSkill) {
87  }
88 
89  @Override
90  public void experienceChanged(final long exp) {
91  }
92 
93  @Override
94  public void experienceNextLevelChanged(final long expNextLevel) {
95  }
96 
97  };
98 
102  @NotNull
103  private final Timer timer = new Timer(TIMEOUT_DE_ASSERT, e -> update());
104 
109  public StarvingWatcher(@NotNull final Stats stats) {
110  this.stats = stats;
111  timer.setRepeats(false);
113  update();
114  }
115 
119  private void update() {
121  }
122 
123 }
com.realtime.crossfire.jxclient.stats.StarvingWatcher.StarvingWatcher
StarvingWatcher(@NotNull final Stats stats)
Definition: StarvingWatcher.java:109
com.realtime.crossfire.jxclient.stats.StarvingWatcher.timer
final Timer timer
Definition: StarvingWatcher.java:103
com.realtime.crossfire.jxclient.stats.Stats.setStat
void setStat(final int statNo, final int value)
Definition: Stats.java:789
com.realtime.crossfire.jxclient.stats.StarvingWatcher.stats
final Stats stats
Definition: StarvingWatcher.java:44
com.realtime.crossfire.jxclient.stats.Stats
Definition: Stats.java:44
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_FOOD
static final int CS_STAT_FOOD
Definition: Stats.java:139
com.realtime.crossfire.jxclient.stats.StarvingWatcher.statsListener
final StatsListener statsListener
Definition: StarvingWatcher.java:51
com.realtime.crossfire.jxclient.stats.StatsListener
Definition: StatsListener.java:32
com.realtime.crossfire.jxclient.stats.StarvingWatcher
Definition: StarvingWatcher.java:33
com.realtime.crossfire.jxclient.stats.Stats.getStat
int getStat(final int statNo)
Definition: Stats.java:771
com.realtime.crossfire.jxclient.stats.StarvingWatcher.update
void update()
Definition: StarvingWatcher.java:119
com.realtime.crossfire.jxclient.stats.StarvingWatcher.TIMEOUT_DE_ASSERT
static final int TIMEOUT_DE_ASSERT
Definition: StarvingWatcher.java:38
com.realtime.crossfire.jxclient.stats.Stats.addCrossfireStatsListener
void addCrossfireStatsListener(@NotNull final StatsListener statsListener)
Definition: Stats.java:963
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_HP
static final int CS_STAT_HP
Definition: Stats.java:49
com.realtime.crossfire.jxclient.stats.Stats.C_STAT_STARVING
static final int C_STAT_STARVING
Definition: Stats.java:468