25 lines
783 B
GDScript
25 lines
783 B
GDScript
extends Area2D
|
|
# planet.gd - simple clickable planet
|
|
|
|
signal planet_selected(planet)
|
|
|
|
var buildings: Array = []
|
|
|
|
func _ready():
|
|
# add a simple visual if Sprite2D not set
|
|
if not $Sprite2D.texture:
|
|
# create a colored CircleTexture placeholder
|
|
var img = Image.new()
|
|
img.create(64,64,false,Image.FORMAT_RGBA8)
|
|
img.fill(Color(0.2,0.5,1.0,1.0))
|
|
var tex = ImageTexture.create_from_image(img)
|
|
$Sprite2D.texture = tex
|
|
|
|
func _input_event(viewport, event, shape_idx):
|
|
if event is InputEventMouseButton and event.pressed and event.button_index == MOUSE_BUTTON_LEFT:
|
|
emit_signal("planet_selected", self)
|
|
|
|
func build(building_type: String):
|
|
buildings.append(building_type)
|
|
print("Built %s on %s" % [building_type, name])
|