diff --git a/src/java/com/threerings/stats/data/StatModifier.java b/src/java/com/threerings/stats/data/StatModifier.java index c4d484ec..e0bd17bb 100644 --- a/src/java/com/threerings/stats/data/StatModifier.java +++ b/src/java/com/threerings/stats/data/StatModifier.java @@ -80,6 +80,5 @@ public abstract class StatModifier public abstract void modify (T stat); /** The type of the stat on which we're operating. */ - @NotStreamable - protected Stat.Type _type; + @NotStreamable protected Stat.Type _type; } diff --git a/src/java/com/threerings/stats/data/StatSet.java b/src/java/com/threerings/stats/data/StatSet.java index 9ea97178..b694c552 100644 --- a/src/java/com/threerings/stats/data/StatSet.java +++ b/src/java/com/threerings/stats/data/StatSet.java @@ -65,19 +65,19 @@ public final class StatSet extends DSet * It will increment the Stat's modCount, and won't set its dirty bit if it's not already * set, to prevent the Stat from being re-written to the repo unnecessarily. */ - @SuppressWarnings("unchecked") public void syncStat (StatModifier modifier) { boolean wasModified = false; - Stat stat = getStat(modifier.getType()); + @SuppressWarnings("unchecked") T stat = (T)getStat(modifier.getType()); if (stat != null) { wasModified = stat.isModified(); - modifier.modify((T)stat); + modifier.modify(stat); updateStat(stat); } else { - stat = modifier.getType().newStat(); - modifier.modify((T)stat); + @SuppressWarnings("unchecked") T nstat = (T)modifier.getType().newStat(); + stat = nstat; + modifier.modify(stat); addStat(stat); }