Skip to content

Commit 46a889f

Browse files
committed
Create a physics-enabled country for testing.
1 parent 326a2fb commit 46a889f

File tree

9 files changed

+133
-1
lines changed

9 files changed

+133
-1
lines changed
560 KB
Binary file not shown.

art/usa.png

Lines changed: 3 additions & 0 deletions
Loading

art/usa.png.import

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
[remap]
2+
3+
importer="texture"
4+
type="CompressedTexture2D"
5+
uid="uid://5tcwuxorjhmw"
6+
path="res://.godot/imported/usa.png-8c5d33101e14960209704a6533cd0a60.ctex"
7+
metadata={
8+
"vram_texture": false
9+
}
10+
11+
[deps]
12+
13+
source_file="res://art/usa.png"
14+
dest_files=["res://.godot/imported/usa.png-8c5d33101e14960209704a6533cd0a60.ctex"]
15+
16+
[params]
17+
18+
compress/mode=0
19+
compress/high_quality=false
20+
compress/lossy_quality=0.7
21+
compress/hdr_compression=1
22+
compress/normal_map=0
23+
compress/channel_pack=0
24+
mipmaps/generate=false
25+
mipmaps/limit=-1
26+
roughness/mode=0
27+
roughness/src_normal=""
28+
process/fix_alpha_border=true
29+
process/premult_alpha=false
30+
process/normal_map_invert_y=false
31+
process/hdr_as_srgb=false
32+
process/hdr_clamp_exposure=false
33+
process/size_limit=0
34+
detect_3d/compress_to=1

entities/countries/country.gd

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
extends Area2D
2+
class_name Country
3+
4+
func select() -> void:
5+
# todo: do something useful
6+
pass

entities/countries/country.tscn

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
[gd_scene load_steps=3 format=3 uid="uid://bww8id20reu27"]
2+
3+
[ext_resource type="Script" path="res://entities/countries/country.gd" id="1_j7m2o"]
4+
[ext_resource type="Texture2D" uid="uid://5tcwuxorjhmw" path="res://art/usa.png" id="2_1k81q"]
5+
6+
[node name="Country" type="Area2D"]
7+
script = ExtResource("1_j7m2o")
8+
9+
[node name="Sprite2D" type="Sprite2D" parent="."]
10+
texture = ExtResource("2_1k81q")

entities/countries/usa.tscn

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
[gd_scene load_steps=2 format=3 uid="uid://bsbcdmesjv6qv"]
2+
3+
[ext_resource type="PackedScene" uid="uid://bww8id20reu27" path="res://entities/countries/country.tscn" id="1_jec4m"]
4+
5+
[node name="USA" instance=ExtResource("1_jec4m")]
6+
7+
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="." index="1"]
8+
polygon = PackedVector2Array(-1177, -418, -1177, -414.7, -1180.7, -409, -1189.6, -409, -1190.6, -412, -1193.9, -412, -1204.8, -400, -1212.4, -400, -1213.4, -397, -1216, -397, -1216, -390.8, -1228.7, -376, -1242.4, -376, -1243.4, -373, -1245.3, -373, -1246.4, -370.5, -1244.1, -368.3, -1246, -365.7, -1246, -360.2, -1241.8, -356, -1237.1, -356, -1233.1, -350, -1228, -350, -1228, -344.6, -1225, -343.6, -1225, -341, -1209.8, -341, -1207, -338.2, -1207, -335.2, -1198, -334.2, -1209.4, -334, -1210.4, -331, -1222.7, -331, -1226.7, -340, -1229.8, -340, -1239.7, -331, -1248.1, -331, -1252.1, -325, -1254.2, -325, -1255.3, -322.8, -1251, -317, -1243, -317, -1246, -315.4, -1246, -311.7, -1237, -307.8, -1237, -305, -1214.8, -305, -1213.1, -308.4, -1210, -309.1, -1210, -299.6, -1207, -298.6, -1207, -295, -1207.6, -295, -1208.6, -298, -1215.2, -298, -1219.7, -289, -1222.6, -289, -1223.6, -292, -1230.1, -292, -1234.1, -286, -1236.5, -286, -1237.3, -283.2, -1234, -281, -1234, -279.8, -1239.8, -274, -1243, -274, -1243, -263.9, -1237, -259.9, -1237, -255, -1228, -248.1, -1228, -245, -1214.6, -245, -1213.6, -248, -1213, -248, -1213, -233.6, -1210, -232.6, -1210, -230.5, -1207.2, -229.7, -1204.9, -233, -1197.8, -233, -1195, -230.2, -1195, -226, -1186, -229.6, -1177, -229.2, -1192.8, -211, -1196.7, -211, -1203.7, -205, -1211.8, -205, -1221.7, -196, -1230, -196, -1234.8, -190, -1239.4, -190, -1240.4, -187, -1245.1, -187, -1249.1, -181, -1256.8, -181, -1264, -173.8, -1264, -170.6, -1261, -169.6, -1261, -167, -1253.6, -167, -1252.6, -170, -1244.9, -170, -1240.9, -176, -1232.8, -176, -1228.3, -185, -1221, -185, -1217.2, -189.9, -1214.7, -188, -1212.3, -188, -1205.3, -194, -1204.1, -194, -1200.1, -188, -1196.6, -188, -1195.6, -191, -1193.7, -191, -1192.6, -193.5, -1195.5, -196.3, -1195.2, -197, -1188.1, -197, -1180.2, -206, -1176.2, -206, -1151.2, -230, -1148.7, -230, -1147.6, -232.5, -1150, -234.8, -1148, -237.3, -1148, -240.4, -1151, -241.5, -1151, -242.2, -1142.2, -251, -1141, -251, -1141.8, -241, -1143.5, -241, -1144.3, -238.2, -1141, -236, -1141, -233.5, -1138.2, -232.7, -1135.9, -236, -1131.1, -236, -1120.2, -248, -1112.6, -248, -1111.6, -251, -1108.5, -251, -1110.5, -260, -1104.8, -260, -1099, -254.2, -1099, -251, -1090.4, -251, -1089.4, -248, -1068.8, -248, -1066, -245.2, -1066, -242, -1056.8, -242, -1054, -239.2, -1054, -236, -1047.8, -236, -1042, -230.2, -1042, -227, -1032.1, -227, -1036, -225.3, -1036, -222.2, -1024, -209.2, -1024, -204.2, -1019.8, -200, -1015, -200, -1015, -194.9, -1009, -190.9, -1009, -187.4, -998.5, -190.1, -995.7, -188, -989.9, -188, -985.9, -194, -983, -194, -983, -203.8, -990.2, -211, -995, -211, -1004, -222.7, -1004, -225.2, -1006.2, -226.3, -1007, -225.8, -1007, -230.8, -1022, -246.9, -1022, -250, -1029.4, -250, -1030.4, -247, -1033, -247, -1033, -240.8, -1035.8, -238, -1037.2, -238, -1040, -240.8, -1040, -246, -1049, -253, -1049, -255.8, -1061, -256.9, -1061, -388, -1067.2, -388, -1073, -393.8, -1073, -397, -1086.4, -397, -1087.4, -394, -1093.6, -394, -1094.6, -397, -1115.2, -397, -1118, -399.8, -1118, -403, -1131.4, -403, -1132.4, -400, -1139.2, -400, -1145, -405.8, -1145, -408.8, -1157, -409.9, -1157, -412, -1163, -412, -1163, -414.4, -1166, -415.5, -1166, -418)
9+
10+
[node name="CollisionPolygon2D2" type="CollisionPolygon2D" parent="." index="2"]
11+
polygon = PackedVector2Array(-1246, -257.4, -1246, -253, -1248.5, -253, -1249.3, -250.2, -1246, -248, -1246, -245, -1238.6, -245, -1237.6, -248, -1235.5, -248, -1234.7, -251)
12+
13+
[node name="CollisionPolygon2D3" type="CollisionPolygon2D" parent="." index="3"]
14+
polygon = PackedVector2Array(-1147, -233, -1147, -229, -1158.7, -220, -1161.2, -220, -1162.3, -217.8, -1158, -212, -1143.2, -212, -1139, -216.2, -1139, -223.6, -1136, -224.6, -1136, -228.3)
15+
16+
[node name="CollisionPolygon2D4" type="CollisionPolygon2D" parent="." index="4"]
17+
polygon = PackedVector2Array(-1195, -193, -1195, -188, -1190, -188, -1190, -193)
18+
19+
[node name="CollisionPolygon2D5" type="CollisionPolygon2D" parent="." index="5"]
20+
polygon = PackedVector2Array(-940, -136, -940, -132, -937.4, -130, -945.4, -130, -946.4, -127, -950, -127, -946.4, -118, -946.9, -91, -949, -91, -949, -74.6, -946, -73.6, -946, -67.5, -949, -66.4, -949, -56.9, -943, -52.9, -943, -45.1, -931, -35.1, -931, -27.1, -919, -17.1, -919, -14, -912.7, -14, -905.7, -8, -897.8, -8, -895, -5.20001, -895, -2, -877, -2, -877, 1, -864.8, 1, -862, 3.79999, -862, 7, -830.6, 7, -829.6, 4, -822.7, 4, -802, 21.8, -802, 25, -795, 25, -791.2, 20.1, -788.7, 22, -783.9, 22, -766, 42.7, -766, 46, -756.2, 46, -752, 41.8, -752, 28, -746.6, 28, -745.6, 25, -741, 25, -736.2, 19, -712.1, 19, -708.1, 25, -702.2, 25, -689.1, 13, -675.8, 13, -673, 15.8, -673, 19, -665.6, 19, -664.6, 16, -658, 16, -655, 20, -655, 32.9, -645.8, 41, -642.4, 49, -636.2, 49, -632, 44.8, -632, 32.6, -635, 31.5, -635, 20.9, -641, 16.9, -641, 6.90002, -622.1, -11, -618.2, -11, -605.1, -23, -602.7, -23, -601.6, -25.5, -604, -27.8, -602, -30.3, -602, -33.4, -605, -34.5, -605, -38, -604.4, -38, -603.4, -35, -599.9, -35, -593, -45.4, -593, -49.6, -590, -50.6, -590, -59.1, -583.1, -65, -575.6, -65, -574.6, -68, -560, -68, -560, -75.1, -566, -79.1, -566, -83, -561.2, -83, -551.3, -92, -542.6, -92, -541.6, -95, -537.8, -95, -548.7, -118, -560.8, -118, -565, -113.8, -565, -108.9, -574.8, -100.2, -584, -100.9, -584, -103, -594.4, -103, -595.4, -100, -602.8, -100, -607, -95.8, -607, -88, -611, -85, -624, -85, -628.8, -79, -633.4, -79, -634.4, -76, -642.4, -76, -643.4, -73, -653, -73, -653, -76.9, -647, -80.9, -647, -87.4, -650, -88.5, -650, -91.6, -657.2, -89.8, -655.9, -92, -653, -92, -653, -99.1, -659, -103.1, -659, -106, -667.9, -106, -667.6, -107, -665.5, -107, -664.7, -109.8, -668, -112.1, -668, -115, -675.4, -115, -676.4, -112, -683.2, -112, -689, -117.8, -689, -120.2, -691.2, -121.3, -699.7, -115, -710, -115, -710, -116, -704.9, -116, -698, -126.4, -698, -130, -719, -130, -719, -132.7, -725, -133.8, -725, -136)
21+
22+
[node name="CollisionPolygon2D6" type="CollisionPolygon2D" parent="." index="6"]
23+
polygon = PackedVector2Array(-1192.5, 64.6, -1195, 65.7, -1195, 67.5, -1198, 68.6, -1198, 72.4, -1195, 73.4, -1195, 75.5, -1192.2, 76.3, -1189.9, 73, -1187.7, 73, -1186.6, 70.5)
24+
25+
[node name="CollisionPolygon2D7" type="CollisionPolygon2D" parent="." index="7"]
26+
polygon = PackedVector2Array(-1183.5, 67.6, -1186, 68.7, -1186, 70.5, -1189, 71.6, -1189, 75.4, -1186, 76.4, -1186, 78.5, -1183.2, 79.3, -1180.9, 76, -1178.7, 76, -1177.6, 73.5)
27+
28+
[node name="CollisionPolygon2D8" type="CollisionPolygon2D" parent="." index="8"]
29+
polygon = PackedVector2Array(-1174.5, 70.6, -1177, 71.7, -1177, 73.5, -1180, 74.6, -1180, 81.4, -1177, 82.4, -1177, 85, -1169.6, 85, -1168.6, 82, -1166.7, 82, -1165.6, 79.5)
30+
31+
[node name="CollisionPolygon2D9" type="CollisionPolygon2D" parent="." index="9"]
32+
polygon = PackedVector2Array(-1168, 79, -1168, 82.5, -1171, 83.6, -1171, 90.4, -1168, 91.4, -1168, 94, -1160.6, 94, -1159.6, 91, -1157, 91, -1157, 83.7)
33+
34+
[node name="CollisionPolygon2D10" type="CollisionPolygon2D" parent="." index="10"]
35+
polygon = PackedVector2Array(952.5, 82.6, 950, 83.7, 950, 85.5, 947, 86.6, 947, 90.4, 950, 91.4, 950, 93.5, 952.8, 94.3, 955.1, 91, 957.3, 91, 958.4, 88.5)
36+
37+
[node name="CollisionPolygon2D11" type="CollisionPolygon2D" parent="." index="11"]
38+
polygon = PackedVector2Array(-541, 84.6, -541, 89, -543.5, 89, -544.3, 91.8, -541, 94, -541, 97, -533.6, 97, -532.6, 94, -530.5, 94, -529.7, 91)
39+
40+
[node name="CollisionPolygon2D12" type="CollisionPolygon2D" parent="." index="12"]
41+
polygon = PackedVector2Array(-523.5, 85.6, -526, 86.7, -526, 88.5, -529, 89.6, -529, 93.4, -526, 94.4, -526, 96.5, -523.2, 97.3, -520.9, 94, -518.7, 94, -517.6, 91.5)
42+
43+
[node name="CollisionPolygon2D13" type="CollisionPolygon2D" parent="." index="13"]
44+
polygon = PackedVector2Array(-1159.5, 91.6, -1162, 92.7, -1162, 94.5, -1165, 95.6, -1165, 99.4, -1162, 100.4, -1162, 102.5, -1159.2, 103.3, -1156.9, 100, -1154.7, 100, -1153.6, 97.5)
45+
46+
[node name="CollisionPolygon2D14" type="CollisionPolygon2D" parent="." index="14"]
47+
polygon = PackedVector2Array(952.5, 97.6, 950, 98.7, 950, 100.5, 947, 101.6, 947, 105.4, 950, 106.4, 950, 108.5, 952.8, 109.3, 955.1, 106, 957.3, 106, 958.4, 103.5)
48+
49+
[node name="CollisionPolygon2D15" type="CollisionPolygon2D" parent="." index="15"]
50+
polygon = PackedVector2Array(949.5, 106.6, 947, 107.7, 947, 109.5, 944, 110.6, 944, 114.4, 947, 115.4, 947, 117.5, 949.8, 118.3, 952.1, 115, 954.3, 115, 955.4, 112.5)
51+
52+
[node name="CollisionPolygon2D16" type="CollisionPolygon2D" parent="." index="16"]
53+
polygon = PackedVector2Array(916.5, 136.6, 914, 137.7, 914, 139.5, 911, 140.6, 911, 144.4, 914, 145.4, 914, 147.5, 916.8, 148.3, 919.1, 145, 921.3, 145, 922.4, 142.5)

project.godot

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,3 +57,8 @@ open_menu={
5757
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
5858
]
5959
}
60+
select={
61+
"deadzone": 0.5,
62+
"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":1,"canceled":false,"pressed":false,"double_click":false,"script":null)
63+
]
64+
}

scenes/common/player_controller.gd

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,19 @@ func _ready():
1616
Input.set_custom_mouse_cursor(arrow_icon, Input.CURSOR_ARROW)
1717

1818
func _unhandled_input(event: InputEvent) -> void:
19+
if event.is_action_pressed("select"):
20+
var params = PhysicsPointQueryParameters2D.new()
21+
params.position = get_global_mouse_position()
22+
params.collide_with_areas = true
23+
params.collide_with_bodies = false
24+
var collisions = get_world_2d().direct_space_state.intersect_point(params, 32)
25+
if len(collisions) > 0:
26+
for collision in collisions:
27+
var country := collision.collider as Country
28+
if country:
29+
country.select()
30+
return
31+
1932
if event.is_action_pressed("open_menu") and !menu_instance:
2033
menu_instance = menu_scene.instantiate()
2134
hud.add_child(menu_instance)

scenes/worldmap/world_map.tscn

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,18 @@
1-
[gd_scene load_steps=2 format=3 uid="uid://xlfbl7fowoic"]
1+
[gd_scene load_steps=3 format=3 uid="uid://xlfbl7fowoic"]
22

33
[ext_resource type="Texture2D" uid="uid://xrpjeff551cv" path="res://art/PixelWorldMap_All_Countries_3x_Green.png" id="1_g7ewq"]
4+
[ext_resource type="PackedScene" uid="uid://bsbcdmesjv6qv" path="res://entities/countries/usa.tscn" id="2_srtnd"]
45

56
[node name="WorldMap" type="Node2D"]
67

78
[node name="WorldMapImage" type="TextureRect" parent="."]
89
offset_right = 40.0
910
offset_bottom = 40.0
1011
texture = ExtResource("1_g7ewq")
12+
13+
[node name="Countries" type="Node" parent="."]
14+
15+
[node name="USA" parent="Countries" instance=ExtResource("2_srtnd")]
16+
position = Vector2(1281, 810)
17+
18+
[connection signal="mouse_entered" from="Countries/USA" to="Countries/USA" method="_print_test"]

0 commit comments

Comments
 (0)