improved player class
This commit is contained in:
parent
722e2fa695
commit
c9ab3fe799
@ -37,7 +37,7 @@
|
||||
<file leaf-file-name="playerHandler.php" pinned="false" current="true" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/core/playerHandler.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="46" column="50" selection-start="1102" selection-end="1102" vertical-scroll-proportion="0.53782505" vertical-offset="242" max-vertical-offset="1088">
|
||||
<state line="68" column="7" selection-start="1941" selection-end="1941" vertical-scroll-proportion="0.7234042" vertical-offset="459" max-vertical-offset="1768">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
@ -64,7 +64,34 @@
|
||||
<file leaf-file-name="core.php" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/core/core.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="187" column="24" selection-start="4232" selection-end="4232" vertical-scroll-proportion="-5.5" vertical-offset="2761" max-vertical-offset="6817">
|
||||
<state line="187" column="24" selection-start="4232" selection-end="4232" vertical-scroll-proportion="-41.82895" vertical-offset="0" max-vertical-offset="6817">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="commands.php" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/core/commands.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="99" column="27" selection-start="2928" selection-end="2928" vertical-scroll-proportion="170.65384" vertical-offset="6120" max-vertical-offset="11730">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="stats.php" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/core/stats.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="20" column="0" selection-start="268" selection-end="268" vertical-scroll-proportion="152.5" vertical-offset="4305" max-vertical-offset="5151">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="tools.php" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/core/tools.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="154" column="6" selection-start="3963" selection-end="3963" vertical-scroll-proportion="-22.615385" vertical-offset="2030" max-vertical-offset="4352">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
@ -89,7 +116,6 @@
|
||||
<component name="IdeDocumentHistory">
|
||||
<option name="changedFiles">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/plugins/chatlog.plugin.php" />
|
||||
<option value="$PROJECT_DIR$/core/database.ManiaControl.php" />
|
||||
<option value="$PROJECT_DIR$/core/manialinkIdHandler.php" />
|
||||
<option value="$PROJECT_DIR$/core/core.ManiaControl.php" />
|
||||
@ -103,15 +129,16 @@
|
||||
<option value="$PROJECT_DIR$/core/callbacks.php" />
|
||||
<option value="$PROJECT_DIR$/core/chat.php" />
|
||||
<option value="$PROJECT_DIR$/core/core.php" />
|
||||
<option value="$PROJECT_DIR$/core/playerHandler.php" />
|
||||
<option value="$PROJECT_DIR$/core/player.php" />
|
||||
<option value="$PROJECT_DIR$/core/playerHandler.php" />
|
||||
<option value="$PROJECT_DIR$/core/tools.php" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="PhpWorkspaceProjectConfiguration" backward_compatibility_performed="true" />
|
||||
<component name="ProjectFrameBounds">
|
||||
<option name="x" value="376" />
|
||||
<option name="y" value="13" />
|
||||
<option name="x" value="247" />
|
||||
<option name="y" value="29" />
|
||||
<option name="width" value="1936" />
|
||||
<option name="height" value="1056" />
|
||||
</component>
|
||||
@ -291,7 +318,7 @@
|
||||
<servers />
|
||||
</component>
|
||||
<component name="ToolWindowManager">
|
||||
<frame x="376" y="13" width="1936" height="1056" extended-state="0" />
|
||||
<frame x="247" y="29" width="1936" height="1056" extended-state="0" />
|
||||
<editor active="true" />
|
||||
<layout>
|
||||
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||
@ -350,41 +377,6 @@
|
||||
</breakpoint-manager>
|
||||
</component>
|
||||
<component name="editorHistoryManager">
|
||||
<entry file="file://$PROJECT_DIR$/core/authentication.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="96" column="74" selection-start="2314" selection-end="2321" vertical-scroll-proportion="-6.3157897" vertical-offset="1152" max-vertical-offset="1853">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/core/manialinkIdHandler.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="19" column="5" selection-start="306" selection-end="306" vertical-scroll-proportion="-12.423077" vertical-offset="0" max-vertical-offset="748">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/core/commands.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="20" column="33" selection-start="0" selection-end="21192" vertical-scroll-proportion="0.4122682" vertical-offset="51" max-vertical-offset="11730">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/core/stats.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="20" column="0" selection-start="268" selection-end="268" vertical-scroll-proportion="0.3566334" vertical-offset="90" max-vertical-offset="5151">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/ManiaControl.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="26" column="0" selection-start="623" selection-end="623" vertical-scroll-proportion="0.5885486" vertical-offset="0" max-vertical-offset="751">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/core/server.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="241" column="9" selection-start="5767" selection-end="5767" vertical-scroll-proportion="0.5021398" vertical-offset="3745" max-vertical-offset="6579">
|
||||
@ -427,13 +419,6 @@
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/core/core.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="187" column="24" selection-start="4232" selection-end="4232" vertical-scroll-proportion="-5.5" vertical-offset="2761" max-vertical-offset="6817">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/core/chat.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="47" column="7" selection-start="976" selection-end="976" vertical-scroll-proportion="-9.653846" vertical-offset="548" max-vertical-offset="1547">
|
||||
@ -457,9 +442,51 @@
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/core/core.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="187" column="24" selection-start="4232" selection-end="4232" vertical-scroll-proportion="-41.82895" vertical-offset="0" max-vertical-offset="6817">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/plugins/oldstructure/records.plugin.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="1200" column="7" selection-start="37957" selection-end="37957" vertical-scroll-proportion="0.5579196" vertical-offset="19928" max-vertical-offset="20774">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/plugins/oldstructure/obstacle.plugin.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="-0.024822695" vertical-offset="21" max-vertical-offset="1173">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/core/commands.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="99" column="27" selection-start="2928" selection-end="2928" vertical-scroll-proportion="170.65384" vertical-offset="6120" max-vertical-offset="11730">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/core/stats.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="20" column="0" selection-start="268" selection-end="268" vertical-scroll-proportion="152.5" vertical-offset="4305" max-vertical-offset="5151">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/core/tools.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="154" column="6" selection-start="3963" selection-end="3963" vertical-scroll-proportion="-22.615385" vertical-offset="2030" max-vertical-offset="4352">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/core/playerHandler.php">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="46" column="50" selection-start="1102" selection-end="1102" vertical-scroll-proportion="0.53782505" vertical-offset="242" max-vertical-offset="1088">
|
||||
<state line="68" column="7" selection-start="1941" selection-end="1941" vertical-scroll-proportion="0.7234042" vertical-offset="459" max-vertical-offset="1768">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
|
@ -24,6 +24,7 @@ class playerHandler {
|
||||
$this->mc = $mc;
|
||||
$this->playerList = array();
|
||||
$this->mc->callbacks->registerCallbackHandler(Callbacks::CB_MP_PLAYERCONNECT, $this, 'playerConnect');
|
||||
$this->mc->callbacks->registerCallbackHandler(Callbacks::CB_MP_PLAYERDISCONNECT, $this, 'playerDisconnect');
|
||||
}
|
||||
|
||||
|
||||
@ -41,6 +42,7 @@ class playerHandler {
|
||||
* @param $player
|
||||
*/
|
||||
public function playerConnect($player){
|
||||
//TODO: Welcome Message?, on mc restart not all players listed, no relay support yet
|
||||
$this->mc->client->query('GetDetailedPlayerInfo', $player[0]);
|
||||
$this->addPlayer(new Player($this->mc->client->getResponse()));
|
||||
$player = $this->playerList[$player[0]];
|
||||
@ -48,12 +50,36 @@ class playerHandler {
|
||||
$this->mc->chat->sendChat('$ff0New Player: '. $player->nickname . '$z $ff0Nation:$fff ' . $player->nation . ' $ff0Ladder: $fff' . $player->ladderrank);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Handles a playerDisconnect
|
||||
* @param $player
|
||||
*/
|
||||
public function playerDisconnect($player){
|
||||
$player = $this->removePlayer($player[0]);
|
||||
$played = TOOLS::formatTime(time() - $player->created);
|
||||
$this->mc->chat->sendChat($player->nickname . '$z $ff0has left the game. Played:$fff ' . $played);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Gets a Player from the Playerlist
|
||||
* @param $login
|
||||
* @return null
|
||||
*/
|
||||
public function getPlayer($login){
|
||||
if (isset($this->playerList[$login]))
|
||||
return $this->playerList[$login];
|
||||
else
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a player to the PlayerList
|
||||
* @param Player $player
|
||||
* @return bool
|
||||
*/
|
||||
public function addPlayer(Player $player){
|
||||
private function addPlayer(Player $player){
|
||||
if($player != null){
|
||||
$this->playerList[$player->login] = $player;
|
||||
return true;
|
||||
@ -61,4 +87,18 @@ class playerHandler {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Removes a Player from the PlayerList
|
||||
* @param $login
|
||||
* @return Player $player
|
||||
*/
|
||||
private function removePlayer($login){
|
||||
if(isset($this->playerList[$login])){
|
||||
$player = $this->playerList[$login];
|
||||
unset($this->playerList[$login]);
|
||||
} else {
|
||||
$player = null;
|
||||
}
|
||||
return $player;
|
||||
}
|
||||
}
|
@ -140,6 +140,16 @@ class Tools {
|
||||
return $format;
|
||||
}
|
||||
|
||||
/**
|
||||
* Formats the given time (seconds) to hh:mm:ss
|
||||
*
|
||||
* @param int $time
|
||||
* @return string
|
||||
*/
|
||||
public static function formatTimeH($seconds) {
|
||||
return gmdate("H:i:s", $seconds);
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert given data to real boolean
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user