Optimisation de la récupération des tiles
This commit is contained in:
parent
a6847caf6c
commit
309939e69a
|
@ -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]
|
|
||||||
|
|
Loading…
Reference in a new issue