class_name Map extends Node2D const OUT_OF_BOUND_DIST = 2000 @export var n_animals_to_liberate := 4 func _ready(): var map_size = GameTerrain.TERRAIN_SIZE * GameTerrain.MAP_RATIO for polygon in [$Ground, $Fertility]: polygon.set_polygon(PackedVector2Array([ Vector2(0,0), Vector2(map_size.x, 0), Vector2(map_size.x, map_size.y), Vector2(0, map_size.y), ])) polygon.material.set_shader_parameter("data_texture", GameTerrain.texture) polygon.material.set_shader_parameter( "data_texture_size", GameTerrain.TERRAIN_SIZE * GameTerrain.MAP_RATIO ) $OutOfBound.set_polygon(PackedVector2Array([ Vector2(-OUT_OF_BOUND_DIST,-OUT_OF_BOUND_DIST), Vector2(map_size.x + OUT_OF_BOUND_DIST, -OUT_OF_BOUND_DIST), Vector2(map_size.x + OUT_OF_BOUND_DIST, map_size.y + OUT_OF_BOUND_DIST), Vector2(-OUT_OF_BOUND_DIST, map_size.y + OUT_OF_BOUND_DIST), ])) func _on_gui_scanner_selected(type : Scanners.Type): $Scanners.select_scanner(type) func _on_animal_liberated() -> void: n_animals_to_liberate -= 1 if n_animals_to_liberate == 0: print("YOU WIN")