 |
Crossfire JXClient, Trunk
|
Go to the documentation of this file.
23 package com.realtime.crossfire.jxclient.stats;
28 import org.jetbrains.annotations.NotNull;
48 private final Object
sync =
new Object();
66 @SuppressWarnings(
"FieldCanBeLocal")
70 public void resetBefore() {
75 public void resetAfter() {
80 public void statChanged(
final int statNo,
final int value) {
85 public void simpleWeaponSpeedChanged(
final boolean simpleWeaponSpeed) {
90 public void titleChanged(@NotNull
final String title) {
95 public void godNameChanged(@NotNull
final String godName) {
100 public void rangeChanged(@NotNull
final String range) {
105 public void activeSkillChanged(@NotNull
final String
activeSkill) {
110 public void experienceChanged(
final long exp) {
115 public void experienceNextLevelChanged(
final long expNextLevel) {
125 @SuppressWarnings(
"FieldCanBeLocal")
132 @SuppressWarnings("FieldCanBeLocal")
136 public void commandDrawextinfoReceived(
final int color,
final int type,
final int subtype, @NotNull
final String message) {
141 public void setDebugMode(
final boolean printMessageTypes) {
165 if (range.startsWith(
"Skill: ")) {
177 setActive(tmp.endsWith(
".") ? tmp.substring(0, tmp.length()-1) : tmp);
188 final String normalizedActiveSkill =
switch (
activeSkill) {
189 case "lockpicks" ->
"lockpicking";
190 case "writing pen" ->
"inscription";
194 synchronized (
sync) {
195 if (this.activeSkill.equals(normalizedActiveSkill)) {
199 this.activeSkill = normalizedActiveSkill;
void checkRange(@NotNull final String range)
Checks whether the range attribute has changed.
final CrossfireDrawinfoListener drawinfoListener
The drawinfo listener to receive drawinfo messages.
Interface for listeners interested in drawinfo messages received from the Crossfire server.
final Stats stats
The stats instance to notify.
Adds encoding/decoding of crossfire protocol packets to a ServerConnection.
final Object sync
The object used for synchronization.
final StatsListener statsListener
The stats listener to detect the range stat.
void setActive(@NotNull final String activeSkill)
Sets the active skill name.
void addCrossfireStatsListener(@NotNull final StatsListener statsListener)
Adds a StatsListener to be notified about stat changes.
void setActiveSkill(@NotNull final String activeSkill)
Sets the active skill name.
static final String READIED_SKILLS
Prefix string when searching for the currently active skill.
This is the representation of all the statistics of a player, like its speed or its experience.
Interface for listeners interested in drawextinfo messages received from the Crossfire server.
void checkMessage(@NotNull final String message)
Checks whether a drawinfo message is skill related.
ActiveSkillWatcher(@NotNull final Stats stats, @NotNull final CrossfireServerConnection crossfireServerConnection)
Creates a new instance.
final CrossfireDrawextinfoListener drawextinfoListener
The drawextinfo listener to receive drawextinfo messages.
String activeSkill
The last known active skill name.
Helper class to synthesize an "active skill" stat value.
Interface for listeners interested in changes of Stats instances.