From 3eff6e03cdb68a19c7042782c5d1e4f130d12b90 Mon Sep 17 00:00:00 2001 From: Michael Bayne Date: Tue, 25 Sep 2007 16:32:17 +0000 Subject: [PATCH] Allow derived classes to not rate games for other reasons. git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@438 c613c5cb-e716-0410-b11b-feb51c14d237 --- .../rating/server/RatingManagerDelegate.java | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/java/com/threerings/parlor/rating/server/RatingManagerDelegate.java b/src/java/com/threerings/parlor/rating/server/RatingManagerDelegate.java index 1e160fef..d54da4ad 100644 --- a/src/java/com/threerings/parlor/rating/server/RatingManagerDelegate.java +++ b/src/java/com/threerings/parlor/rating/server/RatingManagerDelegate.java @@ -91,7 +91,7 @@ public abstract class RatingManagerDelegate extends GameManagerDelegate // if the game is in play and this is a player, load their ratings BodyObject occupant = (BodyObject)CrowdServer.omgr.getObject(bodyOid); - if (_gobj.isInPlay() && isPlayer(occupant)) { + if (shouldRateGame() && _gobj.isInPlay() && isPlayer(occupant)) { Rating rating = maybeCreateRating(occupant); if (rating != null) { loadRatings(Collections.singleton(rating)); @@ -118,8 +118,8 @@ public abstract class RatingManagerDelegate extends GameManagerDelegate { super.gameWillStart(); - // if this game is not rated, stop here - if (!_gmgr.getGameConfig().rated) { + // if this game is not to be rated, stop here + if (!shouldRateGame()) { return; } @@ -151,8 +151,8 @@ public abstract class RatingManagerDelegate extends GameManagerDelegate { super.gameDidEnd(); - // if this game is not rated, stop here - if (!_gmgr.getGameConfig().rated) { + // if this game is not to be rated, stop here + if (!shouldRateGame()) { return; } @@ -397,6 +397,14 @@ public abstract class RatingManagerDelegate extends GameManagerDelegate return _gmgr.getGameConfig().getGameId(); } + /** + * Returns true if this game should be rated, false otherwise. + */ + protected boolean shouldRateGame () + { + return _gmgr.getGameConfig().rated; + } + /** * Return the minimum time (in seconds) a game must've lasted for it to count towards rating. */