GodotComponentTest/Game.gd

33 lines
1.2 KiB
GDScript

extends Node2D
onready var SimpleEntity = preload("res://Entities/SimpleEntity.tscn")
onready var WanderingEntity = preload("res://Entities/WanderingEntity.tscn")
onready var player = $PlayerEntity
onready var entities = $Entities
signal world_location_clicked
# Called when the node enters the scene tree for the first time.
func _ready():
self.connect("world_location_clicked", player, "on_world_location_clicked")
func _on_AddEntityButton_pressed():
var entity_instance = SimpleEntity.instance()
var viewport_rect = get_viewport_rect()
entity_instance.transform.origin = Vector2(randf() * viewport_rect.size[0], randf() * viewport_rect.size[1])
entities.add_child(entity_instance)
func _on_AddWanderingEntity_pressed():
var entity_instance = WanderingEntity.instance()
var viewport_rect = get_viewport_rect()
entity_instance.transform.origin = Vector2(randf() * viewport_rect.size[0], randf() * viewport_rect.size[1])
entities.add_child(entity_instance)
entity_instance.set_target(Vector2(randf() * viewport_rect.size[0], randf() * viewport_rect.size[1]))
func _unhandled_input(event):
if event is InputEventMouseButton and event.pressed:
#get_tree().get_root().set_input_as_handled()
emit_signal("world_location_clicked", event.position)
pass