In the game I am making I declare a variable called CanHarvest as false, then later I set it to true. But as soon as it is set to true it is instantly set back to false. I do not know why. Please Help
extends PanelContainer
@onready var texture_rect = $TextureRect
@onready var timer = $Timer
var canHarvest = false
var power
var growTime
func _get_drag_data(at_position):
if get_global_mouse_position().y < 110:
set_drag_preview(get_preview())
return texture_rect
func _can_drop_data(_pos, data):
if get_global_mouse_position().y > 110:
return data is TextureRect
func _drop_data(_pos, data):
texture_rect.texture = data.texture
detect_plant_type()
func get_preview():
var preview_texture = TextureRect.new()
preview_texture.texture = texture_rect.texture
preview_texture.expand_mode = 1
preview_texture.size = Vector2(60,60)
var preview = Control.new()
preview.add_child(preview_texture)
return preview
func detect_plant_type():
if texture_rect.texture == preload("res://assets/carrotSprout.png"):
power = 1.0
growTime = 3.0
timer.start()
func _on_timer_timeout():
canHarvest = true
print ("hi")
func _on_area_2d_input_event(viewport, event, shape_idx):
if Input.is_action_just_pressed("mouse_click") and canHarvest:
GlobalVar.score += power
timer.start(growTime)
#print ("hi")
func _process(delta):
print (canHarvest)