extends Node2D var Pheromone = preload("res://pheromone.tscn") var PheromoneScene = preload("res://pheromone.tscn") var pheromoneSet = preload("res://pheromones_tileset.tres") onready var PheromoneMap := .get_parent().get_node("Pheromones") onready var tilemap := .get_parent().get_node("TileMap") var pheromones = {} # Called when the node enters the scene tree for the first time. func _ready(): pass # Replace with function body. func get_intensity(pos : Vector2): var intensity := 0 if pheromones.has(pos): return pheromones[pos].intensity func addPheromone(pher): var pos = pher.tilePos # if food was marked on this tile, don't add "search" or any other marker if pheromones.has(pos) and pheromones[pos].type == "food": return if pheromones.has(pos): pheromones[pos].intensity += pher.intensity if pher.closeToHome > pheromones[pos].closeToHome: pheromones[pos].closeToHome = pher.closeToHome if pher.type == "food": pheromones[pos].type = "food" else: pheromones[pos] = pher add_child(pher) PheromoneMap.set_cellv(pos, pheromoneSet.find_tile_by_name(pher.type)) func removePheromone(pher): var pos = pher.tilePos if pheromones.has(pos): pheromones.erase(pos) PheromoneMap.set_cellv(pos, -1)