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 # On calcule les coordonnées du chunk
coordinates = (x//self.chunk_width, y//self.chunk_height) coordinates = (x//self.chunk_width, y//self.chunk_height)
# On transforme les coordonnées globales en coordonnées dans le chunk # On vérifie que le chunk existe
x %= 16 if coordinates in layer:
y %= 16 chunk = layer[coordinates]
if coordinates not in layer: # On transforme les coordonnées globales en coordonnées dans le chunk,
return 0 # On calcule l'index et on renvoie la tile
return chunk[x % 16 + y % 16 * self.chunk_width]
chunk = layer[coordinates] # Si on ne trouve pas le chunk, on renvoit "vide"
return 0
# 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 calcule l'index et on renvoie la tile
return chunk[x+y*self.chunk_width]