The_Dark_Side_of_Earth/petal.gd

31 lines
1,000 B
GDScript

class_name Petal extends Node2D
@onready var grid : Grid = get_tree().get_root().get_node("main/Earth/Grid")
@onready var location : Vector2 = grid.get_location_from_world_pos(global_position)
@onready var offset : Vector2 = grid.get_offset_from_world_pos(global_position)
@export var vine_resource : PackedScene
var vine : Vine
var activated = false
var item : Item:
set(item_in):
item = item_in
if not activated and item is Item:
item.monitoring = false
item.monitorable = false
item.modulate = Color(1,1,1,0.8)
func _ready() -> void:
await get_tree().create_timer(1).timeout
vine = vine_resource.instantiate()
vine.petal_location = Global.vec_mod(location, grid.num_collumns)
vine.petal_offset = offset
get_parent().call_deferred("add_child",vine)
await get_tree().create_timer(1).timeout
vine.init_random()
func _on_interaction() -> void:
activated = true
vine.activate()
if item != null:
item.monitorable = true
item.monitoring = true
item.modulate = Color.WHITE