diff --git a/data/buildings/basic/researcher/researcher.gd b/data/buildings/basic/researcher/researcher.gd index 72a97e3..7cc6b02 100644 --- a/data/buildings/basic/researcher/researcher.gd +++ b/data/buildings/basic/researcher/researcher.gd @@ -1 +1,5 @@ -extends Building +extends Node +class_name Researcher + +func interact() -> bool: + return true diff --git a/data/buildings/basic/researcher/researcher.tscn b/data/buildings/basic/researcher/researcher.tscn new file mode 100644 index 0000000..45de94b --- /dev/null +++ b/data/buildings/basic/researcher/researcher.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://bw3j3vxpsfxst"] + +[ext_resource type="Script" path="res://data/buildings/basic/researcher/researcher.gd" id="1_018kr"] + +[node name="Researcher" type="Node"] +script = ExtResource("1_018kr") diff --git a/data/buildings/basic/researcher/researcher_building.tres b/data/buildings/basic/researcher/researcher_building.tres index 200aeaf..3587a8c 100644 --- a/data/buildings/basic/researcher/researcher_building.tres +++ b/data/buildings/basic/researcher/researcher_building.tres @@ -1,16 +1,16 @@ -[gd_resource type="Resource" load_steps=5 format=3 uid="uid://bibep1rd0jml2"] +[gd_resource type="Resource" script_class="Building" load_steps=5 format=3 uid="uid://bibep1rd0jml2"] [ext_resource type="Texture2D" uid="uid://n806c03hgaq1" path="res://assets/scifi_tilesheet@2.png" id="1_kruad"] [ext_resource type="Resource" uid="uid://bpjj0x7jr1k6u" path="res://data/game_resources/carbon/carbon_resource.tres" id="2_hybxl"] -[ext_resource type="Script" path="res://data/buildings/basic/researcher/researcher.gd" id="3_h2kjx"] +[ext_resource type="Script" path="res://data/buildings/building.gd" id="3_pleu3"] -[sub_resource type="AtlasTexture" id="AtlasTexture_ejp6g"] +[sub_resource type="AtlasTexture" id="AtlasTexture_n7l2d"] atlas = ExtResource("1_kruad") region = Rect2(1024, 128, 64, 64) [resource] -script = ExtResource("3_h2kjx") -atlas_texture = SubResource("AtlasTexture_ejp6g") +script = ExtResource("3_pleu3") +atlas_texture = SubResource("AtlasTexture_n7l2d") name = "Researcher" description = "Research new buildings and technologies" cost = { diff --git a/data/buildings/building.gd b/data/buildings/building.gd index fa9fa6b..138bc07 100644 --- a/data/buildings/building.gd +++ b/data/buildings/building.gd @@ -5,8 +5,12 @@ extends Resource @export var name: String @export var description: String @export var cost: Dictionary +@export var world_scene: PackedScene + func initialize(building: BuildingBase) -> void: pass + + func ready(building: BuildingBase) -> void: pass diff --git a/data/buildings/building_base.gd b/data/buildings/building_base.gd index a4491bd..8121f96 100644 --- a/data/buildings/building_base.gd +++ b/data/buildings/building_base.gd @@ -1,5 +1,5 @@ -extends Node2D class_name BuildingBase +extends Node2D var _building_data: Building @@ -8,8 +8,12 @@ var _building_data: Building func initialize(data: Building, grid_location: Vector2i) -> void: _building_data = data position = Grid.grid_to_world_center(grid_location) - _building_data.initialize(self) + sprite_2d.texture = _building_data.atlas_texture + var building_data_scene = _building_data.world_scene.instantiate() + add_child(building_data_scene) func _ready() -> void: - sprite_2d.texture = _building_data.atlas_texture _building_data.ready(self) + +func interact() -> bool: + return false