Possibility added to switch between old RASP-karma and new percentage

This commit is contained in:
Max Klaversma 2014-04-30 14:45:56 +02:00 committed by Steffen Schröder
parent 904f000481
commit 919c5b4270
3 changed files with 35 additions and 22 deletions

View File

@ -343,6 +343,10 @@ class MapCommands implements CommandListener, ManialinkPageAnswerListener, Callb
$mapList = array(); $mapList = array();
foreach($maps as $map) { foreach($maps as $map) {
if($map instanceof Map) { if($map instanceof Map) {
if($this->maniaControl->settingManager->getSetting($karmaPlugin, $karmaPlugin::SETTING_NEWKARMA) === true) {
$karma = $karmaPlugin->getMapKarma($map);
$map->karma = round($karma * 100.);
} else {
$votes = $karmaPlugin->getMapVotes($map); $votes = $karmaPlugin->getMapVotes($map);
$min = 0; $min = 0;
$plus = 0; $plus = 0;
@ -358,6 +362,7 @@ class MapCommands implements CommandListener, ManialinkPageAnswerListener, Callb
} }
} }
$map->karma = $plus-$min; $map->karma = $plus-$min;
}
$mapList[] = $map; $mapList[] = $map;
} }
} }

View File

@ -425,6 +425,10 @@ class MapList implements ManialinkPageAnswerListener, CallbackListener {
$karma = $karmaPlugin->getMapKarma($map); $karma = $karmaPlugin->getMapKarma($map);
$votes = $karmaPlugin->getMapVotes($map); $votes = $karmaPlugin->getMapVotes($map);
if (is_numeric($karma)) { if (is_numeric($karma)) {
if($this->maniaControl->settingManager->getSetting($karmaPlugin, $karmaPlugin::SETTING_NEWKARMA) === true) {
$endKarma = $karma;
$karmaText = ' ' . round($karma * 100.) . ' (' . $votes['count'] . ')';
} else {
$min = 0; $min = 0;
$plus = 0; $plus = 0;
foreach($votes as $vote) { foreach($votes as $vote) {
@ -439,6 +443,8 @@ class MapList implements ManialinkPageAnswerListener, CallbackListener {
} }
} }
$endKarma = $plus-$min; $endKarma = $plus-$min;
$karmaText = ' ' . $endKarma . ' (' . $votes['count'] . 'x / ' . round($karma * 100.) . '%)';
}
$karmaGauge = new Gauge(); $karmaGauge = new Gauge();
$mapFrame->add($karmaGauge); $mapFrame->add($karmaGauge);
@ -459,7 +465,7 @@ class MapList implements ManialinkPageAnswerListener, CallbackListener {
$karmaLabel->setTextSize(0.9); $karmaLabel->setTextSize(0.9);
$karmaLabel->setTextColor('000'); $karmaLabel->setTextColor('000');
$karmaLabel->setAlign(Control::CENTER, Control::CENTER); $karmaLabel->setAlign(Control::CENTER, Control::CENTER);
$karmaLabel->setText(' ' . $endKarma . ' (' . $votes['count'] . 'x / ' . round($karma * 100.) . '%)'); $karmaLabel->setText($karmaText);
} }
} }

View File

@ -43,6 +43,7 @@ class KarmaPlugin implements CallbackListener, TimerListener, Plugin {
const SETTING_WIDGET_POSY = 'Widget-Position: Y'; const SETTING_WIDGET_POSY = 'Widget-Position: Y';
const SETTING_WIDGET_WIDTH = 'Widget-Size: Width'; const SETTING_WIDGET_WIDTH = 'Widget-Size: Width';
const SETTING_WIDGET_HEIGHT = 'Widget-Size: Height'; const SETTING_WIDGET_HEIGHT = 'Widget-Size: Height';
const SETTING_NEWKARMA = 'Enable "new karma" (percentage), disable = RASP karma';
const STAT_PLAYER_MAPVOTES = 'Voted Maps'; const STAT_PLAYER_MAPVOTES = 'Voted Maps';
/* /*
@ -102,6 +103,7 @@ class KarmaPlugin implements CallbackListener, TimerListener, Plugin {
$this->maniaControl->settingManager->initSetting($this, self::SETTING_WIDGET_POSY, 90 - 10 - 6); $this->maniaControl->settingManager->initSetting($this, self::SETTING_WIDGET_POSY, 90 - 10 - 6);
$this->maniaControl->settingManager->initSetting($this, self::SETTING_WIDGET_WIDTH, 25.); $this->maniaControl->settingManager->initSetting($this, self::SETTING_WIDGET_WIDTH, 25.);
$this->maniaControl->settingManager->initSetting($this, self::SETTING_WIDGET_HEIGHT, 12.); $this->maniaControl->settingManager->initSetting($this, self::SETTING_WIDGET_HEIGHT, 12.);
$this->maniaControl->settingManager->initSetting($this, self::SETTING_NEWKARMA, true);
// Register for callbacks // Register for callbacks
$this->maniaControl->timerManager->registerTimerListening($this, 'handle1Second', 1000); $this->maniaControl->timerManager->registerTimerListening($this, 'handle1Second', 1000);