diff --git a/Scenes/GameScene/game_scene.tscn b/Scenes/GameScene/game_scene.tscn index 9b3a39f..26603b8 100644 --- a/Scenes/GameScene/game_scene.tscn +++ b/Scenes/GameScene/game_scene.tscn @@ -11,6 +11,7 @@ [ext_resource type="Texture2D" uid="uid://d2sp6q0reih0" path="res://Ninja Adventure - Asset Pack/Actor/Characters/NinjaGreen/Faceset.png" id="7_6qy3m"] [ext_resource type="Script" uid="uid://decx4kt8ftrb5" path="res://Scenes/LockedDoor/locked_door.gd" id="7_nr542"] [ext_resource type="PackedScene" uid="uid://onpen57mc6i8" path="res://Scenes/PuzzleButton/puzzle_button.tscn" id="7_ohrk8"] +[ext_resource type="PackedScene" uid="uid://bdu180bpjrn5h" path="res://Scenes/Switch/switch.tscn" id="8_njm7v"] [ext_resource type="PackedScene" uid="uid://dsb83tlcapw8l" path="res://Scenes/NPC/npc.tscn" id="10_g3lhp"] [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_04h35"] @@ -772,6 +773,8 @@ texture = ExtResource("2_04h35") 0:2/size_in_atlas = Vector2i(4, 3) 0:2/0 = 0 0:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-32, 8, -32, 20, 32, 20, 32, 8, 16, 8, 16, 0, 16, -4, 12, -8, 12, -12, -12, -12, -12, -8, -16, -4, -16, 0, -16, 8) +18:9/0 = 0 +18:9/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_12ovb"] texture = ExtResource("3_oi8ly") @@ -802,7 +805,7 @@ position = Vector2(183, -86) [node name="ObstacleLayer" type="TileMapLayer" parent="." unique_id=703817951] y_sort_enabled = true -tile_map_data = PackedByteArray("AAAIAP7/AAAAAAIAAAAKAP3/AAAAAAIAAAAMAP7/AAAAAAIAAAAIAP//AAAAAAIAAAALAAAAAAAAAAIAAAAIAAEAAAAAAAIAAAALAAIAAAAAAAIAAAACAAQAAAAAAAIAAAAFAAMAAAAAAAIAAAAFAAUAAAAAAAIAAAAHAAMAAAAAAAIAAAAIAAQAAAAAAAIAAAAJAAMAAAAAAAIAAAALAAQAAAAAAAIAAAD///f/AAAAAAIAAAD///j/AAAAAAIAAAD///n/AAAAAAIAAAACAPf/AAAAAAIAAAACAPj/AAAAAAIAAAACAPn/AAAAAAIAAAAAAPr/AAAAAAIAAAAEAPr/AAAAAAIAAAD8//f/AAAAAAIAAAD5//f/AAAAAAIAAAD2//f/AAAAAAIAAADz//f/AAAAAAIAAAD1//b/AAAAAAIAAAD3//b/AAAAAAIAAAD5//b/AAAAAAIAAAD8//b/AAAAAAIAAAABAPb/AAAAAAIAAAAEAPX/AAAAAAIAAAADAPb/AAAAAAIAAAAHAPX/AAAAAAIAAAAKAPX/AAAAAAIAAAANAPb/AAAAAAIAAAANAPf/AAAAAAIAAAANAPj/AAAAAAIAAAANAPz/AAAAAAIAAAANAPv/AAAAAAIAAAAIAPn/AQAAAAcAAAA=") +tile_map_data = PackedByteArray("AAAIAP7/AAAAAAIAAAAKAP3/AAAAAAIAAAAMAP7/AAAAAAIAAAAIAP//AAAAAAIAAAALAAAAAAAAAAIAAAAIAAEAAAAAAAIAAAALAAIAAAAAAAIAAAACAAQAAAAAAAIAAAAFAAMAAAAAAAIAAAAFAAUAAAAAAAIAAAAHAAMAAAAAAAIAAAAIAAQAAAAAAAIAAAAJAAMAAAAAAAIAAAALAAQAAAAAAAIAAAD///f/AAAAAAIAAAD///j/AAAAAAIAAAD///n/AAAAAAIAAAACAPf/AAAAAAIAAAACAPj/AAAAAAIAAAACAPn/AAAAAAIAAAAAAPr/AAAAAAIAAAAEAPr/AAAAAAIAAAD8//f/AAAAAAIAAAD5//f/AAAAAAIAAAD2//f/AAAAAAIAAADz//f/AAAAAAIAAAD1//b/AAAAAAIAAAD3//b/AAAAAAIAAAD5//b/AAAAAAIAAAD8//b/AAAAAAIAAAABAPb/AAAAAAIAAAAEAPX/AAAAAAIAAAADAPb/AAAAAAIAAAAHAPX/AAAAAAIAAAAKAPX/AAAAAAIAAAANAPb/AAAAAAIAAAANAPf/AAAAAAIAAAANAPj/AAAAAAIAAAANAPz/AAAAAAIAAAANAPv/AAAAAAIAAAAIAPn/AQAAAAcAAAAMAPr/AAASAAkAAAAMAAYAAAASAAkAAAAMAAcAAAASAAkAAAAMAAgAAAASAAkAAAAMAAkAAAASAAkAAAAMAAoAAAASAAkAAAALAAoAAAASAAkAAAAKAAoAAAASAAkAAAAJAAoAAAASAAkAAAAIAAoAAAASAAkAAAAHAAoAAAASAAkAAAAGAAoAAAASAAkAAAAFAAoAAAASAAkAAAAEAAoAAAASAAkAAAADAAoAAAASAAkAAAACAAoAAAASAAkAAAABAAoAAAASAAkAAAAAAAoAAAASAAkAAAD//woAAAASAAkAAAD+/woAAAASAAkAAAD9/woAAAASAAkAAAD8/woAAAASAAkAAAD7/woAAAASAAkAAAD6/woAAAASAAkAAAD5/woAAAASAAkAAAD4/woAAAASAAkAAAD3/woAAAASAAkAAAD2/woAAAASAAkAAAD1/woAAAASAAkAAAD0/woAAAASAAkAAADz/woAAAASAAkAAADz//n/AAASAAkAAADz//r/AAASAAkAAADz//v/AAASAAkAAADz//z/AAASAAkAAADz//3/AAASAAkAAADz//7/AAASAAkAAADz////AAASAAkAAADz/wAAAAASAAkAAADz/wEAAAASAAkAAADz/wIAAAASAAkAAADz/wMAAAASAAkAAADz/wQAAAASAAkAAADz/wUAAAASAAkAAADz/wYAAAASAAkAAADz/wcAAAASAAkAAADz/wgAAAASAAkAAADz/wkAAAASAAkAAAA=") tile_set = SubResource("TileSet_ilnae") [node name="NPC" parent="ObstacleLayer" unique_id=687608910 groups=["interactable"] instance=ExtResource("10_g3lhp")] @@ -825,6 +828,9 @@ text = "Did you know that there's a cave in the east?" [node name="NameLabel" parent="ObstacleLayer/NPC2/CanvasLayer" parent_id_path=PackedInt32Array(1631815121, 1510478417) index="2" unique_id=1649543931] text = "Green Ninja" +[node name="Switch" parent="ObstacleLayer" unique_id=78052327 instance=ExtResource("8_njm7v")] +position = Vector2(-8, -26) + [node name="SceneEntrance" parent="." unique_id=1734357035 instance=ExtResource("5_oi8ly")] position = Vector2(137, -107) diff --git a/Scenes/Switch/switch.gd b/Scenes/Switch/switch.gd new file mode 100644 index 0000000..690932c --- /dev/null +++ b/Scenes/Switch/switch.gd @@ -0,0 +1,21 @@ +extends StaticBody2D + +signal switch_activated +signal switch_deactivated + +var is_activated: bool = false +var can_interact: bool = false + +func _ready() -> void: + $AnimatedSprite2D.play("deactivated") + +func _process(delta: float) -> void: + if Input.is_action_just_pressed("Interact") and can_interact: + if !is_activated: + $AnimatedSprite2D.play("activated") + is_activated = true + switch_activated.emit() + else: + $AnimatedSprite2D.play("deactivated") + is_activated = false + switch_deactivated.emit() diff --git a/Scenes/Switch/switch.gd.uid b/Scenes/Switch/switch.gd.uid new file mode 100644 index 0000000..ab06635 --- /dev/null +++ b/Scenes/Switch/switch.gd.uid @@ -0,0 +1 @@ +uid://t4xp5st31yvj diff --git a/Scenes/Switch/switch.tscn b/Scenes/Switch/switch.tscn new file mode 100644 index 0000000..d5c9c1c --- /dev/null +++ b/Scenes/Switch/switch.tscn @@ -0,0 +1,45 @@ +[gd_scene format=3 uid="uid://bdu180bpjrn5h"] + +[ext_resource type="Script" uid="uid://t4xp5st31yvj" path="res://Scenes/Switch/switch.gd" id="1_c5yrt"] +[ext_resource type="Texture2D" uid="uid://c0v63n2kjtvvu" path="res://Ninja Adventure - Asset Pack/Backgrounds/Tilesets/TilesetDungeon.png" id="1_g65jv"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_3rdvi"] +size = Vector2(16, 8) + +[sub_resource type="AtlasTexture" id="AtlasTexture_c5yrt"] +atlas = ExtResource("1_g65jv") +region = Rect2(64, 32, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_sln40"] +atlas = ExtResource("1_g65jv") +region = Rect2(48, 32, 16, 16) + +[sub_resource type="SpriteFrames" id="SpriteFrames_chgu2"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_c5yrt") +}], +"loop": 1, +"name": &"activated", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_sln40") +}], +"loop": 1, +"name": &"deactivated", +"speed": 5.0 +}] + +[node name="Switch" type="StaticBody2D" unique_id=78052327 groups=["interactable"]] +script = ExtResource("1_c5yrt") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1474874931] +position = Vector2(0, 4) +shape = SubResource("RectangleShape2D_3rdvi") + +[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="." unique_id=1373433038] +sprite_frames = SubResource("SpriteFrames_chgu2") +animation = &"activated"