Optimisation de la récupération des tiles

This commit is contained in:
Yannis 2023-12-31 14:12:58 +01:00
parent a6847caf6c
commit 309939e69a
Signed by: yannis
SSH key fingerprint: SHA256:Bz8K8QiTYUudf8MlthTM9MCLfgiYf/U1md3V9g9Wo14

View file

@ -28,18 +28,13 @@ class MapManager:
# On calcule les coordonnées du chunk
coordinates = (x//self.chunk_width, y//self.chunk_height)
# On transforme les coordonnées globales en coordonnées dans le chunk
x %= 16
y %= 16
if coordinates not in layer:
return 0
# On vérifie que le chunk existe
if coordinates in layer:
chunk = layer[coordinates]
# On vérifie que la tile demandée existe sinon on répond "vide"
if x >= self.chunk_width or x < 0 or y >= self.chunk_height or y < 0:
return 0
# On transforme les coordonnées globales en coordonnées dans le chunk,
# On calcule l'index et on renvoie la tile
return chunk[x+y*self.chunk_width]
return chunk[x % 16 + y % 16 * self.chunk_width]
# Si on ne trouve pas le chunk, on renvoit "vide"
return 0