diff --git a/assets/scifi_tilesheet@2.png b/assets/scifi_tilesheet@2.png index 4772739..96b2cbc 100644 Binary files a/assets/scifi_tilesheet@2.png and b/assets/scifi_tilesheet@2.png differ diff --git a/data/buildings/corruptor.tres b/data/buildings/corruptor.tres index 71ace03..7eaacd7 100644 --- a/data/buildings/corruptor.tres +++ b/data/buildings/corruptor.tres @@ -1,10 +1,15 @@ -[gd_resource type="Resource" script_class="Building" load_steps=2 format=3 uid="uid://bgwoy0uh2cpvu"] +[gd_resource type="Resource" script_class="Building" load_steps=4 format=3 uid="uid://bgwoy0uh2cpvu"] +[ext_resource type="Resource" uid="uid://bpjj0x7jr1k6u" path="res://data/game_resources/carbon_resource.tres" id="1_5s38g"] [ext_resource type="Script" path="res://scripts/building.gd" id="1_ssts7"] +[ext_resource type="Resource" uid="uid://dr00rd4f42jqe" path="res://data/game_resources/gem_resource.tres" id="2_u1tpw"] [resource] script = ExtResource("1_ssts7") -atlas_texture_region = Vector2i(0, 0) -name = "" -description = "" -cost = {} +atlas_texture_region = Vector2i(14, 7) +name = "Corruptor" +description = "A building which only functions to spread corruption, and does it well" +cost = { +ExtResource("1_5s38g"): 40, +ExtResource("2_u1tpw"): 20 +} diff --git a/data/scifi_tileset.tres b/data/scifi_tileset.tres index 51eb108..cee87b3 100644 --- a/data/scifi_tileset.tres +++ b/data/scifi_tileset.tres @@ -5,146 +5,404 @@ [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_yq8ar"] resource_name = "scifi" texture = ExtResource("1_40wcs") -texture_region_size = Vector2i(128, 128) +texture_region_size = Vector2i(64, 64) 0:0/0 = 0 +0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_0/angular_velocity = 0.0 1:0/next_alternative_id = 2 1:0/0 = 0 +1:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:0/0/physics_layer_0/angular_velocity = 0.0 2:0/0 = 0 +2:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:0/0/physics_layer_0/angular_velocity = 0.0 3:0/0 = 0 +3:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:0/0/physics_layer_0/angular_velocity = 0.0 4:0/0 = 0 +4:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:0/0/physics_layer_0/angular_velocity = 0.0 5:0/0 = 0 +5:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:0/0/physics_layer_0/angular_velocity = 0.0 6:0/0 = 0 +6:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:0/0/physics_layer_0/angular_velocity = 0.0 7:0/0 = 0 +7:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:0/0/physics_layer_0/angular_velocity = 0.0 8:0/0 = 0 +8:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:0/0/physics_layer_0/angular_velocity = 0.0 9:0/0 = 0 +9:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:0/0/physics_layer_0/angular_velocity = 0.0 10:0/0 = 0 +10:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:0/0/physics_layer_0/angular_velocity = 0.0 11:0/0 = 0 +11:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:0/0/physics_layer_0/angular_velocity = 0.0 12:0/0 = 0 +12:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:0/0/physics_layer_0/angular_velocity = 0.0 13:0/0 = 0 +13:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:0/0/physics_layer_0/angular_velocity = 0.0 14:0/0 = 0 +14:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:0/0/physics_layer_0/angular_velocity = 0.0 15:0/0 = 0 +15:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:0/0/physics_layer_0/angular_velocity = 0.0 16:0/0 = 0 +16:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:0/0/physics_layer_0/angular_velocity = 0.0 17:0/0 = 0 +17:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:0/0/physics_layer_0/angular_velocity = 0.0 0:1/0 = 0 +0:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:1/0/physics_layer_0/angular_velocity = 0.0 1:1/0 = 0 +1:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:1/0/physics_layer_0/angular_velocity = 0.0 2:1/0 = 0 +2:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:1/0/physics_layer_0/angular_velocity = 0.0 3:1/0 = 0 +3:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:1/0/physics_layer_0/angular_velocity = 0.0 4:1/0 = 0 +4:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:1/0/physics_layer_0/angular_velocity = 0.0 5:1/0 = 0 +5:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:1/0/physics_layer_0/angular_velocity = 0.0 6:1/0 = 0 +6:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:1/0/physics_layer_0/angular_velocity = 0.0 7:1/0 = 0 +7:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:1/0/physics_layer_0/angular_velocity = 0.0 8:1/0 = 0 +8:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:1/0/physics_layer_0/angular_velocity = 0.0 9:1/0 = 0 +9:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:1/0/physics_layer_0/angular_velocity = 0.0 10:1/0 = 0 +10:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:1/0/physics_layer_0/angular_velocity = 0.0 11:1/0 = 0 +11:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:1/0/physics_layer_0/angular_velocity = 0.0 12:1/0 = 0 +12:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:1/0/physics_layer_0/angular_velocity = 0.0 13:1/0 = 0 +13:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:1/0/physics_layer_0/angular_velocity = 0.0 14:1/0 = 0 +14:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:1/0/physics_layer_0/angular_velocity = 0.0 15:1/0 = 0 +15:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:1/0/physics_layer_0/angular_velocity = 0.0 16:1/0 = 0 +16:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:1/0/physics_layer_0/angular_velocity = 0.0 17:1/0 = 0 +17:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:1/0/physics_layer_0/angular_velocity = 0.0 0:2/0 = 0 +0:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:2/0/physics_layer_0/angular_velocity = 0.0 1:2/0 = 0 +1:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:2/0/physics_layer_0/angular_velocity = 0.0 2:2/0 = 0 +2:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:2/0/physics_layer_0/angular_velocity = 0.0 3:2/0 = 0 +3:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:2/0/physics_layer_0/angular_velocity = 0.0 4:2/0 = 0 +4:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:2/0/physics_layer_0/angular_velocity = 0.0 5:2/0 = 0 +5:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:2/0/physics_layer_0/angular_velocity = 0.0 6:2/0 = 0 +6:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:2/0/physics_layer_0/angular_velocity = 0.0 7:2/0 = 0 +7:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:2/0/physics_layer_0/angular_velocity = 0.0 8:2/0 = 0 +8:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:2/0/physics_layer_0/angular_velocity = 0.0 9:2/0 = 0 +9:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:2/0/physics_layer_0/angular_velocity = 0.0 10:2/0 = 0 +10:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:2/0/physics_layer_0/angular_velocity = 0.0 11:2/0 = 0 +11:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:2/0/physics_layer_0/angular_velocity = 0.0 12:2/0 = 0 +12:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:2/0/physics_layer_0/angular_velocity = 0.0 13:2/0 = 0 +13:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:2/0/physics_layer_0/angular_velocity = 0.0 14:2/0 = 0 +14:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:2/0/physics_layer_0/angular_velocity = 0.0 15:2/0 = 0 +15:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:2/0/physics_layer_0/angular_velocity = 0.0 16:2/0 = 0 +16:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:2/0/physics_layer_0/angular_velocity = 0.0 17:2/0 = 0 +17:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:2/0/physics_layer_0/angular_velocity = 0.0 0:3/0 = 0 +0:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:3/0/physics_layer_0/angular_velocity = 0.0 1:3/0 = 0 +1:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:3/0/physics_layer_0/angular_velocity = 0.0 2:3/0 = 0 +2:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:3/0/physics_layer_0/angular_velocity = 0.0 3:3/0 = 0 +3:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:3/0/physics_layer_0/angular_velocity = 0.0 4:3/0 = 0 +4:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:3/0/physics_layer_0/angular_velocity = 0.0 5:3/0 = 0 +5:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:3/0/physics_layer_0/angular_velocity = 0.0 +5:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) 6:3/0 = 0 +6:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:3/0/physics_layer_0/angular_velocity = 0.0 7:3/0 = 0 +7:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:3/0/physics_layer_0/angular_velocity = 0.0 8:3/0 = 0 +8:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:3/0/physics_layer_0/angular_velocity = 0.0 9:3/0 = 0 +9:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:3/0/physics_layer_0/angular_velocity = 0.0 10:3/0 = 0 +10:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:3/0/physics_layer_0/angular_velocity = 0.0 11:3/0 = 0 +11:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:3/0/physics_layer_0/angular_velocity = 0.0 12:3/0 = 0 +12:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:3/0/physics_layer_0/angular_velocity = 0.0 13:3/0 = 0 +13:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:3/0/physics_layer_0/angular_velocity = 0.0 14:3/0 = 0 +14:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:3/0/physics_layer_0/angular_velocity = 0.0 15:3/0 = 0 +15:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:3/0/physics_layer_0/angular_velocity = 0.0 16:3/0 = 0 +16:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:3/0/physics_layer_0/angular_velocity = 0.0 17:3/0 = 0 +17:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:3/0/physics_layer_0/angular_velocity = 0.0 0:4/0 = 0 +0:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:4/0/physics_layer_0/angular_velocity = 0.0 1:4/0 = 0 +1:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:4/0/physics_layer_0/angular_velocity = 0.0 2:4/0 = 0 +2:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:4/0/physics_layer_0/angular_velocity = 0.0 3:4/0 = 0 +3:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:4/0/physics_layer_0/angular_velocity = 0.0 4:4/0 = 0 +4:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:4/0/physics_layer_0/angular_velocity = 0.0 5:4/0 = 0 +5:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:4/0/physics_layer_0/angular_velocity = 0.0 6:4/0 = 0 +6:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:4/0/physics_layer_0/angular_velocity = 0.0 7:4/0 = 0 +7:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:4/0/physics_layer_0/angular_velocity = 0.0 8:4/0 = 0 +8:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:4/0/physics_layer_0/angular_velocity = 0.0 9:4/0 = 0 +9:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:4/0/physics_layer_0/angular_velocity = 0.0 10:4/0 = 0 +10:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:4/0/physics_layer_0/angular_velocity = 0.0 11:4/0 = 0 +11:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:4/0/physics_layer_0/angular_velocity = 0.0 12:4/0 = 0 +12:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:4/0/physics_layer_0/angular_velocity = 0.0 13:4/0 = 0 +13:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:4/0/physics_layer_0/angular_velocity = 0.0 14:4/0 = 0 +14:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:4/0/physics_layer_0/angular_velocity = 0.0 15:4/0 = 0 +15:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:4/0/physics_layer_0/angular_velocity = 0.0 16:4/0 = 0 +16:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:4/0/physics_layer_0/angular_velocity = 0.0 17:4/0 = 0 +17:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:4/0/physics_layer_0/angular_velocity = 0.0 0:5/0 = 0 +0:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:5/0/physics_layer_0/angular_velocity = 0.0 1:5/0 = 0 +1:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:5/0/physics_layer_0/angular_velocity = 0.0 2:5/0 = 0 +2:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:5/0/physics_layer_0/angular_velocity = 0.0 3:5/0 = 0 +3:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:5/0/physics_layer_0/angular_velocity = 0.0 4:5/0 = 0 +4:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:5/0/physics_layer_0/angular_velocity = 0.0 5:5/0 = 0 +5:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:5/0/physics_layer_0/angular_velocity = 0.0 6:5/0 = 0 +6:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:5/0/physics_layer_0/angular_velocity = 0.0 7:5/0 = 0 +7:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:5/0/physics_layer_0/angular_velocity = 0.0 8:5/0 = 0 +8:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:5/0/physics_layer_0/angular_velocity = 0.0 9:5/0 = 0 +9:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:5/0/physics_layer_0/angular_velocity = 0.0 10:5/0 = 0 +10:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:5/0/physics_layer_0/angular_velocity = 0.0 11:5/0 = 0 +11:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:5/0/physics_layer_0/angular_velocity = 0.0 12:5/0 = 0 +12:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:5/0/physics_layer_0/angular_velocity = 0.0 13:5/0 = 0 +13:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:5/0/physics_layer_0/angular_velocity = 0.0 14:5/0 = 0 +14:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:5/0/physics_layer_0/angular_velocity = 0.0 15:5/0 = 0 +15:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:5/0/physics_layer_0/angular_velocity = 0.0 16:5/0 = 0 +16:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:5/0/physics_layer_0/angular_velocity = 0.0 17:5/0 = 0 +17:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:5/0/physics_layer_0/angular_velocity = 0.0 0:6/0 = 0 +0:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:6/0/physics_layer_0/angular_velocity = 0.0 1:6/0 = 0 +1:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:6/0/physics_layer_0/angular_velocity = 0.0 2:6/0 = 0 +2:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:6/0/physics_layer_0/angular_velocity = 0.0 3:6/0 = 0 +3:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:6/0/physics_layer_0/angular_velocity = 0.0 4:6/0 = 0 +4:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:6/0/physics_layer_0/angular_velocity = 0.0 5:6/0 = 0 +5:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:6/0/physics_layer_0/angular_velocity = 0.0 +5:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) 6:6/0 = 0 +6:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:6/0/physics_layer_0/angular_velocity = 0.0 7:6/0 = 0 +7:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:6/0/physics_layer_0/angular_velocity = 0.0 10:6/0 = 0 +10:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:6/0/physics_layer_0/angular_velocity = 0.0 11:6/0 = 0 +11:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:6/0/physics_layer_0/angular_velocity = 0.0 12:6/0 = 0 +12:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:6/0/physics_layer_0/angular_velocity = 0.0 13:6/0 = 0 +13:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:6/0/physics_layer_0/angular_velocity = 0.0 14:6/0 = 0 +14:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:6/0/physics_layer_0/angular_velocity = 0.0 15:6/0 = 0 +15:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:6/0/physics_layer_0/angular_velocity = 0.0 16:6/0 = 0 +16:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:6/0/physics_layer_0/angular_velocity = 0.0 17:6/0 = 0 +17:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:6/0/physics_layer_0/angular_velocity = 0.0 0:7/0 = 0 +0:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:7/0/physics_layer_0/angular_velocity = 0.0 4:7/0 = 0 4:7/0/terrain_set = 0 4:7/0/terrain = 0 +4:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:7/0/physics_layer_0/angular_velocity = 0.0 4:7/0/terrains_peering_bit/bottom_side = 0 5:7/0 = 0 5:7/0/terrain_set = 0 5:7/0/terrain = 0 +5:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:7/0/physics_layer_0/angular_velocity = 0.0 5:7/0/terrains_peering_bit/right_side = 0 5:7/0/terrains_peering_bit/bottom_right_corner = 0 5:7/0/terrains_peering_bit/bottom_side = 0 6:7/0 = 0 6:7/0/terrain_set = 0 6:7/0/terrain = 0 +6:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:7/0/physics_layer_0/angular_velocity = 0.0 6:7/0/terrains_peering_bit/right_side = 0 6:7/0/terrains_peering_bit/bottom_right_corner = 0 6:7/0/terrains_peering_bit/bottom_side = 0 @@ -153,12 +411,16 @@ texture_region_size = Vector2i(128, 128) 7:7/0 = 0 7:7/0/terrain_set = 0 7:7/0/terrain = 0 +7:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:7/0/physics_layer_0/angular_velocity = 0.0 7:7/0/terrains_peering_bit/bottom_side = 0 7:7/0/terrains_peering_bit/bottom_left_corner = 0 7:7/0/terrains_peering_bit/left_side = 0 9:7/0 = 0 9:7/0/terrain_set = 0 9:7/0/terrain = 0 +9:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:7/0/physics_layer_0/angular_velocity = 0.0 9:7/0/terrains_peering_bit/right_side = 0 9:7/0/terrains_peering_bit/bottom_side = 0 9:7/0/terrains_peering_bit/left_side = 0 @@ -168,6 +430,8 @@ texture_region_size = Vector2i(128, 128) 10:7/0 = 0 10:7/0/terrain_set = 0 10:7/0/terrain = 0 +10:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:7/0/physics_layer_0/angular_velocity = 0.0 10:7/0/terrains_peering_bit/right_side = 0 10:7/0/terrains_peering_bit/bottom_right_corner = 0 10:7/0/terrains_peering_bit/bottom_side = 0 @@ -178,6 +442,8 @@ texture_region_size = Vector2i(128, 128) 11:7/0 = 0 11:7/0/terrain_set = 0 11:7/0/terrain = 0 +11:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:7/0/physics_layer_0/angular_velocity = 0.0 11:7/0/terrains_peering_bit/right_side = 0 11:7/0/terrains_peering_bit/left_side = 0 11:7/0/terrains_peering_bit/top_left_corner = 0 @@ -185,37 +451,61 @@ texture_region_size = Vector2i(128, 128) 12:7/0 = 0 12:7/0/terrain_set = 0 12:7/0/terrain = 0 +12:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:7/0/physics_layer_0/angular_velocity = 0.0 12:7/0/terrains_peering_bit/right_side = 0 12:7/0/terrains_peering_bit/left_side = 0 12:7/0/terrains_peering_bit/top_side = 0 12:7/0/terrains_peering_bit/top_right_corner = 0 13:7/0 = 0 +13:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:7/0/physics_layer_0/angular_velocity = 0.0 14:7/0 = 0 +14:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:7/0/physics_layer_0/angular_velocity = 0.0 15:7/0 = 0 +15:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:7/0/physics_layer_0/angular_velocity = 0.0 16:7/0 = 0 +16:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:7/0/physics_layer_0/angular_velocity = 0.0 17:7/0 = 0 +17:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:7/0/physics_layer_0/angular_velocity = 0.0 0:8/0 = 0 +0:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:8/0/physics_layer_0/angular_velocity = 0.0 1:8/0 = 0 +1:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:8/0/physics_layer_0/angular_velocity = 0.0 2:8/0 = 0 2:8/0/terrain_set = 0 2:8/0/terrain = 0 +2:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:8/0/physics_layer_0/angular_velocity = 0.0 2:8/0/terrains_peering_bit/right_side = 0 2:8/0/terrains_peering_bit/bottom_side = 0 2:8/0/terrains_peering_bit/top_side = 0 3:8/0 = 0 3:8/0/terrain_set = 0 3:8/0/terrain = 0 +3:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:8/0/physics_layer_0/angular_velocity = 0.0 3:8/0/terrains_peering_bit/bottom_side = 0 3:8/0/terrains_peering_bit/left_side = 0 3:8/0/terrains_peering_bit/top_side = 0 4:8/0 = 0 4:8/0/terrain_set = 0 4:8/0/terrain = 0 +4:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:8/0/physics_layer_0/angular_velocity = 0.0 4:8/0/terrains_peering_bit/bottom_side = 0 4:8/0/terrains_peering_bit/top_side = 0 5:8/0 = 0 5:8/0/terrain_set = 0 5:8/0/terrain = 0 +5:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:8/0/physics_layer_0/angular_velocity = 0.0 5:8/0/terrains_peering_bit/right_side = 0 5:8/0/terrains_peering_bit/bottom_right_corner = 0 5:8/0/terrains_peering_bit/bottom_side = 0 @@ -224,6 +514,8 @@ texture_region_size = Vector2i(128, 128) 6:8/0 = 0 6:8/0/terrain_set = 0 6:8/0/terrain = 0 +6:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:8/0/physics_layer_0/angular_velocity = 0.0 6:8/0/terrains_peering_bit/right_side = 0 6:8/0/terrains_peering_bit/bottom_right_corner = 0 6:8/0/terrains_peering_bit/bottom_side = 0 @@ -235,6 +527,8 @@ texture_region_size = Vector2i(128, 128) 7:8/0 = 0 7:8/0/terrain_set = 0 7:8/0/terrain = 0 +7:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:8/0/physics_layer_0/angular_velocity = 0.0 7:8/0/terrains_peering_bit/bottom_side = 0 7:8/0/terrains_peering_bit/bottom_left_corner = 0 7:8/0/terrains_peering_bit/left_side = 0 @@ -243,6 +537,8 @@ texture_region_size = Vector2i(128, 128) 8:8/0 = 0 8:8/0/terrain_set = 0 8:8/0/terrain = 0 +8:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:8/0/physics_layer_0/angular_velocity = 0.0 8:8/0/terrains_peering_bit/right_side = 0 8:8/0/terrains_peering_bit/bottom_side = 0 8:8/0/terrains_peering_bit/bottom_left_corner = 0 @@ -252,6 +548,8 @@ texture_region_size = Vector2i(128, 128) 9:8/0 = 0 9:8/0/terrain_set = 0 9:8/0/terrain = 0 +9:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:8/0/physics_layer_0/angular_velocity = 0.0 9:8/0/terrains_peering_bit/right_side = 0 9:8/0/terrains_peering_bit/bottom_side = 0 9:8/0/terrains_peering_bit/left_side = 0 @@ -259,6 +557,8 @@ texture_region_size = Vector2i(128, 128) 10:8/0 = 0 10:8/0/terrain_set = 0 10:8/0/terrain = 0 +10:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:8/0/physics_layer_0/angular_velocity = 0.0 10:8/0/terrains_peering_bit/right_side = 0 10:8/0/terrains_peering_bit/bottom_right_corner = 0 10:8/0/terrains_peering_bit/bottom_side = 0 @@ -268,6 +568,8 @@ texture_region_size = Vector2i(128, 128) 11:8/0 = 0 11:8/0/terrain_set = 0 11:8/0/terrain = 0 +11:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:8/0/physics_layer_0/angular_velocity = 0.0 11:8/0/terrains_peering_bit/bottom_side = 0 11:8/0/terrains_peering_bit/left_side = 0 11:8/0/terrains_peering_bit/top_left_corner = 0 @@ -275,42 +577,68 @@ texture_region_size = Vector2i(128, 128) 12:8/0 = 0 12:8/0/terrain_set = 0 12:8/0/terrain = 0 +12:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:8/0/physics_layer_0/angular_velocity = 0.0 12:8/0/terrains_peering_bit/bottom_side = 0 12:8/0/terrains_peering_bit/bottom_left_corner = 0 12:8/0/terrains_peering_bit/left_side = 0 12:8/0/terrains_peering_bit/top_side = 0 13:8/0 = 0 +13:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:8/0/physics_layer_0/angular_velocity = 0.0 14:8/0 = 0 +14:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:8/0/physics_layer_0/angular_velocity = 0.0 15:8/0 = 0 +15:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:8/0/physics_layer_0/angular_velocity = 0.0 16:8/0 = 0 +16:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:8/0/physics_layer_0/angular_velocity = 0.0 17:8/0 = 0 +17:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:8/0/physics_layer_0/angular_velocity = 0.0 0:9/0 = 0 +0:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:9/0/physics_layer_0/angular_velocity = 0.0 1:9/0 = 0 +1:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:9/0/physics_layer_0/angular_velocity = 0.0 2:9/0 = 0 2:9/0/terrain_set = 0 2:9/0/terrain = 0 +2:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:9/0/physics_layer_0/angular_velocity = 0.0 2:9/0/terrains_peering_bit/right_side = 0 2:9/0/terrains_peering_bit/left_side = 0 2:9/0/terrains_peering_bit/top_side = 0 3:9/0 = 0 3:9/0/terrain_set = 0 3:9/0/terrain = 0 +3:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:9/0/physics_layer_0/angular_velocity = 0.0 3:9/0/terrains_peering_bit/right_side = 0 3:9/0/terrains_peering_bit/bottom_side = 0 3:9/0/terrains_peering_bit/left_side = 0 4:9/0 = 0 4:9/0/terrain_set = 0 4:9/0/terrain = 0 +4:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:9/0/physics_layer_0/angular_velocity = 0.0 4:9/0/terrains_peering_bit/top_side = 0 5:9/0 = 0 5:9/0/terrain_set = 0 5:9/0/terrain = 0 +5:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:9/0/physics_layer_0/angular_velocity = 0.0 5:9/0/terrains_peering_bit/right_side = 0 5:9/0/terrains_peering_bit/top_side = 0 5:9/0/terrains_peering_bit/top_right_corner = 0 6:9/0 = 0 6:9/0/terrain_set = 0 6:9/0/terrain = 0 +6:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:9/0/physics_layer_0/angular_velocity = 0.0 6:9/0/terrains_peering_bit/right_side = 0 6:9/0/terrains_peering_bit/left_side = 0 6:9/0/terrains_peering_bit/top_left_corner = 0 @@ -319,12 +647,16 @@ texture_region_size = Vector2i(128, 128) 7:9/0 = 0 7:9/0/terrain_set = 0 7:9/0/terrain = 0 +7:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:9/0/physics_layer_0/angular_velocity = 0.0 7:9/0/terrains_peering_bit/left_side = 0 7:9/0/terrains_peering_bit/top_left_corner = 0 7:9/0/terrains_peering_bit/top_side = 0 8:9/0 = 0 8:9/0/terrain_set = 0 8:9/0/terrain = 0 +8:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:9/0/physics_layer_0/angular_velocity = 0.0 8:9/0/terrains_peering_bit/right_side = 0 8:9/0/terrains_peering_bit/bottom_right_corner = 0 8:9/0/terrains_peering_bit/bottom_side = 0 @@ -335,6 +667,8 @@ texture_region_size = Vector2i(128, 128) 9:9/0 = 0 9:9/0/terrain_set = 0 9:9/0/terrain = 0 +9:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:9/0/physics_layer_0/angular_velocity = 0.0 9:9/0/terrains_peering_bit/right_side = 0 9:9/0/terrains_peering_bit/bottom_right_corner = 0 9:9/0/terrains_peering_bit/bottom_side = 0 @@ -344,6 +678,8 @@ texture_region_size = Vector2i(128, 128) 10:9/0 = 0 10:9/0/terrain_set = 0 10:9/0/terrain = 0 +10:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:9/0/physics_layer_0/angular_velocity = 0.0 10:9/0/terrains_peering_bit/right_side = 0 10:9/0/terrains_peering_bit/bottom_right_corner = 0 10:9/0/terrains_peering_bit/bottom_side = 0 @@ -354,6 +690,8 @@ texture_region_size = Vector2i(128, 128) 11:9/0 = 0 11:9/0/terrain_set = 0 11:9/0/terrain = 0 +11:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:9/0/physics_layer_0/angular_velocity = 0.0 11:9/0/terrains_peering_bit/right_side = 0 11:9/0/terrains_peering_bit/bottom_right_corner = 0 11:9/0/terrains_peering_bit/bottom_side = 0 @@ -361,41 +699,77 @@ texture_region_size = Vector2i(128, 128) 12:9/0 = 0 12:9/0/terrain_set = 0 12:9/0/terrain = 0 +12:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:9/0/physics_layer_0/angular_velocity = 0.0 12:9/0/terrains_peering_bit/right_side = 0 12:9/0/terrains_peering_bit/bottom_side = 0 12:9/0/terrains_peering_bit/top_side = 0 12:9/0/terrains_peering_bit/top_right_corner = 0 13:9/0 = 0 +13:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:9/0/physics_layer_0/angular_velocity = 0.0 14:9/0 = 0 +14:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:9/0/physics_layer_0/angular_velocity = 0.0 15:9/0 = 0 +15:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:9/0/physics_layer_0/angular_velocity = 0.0 16:9/0 = 0 +16:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:9/0/physics_layer_0/angular_velocity = 0.0 17:9/0 = 0 +17:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:9/0/physics_layer_0/angular_velocity = 0.0 0:10/0 = 0 +0:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:10/0/physics_layer_0/angular_velocity = 0.0 1:10/0 = 0 +1:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:10/0/physics_layer_0/angular_velocity = 0.0 2:10/0 = 0 +2:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:10/0/physics_layer_0/angular_velocity = 0.0 3:10/0 = 0 +3:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:10/0/physics_layer_0/angular_velocity = 0.0 4:10/0 = 0 4:10/0/terrain_set = 0 4:10/0/terrain = 0 +4:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:10/0/physics_layer_0/angular_velocity = 0.0 5:10/0 = 0 5:10/0/terrain_set = 0 5:10/0/terrain = 0 +5:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:10/0/physics_layer_0/angular_velocity = 0.0 5:10/0/terrains_peering_bit/right_side = 0 6:10/0 = 0 6:10/0/terrain_set = 0 6:10/0/terrain = 0 +6:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:10/0/physics_layer_0/angular_velocity = 0.0 6:10/0/terrains_peering_bit/right_side = 0 6:10/0/terrains_peering_bit/left_side = 0 7:10/0 = 0 7:10/0/terrain_set = 0 7:10/0/terrain = 0 +7:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:10/0/physics_layer_0/angular_velocity = 0.0 7:10/0/terrains_peering_bit/left_side = 0 8:10/0 = 0 +8:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:10/0/physics_layer_0/angular_velocity = 0.0 9:10/0 = 0 +9:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:10/0/physics_layer_0/angular_velocity = 0.0 10:10/0 = 0 +10:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:10/0/physics_layer_0/angular_velocity = 0.0 11:10/0 = 0 11:10/0/terrain_set = 0 11:10/0/terrain = 0 +11:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:10/0/physics_layer_0/angular_velocity = 0.0 11:10/0/terrains_peering_bit/right_side = 0 11:10/0/terrains_peering_bit/bottom_side = 0 11:10/0/terrains_peering_bit/bottom_left_corner = 0 @@ -403,23 +777,47 @@ texture_region_size = Vector2i(128, 128) 12:10/0 = 0 12:10/0/terrain_set = 0 12:10/0/terrain = 0 +12:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:10/0/physics_layer_0/angular_velocity = 0.0 12:10/0/terrains_peering_bit/right_side = 0 12:10/0/terrains_peering_bit/bottom_right_corner = 0 12:10/0/terrains_peering_bit/bottom_side = 0 12:10/0/terrains_peering_bit/left_side = 0 13:10/0 = 0 +13:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:10/0/physics_layer_0/angular_velocity = 0.0 14:10/0 = 0 +14:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:10/0/physics_layer_0/angular_velocity = 0.0 15:10/0 = 0 +15:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:10/0/physics_layer_0/angular_velocity = 0.0 16:10/0 = 0 +16:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:10/0/physics_layer_0/angular_velocity = 0.0 17:10/0 = 0 +17:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:10/0/physics_layer_0/angular_velocity = 0.0 8:6/0 = 0 +8:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:6/0/physics_layer_0/angular_velocity = 0.0 9:6/0 = 0 +9:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:6/0/physics_layer_0/angular_velocity = 0.0 1:7/0 = 0 +1:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:7/0/physics_layer_0/angular_velocity = 0.0 2:7/0 = 0 +2:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:7/0/physics_layer_0/angular_velocity = 0.0 3:7/0 = 0 +3:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:7/0/physics_layer_0/angular_velocity = 0.0 8:7/0 = 0 8:7/0/terrain_set = 0 8:7/0/terrain = 0 +8:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:7/0/physics_layer_0/angular_velocity = 0.0 8:7/0/terrains_peering_bit/right_side = 0 8:7/0/terrains_peering_bit/bottom_side = 0 8:7/0/terrains_peering_bit/bottom_left_corner = 0 @@ -429,7 +827,9 @@ texture_region_size = Vector2i(128, 128) 8:7/0/terrains_peering_bit/top_right_corner = 0 [resource] -tile_size = Vector2i(128, 128) +tile_size = Vector2i(64, 64) +physics_layer_0/collision_layer = 1 +physics_layer_0/collision_mask = 0 terrain_set_0/mode = 0 terrain_set_0/terrain_0/name = "corruption" terrain_set_0/terrain_0/color = Color(0.368627, 0.411765, 0.129412, 1) diff --git a/project.godot b/project.godot index cdc3a8a..0823c45 100644 --- a/project.godot +++ b/project.godot @@ -15,6 +15,10 @@ run/main_scene="res://scene/world.tscn" config/features=PackedStringArray("4.2", "Forward Plus") config/icon="res://icon.svg" +[autoload] + +Grid="*res://scripts/autoloads/grid.gd" + [debug] gdscript/warnings/untyped_declaration=1 @@ -22,3 +26,7 @@ gdscript/warnings/untyped_declaration=1 [gui] theme/custom="res://data/world_theme.tres" + +[rendering] + +textures/canvas_textures/default_texture_filter=0 diff --git a/scene/player.tscn b/scene/player.tscn new file mode 100644 index 0000000..c5fa2ef --- /dev/null +++ b/scene/player.tscn @@ -0,0 +1,49 @@ +[gd_scene load_steps=7 format=3 uid="uid://dkvcye4mhvshd"] + +[ext_resource type="Script" path="res://scripts/player.gd" id="1_j0htm"] +[ext_resource type="Texture2D" uid="uid://n806c03hgaq1" path="res://assets/scifi_tilesheet@2.png" id="1_vqdy1"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_8yvc7"] +atlas = ExtResource("1_vqdy1") +region = Rect2(640, 192, 64, 64) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_jav3v"] +size = Vector2(40, 45) + +[sub_resource type="Animation" id="Animation_47lv4"] +resource_name = "walk" +length = 1.2 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2, 0.4, 0.6, 0.8, 1, 1.2), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1), +"update": 0, +"values": [Vector2(0, 0), Vector2(0, -1), Vector2(0, -2), Vector2(0, -1), Vector2(0, 0), Vector2(0, 1), Vector2(0, 0)] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_ditnu"] +_data = { +"walk": SubResource("Animation_47lv4") +} + +[node name="Player" type="CharacterBody2D"] +motion_mode = 1 +script = ExtResource("1_j0htm") + +[node name="Sprite2D" type="Sprite2D" parent="."] +texture = SubResource("AtlasTexture_8yvc7") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource("RectangleShape2D_jav3v") + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +"": SubResource("AnimationLibrary_ditnu") +} + +[node name="Camera2D" type="Camera2D" parent="."] diff --git a/scene/world.tscn b/scene/world.tscn index d9c3879..f6422a3 100644 --- a/scene/world.tscn +++ b/scene/world.tscn @@ -1,9 +1,8 @@ -[gd_scene load_steps=13 format=3 uid="uid://m0us5xqa3gnk"] +[gd_scene load_steps=12 format=3 uid="uid://m0us5xqa3gnk"] [ext_resource type="Script" path="res://scripts/world.gd" id="1_yf6q1"] [ext_resource type="Resource" uid="uid://dr00rd4f42jqe" path="res://data/game_resources/gem_resource.tres" id="2_rn4a2"] [ext_resource type="TileSet" uid="uid://d1sh6dy2w10b0" path="res://data/scifi_tileset.tres" id="2_sa7dm"] -[ext_resource type="Script" path="res://scripts/window.gd" id="3_bfjot"] [ext_resource type="Resource" uid="uid://bpjj0x7jr1k6u" path="res://data/game_resources/carbon_resource.tres" id="3_pq6ic"] [ext_resource type="Script" path="res://scripts/building_manager.gd" id="4_61js3"] [ext_resource type="Script" path="res://scripts/resource_manager.gd" id="5_k5643"] @@ -39,12 +38,6 @@ layer_3/tile_data = PackedInt32Array() layer_4/name = "buildings" layer_4/tile_data = PackedInt32Array() -[node name="Camera2D" type="Camera2D" parent="."] -zoom = Vector2(0.3, 0.3) -drag_horizontal_enabled = true -drag_vertical_enabled = true -script = ExtResource("3_bfjot") - [node name="BuildingManager" type="Node2D" parent="."] script = ExtResource("4_61js3") diff --git a/scripts/autoloads/grid.gd b/scripts/autoloads/grid.gd new file mode 100644 index 0000000..86f1740 --- /dev/null +++ b/scripts/autoloads/grid.gd @@ -0,0 +1,35 @@ +extends Node + +const GRID_SIZE := 64 +var world_grid: TileMap +var world_data: Dictionary = {} + +func init(grid: TileMap) -> void: + world_grid = grid + +func world_to_grid(world_loc: Vector2) -> Vector2i: + return Vector2i(floor(world_loc.x / GRID_SIZE), floor(world_loc.y / GRID_SIZE)) + +func set_selected_tile(tile: Vector2i) -> void: + world_grid.clear_layer(Constants.TilemapLayers.CURSOR) + world_grid.set_cell(Constants.TilemapLayers.CURSOR, tile,0,Vector2i(0,7)) + +func corrupt_location(loc: Vector2i) -> bool: + return world_data[loc].change_layer(Constants.TilemapLayers.CORRUPTION, true) + +func get_corrupted_cells() -> Array[Vector2i]: + return world_data.values().filter(func(cell: CellData): return cell.is_corrupted()).map(func(cell: CellData) -> Vector2i: return cell._pos) + +func change_location_data(pos: Vector2i, layer: int, data: Vector2i) -> void: + if not world_data.has(pos): + world_data[pos] = CellData.new(pos) + world_data[pos].change_layer(layer, data) + world_grid.set_cell(layer, pos, 0, data) + +func get_location_data(pos: Vector2i) -> CellData: + if world_data.has(pos): + return world_data[pos] + return null + +func change_location_resource(pos: Vector2i, data: GameResource) -> void: + world_data[pos].change_resource(data) diff --git a/scripts/cell_data.gd b/scripts/cell_data.gd index bf08e2c..7bafc96 100644 --- a/scripts/cell_data.gd +++ b/scripts/cell_data.gd @@ -6,6 +6,9 @@ extends Node } var _pos: Vector2i +func _to_string() -> String: + return "{%s %s}" % [_pos, layer_info] + func _init(pos: Vector2i) -> void: _pos = pos diff --git a/scripts/game_resource.gd b/scripts/game_resource.gd index fea787d..5cb0bea 100644 --- a/scripts/game_resource.gd +++ b/scripts/game_resource.gd @@ -6,3 +6,6 @@ extends Resource @export_range(-1, 1, 0.05) var spawn_region_max: float @export var pickup_value: int @export var name: String + +func _to_string() -> String: + return name diff --git a/scripts/player.gd b/scripts/player.gd new file mode 100644 index 0000000..89d28a6 --- /dev/null +++ b/scripts/player.gd @@ -0,0 +1,27 @@ +extends CharacterBody2D +class_name Player + +@export var SPEED := 4 + +var last_direction = 0 +var interaction_location: Vector2i + +@onready var animation_player: AnimationPlayer = $AnimationPlayer + +func _physics_process(delta: float) -> void: + var input_direction := Input.get_vector("ui_left", "ui_right", "ui_up", "ui_down") + velocity = input_direction * SPEED / delta + move_and_slide() + + if input_direction: + animation_player.play() + last_direction = input_direction.angle() + 3 * PI / 2 + rotation = last_direction + interaction_location = Grid.world_to_grid(position) + Vector2i(input_direction.round()) + Grid.set_selected_tile(interaction_location) + else: + animation_player.stop() + +func _input(event: InputEvent) -> void: + if event.is_action_pressed("ui_accept"): + print("Interacted with: %s" % Grid.get_location_data(interaction_location)) diff --git a/scripts/resource_manager.gd b/scripts/resource_manager.gd index 507c122..1b7d968 100644 --- a/scripts/resource_manager.gd +++ b/scripts/resource_manager.gd @@ -6,14 +6,14 @@ signal changed_resource @export var resources := {} -func _on_timer_timeout() -> void: - var corrupted_resources := world.get_corrupted_resources() - if corrupted_resources.size() > 0: - var changed_resources := {} - for corrupted_resource: CellData in corrupted_resources: - var res: GameResource = corrupted_resource.get_resource() - if not resources.has(res): - resources[res] = 0 - resources[res] += res.pickup_value - changed_resources[res] = resources[res] - changed_resource.emit(ResourceChangedSignal.new(changed_resources)) +#func _on_timer_timeout() -> void: + #var corrupted_resources := Grid.get_corrupted_resources() + #if corrupted_resources.size() > 0: + #var changed_resources := {} + #for corrupted_resource: CellData in corrupted_resources: + #var res: GameResource = corrupted_resource.get_resource() + #if not resources.has(res): + #resources[res] = 0 + #resources[res] += res.pickup_value + #changed_resources[res] = resources[res] + #changed_resource.emit(ResourceChangedSignal.new(changed_resources)) diff --git a/scripts/world.gd b/scripts/world.gd index cf938a2..b44ece5 100644 --- a/scripts/world.gd +++ b/scripts/world.gd @@ -1,6 +1,7 @@ class_name World extends Node2D @export var game_resources: Array[GameResource] +const PLAYER = preload("res://scene/player.tscn") var terrain_noise := FastNoiseLite.new() var resource_noise: Noise = FastNoiseLite.new() @@ -12,8 +13,6 @@ var temp_noise_reg = [] var noise_regions := [-999,0,999] var atlas_regions := [Vector2i(0,1),Vector2i(0,0)] -var world_data: Dictionary = {} - @onready var world_grid: TileMap = $world_grid func get_noise_value(x: int, y: int): @@ -33,12 +32,13 @@ func get_noise_region(x,y): return i func _ready(): + Grid.init(world_grid) terrain_noise.seed = randi() resource_noise.seed = randi() for x in range(-temp_size, temp_size): for y in range(-temp_size, temp_size): - change_location_data(Vector2i(x,y), Constants.TilemapLayers.GROUND, atlas_regions[get_noise_region(x,y)]) + Grid.change_location_data(Vector2i(x,y), Constants.TilemapLayers.GROUND, atlas_regions[get_noise_region(x,y)]) var tile_res := is_resource_tile(x,y) if tile_res: change_location_resource(Vector2i(x,y), tile_res) @@ -47,29 +47,17 @@ func _ready(): prints(temp_noise_val.min(), temp_noise_val.max()) for region in noise_regions.size(): prints(region, noise_regions[region], temp_noise_reg.count(region)) - -func _process(delta): - var mouse_pos = world_grid.local_to_map(get_local_mouse_position()) - world_grid.clear_layer(Constants.TilemapLayers.CURSOR) - world_grid.set_cell(Constants.TilemapLayers.CURSOR, mouse_pos,0,Vector2i(0,7)) + var player = PLAYER.instantiate() + add_child(player) func corrupt_location(loc: Vector2i): - if world_data[loc].change_layer(Constants.TilemapLayers.CORRUPTION, true): - var corrupted_cells := world_data.values().filter(func(cell: CellData): return cell.is_corrupted()).map(func(cell: CellData) -> Vector2i: return cell._pos) + if Grid.corrupt_location(loc): + var corrupted_cells := Grid.get_corrupted_cells() world_grid.set_cells_terrain_connect(Constants.TilemapLayers.CORRUPTION, corrupted_cells, 0, 0) func grid_location(global_pos: Vector2) -> Vector2i: return world_grid.local_to_map(global_pos) - -func change_location_data(pos: Vector2i, layer: int, data: Vector2i) -> void: - if not world_data.has(pos): - world_data[pos] = CellData.new(pos) - world_data[pos].change_layer(layer, data) - world_grid.set_cell(layer, pos, 0, data) func change_location_resource(pos: Vector2i, data: GameResource) -> void: - world_data[pos].change_resource(data) + Grid.change_location_resource(pos, data) world_grid.set_cell(Constants.TilemapLayers.ENVIRONMENT, pos, 0, data.atlas_location) - -func get_corrupted_resources() -> Array: - return world_data.values().filter(func(cell: CellData): return cell.is_corrupted() and cell.has_layer(Constants.TilemapLayers.ENVIRONMENT))