Added player character and initial interaction functionality

This commit is contained in:
2024-02-24 08:36:43 -06:00
parent 78c4291b6a
commit 5467e044a7
12 changed files with 557 additions and 46 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 KiB

After

Width:  |  Height:  |  Size: 103 KiB

View File

@@ -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
}

View File

@@ -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)

View File

@@ -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

49
scene/player.tscn Normal file
View File

@@ -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="."]

View File

@@ -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")

35
scripts/autoloads/grid.gd Normal file
View File

@@ -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)

View File

@@ -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

View File

@@ -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

27
scripts/player.gd Normal file
View File

@@ -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))

View File

@@ -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))

View File

@@ -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))