Grid finally working and understood
This commit is contained in:
@@ -18,6 +18,8 @@ dest_files=["res://.godot/imported/Preview.png-9c5c3131b145a46e92681901d20d4bf6.
|
|||||||
compress/mode=0
|
compress/mode=0
|
||||||
compress/high_quality=false
|
compress/high_quality=false
|
||||||
compress/lossy_quality=0.7
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
compress/hdr_compression=1
|
compress/hdr_compression=1
|
||||||
compress/normal_map=0
|
compress/normal_map=0
|
||||||
compress/channel_pack=0
|
compress/channel_pack=0
|
||||||
@@ -25,6 +27,10 @@ mipmaps/generate=false
|
|||||||
mipmaps/limit=-1
|
mipmaps/limit=-1
|
||||||
roughness/mode=0
|
roughness/mode=0
|
||||||
roughness/src_normal=""
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
process/fix_alpha_border=true
|
process/fix_alpha_border=true
|
||||||
process/premult_alpha=false
|
process/premult_alpha=false
|
||||||
process/normal_map_invert_y=false
|
process/normal_map_invert_y=false
|
||||||
|
|||||||
@@ -18,6 +18,8 @@ dest_files=["res://.godot/imported/Sample.png-1129fc92b4c89bc54f7f47ad10c7df55.c
|
|||||||
compress/mode=0
|
compress/mode=0
|
||||||
compress/high_quality=false
|
compress/high_quality=false
|
||||||
compress/lossy_quality=0.7
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
compress/hdr_compression=1
|
compress/hdr_compression=1
|
||||||
compress/normal_map=0
|
compress/normal_map=0
|
||||||
compress/channel_pack=0
|
compress/channel_pack=0
|
||||||
@@ -25,6 +27,10 @@ mipmaps/generate=false
|
|||||||
mipmaps/limit=-1
|
mipmaps/limit=-1
|
||||||
roughness/mode=0
|
roughness/mode=0
|
||||||
roughness/src_normal=""
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
process/fix_alpha_border=true
|
process/fix_alpha_border=true
|
||||||
process/premult_alpha=false
|
process/premult_alpha=false
|
||||||
process/normal_map_invert_y=false
|
process/normal_map_invert_y=false
|
||||||
|
|||||||
@@ -18,6 +18,8 @@ dest_files=["res://.godot/imported/tilemap.png-d8cbb982f0981dbbc74d5b5938d1223b.
|
|||||||
compress/mode=0
|
compress/mode=0
|
||||||
compress/high_quality=false
|
compress/high_quality=false
|
||||||
compress/lossy_quality=0.7
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
compress/hdr_compression=1
|
compress/hdr_compression=1
|
||||||
compress/normal_map=0
|
compress/normal_map=0
|
||||||
compress/channel_pack=0
|
compress/channel_pack=0
|
||||||
@@ -25,6 +27,10 @@ mipmaps/generate=false
|
|||||||
mipmaps/limit=-1
|
mipmaps/limit=-1
|
||||||
roughness/mode=0
|
roughness/mode=0
|
||||||
roughness/src_normal=""
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
process/fix_alpha_border=true
|
process/fix_alpha_border=true
|
||||||
process/premult_alpha=false
|
process/premult_alpha=false
|
||||||
process/normal_map_invert_y=false
|
process/normal_map_invert_y=false
|
||||||
|
|||||||
@@ -18,6 +18,8 @@ dest_files=["res://.godot/imported/tilemap_packed.png-ce0553dba3bdbd49325cac4ebe
|
|||||||
compress/mode=0
|
compress/mode=0
|
||||||
compress/high_quality=false
|
compress/high_quality=false
|
||||||
compress/lossy_quality=0.7
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
compress/hdr_compression=1
|
compress/hdr_compression=1
|
||||||
compress/normal_map=0
|
compress/normal_map=0
|
||||||
compress/channel_pack=0
|
compress/channel_pack=0
|
||||||
@@ -25,6 +27,10 @@ mipmaps/generate=false
|
|||||||
mipmaps/limit=-1
|
mipmaps/limit=-1
|
||||||
roughness/mode=0
|
roughness/mode=0
|
||||||
roughness/src_normal=""
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
process/fix_alpha_border=true
|
process/fix_alpha_border=true
|
||||||
process/premult_alpha=false
|
process/premult_alpha=false
|
||||||
process/normal_map_invert_y=false
|
process/normal_map_invert_y=false
|
||||||
|
|||||||
@@ -124,12 +124,19 @@ separation = Vector2i(1, 1)
|
|||||||
15:0/0/terrain = 3
|
15:0/0/terrain = 3
|
||||||
15:0/0/terrains_peering_bit/bottom_side = 3
|
15:0/0/terrains_peering_bit/bottom_side = 3
|
||||||
16:0/0 = 0
|
16:0/0 = 0
|
||||||
|
16:0/0/custom_data_0 = true
|
||||||
17:0/0 = 0
|
17:0/0 = 0
|
||||||
|
17:0/0/custom_data_0 = true
|
||||||
18:0/0 = 0
|
18:0/0 = 0
|
||||||
|
18:0/0/custom_data_0 = true
|
||||||
19:0/0 = 0
|
19:0/0 = 0
|
||||||
|
19:0/0/custom_data_0 = true
|
||||||
20:0/0 = 0
|
20:0/0 = 0
|
||||||
|
20:0/0/custom_data_0 = true
|
||||||
21:0/0 = 0
|
21:0/0 = 0
|
||||||
|
21:0/0/custom_data_0 = true
|
||||||
22:0/0 = 0
|
22:0/0 = 0
|
||||||
|
22:0/0/custom_data_0 = true
|
||||||
23:0/0 = 0
|
23:0/0 = 0
|
||||||
24:0/0 = 0
|
24:0/0 = 0
|
||||||
25:0/0 = 0
|
25:0/0 = 0
|
||||||
@@ -259,12 +266,19 @@ separation = Vector2i(1, 1)
|
|||||||
15:1/0/terrains_peering_bit/bottom_side = 3
|
15:1/0/terrains_peering_bit/bottom_side = 3
|
||||||
15:1/0/terrains_peering_bit/top_side = 3
|
15:1/0/terrains_peering_bit/top_side = 3
|
||||||
16:1/0 = 0
|
16:1/0 = 0
|
||||||
|
16:1/0/custom_data_0 = true
|
||||||
17:1/0 = 0
|
17:1/0 = 0
|
||||||
|
17:1/0/custom_data_0 = true
|
||||||
18:1/0 = 0
|
18:1/0 = 0
|
||||||
|
18:1/0/custom_data_0 = true
|
||||||
19:1/0 = 0
|
19:1/0 = 0
|
||||||
|
19:1/0/custom_data_0 = true
|
||||||
20:1/0 = 0
|
20:1/0 = 0
|
||||||
|
20:1/0/custom_data_0 = true
|
||||||
21:1/0 = 0
|
21:1/0 = 0
|
||||||
|
21:1/0/custom_data_0 = true
|
||||||
22:1/0 = 0
|
22:1/0 = 0
|
||||||
|
22:1/0/custom_data_0 = true
|
||||||
23:1/0 = 0
|
23:1/0 = 0
|
||||||
24:1/0 = 0
|
24:1/0 = 0
|
||||||
25:1/0 = 0
|
25:1/0 = 0
|
||||||
@@ -350,12 +364,19 @@ separation = Vector2i(1, 1)
|
|||||||
15:2/0/terrain = 3
|
15:2/0/terrain = 3
|
||||||
15:2/0/terrains_peering_bit/top_side = 3
|
15:2/0/terrains_peering_bit/top_side = 3
|
||||||
16:2/0 = 0
|
16:2/0 = 0
|
||||||
|
16:2/0/custom_data_0 = true
|
||||||
17:2/0 = 0
|
17:2/0 = 0
|
||||||
|
17:2/0/custom_data_0 = true
|
||||||
18:2/0 = 0
|
18:2/0 = 0
|
||||||
|
18:2/0/custom_data_0 = true
|
||||||
19:2/0 = 0
|
19:2/0 = 0
|
||||||
|
19:2/0/custom_data_0 = true
|
||||||
20:2/0 = 0
|
20:2/0 = 0
|
||||||
|
20:2/0/custom_data_0 = true
|
||||||
21:2/0 = 0
|
21:2/0 = 0
|
||||||
|
21:2/0/custom_data_0 = true
|
||||||
22:2/0 = 0
|
22:2/0 = 0
|
||||||
|
22:2/0/custom_data_0 = true
|
||||||
23:2/0 = 0
|
23:2/0 = 0
|
||||||
24:2/0 = 0
|
24:2/0 = 0
|
||||||
25:2/0 = 0
|
25:2/0 = 0
|
||||||
@@ -364,25 +385,30 @@ separation = Vector2i(1, 1)
|
|||||||
0:3/0/terrain_set = 0
|
0:3/0/terrain_set = 0
|
||||||
0:3/0/terrains_peering_bit/right_side = 4
|
0:3/0/terrains_peering_bit/right_side = 4
|
||||||
0:3/0/terrains_peering_bit/bottom_side = 4
|
0:3/0/terrains_peering_bit/bottom_side = 4
|
||||||
|
0:3/0/custom_data_0 = true
|
||||||
1:3/0 = 0
|
1:3/0 = 0
|
||||||
1:3/0/terrain_set = 0
|
1:3/0/terrain_set = 0
|
||||||
1:3/0/terrain = 4
|
1:3/0/terrain = 4
|
||||||
1:3/0/terrains_peering_bit/right_side = 4
|
1:3/0/terrains_peering_bit/right_side = 4
|
||||||
1:3/0/terrains_peering_bit/bottom_side = 4
|
1:3/0/terrains_peering_bit/bottom_side = 4
|
||||||
1:3/0/terrains_peering_bit/left_side = 4
|
1:3/0/terrains_peering_bit/left_side = 4
|
||||||
|
1:3/0/custom_data_0 = true
|
||||||
2:3/0 = 0
|
2:3/0 = 0
|
||||||
2:3/0/terrain_set = 0
|
2:3/0/terrain_set = 0
|
||||||
2:3/0/terrain = 4
|
2:3/0/terrain = 4
|
||||||
2:3/0/terrains_peering_bit/bottom_side = 4
|
2:3/0/terrains_peering_bit/bottom_side = 4
|
||||||
2:3/0/terrains_peering_bit/left_side = 4
|
2:3/0/terrains_peering_bit/left_side = 4
|
||||||
|
2:3/0/custom_data_0 = true
|
||||||
3:3/0 = 0
|
3:3/0 = 0
|
||||||
3:3/0/terrain_set = 0
|
3:3/0/terrain_set = 0
|
||||||
3:3/0/terrains_peering_bit/right_side = 4
|
3:3/0/terrains_peering_bit/right_side = 4
|
||||||
3:3/0/terrains_peering_bit/bottom_side = 4
|
3:3/0/terrains_peering_bit/bottom_side = 4
|
||||||
|
3:3/0/custom_data_0 = true
|
||||||
4:3/0 = 0
|
4:3/0 = 0
|
||||||
4:3/0/terrain_set = 0
|
4:3/0/terrain_set = 0
|
||||||
4:3/0/terrains_peering_bit/bottom_side = 4
|
4:3/0/terrains_peering_bit/bottom_side = 4
|
||||||
4:3/0/terrains_peering_bit/left_side = 4
|
4:3/0/terrains_peering_bit/left_side = 4
|
||||||
|
4:3/0/custom_data_0 = true
|
||||||
5:3/0 = 0
|
5:3/0 = 0
|
||||||
5:3/0/terrain_set = 0
|
5:3/0/terrain_set = 0
|
||||||
5:3/0/terrains_peering_bit/right_side = 4
|
5:3/0/terrains_peering_bit/right_side = 4
|
||||||
@@ -395,29 +421,43 @@ separation = Vector2i(1, 1)
|
|||||||
7:3/0/terrain_set = 0
|
7:3/0/terrain_set = 0
|
||||||
7:3/0/terrain = 4
|
7:3/0/terrain = 4
|
||||||
7:3/0/terrains_peering_bit/bottom_side = 4
|
7:3/0/terrains_peering_bit/bottom_side = 4
|
||||||
|
7:3/0/custom_data_0 = true
|
||||||
8:3/0 = 0
|
8:3/0 = 0
|
||||||
8:3/0/terrain_set = 0
|
8:3/0/terrain_set = 0
|
||||||
|
8:3/0/custom_data_0 = true
|
||||||
9:3/0 = 0
|
9:3/0 = 0
|
||||||
9:3/0/terrain_set = 0
|
9:3/0/terrain_set = 0
|
||||||
|
9:3/0/custom_data_0 = true
|
||||||
10:3/0 = 0
|
10:3/0 = 0
|
||||||
10:3/0/terrain_set = 0
|
10:3/0/terrain_set = 0
|
||||||
|
10:3/0/custom_data_0 = true
|
||||||
11:3/0 = 0
|
11:3/0 = 0
|
||||||
11:3/0/terrain_set = 0
|
11:3/0/terrain_set = 0
|
||||||
|
11:3/0/custom_data_0 = true
|
||||||
12:3/0 = 0
|
12:3/0 = 0
|
||||||
12:3/0/terrain_set = 0
|
12:3/0/terrain_set = 0
|
||||||
|
12:3/0/custom_data_0 = true
|
||||||
13:3/0 = 0
|
13:3/0 = 0
|
||||||
13:3/0/terrain_set = 0
|
13:3/0/terrain_set = 0
|
||||||
14:3/0 = 0
|
14:3/0 = 0
|
||||||
14:3/0/terrain_set = 0
|
14:3/0/terrain_set = 0
|
||||||
15:3/0 = 0
|
15:3/0 = 0
|
||||||
15:3/0/terrain_set = 0
|
15:3/0/terrain_set = 0
|
||||||
|
15:3/0/custom_data_0 = true
|
||||||
16:3/0 = 0
|
16:3/0 = 0
|
||||||
|
16:3/0/custom_data_0 = true
|
||||||
17:3/0 = 0
|
17:3/0 = 0
|
||||||
|
17:3/0/custom_data_0 = true
|
||||||
18:3/0 = 0
|
18:3/0 = 0
|
||||||
|
18:3/0/custom_data_0 = true
|
||||||
19:3/0 = 0
|
19:3/0 = 0
|
||||||
|
19:3/0/custom_data_0 = true
|
||||||
20:3/0 = 0
|
20:3/0 = 0
|
||||||
|
20:3/0/custom_data_0 = true
|
||||||
21:3/0 = 0
|
21:3/0 = 0
|
||||||
|
21:3/0/custom_data_0 = true
|
||||||
22:3/0 = 0
|
22:3/0 = 0
|
||||||
|
22:3/0/custom_data_0 = true
|
||||||
23:3/0 = 0
|
23:3/0 = 0
|
||||||
24:3/0 = 0
|
24:3/0 = 0
|
||||||
25:3/0 = 0
|
25:3/0 = 0
|
||||||
@@ -428,6 +468,7 @@ separation = Vector2i(1, 1)
|
|||||||
0:4/0/terrains_peering_bit/right_side = 4
|
0:4/0/terrains_peering_bit/right_side = 4
|
||||||
0:4/0/terrains_peering_bit/bottom_side = 4
|
0:4/0/terrains_peering_bit/bottom_side = 4
|
||||||
0:4/0/terrains_peering_bit/top_side = 4
|
0:4/0/terrains_peering_bit/top_side = 4
|
||||||
|
0:4/0/custom_data_0 = true
|
||||||
1:4/0 = 0
|
1:4/0 = 0
|
||||||
1:4/0/terrain_set = 0
|
1:4/0/terrain_set = 0
|
||||||
1:4/0/terrain = 4
|
1:4/0/terrain = 4
|
||||||
@@ -441,14 +482,17 @@ separation = Vector2i(1, 1)
|
|||||||
2:4/0/terrains_peering_bit/bottom_side = 4
|
2:4/0/terrains_peering_bit/bottom_side = 4
|
||||||
2:4/0/terrains_peering_bit/left_side = 4
|
2:4/0/terrains_peering_bit/left_side = 4
|
||||||
2:4/0/terrains_peering_bit/top_side = 4
|
2:4/0/terrains_peering_bit/top_side = 4
|
||||||
|
2:4/0/custom_data_0 = true
|
||||||
3:4/0 = 0
|
3:4/0 = 0
|
||||||
3:4/0/terrain_set = 0
|
3:4/0/terrain_set = 0
|
||||||
3:4/0/terrains_peering_bit/right_side = 4
|
3:4/0/terrains_peering_bit/right_side = 4
|
||||||
3:4/0/terrains_peering_bit/top_side = 4
|
3:4/0/terrains_peering_bit/top_side = 4
|
||||||
|
3:4/0/custom_data_0 = true
|
||||||
4:4/0 = 0
|
4:4/0 = 0
|
||||||
4:4/0/terrain_set = 0
|
4:4/0/terrain_set = 0
|
||||||
4:4/0/terrains_peering_bit/left_side = 4
|
4:4/0/terrains_peering_bit/left_side = 4
|
||||||
4:4/0/terrains_peering_bit/top_side = 4
|
4:4/0/terrains_peering_bit/top_side = 4
|
||||||
|
4:4/0/custom_data_0 = true
|
||||||
5:4/0 = 0
|
5:4/0 = 0
|
||||||
5:4/0/terrain_set = 0
|
5:4/0/terrain_set = 0
|
||||||
5:4/0/terrains_peering_bit/right_side = 4
|
5:4/0/terrains_peering_bit/right_side = 4
|
||||||
@@ -462,29 +506,42 @@ separation = Vector2i(1, 1)
|
|||||||
7:4/0/terrain = 4
|
7:4/0/terrain = 4
|
||||||
7:4/0/terrains_peering_bit/bottom_side = 4
|
7:4/0/terrains_peering_bit/bottom_side = 4
|
||||||
7:4/0/terrains_peering_bit/top_side = 4
|
7:4/0/terrains_peering_bit/top_side = 4
|
||||||
|
7:4/0/custom_data_0 = true
|
||||||
8:4/0 = 0
|
8:4/0 = 0
|
||||||
8:4/0/terrain_set = 0
|
8:4/0/terrain_set = 0
|
||||||
|
8:4/0/custom_data_0 = true
|
||||||
9:4/0 = 0
|
9:4/0 = 0
|
||||||
9:4/0/terrain_set = 0
|
9:4/0/terrain_set = 0
|
||||||
10:4/0 = 0
|
10:4/0 = 0
|
||||||
10:4/0/terrain_set = 0
|
10:4/0/terrain_set = 0
|
||||||
|
10:4/0/custom_data_0 = true
|
||||||
11:4/0 = 0
|
11:4/0 = 0
|
||||||
11:4/0/terrain_set = 0
|
11:4/0/terrain_set = 0
|
||||||
|
11:4/0/custom_data_0 = true
|
||||||
12:4/0 = 0
|
12:4/0 = 0
|
||||||
12:4/0/terrain_set = 0
|
12:4/0/terrain_set = 0
|
||||||
|
12:4/0/custom_data_0 = true
|
||||||
13:4/0 = 0
|
13:4/0 = 0
|
||||||
13:4/0/terrain_set = 0
|
13:4/0/terrain_set = 0
|
||||||
14:4/0 = 0
|
14:4/0 = 0
|
||||||
14:4/0/terrain_set = 0
|
14:4/0/terrain_set = 0
|
||||||
15:4/0 = 0
|
15:4/0 = 0
|
||||||
15:4/0/terrain_set = 0
|
15:4/0/terrain_set = 0
|
||||||
|
15:4/0/custom_data_0 = true
|
||||||
16:4/0 = 0
|
16:4/0 = 0
|
||||||
|
16:4/0/custom_data_0 = true
|
||||||
17:4/0 = 0
|
17:4/0 = 0
|
||||||
|
17:4/0/custom_data_0 = true
|
||||||
18:4/0 = 0
|
18:4/0 = 0
|
||||||
|
18:4/0/custom_data_0 = true
|
||||||
19:4/0 = 0
|
19:4/0 = 0
|
||||||
|
19:4/0/custom_data_0 = true
|
||||||
20:4/0 = 0
|
20:4/0 = 0
|
||||||
|
20:4/0/custom_data_0 = true
|
||||||
21:4/0 = 0
|
21:4/0 = 0
|
||||||
|
21:4/0/custom_data_0 = true
|
||||||
22:4/0 = 0
|
22:4/0 = 0
|
||||||
|
22:4/0/custom_data_0 = true
|
||||||
23:4/0 = 0
|
23:4/0 = 0
|
||||||
24:4/0 = 0
|
24:4/0 = 0
|
||||||
25:4/0 = 0
|
25:4/0 = 0
|
||||||
@@ -494,61 +551,84 @@ separation = Vector2i(1, 1)
|
|||||||
0:5/0/terrain = 4
|
0:5/0/terrain = 4
|
||||||
0:5/0/terrains_peering_bit/right_side = 4
|
0:5/0/terrains_peering_bit/right_side = 4
|
||||||
0:5/0/terrains_peering_bit/top_side = 4
|
0:5/0/terrains_peering_bit/top_side = 4
|
||||||
|
0:5/0/custom_data_0 = true
|
||||||
1:5/0 = 0
|
1:5/0 = 0
|
||||||
1:5/0/terrain_set = 0
|
1:5/0/terrain_set = 0
|
||||||
1:5/0/terrain = 4
|
1:5/0/terrain = 4
|
||||||
1:5/0/terrains_peering_bit/right_side = 4
|
1:5/0/terrains_peering_bit/right_side = 4
|
||||||
1:5/0/terrains_peering_bit/left_side = 4
|
1:5/0/terrains_peering_bit/left_side = 4
|
||||||
1:5/0/terrains_peering_bit/top_side = 4
|
1:5/0/terrains_peering_bit/top_side = 4
|
||||||
|
1:5/0/custom_data_0 = true
|
||||||
2:5/0 = 0
|
2:5/0 = 0
|
||||||
2:5/0/terrain_set = 0
|
2:5/0/terrain_set = 0
|
||||||
2:5/0/terrain = 4
|
2:5/0/terrain = 4
|
||||||
2:5/0/terrains_peering_bit/left_side = 4
|
2:5/0/terrains_peering_bit/left_side = 4
|
||||||
2:5/0/terrains_peering_bit/top_side = 4
|
2:5/0/terrains_peering_bit/top_side = 4
|
||||||
|
2:5/0/custom_data_0 = true
|
||||||
3:5/0 = 0
|
3:5/0 = 0
|
||||||
3:5/0/terrain_set = 0
|
3:5/0/terrain_set = 0
|
||||||
3:5/0/terrain = 4
|
3:5/0/terrain = 4
|
||||||
3:5/0/terrains_peering_bit/right_side = 4
|
3:5/0/terrains_peering_bit/right_side = 4
|
||||||
|
3:5/0/custom_data_0 = true
|
||||||
4:5/0 = 0
|
4:5/0 = 0
|
||||||
4:5/0/terrain_set = 0
|
4:5/0/terrain_set = 0
|
||||||
4:5/0/terrain = 4
|
4:5/0/terrain = 4
|
||||||
4:5/0/terrains_peering_bit/right_side = 4
|
4:5/0/terrains_peering_bit/right_side = 4
|
||||||
4:5/0/terrains_peering_bit/left_side = 4
|
4:5/0/terrains_peering_bit/left_side = 4
|
||||||
|
4:5/0/custom_data_0 = true
|
||||||
5:5/0 = 0
|
5:5/0 = 0
|
||||||
5:5/0/terrain_set = 0
|
5:5/0/terrain_set = 0
|
||||||
5:5/0/terrain = 4
|
5:5/0/terrain = 4
|
||||||
5:5/0/terrains_peering_bit/left_side = 4
|
5:5/0/terrains_peering_bit/left_side = 4
|
||||||
|
5:5/0/custom_data_0 = true
|
||||||
6:5/0 = 0
|
6:5/0 = 0
|
||||||
6:5/0/terrain_set = 0
|
6:5/0/terrain_set = 0
|
||||||
6:5/0/terrain = 4
|
6:5/0/terrain = 4
|
||||||
|
6:5/0/custom_data_0 = true
|
||||||
7:5/0 = 0
|
7:5/0 = 0
|
||||||
7:5/0/terrain_set = 0
|
7:5/0/terrain_set = 0
|
||||||
7:5/0/terrain = 4
|
7:5/0/terrain = 4
|
||||||
7:5/0/terrains_peering_bit/top_side = 4
|
7:5/0/terrains_peering_bit/top_side = 4
|
||||||
|
7:5/0/custom_data_0 = true
|
||||||
8:5/0 = 0
|
8:5/0 = 0
|
||||||
8:5/0/terrain_set = 0
|
8:5/0/terrain_set = 0
|
||||||
|
8:5/0/custom_data_0 = true
|
||||||
9:5/0 = 0
|
9:5/0 = 0
|
||||||
9:5/0/terrain_set = 0
|
9:5/0/terrain_set = 0
|
||||||
|
9:5/0/custom_data_0 = true
|
||||||
10:5/0 = 0
|
10:5/0 = 0
|
||||||
10:5/0/terrain_set = 0
|
10:5/0/terrain_set = 0
|
||||||
|
10:5/0/custom_data_0 = true
|
||||||
11:5/0 = 0
|
11:5/0 = 0
|
||||||
11:5/0/terrain_set = 0
|
11:5/0/terrain_set = 0
|
||||||
|
11:5/0/custom_data_0 = true
|
||||||
12:5/0 = 0
|
12:5/0 = 0
|
||||||
12:5/0/terrain_set = 0
|
12:5/0/terrain_set = 0
|
||||||
|
12:5/0/custom_data_0 = true
|
||||||
13:5/0 = 0
|
13:5/0 = 0
|
||||||
13:5/0/terrain_set = 0
|
13:5/0/terrain_set = 0
|
||||||
|
13:5/0/custom_data_0 = true
|
||||||
14:5/0 = 0
|
14:5/0 = 0
|
||||||
14:5/0/terrain_set = 0
|
14:5/0/terrain_set = 0
|
||||||
|
14:5/0/custom_data_0 = true
|
||||||
15:5/0 = 0
|
15:5/0 = 0
|
||||||
15:5/0/terrain_set = 0
|
15:5/0/terrain_set = 0
|
||||||
|
15:5/0/custom_data_0 = true
|
||||||
16:5/0 = 0
|
16:5/0 = 0
|
||||||
16:5/0/terrain_set = 0
|
16:5/0/terrain_set = 0
|
||||||
|
16:5/0/custom_data_0 = true
|
||||||
17:5/0 = 0
|
17:5/0 = 0
|
||||||
|
17:5/0/custom_data_0 = true
|
||||||
18:5/0 = 0
|
18:5/0 = 0
|
||||||
|
18:5/0/custom_data_0 = true
|
||||||
19:5/0 = 0
|
19:5/0 = 0
|
||||||
|
19:5/0/custom_data_0 = true
|
||||||
20:5/0 = 0
|
20:5/0 = 0
|
||||||
|
20:5/0/custom_data_0 = true
|
||||||
21:5/0 = 0
|
21:5/0 = 0
|
||||||
|
21:5/0/custom_data_0 = true
|
||||||
22:5/0 = 0
|
22:5/0 = 0
|
||||||
|
22:5/0/custom_data_0 = true
|
||||||
23:5/0 = 0
|
23:5/0 = 0
|
||||||
24:5/0 = 0
|
24:5/0 = 0
|
||||||
25:5/0 = 0
|
25:5/0 = 0
|
||||||
@@ -566,6 +646,7 @@ separation = Vector2i(1, 1)
|
|||||||
8:6/0/terrain = 2
|
8:6/0/terrain = 2
|
||||||
8:6/0/terrains_peering_bit/right_side = 2
|
8:6/0/terrains_peering_bit/right_side = 2
|
||||||
8:6/0/terrains_peering_bit/bottom_side = 2
|
8:6/0/terrains_peering_bit/bottom_side = 2
|
||||||
|
8:6/0/custom_data_0 = true
|
||||||
9:6/0 = 0
|
9:6/0 = 0
|
||||||
9:6/0/terrain_set = 0
|
9:6/0/terrain_set = 0
|
||||||
9:6/0/terrain = 2
|
9:6/0/terrain = 2
|
||||||
@@ -573,38 +654,52 @@ separation = Vector2i(1, 1)
|
|||||||
9:6/0/terrains_peering_bit/bottom_side = 2
|
9:6/0/terrains_peering_bit/bottom_side = 2
|
||||||
9:6/0/terrains_peering_bit/left_side = 2
|
9:6/0/terrains_peering_bit/left_side = 2
|
||||||
9:6/0/terrains_peering_bit/top_side = 2
|
9:6/0/terrains_peering_bit/top_side = 2
|
||||||
|
9:6/0/custom_data_0 = true
|
||||||
10:6/0 = 0
|
10:6/0 = 0
|
||||||
10:6/0/terrain_set = 0
|
10:6/0/terrain_set = 0
|
||||||
10:6/0/terrain = 2
|
10:6/0/terrain = 2
|
||||||
10:6/0/terrains_peering_bit/bottom_side = 2
|
10:6/0/terrains_peering_bit/bottom_side = 2
|
||||||
10:6/0/terrains_peering_bit/left_side = 2
|
10:6/0/terrains_peering_bit/left_side = 2
|
||||||
|
10:6/0/custom_data_0 = true
|
||||||
11:6/0 = 0
|
11:6/0 = 0
|
||||||
11:6/0/terrain_set = 0
|
11:6/0/terrain_set = 0
|
||||||
11:6/0/terrains_peering_bit/right_side = 2
|
11:6/0/terrains_peering_bit/right_side = 2
|
||||||
11:6/0/terrains_peering_bit/bottom_side = 2
|
11:6/0/terrains_peering_bit/bottom_side = 2
|
||||||
|
11:6/0/custom_data_0 = true
|
||||||
12:6/0 = 0
|
12:6/0 = 0
|
||||||
12:6/0/terrain_set = 0
|
12:6/0/terrain_set = 0
|
||||||
12:6/0/terrains_peering_bit/bottom_side = 2
|
12:6/0/terrains_peering_bit/bottom_side = 2
|
||||||
12:6/0/terrains_peering_bit/left_side = 2
|
12:6/0/terrains_peering_bit/left_side = 2
|
||||||
|
12:6/0/custom_data_0 = true
|
||||||
13:6/0 = 0
|
13:6/0 = 0
|
||||||
13:6/0/terrain_set = 0
|
13:6/0/terrain_set = 0
|
||||||
13:6/0/terrains_peering_bit/right_side = 2
|
13:6/0/terrains_peering_bit/right_side = 2
|
||||||
13:6/0/terrains_peering_bit/bottom_side = 2
|
13:6/0/terrains_peering_bit/bottom_side = 2
|
||||||
|
13:6/0/custom_data_0 = true
|
||||||
14:6/0 = 0
|
14:6/0 = 0
|
||||||
14:6/0/terrain_set = 0
|
14:6/0/terrain_set = 0
|
||||||
14:6/0/terrains_peering_bit/bottom_side = 2
|
14:6/0/terrains_peering_bit/bottom_side = 2
|
||||||
14:6/0/terrains_peering_bit/left_side = 2
|
14:6/0/terrains_peering_bit/left_side = 2
|
||||||
|
14:6/0/custom_data_0 = true
|
||||||
15:6/0 = 0
|
15:6/0 = 0
|
||||||
15:6/0/terrain_set = 0
|
15:6/0/terrain_set = 0
|
||||||
15:6/0/terrain = 2
|
15:6/0/terrain = 2
|
||||||
15:6/0/terrains_peering_bit/bottom_side = 2
|
15:6/0/terrains_peering_bit/bottom_side = 2
|
||||||
|
15:6/0/custom_data_0 = true
|
||||||
16:6/0 = 0
|
16:6/0 = 0
|
||||||
|
16:6/0/custom_data_0 = true
|
||||||
17:6/0 = 0
|
17:6/0 = 0
|
||||||
|
17:6/0/custom_data_0 = true
|
||||||
18:6/0 = 0
|
18:6/0 = 0
|
||||||
|
18:6/0/custom_data_0 = true
|
||||||
19:6/0 = 0
|
19:6/0 = 0
|
||||||
|
19:6/0/custom_data_0 = true
|
||||||
20:6/0 = 0
|
20:6/0 = 0
|
||||||
|
20:6/0/custom_data_0 = true
|
||||||
21:6/0 = 0
|
21:6/0 = 0
|
||||||
|
21:6/0/custom_data_0 = true
|
||||||
22:6/0 = 0
|
22:6/0 = 0
|
||||||
|
22:6/0/custom_data_0 = true
|
||||||
23:6/0 = 0
|
23:6/0 = 0
|
||||||
24:6/0 = 0
|
24:6/0 = 0
|
||||||
25:6/0 = 0
|
25:6/0 = 0
|
||||||
@@ -623,6 +718,7 @@ separation = Vector2i(1, 1)
|
|||||||
8:7/0/terrains_peering_bit/right_side = 2
|
8:7/0/terrains_peering_bit/right_side = 2
|
||||||
8:7/0/terrains_peering_bit/bottom_side = 2
|
8:7/0/terrains_peering_bit/bottom_side = 2
|
||||||
8:7/0/terrains_peering_bit/top_side = 2
|
8:7/0/terrains_peering_bit/top_side = 2
|
||||||
|
8:7/0/custom_data_0 = true
|
||||||
9:7/0 = 0
|
9:7/0 = 0
|
||||||
9:7/0/terrain_set = 0
|
9:7/0/terrain_set = 0
|
||||||
9:7/0/terrain = 2
|
9:7/0/terrain = 2
|
||||||
@@ -630,40 +726,54 @@ separation = Vector2i(1, 1)
|
|||||||
9:7/0/terrains_peering_bit/bottom_side = 2
|
9:7/0/terrains_peering_bit/bottom_side = 2
|
||||||
9:7/0/terrains_peering_bit/left_side = 2
|
9:7/0/terrains_peering_bit/left_side = 2
|
||||||
9:7/0/terrains_peering_bit/top_side = 2
|
9:7/0/terrains_peering_bit/top_side = 2
|
||||||
|
9:7/0/custom_data_0 = true
|
||||||
10:7/0 = 0
|
10:7/0 = 0
|
||||||
10:7/0/terrain_set = 0
|
10:7/0/terrain_set = 0
|
||||||
10:7/0/terrain = 2
|
10:7/0/terrain = 2
|
||||||
10:7/0/terrains_peering_bit/bottom_side = 2
|
10:7/0/terrains_peering_bit/bottom_side = 2
|
||||||
10:7/0/terrains_peering_bit/left_side = 2
|
10:7/0/terrains_peering_bit/left_side = 2
|
||||||
10:7/0/terrains_peering_bit/top_side = 2
|
10:7/0/terrains_peering_bit/top_side = 2
|
||||||
|
10:7/0/custom_data_0 = true
|
||||||
11:7/0 = 0
|
11:7/0 = 0
|
||||||
11:7/0/terrain_set = 0
|
11:7/0/terrain_set = 0
|
||||||
11:7/0/terrains_peering_bit/right_side = 2
|
11:7/0/terrains_peering_bit/right_side = 2
|
||||||
11:7/0/terrains_peering_bit/top_side = 2
|
11:7/0/terrains_peering_bit/top_side = 2
|
||||||
|
11:7/0/custom_data_0 = true
|
||||||
12:7/0 = 0
|
12:7/0 = 0
|
||||||
12:7/0/terrain_set = 0
|
12:7/0/terrain_set = 0
|
||||||
12:7/0/terrains_peering_bit/left_side = 2
|
12:7/0/terrains_peering_bit/left_side = 2
|
||||||
12:7/0/terrains_peering_bit/top_side = 2
|
12:7/0/terrains_peering_bit/top_side = 2
|
||||||
|
12:7/0/custom_data_0 = true
|
||||||
13:7/0 = 0
|
13:7/0 = 0
|
||||||
13:7/0/terrain_set = 0
|
13:7/0/terrain_set = 0
|
||||||
13:7/0/terrains_peering_bit/right_side = 2
|
13:7/0/terrains_peering_bit/right_side = 2
|
||||||
13:7/0/terrains_peering_bit/top_side = 2
|
13:7/0/terrains_peering_bit/top_side = 2
|
||||||
|
13:7/0/custom_data_0 = true
|
||||||
14:7/0 = 0
|
14:7/0 = 0
|
||||||
14:7/0/terrain_set = 0
|
14:7/0/terrain_set = 0
|
||||||
14:7/0/terrains_peering_bit/left_side = 2
|
14:7/0/terrains_peering_bit/left_side = 2
|
||||||
14:7/0/terrains_peering_bit/top_side = 2
|
14:7/0/terrains_peering_bit/top_side = 2
|
||||||
|
14:7/0/custom_data_0 = true
|
||||||
15:7/0 = 0
|
15:7/0 = 0
|
||||||
15:7/0/terrain_set = 0
|
15:7/0/terrain_set = 0
|
||||||
15:7/0/terrain = 2
|
15:7/0/terrain = 2
|
||||||
15:7/0/terrains_peering_bit/bottom_side = 2
|
15:7/0/terrains_peering_bit/bottom_side = 2
|
||||||
15:7/0/terrains_peering_bit/top_side = 2
|
15:7/0/terrains_peering_bit/top_side = 2
|
||||||
|
15:7/0/custom_data_0 = true
|
||||||
16:7/0 = 0
|
16:7/0 = 0
|
||||||
|
16:7/0/custom_data_0 = true
|
||||||
17:7/0 = 0
|
17:7/0 = 0
|
||||||
|
17:7/0/custom_data_0 = true
|
||||||
18:7/0 = 0
|
18:7/0 = 0
|
||||||
|
18:7/0/custom_data_0 = true
|
||||||
19:7/0 = 0
|
19:7/0 = 0
|
||||||
|
19:7/0/custom_data_0 = true
|
||||||
20:7/0 = 0
|
20:7/0 = 0
|
||||||
|
20:7/0/custom_data_0 = true
|
||||||
21:7/0 = 0
|
21:7/0 = 0
|
||||||
|
21:7/0/custom_data_0 = true
|
||||||
22:7/0 = 0
|
22:7/0 = 0
|
||||||
|
22:7/0/custom_data_0 = true
|
||||||
23:7/0 = 0
|
23:7/0 = 0
|
||||||
24:7/0 = 0
|
24:7/0 = 0
|
||||||
25:7/0 = 0
|
25:7/0 = 0
|
||||||
@@ -681,37 +791,45 @@ separation = Vector2i(1, 1)
|
|||||||
8:8/0/terrain = 2
|
8:8/0/terrain = 2
|
||||||
8:8/0/terrains_peering_bit/right_side = 2
|
8:8/0/terrains_peering_bit/right_side = 2
|
||||||
8:8/0/terrains_peering_bit/top_side = 2
|
8:8/0/terrains_peering_bit/top_side = 2
|
||||||
|
8:8/0/custom_data_0 = true
|
||||||
9:8/0 = 0
|
9:8/0 = 0
|
||||||
9:8/0/terrain_set = 0
|
9:8/0/terrain_set = 0
|
||||||
9:8/0/terrain = 2
|
9:8/0/terrain = 2
|
||||||
9:8/0/terrains_peering_bit/right_side = 2
|
9:8/0/terrains_peering_bit/right_side = 2
|
||||||
9:8/0/terrains_peering_bit/left_side = 2
|
9:8/0/terrains_peering_bit/left_side = 2
|
||||||
9:8/0/terrains_peering_bit/top_side = 2
|
9:8/0/terrains_peering_bit/top_side = 2
|
||||||
|
9:8/0/custom_data_0 = true
|
||||||
10:8/0 = 0
|
10:8/0 = 0
|
||||||
10:8/0/terrain_set = 0
|
10:8/0/terrain_set = 0
|
||||||
10:8/0/terrain = 2
|
10:8/0/terrain = 2
|
||||||
10:8/0/terrains_peering_bit/left_side = 2
|
10:8/0/terrains_peering_bit/left_side = 2
|
||||||
10:8/0/terrains_peering_bit/top_side = 2
|
10:8/0/terrains_peering_bit/top_side = 2
|
||||||
|
10:8/0/custom_data_0 = true
|
||||||
11:8/0 = 0
|
11:8/0 = 0
|
||||||
11:8/0/terrain_set = 0
|
11:8/0/terrain_set = 0
|
||||||
11:8/0/terrain = 2
|
11:8/0/terrain = 2
|
||||||
11:8/0/terrains_peering_bit/right_side = 2
|
11:8/0/terrains_peering_bit/right_side = 2
|
||||||
|
11:8/0/custom_data_0 = true
|
||||||
12:8/0 = 0
|
12:8/0 = 0
|
||||||
12:8/0/terrain_set = 0
|
12:8/0/terrain_set = 0
|
||||||
12:8/0/terrain = 2
|
12:8/0/terrain = 2
|
||||||
12:8/0/terrains_peering_bit/right_side = 2
|
12:8/0/terrains_peering_bit/right_side = 2
|
||||||
12:8/0/terrains_peering_bit/left_side = 2
|
12:8/0/terrains_peering_bit/left_side = 2
|
||||||
|
12:8/0/custom_data_0 = true
|
||||||
13:8/0 = 0
|
13:8/0 = 0
|
||||||
13:8/0/terrain_set = 0
|
13:8/0/terrain_set = 0
|
||||||
13:8/0/terrain = 2
|
13:8/0/terrain = 2
|
||||||
13:8/0/terrains_peering_bit/left_side = 2
|
13:8/0/terrains_peering_bit/left_side = 2
|
||||||
|
13:8/0/custom_data_0 = true
|
||||||
14:8/0 = 0
|
14:8/0 = 0
|
||||||
14:8/0/terrain_set = 0
|
14:8/0/terrain_set = 0
|
||||||
14:8/0/terrain = 2
|
14:8/0/terrain = 2
|
||||||
|
14:8/0/custom_data_0 = true
|
||||||
15:8/0 = 0
|
15:8/0 = 0
|
||||||
15:8/0/terrain_set = 0
|
15:8/0/terrain_set = 0
|
||||||
15:8/0/terrain = 2
|
15:8/0/terrain = 2
|
||||||
15:8/0/terrains_peering_bit/top_side = 2
|
15:8/0/terrains_peering_bit/top_side = 2
|
||||||
|
15:8/0/custom_data_0 = true
|
||||||
16:8/0 = 0
|
16:8/0 = 0
|
||||||
17:8/0 = 0
|
17:8/0 = 0
|
||||||
18:8/0 = 0
|
18:8/0 = 0
|
||||||
@@ -1008,6 +1126,8 @@ terrain_set_0/terrain_3/color = Color(0.835294, 0.831373, 0.870588, 1)
|
|||||||
terrain_set_0/terrain_4/name = "Roof_1"
|
terrain_set_0/terrain_4/name = "Roof_1"
|
||||||
terrain_set_0/terrain_4/color = Color(0.886275, 0.870588, 0.811765, 1)
|
terrain_set_0/terrain_4/color = Color(0.886275, 0.870588, 0.811765, 1)
|
||||||
navigation_layer_0/layers = 1
|
navigation_layer_0/layers = 1
|
||||||
|
custom_data_layer_0/name = "obstacle"
|
||||||
|
custom_data_layer_0/type = 1
|
||||||
sources/1 = SubResource("TileSetAtlasSource_vqaso")
|
sources/1 = SubResource("TileSetAtlasSource_vqaso")
|
||||||
pattern_0 = SubResource("TileMapPattern_vrbvq")
|
pattern_0 = SubResource("TileMapPattern_vrbvq")
|
||||||
pattern_1 = SubResource("TileMapPattern_07llt")
|
pattern_1 = SubResource("TileMapPattern_07llt")
|
||||||
|
|||||||
@@ -17,23 +17,19 @@ signal moved(new_cell)
|
|||||||
## Coordinates of the current cell the cursor is hovering.
|
## Coordinates of the current cell the cursor is hovering.
|
||||||
var cell := Vector2.ZERO:
|
var cell := Vector2.ZERO:
|
||||||
set(value):
|
set(value):
|
||||||
print("Setting cell to: ", value)
|
|
||||||
# We first clamp the cell coordinates and ensure that we aren't
|
# We first clamp the cell coordinates and ensure that we aren't
|
||||||
# trying to move outside the grid boundaries
|
# trying to move outside the grid boundaries
|
||||||
var new_cell: Vector2 = grid.clamp(value)
|
var new_cell: Vector2 = grid.clamp(value)
|
||||||
print("New cell: ", new_cell)
|
|
||||||
if new_cell.is_equal_approx(cell):
|
if new_cell.is_equal_approx(cell):
|
||||||
return
|
return
|
||||||
|
|
||||||
cell = new_cell
|
cell = new_cell
|
||||||
print("Cell is ", cell)
|
|
||||||
# If we move to a new cell, we update the cursor's position, emit
|
# If we move to a new cell, we update the cursor's position, emit
|
||||||
# a signal, and start the cooldown timer that will limit the rate
|
# a signal, and start the cooldown timer that will limit the rate
|
||||||
# at which the cursor moves when we keep the direction key held
|
# at which the cursor moves when we keep the direction key held
|
||||||
# down
|
# down
|
||||||
# global_position = grid.calculateMapPosition(cell)
|
|
||||||
global_position = GroundLayer.map_to_local(cell)
|
global_position = GroundLayer.map_to_local(cell)
|
||||||
print("Position is ", position)
|
|
||||||
emit_signal("moved", cell)
|
emit_signal("moved", cell)
|
||||||
_timer.start()
|
_timer.start()
|
||||||
|
|
||||||
@@ -54,7 +50,7 @@ func _ready() -> void:
|
|||||||
func _unhandled_input(event: InputEvent) -> void:
|
func _unhandled_input(event: InputEvent) -> void:
|
||||||
# Navigating cells with the mouse.
|
# Navigating cells with the mouse.
|
||||||
if event is InputEventMouseMotion:
|
if event is InputEventMouseMotion:
|
||||||
cell = grid.calculateGridCoordinates(event.position)
|
cell = GroundLayer.local_to_map(event.position)
|
||||||
# Trying to select something in a cell.
|
# Trying to select something in a cell.
|
||||||
elif event.is_action_pressed("Select") or event.is_action_pressed("ui_accept"):
|
elif event.is_action_pressed("Select") or event.is_action_pressed("ui_accept"):
|
||||||
emit_signal("accept_pressed", cell)
|
emit_signal("accept_pressed", cell)
|
||||||
|
|||||||
17
Scenes/Main/grid_display.gd
Normal file
17
Scenes/Main/grid_display.gd
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
extends Control
|
||||||
|
|
||||||
|
var grid: AStarGrid2D:
|
||||||
|
set(v): grid = v; queue_redraw()
|
||||||
|
var show_grid_display: bool:
|
||||||
|
set(v): show_grid_display = v; queue_redraw()
|
||||||
|
|
||||||
|
func toggle_grid_display(on: bool):
|
||||||
|
show_grid_display = on
|
||||||
|
|
||||||
|
func _draw():
|
||||||
|
if not grid or not show_grid_display: return
|
||||||
|
for x in grid.region.size.x:
|
||||||
|
for y in grid.region.size.y:
|
||||||
|
var p = Vector2(x, y)
|
||||||
|
var col = Color(1,0,0,0.3) if grid.is_point_solid(p) else Color(0,1,0,0.3)
|
||||||
|
draw_rect(Rect2(p*grid.cell_size, grid.cell_size), col)
|
||||||
1
Scenes/Main/grid_display.gd.uid
Normal file
1
Scenes/Main/grid_display.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://dtme43jtijpok
|
||||||
@@ -18,6 +18,9 @@ var _MovingMarker: Node2D = _MovingMarkerScene.instantiate()
|
|||||||
|
|
||||||
@onready var GroundLayer: TileMapLayer = $Map/Ground
|
@onready var GroundLayer: TileMapLayer = $Map/Ground
|
||||||
|
|
||||||
|
var aStarGrid: AStarGrid2D:
|
||||||
|
set(v): aStarGrid = v;
|
||||||
|
|
||||||
# Called when the node enters the scene tree for the first time.
|
# Called when the node enters the scene tree for the first time.
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
# add_child(_MovingMarker)
|
# add_child(_MovingMarker)
|
||||||
@@ -26,7 +29,7 @@ func _ready() -> void:
|
|||||||
# create unit at local position (50, 50) => eg mouse position
|
# create unit at local position (50, 50) => eg mouse position
|
||||||
_createUnit(GroundLayer.local_to_map(Vector2i(50, 50)))
|
_createUnit(GroundLayer.local_to_map(Vector2i(50, 50)))
|
||||||
# create unit at map position (50, 50) => tile x = 50, y = 50 in the map
|
# create unit at map position (50, 50) => tile x = 50, y = 50 in the map
|
||||||
_createUnit(GroundLayer.map_to_local(Vector2i(50,50)))
|
_createUnit(GroundLayer.map_to_local(Vector2i(25,25)))
|
||||||
|
|
||||||
for unit in _Units:
|
for unit in _Units:
|
||||||
add_child(unit)
|
add_child(unit)
|
||||||
@@ -37,9 +40,6 @@ func _ready() -> void:
|
|||||||
# UnitCamera.target = _Units[0].get_path_to(get_parent())
|
# UnitCamera.target = _Units[0].get_path_to(get_parent())
|
||||||
# UnitCamera.target_node = _Units[0]
|
# UnitCamera.target_node = _Units[0]
|
||||||
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
func _process(delta: float) -> void:
|
func _process(delta: float) -> void:
|
||||||
pass
|
pass
|
||||||
@@ -63,3 +63,20 @@ func _getScreenCenter():
|
|||||||
|
|
||||||
func _getMousePosition(event: InputEvent):
|
func _getMousePosition(event: InputEvent):
|
||||||
return get_viewport().get_camera_2d().make_input_local(event)
|
return get_viewport().get_camera_2d().make_input_local(event)
|
||||||
|
|
||||||
|
|
||||||
|
#func prepareAStarGrid():
|
||||||
|
# var astarGrid = AStarGrid2D.new()
|
||||||
|
# astarGrid.cell_size = GroundLayer.tile_set.tile_size
|
||||||
|
# astarGrid.region = Rect2(Vector2.ZERO, ceil(get_viewport_rect().size / astarGrid.cell_size))
|
||||||
|
# astarGrid.update()
|
||||||
|
#
|
||||||
|
# for id in ObstacleLayer.get_used_cells():
|
||||||
|
# var data: TileData = ObstacleLayer.get_cell_tile_data(id)
|
||||||
|
# if data and data.get_custom_data('obstacle'):
|
||||||
|
# astarGrid.set_point_solid(id)
|
||||||
|
#
|
||||||
|
# %GridDisplay.grid = astarGrid
|
||||||
|
|
||||||
|
func get_cell_information(cell):
|
||||||
|
print(cell)
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
[ext_resource type="Script" uid="uid://dukn3yshfepum" path="res://Scenes/Main/grid_debug.gd" id="5_y3v7k"]
|
[ext_resource type="Script" uid="uid://dukn3yshfepum" path="res://Scenes/Main/grid_debug.gd" id="5_y3v7k"]
|
||||||
[ext_resource type="PackedScene" uid="uid://b1d6lktijxy3s" path="res://Scenes/Unit/move/unit.tscn" id="6_2a143"]
|
[ext_resource type="PackedScene" uid="uid://b1d6lktijxy3s" path="res://Scenes/Unit/move/unit.tscn" id="6_2a143"]
|
||||||
[ext_resource type="Script" uid="uid://cidjtc27oj1gn" path="res://Scenes/Main/cursor.gd" id="7_y3v7k"]
|
[ext_resource type="Script" uid="uid://cidjtc27oj1gn" path="res://Scenes/Main/cursor.gd" id="7_y3v7k"]
|
||||||
[ext_resource type="Texture2D" uid="uid://bckknh8k5fh1s" path="res://Graphics/TileMaps/kenney_rpgUrbanKit/Tiles/tile_0448.png" id="8_hryqi"]
|
[ext_resource type="Script" uid="uid://dtme43jtijpok" path="res://Scenes/Main/grid_display.gd" id="8_y3v7k"]
|
||||||
|
|
||||||
[sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_y3v7k"]
|
[sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_y3v7k"]
|
||||||
|
|
||||||
@@ -26,10 +26,12 @@ script = ExtResource("5_y3v7k")
|
|||||||
grid = ExtResource("5_p6jpk")
|
grid = ExtResource("5_p6jpk")
|
||||||
|
|
||||||
[node name="Unit" parent="GameBoard" instance=ExtResource("6_2a143")]
|
[node name="Unit" parent="GameBoard" instance=ExtResource("6_2a143")]
|
||||||
visible = false
|
|
||||||
position = Vector2(400, 224)
|
position = Vector2(400, 224)
|
||||||
grid = ExtResource("5_p6jpk")
|
grid = ExtResource("5_p6jpk")
|
||||||
|
|
||||||
|
[node name="Sprite2D" parent="GameBoard/Unit/PathFollow2D" index="1"]
|
||||||
|
texture = null
|
||||||
|
|
||||||
[node name="Cursor" type="Node2D" parent="GameBoard"]
|
[node name="Cursor" type="Node2D" parent="GameBoard"]
|
||||||
position = Vector2(8, 8)
|
position = Vector2(8, 8)
|
||||||
script = ExtResource("7_y3v7k")
|
script = ExtResource("7_y3v7k")
|
||||||
@@ -37,7 +39,6 @@ grid = ExtResource("5_p6jpk")
|
|||||||
|
|
||||||
[node name="Sprite2D" type="Sprite2D" parent="GameBoard/Cursor"]
|
[node name="Sprite2D" type="Sprite2D" parent="GameBoard/Cursor"]
|
||||||
position = Vector2(10, -10)
|
position = Vector2(10, -10)
|
||||||
texture = ExtResource("8_hryqi")
|
|
||||||
|
|
||||||
[node name="Timer" type="Timer" parent="GameBoard/Cursor"]
|
[node name="Timer" type="Timer" parent="GameBoard/Cursor"]
|
||||||
wait_time = 0.1
|
wait_time = 0.1
|
||||||
@@ -46,3 +47,30 @@ wait_time = 0.1
|
|||||||
position = Vector2(50, 50)
|
position = Vector2(50, 50)
|
||||||
scale = Vector2(2, 2)
|
scale = Vector2(2, 2)
|
||||||
texture = SubResource("PlaceholderTexture2D_y3v7k")
|
texture = SubResource("PlaceholderTexture2D_y3v7k")
|
||||||
|
|
||||||
|
[node name="HUD" type="CanvasLayer" parent="."]
|
||||||
|
|
||||||
|
[node name="GridDisplay" type="Control" parent="HUD"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
layout_mode = 3
|
||||||
|
anchors_preset = 0
|
||||||
|
offset_right = 40.0
|
||||||
|
offset_bottom = 40.0
|
||||||
|
script = ExtResource("8_y3v7k")
|
||||||
|
|
||||||
|
[node name="MarginContainer" type="MarginContainer" parent="HUD/GridDisplay"]
|
||||||
|
layout_mode = 0
|
||||||
|
offset_right = 40.0
|
||||||
|
offset_bottom = 40.0
|
||||||
|
|
||||||
|
[node name="PanelContainer" type="PanelContainer" parent="HUD/GridDisplay/MarginContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="ShowGrid" type="CheckBox" parent="HUD/GridDisplay/MarginContainer/PanelContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Show Grid"
|
||||||
|
|
||||||
|
[connection signal="accept_pressed" from="GameBoard/Cursor" to="." method="get_cell_information"]
|
||||||
|
[connection signal="toggled" from="HUD/GridDisplay/MarginContainer/PanelContainer/ShowGrid" to="HUD/GridDisplay" method="toggle_grid_display"]
|
||||||
|
|
||||||
|
[editable path="GameBoard/Unit"]
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
45
Scenes/Map/map_new.gd
Normal file
45
Scenes/Map/map_new.gd
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
extends Node2D
|
||||||
|
|
||||||
|
@onready var GroundLayer: TileMapLayer = $Ground
|
||||||
|
@onready var ObstacleLayer: TileMapLayer = $Obstacles
|
||||||
|
# Maybe a SubClass that is a Singleton, so we can create one grid
|
||||||
|
# and then change it per Map
|
||||||
|
var astarGrid: AStarGrid2D
|
||||||
|
|
||||||
|
# Called when the node enters the scene tree for the first time.
|
||||||
|
func _ready() -> void:
|
||||||
|
#astarGrid = generateSimpleGrid()
|
||||||
|
astarGrid = generateObstacleGrid()
|
||||||
|
%GridDisplay.grid = astarGrid
|
||||||
|
|
||||||
|
func generateSimpleGrid() -> AStarGrid2D:
|
||||||
|
var grid = AStarGrid2D.new()
|
||||||
|
grid.cell_size = Vector2(GroundLayer.tile_set.tile_size)
|
||||||
|
grid.region = GroundLayer.get_used_rect()
|
||||||
|
grid.update()
|
||||||
|
|
||||||
|
for id in GroundLayer.get_used_cells():
|
||||||
|
var data: TileData = GroundLayer.get_cell_tile_data(id)
|
||||||
|
if data and data.get_custom_data('obstacle'):
|
||||||
|
grid.set_point_solid(id)
|
||||||
|
|
||||||
|
return grid
|
||||||
|
|
||||||
|
func generateObstacleGrid() -> AStarGrid2D:
|
||||||
|
astarGrid = AStarGrid2D.new()
|
||||||
|
astarGrid.cell_size = Vector2(GroundLayer.tile_set.tile_size)
|
||||||
|
astarGrid.region = GroundLayer.get_used_rect()
|
||||||
|
astarGrid.update()
|
||||||
|
|
||||||
|
var layers = ObstacleLayer.get_children()
|
||||||
|
for layer in layers:
|
||||||
|
for id in layer.get_used_cells():
|
||||||
|
var data: TileData = layer.get_cell_tile_data(id)
|
||||||
|
if data and data.get_custom_data('obstacle'):
|
||||||
|
astarGrid.set_point_solid(id)
|
||||||
|
|
||||||
|
return astarGrid
|
||||||
|
|
||||||
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
|
func _process(delta: float) -> void:
|
||||||
|
pass
|
||||||
1
Scenes/Map/map_new.gd.uid
Normal file
1
Scenes/Map/map_new.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://dlnu7a7viuh8a
|
||||||
@@ -1 +1,4 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#8da5f3" d="M9 2a3 3 0 0 0-3 2.777 3 3 0 1 0-3 5.047V12a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-1l3 2V7l-3 2V7.23A3 3 0 0 0 9 2z"/></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
|
||||||
|
<path fill="#8da5f3"
|
||||||
|
d="M9 2a3 3 0 0 0-3 2.777 3 3 0 1 0-3 5.047V12a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-1l3 2V7l-3 2V7.23A3 3 0 0 0 9 2z"/>
|
||||||
|
</svg>
|
||||||
|
Before Width: | Height: | Size: 203 B After Width: | Height: | Size: 219 B |
@@ -18,6 +18,8 @@ dest_files=["res://.godot/imported/Camera2D.svg-e2316bbab95f65a3786cbb6cb8741380
|
|||||||
compress/mode=0
|
compress/mode=0
|
||||||
compress/high_quality=false
|
compress/high_quality=false
|
||||||
compress/lossy_quality=0.7
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
compress/hdr_compression=1
|
compress/hdr_compression=1
|
||||||
compress/normal_map=0
|
compress/normal_map=0
|
||||||
compress/channel_pack=0
|
compress/channel_pack=0
|
||||||
@@ -25,6 +27,10 @@ mipmaps/generate=false
|
|||||||
mipmaps/limit=-1
|
mipmaps/limit=-1
|
||||||
roughness/mode=0
|
roughness/mode=0
|
||||||
roughness/src_normal=""
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
process/fix_alpha_border=true
|
process/fix_alpha_border=true
|
||||||
process/premult_alpha=false
|
process/premult_alpha=false
|
||||||
process/normal_map_invert_y=false
|
process/normal_map_invert_y=false
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
[plugin]
|
[plugin]
|
||||||
|
|
||||||
name="smartcamera2D"
|
name = "smartcamera2D"
|
||||||
description="A plug-and-play camera controller with smooth follow, screen shake, zoom"
|
description = "A plug-and-play camera controller with smooth follow, screen shake, zoom"
|
||||||
author="Async Studio"
|
author = "Async Studio"
|
||||||
version="1.0"
|
version = "1.0"
|
||||||
script="plugin.gd"
|
script = "plugin.gd"
|
||||||
|
|||||||
BIN
game_icon.png
Normal file
BIN
game_icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.0 KiB |
40
game_icon.png.import
Normal file
40
game_icon.png.import
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dorwg1gp5fr41"
|
||||||
|
path="res://.godot/imported/game_icon.png-389b50e564fffef90defc972f4d00b12.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://game_icon.png"
|
||||||
|
dest_files=["res://.godot/imported/game_icon.png-389b50e564fffef90defc972f4d00b12.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
16
icon.svg
16
icon.svg
@@ -1 +1,15 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128"><rect width="124" height="124" x="2" y="2" fill="#363d52" stroke="#212532" stroke-width="4" rx="14"/><g fill="#fff" transform="translate(12.322 12.322)scale(.101)"><path d="M105 673v33q407 354 814 0v-33z"/><path fill="#478cbf" d="m105 673 152 14q12 1 15 14l4 67 132 10 8-61q2-11 15-15h162q13 4 15 15l8 61 132-10 4-67q3-13 15-14l152-14V427q30-39 56-81-35-59-83-108-43 20-82 47-40-37-88-64 7-51 8-102-59-28-123-42-26 43-46 89-49-7-98 0-20-46-46-89-64 14-123 42 1 51 8 102-48 27-88 64-39-27-82-47-48 49-83 108 26 42 56 81zm0 33v39c0 276 813 276 814 0v-39l-134 12-5 69q-2 10-14 13l-162 11q-12 0-16-11l-10-65H446l-10 65q-4 11-16 11l-162-11q-12-3-14-13l-5-69z"/><path d="M483 600c0 34 58 34 58 0v-86c0-34-58-34-58 0z"/><circle cx="725" cy="526" r="90"/><circle cx="299" cy="526" r="90"/></g><g fill="#414042" transform="translate(12.322 12.322)scale(.101)"><circle cx="307" cy="532" r="60"/><circle cx="717" cy="532" r="60"/></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128">
|
||||||
|
<rect width="124" height="124" x="2" y="2" fill="#363d52" stroke="#212532" stroke-width="4" rx="14"/>
|
||||||
|
<g fill="#fff" transform="translate(12.322 12.322)scale(.101)">
|
||||||
|
<path d="M105 673v33q407 354 814 0v-33z"/>
|
||||||
|
<path fill="#478cbf"
|
||||||
|
d="m105 673 152 14q12 1 15 14l4 67 132 10 8-61q2-11 15-15h162q13 4 15 15l8 61 132-10 4-67q3-13 15-14l152-14V427q30-39 56-81-35-59-83-108-43 20-82 47-40-37-88-64 7-51 8-102-59-28-123-42-26 43-46 89-49-7-98 0-20-46-46-89-64 14-123 42 1 51 8 102-48 27-88 64-39-27-82-47-48 49-83 108 26 42 56 81zm0 33v39c0 276 813 276 814 0v-39l-134 12-5 69q-2 10-14 13l-162 11q-12 0-16-11l-10-65H446l-10 65q-4 11-16 11l-162-11q-12-3-14-13l-5-69z"/>
|
||||||
|
<path d="M483 600c0 34 58 34 58 0v-86c0-34-58-34-58 0z"/>
|
||||||
|
<circle cx="725" cy="526" r="90"/>
|
||||||
|
<circle cx="299" cy="526" r="90"/>
|
||||||
|
</g>
|
||||||
|
<g fill="#414042" transform="translate(12.322 12.322)scale(.101)">
|
||||||
|
<circle cx="307" cy="532" r="60"/>
|
||||||
|
<circle cx="717" cy="532" r="60"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
Before Width: | Height: | Size: 994 B After Width: | Height: | Size: 1.1 KiB |
@@ -18,6 +18,8 @@ dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.cte
|
|||||||
compress/mode=0
|
compress/mode=0
|
||||||
compress/high_quality=false
|
compress/high_quality=false
|
||||||
compress/lossy_quality=0.7
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
compress/hdr_compression=1
|
compress/hdr_compression=1
|
||||||
compress/normal_map=0
|
compress/normal_map=0
|
||||||
compress/channel_pack=0
|
compress/channel_pack=0
|
||||||
@@ -25,6 +27,10 @@ mipmaps/generate=false
|
|||||||
mipmaps/limit=-1
|
mipmaps/limit=-1
|
||||||
roughness/mode=0
|
roughness/mode=0
|
||||||
roughness/src_normal=""
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
process/fix_alpha_border=true
|
process/fix_alpha_border=true
|
||||||
process/premult_alpha=false
|
process/premult_alpha=false
|
||||||
process/normal_map_invert_y=false
|
process/normal_map_invert_y=false
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ config_version=5
|
|||||||
config/name="TurnBasedStrategyGame"
|
config/name="TurnBasedStrategyGame"
|
||||||
run/main_scene="uid://d05j5yuhlsxp0"
|
run/main_scene="uid://d05j5yuhlsxp0"
|
||||||
config/features=PackedStringArray("4.5", "GL Compatibility")
|
config/features=PackedStringArray("4.5", "GL Compatibility")
|
||||||
config/icon="res://icon.svg"
|
config/icon="uid://dorwg1gp5fr41"
|
||||||
|
|
||||||
[autoload]
|
[autoload]
|
||||||
|
|
||||||
@@ -73,11 +73,13 @@ SetMarker={
|
|||||||
ZoomIn={
|
ZoomIn={
|
||||||
"deadzone": 0.2,
|
"deadzone": 0.2,
|
||||||
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":4,"canceled":false,"pressed":false,"double_click":false,"script":null)
|
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":4,"canceled":false,"pressed":false,"double_click":false,"script":null)
|
||||||
|
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":true,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":43,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
ZoomOut={
|
ZoomOut={
|
||||||
"deadzone": 0.2,
|
"deadzone": 0.2,
|
||||||
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":5,"canceled":false,"pressed":false,"double_click":false,"script":null)
|
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":5,"canceled":false,"pressed":false,"double_click":false,"script":null)
|
||||||
|
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":true,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":47,"key_label":0,"unicode":45,"location":0,"echo":false,"script":null)
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user