revert match settings manager (nevermind)

This commit is contained in:
Steffen Schröder
2014-05-11 16:02:29 +02:00
parent 0834d2c587
commit f9df0fc325
10 changed files with 67 additions and 136 deletions

View File

@ -19,7 +19,8 @@ class Server implements CallbackListener {
/*
* Constants
*/
const TABLE_SERVERS = 'mc_servers';
const TABLE_SERVERS = 'mc_servers';
const CB_TEAM_MODE_CHANGED = 'Server.TeamModeChanged';
/*
* Public Properties
@ -37,12 +38,12 @@ class Server implements CallbackListener {
public $usageReporter = null;
public $rankingManager = null;
public $scriptManager = null;
public $matchSettingsManager = null;
/*
* Private Properties
*/
private $maniaControl = null;
private $teamMode = null;
/**
* Construct a new Server
@ -53,11 +54,10 @@ class Server implements CallbackListener {
$this->maniaControl = $maniaControl;
$this->initTables();
$this->serverCommands = new ServerCommands($maniaControl);
$this->usageReporter = new UsageReporter($maniaControl);
$this->rankingManager = new RankingManager($maniaControl);
$this->scriptManager = new ScriptManager($maniaControl);
$this->matchSettingsManager = new MatchSettingsManager($maniaControl);
$this->serverCommands = new ServerCommands($maniaControl);
$this->usageReporter = new UsageReporter($maniaControl);
$this->rankingManager = new RankingManager($maniaControl);
$this->scriptManager = new ScriptManager($maniaControl);
// Register for callbacks
$this->maniaControl->callbackManager->registerCallbackListener(CallbackManager::CB_ONINIT, $this, 'onInit');
@ -290,7 +290,7 @@ class Server implements CallbackListener {
// Build file name
$map = $this->maniaControl->mapManager->getCurrentMap();
$gameMode = $this->matchSettingsManager->getGameMode();
$gameMode = $this->getGameMode();
$time = time();
$fileName = "GhostReplays/Ghost.{$login}.{$gameMode}.{$time}.{$map->uid}.Replay.Gbx";
@ -327,6 +327,42 @@ class Server implements CallbackListener {
return (is_dir($directory) && is_writable($directory));
}
/**
* Fetch the current Game Mode
*
* @param bool $stringValue
* @param int $parseValue
* @return int | string
*/
public function getGameMode($stringValue = false, $parseValue = null) {
if (is_int($parseValue)) {
$gameMode = $parseValue;
} else {
$gameMode = $this->maniaControl->client->getGameMode();
}
if ($stringValue) {
switch ($gameMode) {
case 0:
return 'Script';
case 1:
return 'Rounds';
case 2:
return 'TimeAttack';
case 3:
return 'Team';
case 4:
return 'Laps';
case 5:
return 'Cup';
case 6:
return 'Stunts';
default:
return 'Unknown';
}
}
return $gameMode;
}
/**
* Wait for the Server to have the given Status
*
@ -361,37 +397,27 @@ class Server implements CallbackListener {
return true;
}
/**
* Set whether the Server Runs a Team-Based Mode or not
*
* @deprecated Use MatchSettingsManager instead
* @param bool $teamMode
*/
public function setTeamMode($teamMode = true) {
$this->matchSettingsManager->setTeamMode($teamMode);
$oldStatus = $this->teamMode;
$this->teamMode = (bool)$teamMode;
// Trigger callback
if ($oldStatus !== $this->teamMode | $oldStatus === null) {
$this->maniaControl->callbackManager->triggerCallback(self::CB_TEAM_MODE_CHANGED, $teamMode);
}
}
/**
* Check if the Server Runs a Team-Based Mode
*
* @deprecated Use MatchSettingsManager instead
* @return bool
*/
public function isTeamMode() {
$this->matchSettingsManager->isTeamMode();
}
/**
* Fetch the current Game Mode
*
* @deprecated Use MatchSettingsManager instead
* @param bool $stringValue
* @param int $parseValue
* @return int | string
*/
public function getGameMode($stringValue = false, $parseValue = null) {
$this->matchSettingsManager->getGameMode($stringValue, $parseValue);
return $this->teamMode;
}
}