java.lang.Object com.realtime.crossfire.jxclient.stats.PoisonWatcher
public class PoisonWatcher
Helper class to synthesize an "is poisoned" stat value. The Crossfire server currently does not send this information, therefore drawinfo messages are tracked.
Field Summary | |
---|---|
private boolean |
active
Whether poisoning is active. |
private static java.lang.String |
ASSERT_MESSAGE
The text message the server sends in poisoned state. |
private static java.lang.String |
DE_ASSERT_MESSAGE
The text message the server sends when the poison wears off. |
private CrossfireDrawextinfoListener |
drawextinfoListener
The drawextinfo listener to receive drawextinfo messages. |
private CrossfireDrawinfoListener |
drawinfoListener
The drawinfo listener to receive drawinfo messages. |
private Stats |
stats
The stats instance to notify. |
private java.lang.Object |
sync
The object used for synchronization. |
private static int |
TIMEOUT_DE_ASSERT
Timeout after that the "poisoned" state is reset. |
private TimeoutEvent |
timeoutEvent
The timeout event used to turn off poisoning if the de-assert message was missed. |
Constructor Summary | |
---|---|
PoisonWatcher(Stats stats,
CrossfireServerConnection crossfireServerConnection)
Create a new instance. |
Method Summary | |
---|---|
private void |
check(java.lang.String message)
Examine a text message. |
private void |
setActive(boolean active)
Set the current poisoned state. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private boolean active
@NotNull private static final java.lang.String ASSERT_MESSAGE
@NotNull private static final java.lang.String DE_ASSERT_MESSAGE
@NotNull private final CrossfireDrawextinfoListener drawextinfoListener
@NotNull private final CrossfireDrawinfoListener drawinfoListener
@NotNull private final Stats stats
@NotNull private final java.lang.Object sync
private static final int TIMEOUT_DE_ASSERT
@NotNull private final TimeoutEvent timeoutEvent
Constructor Detail |
---|
public PoisonWatcher(@NotNull Stats stats, @NotNull CrossfireServerConnection crossfireServerConnection)
stats
- The stats instance to notify.crossfireServerConnection
- The connection to watch.Method Detail |
---|
private void check(@NotNull java.lang.String message)
message
- The text message.private void setActive(boolean active)
active
- The new poisoned state.