MAPG-235 results of other players shown
This commit is contained in:
1 parent
e7869d67f7
commit
69964acfb2
3 files changed
+148
-11
No files matched your search
@@ -160,19 +160,34 @@ class GameFlowController
|
||||
|
||||
$response['history'] = [];
|
||||
|
||||
$guesses = iterator_to_array($this->guessRepository->getAllInChallengeByUser($userId, $challenge));
|
||||
$guessesByUser = iterator_to_array($this->guessRepository->getAllInChallengeByUser($userId, $challenge));
|
||||
$places = iterator_to_array($this->placeRepository->getAllInChallenge($challenge));
|
||||
|
||||
|
||||
for($i = 0; $i < $currentRound; ++$i) {
|
||||
|
||||
for($i = 0; $i < $currentRound; ++$i)
|
||||
{
|
||||
$response['history'][] = [
|
||||
'position' => $places[$i]->getPosition()->toArray(),
|
||||
'result' => [
|
||||
'guessPosition' => $guesses[$i]->getPosition()->toArray(),
|
||||
'distance' => $guesses[$i]->getDistance(),
|
||||
'score' => $guesses[$i]->getScore()
|
||||
]
|
||||
'guessPosition' => $guessesByUser[$i]->getPosition()->toArray(),
|
||||
'distance' => $guessesByUser[$i]->getDistance(),
|
||||
'score' => $guessesByUser[$i]->getScore()
|
||||
],
|
||||
'allResults' => []
|
||||
];
|
||||
|
||||
foreach($this->guessRepository->getAllInChallengeByRound($i, $challenge) as $guess) {
|
||||
if($guess->getUserId() != $userId) {
|
||||
$user = $this->userRepository->getByGuess($guess);
|
||||
|
||||
$response['history'][$i]['allResults'][] = [
|
||||
'userName' => $user->getDisplayName(),
|
||||
'guessPosition' => $guess->getPosition()->toArray(),
|
||||
'distance' => $guess->getDistance(),
|
||||
'score' => $guess->getScore()
|
||||
];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(!isset($currentPlace)) { // game finished
|
||||
@@ -347,11 +362,40 @@ class GameFlowController
|
||||
'panoId' => $nextPlace->getPanoIdCached(),
|
||||
'pov' => $nextPlace->getPov()->toArray()
|
||||
];
|
||||
|
||||
} else {
|
||||
|
||||
$guessesByUser = iterator_to_array($this->guessRepository->getAllInChallengeByUser($userId, $challenge));
|
||||
$places = iterator_to_array($this->placeRepository->getAllInChallenge($challenge));
|
||||
|
||||
for($i = 0; $i < $nextRound; ++$i) {
|
||||
|
||||
$response['history'][] = [
|
||||
'position' => $places[$i]->getPosition()->toArray(),
|
||||
'result' => [
|
||||
'guessPosition' => $guessesByUser[$i]->getPosition()->toArray(),
|
||||
'distance' => $guessesByUser[$i]->getDistance(),
|
||||
'score' => $guessesByUser[$i]->getScore()
|
||||
],
|
||||
'allResults' => []
|
||||
];
|
||||
|
||||
foreach($this->guessRepository->getAllInChallengeByRound($i, $challenge) as $guess) {
|
||||
// if($guess->getUserId() != $userId) {
|
||||
$user = $this->userRepository->getByGuess($guess);
|
||||
|
||||
$response['history'][$i]['allResults'][] = [
|
||||
'userName' => $user->getDisplayName(),
|
||||
'guessPosition' => $guess->getPosition()->toArray(),
|
||||
'distance' => $guess->getDistance(),
|
||||
'score' => $guess->getScore()
|
||||
];
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
$this->saveVisit($currentPlace->getId());
|
||||
|
||||
return new JsonContent($response);
|
||||
|
||||
@@ -55,6 +55,7 @@ class GuessRepository
|
||||
$select = new Select(\Container::$dbConnection);
|
||||
$select->innerJoin('place_in_challenge', ['guesses', 'place_in_challenge_id'], '=', ['place_in_challenge', 'id']);
|
||||
$select->where('challenge_id', '=', $challenge->getId());
|
||||
$select->orderBy('order');
|
||||
|
||||
yield from $this->pdm->selectMultipleFromDb($select, Guess::class);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user