Преглед изворни кода

:construction: added first survivor slots

Felix Bytow пре 10 месеци
родитељ
комит
c21663c53e

+ 23 - 0
assets/scenes/survivor_spot.gd

@@ -0,0 +1,23 @@
+extends Area2D
+
+const STATES: Array[CompressedTexture2D] = [
+	preload("res://assets/textures/survivor_slot.png"),
+	preload("res://assets/textures/survivor_slot_highlighted.png"),
+]
+
+@onready var sprite: Sprite2D = $Sprite2D
+
+var highlighted: bool = false:
+	set(new_value):
+		highlighted = new_value
+		if new_value:
+			sprite.texture = STATES[1]
+		else:
+			sprite.texture = STATES[0]
+
+
+func _on_mouse_entered():
+	highlighted = true
+
+func _on_mouse_exited():
+	highlighted = false

+ 22 - 0
assets/scenes/survivor_spot.tscn

@@ -0,0 +1,22 @@
+[gd_scene load_steps=4 format=3 uid="uid://cbmr1tbvbheda"]
+
+[ext_resource type="Script" path="res://assets/scenes/survivor_spot.gd" id="1_3saq6"]
+[ext_resource type="Texture2D" uid="uid://dvjpp1eoxa2oh" path="res://assets/textures/survivor_slot.png" id="1_su5a8"]
+
+[sub_resource type="CircleShape2D" id="CircleShape2D_jg6bj"]
+radius = 43.0
+
+[node name="SurvivorSpot" type="Area2D" groups=["slot"]]
+scale = Vector2(0.5, 0.5)
+collision_layer = 64
+collision_mask = 128
+script = ExtResource("1_3saq6")
+
+[node name="Sprite2D" type="Sprite2D" parent="."]
+texture = ExtResource("1_su5a8")
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
+shape = SubResource("CircleShape2D_jg6bj")
+
+[connection signal="mouse_entered" from="." to="." method="_on_mouse_entered"]
+[connection signal="mouse_exited" from="." to="." method="_on_mouse_exited"]

BIN
assets/textures/survivor_slot.png


+ 34 - 0
assets/textures/survivor_slot.png.import

@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dvjpp1eoxa2oh"
+path="res://.godot/imported/survivor_slot.png-79c55d33633a1f3506aee29e6dda8716.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/textures/survivor_slot.png"
+dest_files=["res://.godot/imported/survivor_slot.png-79c55d33633a1f3506aee29e6dda8716.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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

BIN
assets/textures/survivor_slot_highlighted.png


+ 34 - 0
assets/textures/survivor_slot_highlighted.png.import

@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d2c32x1w5k15b"
+path="res://.godot/imported/survivor_slot_highlighted.png-2a9b9dbc3ac016887314630e45501612.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/textures/survivor_slot_highlighted.png"
+dest_files=["res://.godot/imported/survivor_slot_highlighted.png-2a9b9dbc3ac016887314630e45501612.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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

+ 3 - 0
project.godot

@@ -45,6 +45,9 @@ toggle_fullscreen={
 2d_physics/layer_3="foes"
 2d_physics/layer_4="foe-weapons"
 2d_physics/layer_5="player-weapons"
+2d_physics/layer_6="vision"
+2d_physics/layer_7="drop"
+2d_physics/layer_8="survivors"
 
 [rendering]
 

+ 29 - 1
screens/game.tscn

@@ -1,10 +1,11 @@
-[gd_scene load_steps=8 format=3 uid="uid://c483fkssc36s"]
+[gd_scene load_steps=9 format=3 uid="uid://c483fkssc36s"]
 
 [ext_resource type="Script" path="res://screens/game.gd" id="1_4dd0q"]
 [ext_resource type="Texture2D" uid="uid://ceelbowk0q0rl" path="res://assets/textures/room/Light_Overlay.png" id="2_px5xi"]
 [ext_resource type="PackedScene" uid="uid://odwutyui6q5g" path="res://assets/scenes/health_bar.tscn" id="2_x77og"]
 [ext_resource type="PackedScene" uid="uid://c27ceu18q8eyr" path="res://assets/scenes/room.tscn" id="3_hm7l7"]
 [ext_resource type="PackedScene" uid="uid://ce8cu4romympf" path="res://assets/scenes/transition.tscn" id="4_yc6k4"]
+[ext_resource type="PackedScene" uid="uid://cbmr1tbvbheda" path="res://assets/scenes/survivor_spot.tscn" id="6_c1csp"]
 
 [sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_yhw6y"]
 blend_mode = 1
@@ -54,5 +55,32 @@ position = Vector2(1234, 424)
 [node name="EnemySpawn_3" type="Marker2D" parent="." groups=["spawner"]]
 position = Vector2(641, 207)
 
+[node name="SurvivorSpot" parent="." instance=ExtResource("6_c1csp")]
+position = Vector2(497, 451)
+
+[node name="SurvivorSpot7" parent="." instance=ExtResource("6_c1csp")]
+position = Vector2(575, 451)
+
+[node name="SurvivorSpot8" parent="." instance=ExtResource("6_c1csp")]
+position = Vector2(637, 451)
+
+[node name="SurvivorSpot9" parent="." instance=ExtResource("6_c1csp")]
+position = Vector2(701, 451)
+
+[node name="SurvivorSpot2" parent="." instance=ExtResource("6_c1csp")]
+position = Vector2(497, 511)
+
+[node name="SurvivorSpot3" parent="." instance=ExtResource("6_c1csp")]
+position = Vector2(497, 570)
+
+[node name="SurvivorSpot4" parent="." instance=ExtResource("6_c1csp")]
+position = Vector2(778, 451)
+
+[node name="SurvivorSpot5" parent="." instance=ExtResource("6_c1csp")]
+position = Vector2(778, 511)
+
+[node name="SurvivorSpot6" parent="." instance=ExtResource("6_c1csp")]
+position = Vector2(778, 570)
+
 [connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]
 [connection signal="area_entered" from="Base" to="." method="_on_base_area_entered"]