legacy-of-the-ancient-questor/scripts/game/maps/WorldMap.gd

23 lines
681 B
GDScript

extends Map2d
class_name WorldMap
func playerCanMoveTo(newPosition:Vector2) -> bool:
var cast_cell_1
var cast_cell_2
player.updateRaycasts(newPosition)
cast_cell_1 = local_to_map(newPosition + player.collisionRay_1.position)
cast_cell_2 = local_to_map(newPosition + player.collisionRay_2.position)
if (getTerrainDataForTile(0, TerrainDataTypes.TerrainType, cast_cell_1.x, cast_cell_1.y) != "Water" and
getTerrainDataForTile(0, TerrainDataTypes.TerrainType, cast_cell_2.x, cast_cell_2.y) != "Water"):
if (player.wouldCollideAt(newPosition)):
return false
return true
else:
CommandDispatcher.DISPLAY_MESSAGE.emit("Your path is blocked.")
return false