public function endGame($id, $enderUserId = null) { $game = $this->getGame($id); if (!$game) { return; } $playerList = RoleSummaryFormatter::format($game->getPlayers(), $game->getOriginalPlayers()); $client = $this->client; $winningTeam = $game->whoWon(); if ($winningTeam !== null) { $winMsg = ":clipboard: Role Summary\r\n--------------------------------------------------------------\r\n{$playerList}\r\n\r\n:tada: The game is over. The "; if ($winningTeam == Role::VILLAGER) { $winMsg .= "Townsfolk "; } elseif ($winningTeam == Role::WEREWOLF) { $winMsg .= "Werewolves "; } else { $winMsg .= "UnknownTeam "; } $winMsg .= "are victorious!"; $client->getChannelGroupOrDMByID($id)->then(function (Channel $channel) use($client, $playerList, $winMsg) { $client->send($winMsg, $channel); }); } unset($this->games[$id]); if ($enderUserId !== null) { $client->getChannelGroupOrDMByID($id)->then(function (Channel $channel) use($client, $playerList, $enderUserId) { $client->getUserById($enderUserId)->then(function (\Slack\User $user) use($client, $playerList, $channel) { $client->send(":triangular_flag_on_post: The game was ended by @{$user->getUsername()}.\r\n\r\nRole Summary:\r\n----------------\r\n{$playerList}", $channel); }); }); } }
public function endGame($id, $enderUserId = null) { $game = $this->getGame($id); if (!$game) { return; } $playerList = RoleSummaryFormatter::format($game->getLivingPlayers(), $game->getOriginalPlayers()); $client = $this->client; $winningTeam = $game->whoWon(); if ($winningTeam !== null) { $winMsg = ":clipboard: Résumé des rôles\r\n--------------------------------------------------------------\r\n{$playerList}\r\n\r\n:tada: La partie est terminée !. "; if ($winningTeam == Role::VILLAGER) { $winMsg .= "Les Villageois ont gagné !"; } elseif ($winningTeam == Role::WEREWOLF) { $winMsg .= "Les Loups-Garous ont gagné !"; } elseif ($winningTeam == Role::TANNER) { $winMsg .= "Le Tanneur a gagné !"; } else { $winMsg .= "Une équipe inconnue a gagné !"; } $this->sendMessageToChannel($game, $winMsg); } if ($enderUserId !== null) { $client->getUserById($enderUserId)->then(function (\Slack\User $user) use($game, $playerList) { $gameMsg = ":triangular_flag_on_post: "; $roleSummary = ""; if ($game->getState() != GameState::LOBBY) { $gameMsg .= "La partie a été terminée"; $roleSummary .= "\r\n\r\nRésumé des rôles:\r\n----------------\r\n{$playerList}"; } else { $gameMsg .= "Le lobby a été fermé"; } $this->sendMessageToChannel($game, $gameMsg . " by @{$user->getUsername()}." . $roleSummary); }); } unset($this->games[$id]); }
public function endGame($id, $enderUserId = null) { $game = $this->getGame($id); if (!$game) { return; } $playerList = RoleSummaryFormatter::format($game->getLivingPlayers(), $game->getOriginalPlayers()); $client = $this->client; $winningTeam = $game->whoWon(); if ($winningTeam !== null) { $winMsg = ":clipboard: Role Summary\r\n--------------------------------------------------------------\r\n{$playerList}\r\n\r\n:tada: The game is over. The "; if ($winningTeam == Role::VILLAGER) { $winMsg .= "Townsfolk are victorious!"; } elseif ($winningTeam == Role::WEREWOLF) { $winMsg .= "Werewolves are victorious!"; } elseif ($winningTeam == Role::TANNER) { $winMsg .= "Tanner is victorious!"; } else { $winMsg .= "UnknownTeam is victorious!"; } $this->sendMessageToChannel($game, $winMsg); } if ($enderUserId !== null) { $client->getUserById($enderUserId)->then(function (\Slack\User $user) use($game, $playerList) { $gameMsg = ":triangular_flag_on_post: The "; $roleSummary = ""; if ($game->getState() != GameState::LOBBY) { $gameMsg .= "game was ended"; $roleSummary .= "\r\n\r\nRole Summary:\r\n----------------\r\n{$playerList}"; } else { $gameMsg .= "lobby was closed"; } $this->sendMessageToChannel($game, $gameMsg . " by @{$user->getUsername()}." . $roleSummary); }); } unset($this->games[$id]); }
public function endGame($id, $enderUserId = null) { $game = $this->getGame($id); if (!$game) { return; } $playerList = RoleSummaryFormatter::format($game->getLivingPlayers(), $game->getOriginalPlayers()); $client = $this->client; $winningTeam = $game->whoWon(); if ($winningTeam !== null) { $winMsg = ":clipboard: Подведем итоги\r\n--------------------------------------------------------------\r\n{$playerList}\r\n\r\n:tada: Игра окончена."; if ($winningTeam == Role::VILLAGER) { $winMsg .= "Победили Крестьяне!"; } elseif ($winningTeam == Role::WEREWOLF) { $winMsg .= "Победили Оборотни!"; } elseif ($winningTeam == Role::TANNER) { $winMsg .= "Победил Таксидермист!"; } else { $winMsg .= "Хз кто победил!"; } $this->sendMessageToChannel($game, $winMsg); } if ($enderUserId !== null) { $client->getUserById($enderUserId)->then(function (\Slack\User $user) use($game, $playerList) { $gameMsg = ":triangular_flag_on_post:"; $roleSummary = ""; if ($game->getState() != GameState::LOBBY) { $gameMsg .= "Игра завершена."; $roleSummary .= "\r\n\r\nПодведем итоги:\r\n----------------\r\n{$playerList}"; } else { $gameMsg .= "Игра завершена."; } $this->sendMessageToChannel($game, $gameMsg . " @{$user->getUsername()}." . $roleSummary); }); } unset($this->games[$id]); }