Directional computers

This commit is contained in:
Marco 2025-03-10 17:33:43 +01:00
commit 7ec45b56b1
13 changed files with 164 additions and 46 deletions

View file

@ -1,7 +1,8 @@
[gd_scene load_steps=8 format=3 uid="uid://doqmmuuuprl3s"]
[gd_scene load_steps=10 format=3 uid="uid://doqmmuuuprl3s"]
[ext_resource type="Script" uid="uid://duhodrhcnoslh" path="res://Scripts/Interactables/Switch.cs" id="1_62csb"]
[ext_resource type="Script" uid="uid://ck54glo7xbuq8" path="res://Scripts/Actors/Computer.cs" id="1_6kf2l"]
[ext_resource type="Texture2D" uid="uid://dfjdl48v8kt2l" path="res://Sprites/Props/Computer2.png" id="2_tlxq6"]
[ext_resource type="Script" uid="uid://rlevd6krqglv" path="res://Scripts/Components/SpriteAnimationStartupRotator.cs" id="3_l1hw5"]
[sub_resource type="CircleShape2D" id="CircleShape2D_wv7xi"]
@ -17,6 +18,10 @@ region = Rect2(16, 0, 16, 16)
atlas = ExtResource("2_tlxq6")
region = Rect2(32, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_6kf2l"]
atlas = ExtResource("2_tlxq6")
region = Rect2(48, 0, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_7837l"]
animations = [{
"frames": [{
@ -24,7 +29,7 @@ animations = [{
"texture": SubResource("AtlasTexture_6yfpu")
}],
"loop": true,
"name": &"default",
"name": &"Down",
"speed": 5.0
}, {
"frames": [{
@ -32,7 +37,7 @@ animations = [{
"texture": SubResource("AtlasTexture_jl6l5")
}],
"loop": true,
"name": &"left",
"name": &"Left",
"speed": 5.0
}, {
"frames": [{
@ -40,17 +45,27 @@ animations = [{
"texture": SubResource("AtlasTexture_jxgtm")
}],
"loop": true,
"name": &"right",
"name": &"Right",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_6kf2l")
}],
"loop": true,
"name": &"Up",
"speed": 5.0
}]
[node name="Computer" type="Area2D" groups=["Interactable"]]
collision_layer = 4
collision_mask = 2
script = ExtResource("1_62csb")
script = ExtResource("1_6kf2l")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("CircleShape2D_wv7xi")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
sprite_frames = SubResource("SpriteFrames_7837l")
animation = &"Down"
script = ExtResource("3_l1hw5")

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=27 format=4 uid="uid://bx31ou6tw3kd1"]
[gd_scene load_steps=29 format=4 uid="uid://bx31ou6tw3kd1"]
[ext_resource type="Script" uid="uid://doxmbokehw8ci" path="res://Scripts/GameManager.cs" id="1_jpse7"]
[ext_resource type="PackedScene" uid="uid://c4pr2707hbeph" path="res://Scenes/Actors/fsm_player.tscn" id="2_8erab"]
@ -19,6 +19,8 @@
[ext_resource type="Texture2D" uid="uid://bbdrws471xslc" path="res://Sprites/Actors/Rumia-world.png" id="10_6rpbc"]
[ext_resource type="PackedScene" uid="uid://bjb1xv0ny1qim" path="res://Scenes/Props/Chair.tscn" id="14_2ugqu"]
[ext_resource type="PackedScene" uid="uid://cyy5i38sf7fid" path="res://Scenes/Props/Locker.tscn" id="14_6rpbc"]
[ext_resource type="PackedScene" uid="uid://doqmmuuuprl3s" path="res://Scenes/Interactable/Computer.tscn" id="15_ce68b"]
[ext_resource type="PackedScene" uid="uid://bc64lr3vlwchq" path="res://Scenes/Door_Vertical.tscn" id="16_cjue1"]
[ext_resource type="PackedScene" uid="uid://cke02i4e3bxld" path="res://Scenes/Props/MainFrame2.tscn" id="17_u3bx7"]
[ext_resource type="PackedScene" uid="uid://cqrkisw6jg24w" path="res://Scenes/Props/MainFrame1.tscn" id="18_27jx1"]
[ext_resource type="PackedScene" uid="uid://b3tyacxxw88lx" path="res://Scenes/Utils/StreamPlayerWithName.tscn" id="19_8erab"]
@ -65,7 +67,7 @@ tile_set = ExtResource("2_m7mag")
metadata/_edit_lock_ = true
[node name="Props" type="TileMapLayer" parent="Tilemaps"]
tile_map_data = PackedByteArray("AAAEACAAAAAGAAAAAAAFACAAAAAHAAAAAAAGACAAAAAGAAAAAAAHACAAAAAHAAAAAAAAACAAAAAGAAAAAAABACAAAAAHAAAAAAD+/yAAAAAGAAAAAAD//yAAAAAHAAAAAAD+/yMAAAAIAAAAAAD+/yQAAAAIAAEAAAAHACMAAAAIAAAAAAAHACQAAAAIAAEAAAAbABcAAAAIAAYAAAAbABgAAAAIAAYAAAAbABkAAAAIAAYAAAAbABoAAAAIAAYAAAAcABsAAAAHAAUAAAAdABsAAAAHAAUAAAAeABsAAAAHAAUAAAAfABsAAAAHAAUAAAAgABcAAAAGAAYAAAAgABgAAAAGAAYAAAAgABkAAAAGAAYAAAAgABoAAAAGAAYAAAAcABYAAAAHAAcAAAAdABYAAAAHAAcAAAAeABYAAAAHAAcAAAAfABYAAAAHAAcAAAAcABoAAAALAAQAAAAfABoAAAALAAQAAAAhAB0AAQAAAAAACwAhAB4AAQAAAAAACwAhAB8AAQAAAAAACwAaAB0AAQAAAAAACwAaAB4AAQAAAAAACwAaAB8AAQAAAAAACwAYAB0AAQAAAAAACwAYAB4AAQAAAAAACwAYAB8AAQAAAAAACwAjAB0AAQAAAAAACwAjAB4AAQAAAAAACwAjAB8AAQAAAAAACwAjACEAAQAAAAAAAgAkACEAAQAAAAAAAgAkABgAAQAAAAAAAgAkABkAAQAAAAAAAgAXABQAAQAAAAAAAgAXABUAAQAAAAAAAgAXACEAAQAAAAAADQAYACEAAQAAAAAADQAXACAAAQAAAAAADQAYACAAAQAAAAAAEAAZACEAAQAAAAAAEAAZACAAAQAAAAAAEAAkACAAAQAAAAAAEAAjACAAAQAAAAAAEAAiACAAAQAAAAAAEAAhACAAAQAAAAAAEAAhACEAAQAAAAAAEAAiACEAAQAAAAAAEAAfACEAAQAAAAAAEAAgACEAAQAAAAAAEAAgACAAAQAAAAAAEAAeACEAAQAAAAAADAAcACEAAQAAAAAADAAdACEAAQAAAAAADAAQABgAAQAAAAAADAARABgAAQAAAAAADAABABgAAQAAAAAADAAHACEAAQAAAAAADAAHACIAAQAAAAAADAAJACAAAQAAAAAADAAKACAAAQAAAAAADAAJACEAAQAAAAAADAAJACIAAQAAAAAADAADABEAAAAIAAAAAAADABIAAAAIAAEAAAD6/xAAAAAGAAAAAAD7/xAAAAAHAAAAAAA=")
tile_map_data = PackedByteArray("AAAEACAAAAAGAAAAAAAFACAAAAAHAAAAAAAGACAAAAAGAAAAAAAHACAAAAAHAAAAAAAAACAAAAAGAAAAAAABACAAAAAHAAAAAAD+/yAAAAAGAAAAAAD//yAAAAAHAAAAAAD+/yMAAAAIAAAAAAD+/yQAAAAIAAEAAAAHACMAAAAIAAAAAAAHACQAAAAIAAEAAAAbABcAAAAIAAYAAAAbABgAAAAIAAYAAAAbABkAAAAIAAYAAAAbABoAAAAIAAYAAAAcABsAAAAHAAUAAAAdABsAAAAHAAUAAAAeABsAAAAHAAUAAAAfABsAAAAHAAUAAAAgABcAAAAGAAYAAAAgABgAAAAGAAYAAAAgABkAAAAGAAYAAAAgABoAAAAGAAYAAAAcABYAAAAHAAcAAAAdABYAAAAHAAcAAAAeABYAAAAHAAcAAAAfABYAAAAHAAcAAAAcABoAAAALAAQAAAAfABoAAAALAAQAAAAhAB0AAQAAAAAACwAhAB4AAQAAAAAACwAhAB8AAQAAAAAACwAaAB0AAQAAAAAACwAaAB4AAQAAAAAACwAaAB8AAQAAAAAACwAYAB0AAQAAAAAACwAYAB4AAQAAAAAACwAYAB8AAQAAAAAACwAjAB0AAQAAAAAACwAjAB4AAQAAAAAACwAjAB8AAQAAAAAACwAjACEAAQAAAAAAAgAkACEAAQAAAAAAAgAkABgAAQAAAAAAAgAkABkAAQAAAAAAAgAXABQAAQAAAAAAAgAXABUAAQAAAAAAAgAXACEAAQAAAAAADQAYACEAAQAAAAAADQAXACAAAQAAAAAADQAYACAAAQAAAAAAEAAZACEAAQAAAAAAEAAZACAAAQAAAAAAEAAkACAAAQAAAAAAEAAjACAAAQAAAAAAEAAiACAAAQAAAAAAEAAhACAAAQAAAAAAEAAhACEAAQAAAAAAEAAiACEAAQAAAAAAEAAfACEAAQAAAAAAEAAgACEAAQAAAAAAEAAgACAAAQAAAAAAEAAeACEAAQAAAAAADAAcACEAAQAAAAAADAAdACEAAQAAAAAADAAQABgAAQAAAAAADAARABgAAQAAAAAADAABABgAAQAAAAAADAAHACEAAQAAAAAADAAHACIAAQAAAAAADAAJACAAAQAAAAAADAAKACAAAQAAAAAADAAJACEAAQAAAAAADAAJACIAAQAAAAAADAADABEAAAAIAAAAAAADABIAAAAIAAEAAAD6/xAAAAAGAAAAAAD7/xAAAAAHAAAAAAAEAB4AAAAJAAwAAAAEAB8AAAAJAA0AAAD//xcAAAAJAAwAAAD//xgAAAAJAA0AAAASABgAAAAJAAwAAAASABkAAAAJAA0AAAAPAB4AAAAJAAwAAAAPAB8AAAAJAA0AAAABAB4AAAAKAAwAAAABAB8AAAAKAA0AAAAAABcAAAAKAAwAAAAAABgAAAAKAA0AAAABABYAAAAKAAwAAAABABcAAAAKAA0AAAAMAB4AAAAKAAwAAAAMAB8AAAAKAA0AAAD8/xYAAAAKAAwAAAD8/xcAAAAKAA0AAAAIABYAAAAJAAwAAAAIABcAAAAJAA0AAAAFABYAAAAKAAwAAAAFABcAAAAKAA0AAAAEABYAAAAJAAwAAAAEABcAAAAJAA0AAAATABgAAAALAAQAAAAVABgAAAALAAQAAAAUABgAAAAKAAQAAAD8/w8AAQAAAAAAAgD8/xAAAQAAAAAAAgD5/w8AAQAAAAAADAD4/w8AAQAAAAAADAD5/xAAAQAAAAAADAD9/w8AAQAAAAAADAD+/w8AAQAAAAAADAD4/xMAAQAAAAAADAD4/xIAAQAAAAAADAA=")
tile_set = ExtResource("2_m7mag")
metadata/_edit_lock_ = true
@ -101,6 +103,24 @@ texture = SubResource("AtlasTexture_cr26l")
[node name="CollisionShape2D" type="CollisionShape2D" parent="Tilemaps/Actors/Rumia"]
shape = SubResource("CircleShape2D_cr26l")
[node name="Chair2" parent="Tilemaps/Actors" instance=ExtResource("14_2ugqu")]
position = Vector2(-80, 250)
[node name="Colonel" type="Area2D" parent="Tilemaps/Actors" groups=["Interactable"]]
position = Vector2(-80, 262)
collision_layer = 68
collision_mask = 0
script = ExtResource("9_cr26l")
Events = Array[Object]([SubResource("Resource_2ugqu")])
metadata/_edit_group_ = true
[node name="Sprite2D" type="Sprite2D" parent="Tilemaps/Actors/Colonel"]
position = Vector2(0, -12.115)
texture = SubResource("AtlasTexture_cr26l")
[node name="CollisionShape2D" type="CollisionShape2D" parent="Tilemaps/Actors/Colonel"]
shape = SubResource("CircleShape2D_cr26l")
[node name="Mainframe2" parent="Tilemaps/Actors" instance=ExtResource("17_u3bx7")]
position = Vector2(275, 511)
@ -115,9 +135,46 @@ position = Vector2(287, 511)
[node name="Chair" parent="Tilemaps/Actors" instance=ExtResource("14_2ugqu")]
position = Vector2(43, 286)
Direction = 3
[node name="Chair2" parent="Tilemaps/Actors" instance=ExtResource("14_2ugqu")]
position = Vector2(-80, 250)
[node name="Computer" parent="Tilemaps/Actors" instance=ExtResource("15_ce68b")]
position = Vector2(17, 517)
[node name="Computer2" parent="Tilemaps/Actors" instance=ExtResource("15_ce68b")]
position = Vector2(79, 517)
[node name="Computer3" parent="Tilemaps/Actors" instance=ExtResource("15_ce68b")]
position = Vector2(-17, 517)
[node name="Computer5" parent="Tilemaps/Actors" instance=ExtResource("15_ce68b")]
position = Vector2(-90, 260)
Direction = 0
[node name="Computer6" parent="Tilemaps/Actors" instance=ExtResource("15_ce68b")]
position = Vector2(55, 287)
Direction = 2
[node name="Computer4" parent="Tilemaps/Actors" instance=ExtResource("15_ce68b")]
position = Vector2(104, 517)
[node name="Chair3" parent="Tilemaps/Actors" instance=ExtResource("14_2ugqu")]
position = Vector2(-17, 531)
Direction = 0
[node name="Chair4" parent="Tilemaps/Actors" instance=ExtResource("14_2ugqu")]
position = Vector2(17, 531)
Direction = 0
[node name="Chair5" parent="Tilemaps/Actors" instance=ExtResource("14_2ugqu")]
position = Vector2(79, 531)
Direction = 0
[node name="Chair6" parent="Tilemaps/Actors" instance=ExtResource("14_2ugqu")]
position = Vector2(104, 532)
Direction = 0
[node name="VerticalDoor" parent="Tilemaps/Actors" instance=ExtResource("16_cjue1")]
position = Vector2(292, 408)
[node name="ControlPad" parent="Tilemaps" node_paths=PackedStringArray("Targets") instance=ExtResource("9_700kw")]
position = Vector2(134, 371)

View file

@ -1,7 +1,8 @@
[gd_scene load_steps=14 format=3 uid="uid://bjb1xv0ny1qim"]
[gd_scene load_steps=15 format=3 uid="uid://bjb1xv0ny1qim"]
[ext_resource type="Texture2D" uid="uid://c8rj2wjj7ho3j" path="res://Sprites/Props/Chair.png" id="1_a0rvv"]
[ext_resource type="Script" uid="uid://0hfmpf6i0icv" path="res://Scripts/Actors/Chair.cs" id="1_yxrrg"]
[ext_resource type="Script" uid="uid://rlevd6krqglv" path="res://Scripts/Components/SpriteAnimationStartupRotator.cs" id="3_eq5fp"]
[sub_resource type="AtlasTexture" id="AtlasTexture_yxrrg"]
atlas = ExtResource("1_a0rvv")
@ -102,6 +103,7 @@ SpinTime = 1.0
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
sprite_frames = SubResource("SpriteFrames_hgjbl")
animation = &"Down"
script = ExtResource("3_eq5fp")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(0.5, -1)

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=117 format=4 uid="uid://bv451a8wgty4u"]
[gd_scene load_steps=118 format=4 uid="uid://bv451a8wgty4u"]
[ext_resource type="Script" uid="uid://doxmbokehw8ci" path="res://Scripts/GameManager.cs" id="1_8tmoj"]
[ext_resource type="PackedScene" uid="uid://c4pr2707hbeph" path="res://Scenes/Actors/fsm_player.tscn" id="2_ksslq"]
@ -56,6 +56,7 @@
[ext_resource type="PackedScene" uid="uid://dnbtou2fklyvp" path="res://Scenes/Actors/alarm_sign.tscn" id="36_rd6f6"]
[ext_resource type="PackedScene" uid="uid://c8lgk4wnyi1e6" path="res://Scenes/Actors/HealthStation.tscn" id="38_kuhg5"]
[ext_resource type="Script" uid="uid://donxnd50p7dm8" path="res://Scripts/Resources/Events/AlarmDisableEvent.cs" id="40_7qam0"]
[ext_resource type="Script" uid="uid://b5fesrd4lv8t1" path="res://Scripts/Resources/Events/EventResource.cs" id="42_gd7x4"]
[ext_resource type="Script" uid="uid://d0a0o50j82eo6" path="res://Scripts/Activables/ScriptableBase.cs" id="42_wigyb"]
[ext_resource type="PackedScene" uid="uid://fxvlaidieiv7" path="res://Scenes/Interactable/ScriptableAreaTrigger.tscn" id="43_kf3qc"]
[ext_resource type="Script" uid="uid://dkihoo85jfec5" path="res://Scripts/Resources/Events/MovePlayerEvent.cs" id="44_klwgh"]
@ -125,7 +126,7 @@ WaitForCompletion = true
[sub_resource type="Resource" id="Resource_b25hy"]
script = ExtResource("46_i0omr")
TimelineName = &"timeline"
TimelineName = &"testintro"
WaitForCompletion = true
[sub_resource type="CircleShape2D" id="CircleShape2D_8wuck"]
@ -133,14 +134,14 @@ WaitForCompletion = true
[sub_resource type="Resource" id="Resource_ji7au"]
resource_local_to_scene = true
script = ExtResource("46_i0omr")
TimelineName = &"timeline"
TimelineName = &"computer2"
WaitForCompletion = true
metadata/_custom_type_script = "uid://ddv26x2qilprb"
[sub_resource type="Resource" id="Resource_fasrq"]
resource_local_to_scene = true
script = ExtResource("46_i0omr")
TimelineName = &"timeline"
TimelineName = &"compuer_control_1"
WaitForCompletion = true
metadata/_custom_type_script = "uid://ddv26x2qilprb"
@ -162,7 +163,7 @@ WaitForCompletion = true
[sub_resource type="Resource" id="Resource_068l7"]
script = ExtResource("46_i0omr")
TimelineName = &"timeline"
TimelineName = &"rumia_defeat"
WaitForCompletion = true
[sub_resource type="Resource" id="Resource_l3nop"]
@ -189,7 +190,7 @@ WaitForCompletion = true
[sub_resource type="Resource" id="Resource_b1dht"]
script = ExtResource("46_i0omr")
TimelineName = &"timeline"
TimelineName = &"Rumia_Intro"
WaitForCompletion = true
[sub_resource type="Resource" id="Resource_xrgpy"]
@ -198,7 +199,7 @@ ActivationType = 0
Targets = Array[NodePath]([NodePath("../Rumia")])
WaitForCompletion = true
[sub_resource type="Resource" id="Resource_bwt6v"]
[sub_resource type="Resource" id="Resource_gd7x4"]
resource_local_to_scene = true
script = ExtResource("49_0si7g")
Target = NodePath(".")
@ -524,7 +525,7 @@ Invisible = true
metadata/_edit_group_ = true
[node name="ScriptableAreaTrigger" parent="Factory Tilemaps/LevelProps/DebugTeleporter" instance=ExtResource("43_kf3qc")]
Events = Array[Object]([SubResource("Resource_usuub")])
Events = Array[ExtResource("42_gd7x4")]([SubResource("Resource_usuub")])
[node name="BlueKeycard2" parent="Factory Tilemaps/LevelProps" instance=ExtResource("35_rblsn")]
position = Vector2(-1032, -317)
@ -605,7 +606,7 @@ Target = NodePath("../HorizontalDoor")
[node name="AlarmBox" parent="Factory Tilemaps/LevelProps" instance=ExtResource("17_dppcs")]
position = Vector2(-713, -153)
Events = Array[Object]([SubResource("Resource_hppa0")])
Events = Array[ExtResource("42_gd7x4")]([SubResource("Resource_hppa0")])
[node name="Teleporter" parent="Factory Tilemaps/LevelProps" node_paths=PackedStringArray("Target") instance=ExtResource("30_8fdby")]
position = Vector2(-808, -167)
@ -691,20 +692,20 @@ Target = NodePath("../HorizontalDoor4")
[node name="AlarmBox8" parent="Factory Tilemaps/LevelProps" instance=ExtResource("17_dppcs")]
position = Vector2(-1174, 133)
Events = Array[Object]([SubResource("Resource_hppa0")])
Events = Array[ExtResource("42_gd7x4")]([SubResource("Resource_hppa0")])
[node name="AlarmBox10" parent="Factory Tilemaps/LevelProps" instance=ExtResource("17_dppcs")]
position = Vector2(-1256, -55)
Events = Array[Object]([SubResource("Resource_hppa0")])
Events = Array[ExtResource("42_gd7x4")]([SubResource("Resource_hppa0")])
[node name="AlarmBox9" parent="Factory Tilemaps/LevelProps" instance=ExtResource("17_dppcs")]
position = Vector2(-1506, -188)
Events = Array[Object]([SubResource("Resource_hppa0")])
Events = Array[ExtResource("42_gd7x4")]([SubResource("Resource_hppa0")])
[node name="LevelStartTrigger" parent="Factory Tilemaps/LevelProps" instance=ExtResource("43_kf3qc")]
position = Vector2(-781, -160)
scale = Vector2(1.455, 1.455)
Events = Array[Object]([SubResource("Resource_5er5x"), SubResource("Resource_b25hy")])
Events = Array[ExtResource("42_gd7x4")]([SubResource("Resource_5er5x"), SubResource("Resource_b25hy")])
[node name="AreaTrigger2" parent="Factory Tilemaps/LevelProps" node_paths=PackedStringArray("Target") instance=ExtResource("28_6au4t")]
position = Vector2(-435, -162)
@ -740,12 +741,13 @@ _trackName = "computer1"
[node name="Computer2" parent="Factory Tilemaps/LevelProps" node_paths=PackedStringArray("Targets") instance=ExtResource("31_243ec")]
position = Vector2(-1464, -276)
Direction = 2
Targets = [NodePath("Script2")]
[node name="Script2" type="Node2D" parent="Factory Tilemaps/LevelProps/Computer2"]
position = Vector2(120, 25)
script = ExtResource("42_wigyb")
Events = Array[Object]([SubResource("Resource_ji7au")])
Events = Array[ExtResource("42_gd7x4")]([SubResource("Resource_ji7au")])
[node name="Computer5" parent="Factory Tilemaps/LevelProps" node_paths=PackedStringArray("Targets") instance=ExtResource("31_243ec")]
position = Vector2(-1344, -251)
@ -753,7 +755,7 @@ Targets = [NodePath("Computer5Script")]
[node name="Computer5Script" type="Node2D" parent="Factory Tilemaps/LevelProps/Computer5"]
script = ExtResource("42_wigyb")
Events = Array[Object]([SubResource("Resource_fasrq"), SubResource("Resource_yot54")])
Events = Array[ExtResource("42_gd7x4")]([SubResource("Resource_fasrq"), SubResource("Resource_yot54")])
[node name="Computer3" parent="Factory Tilemaps/LevelProps" node_paths=PackedStringArray("Target") instance=ExtResource("31_243ec")]
position = Vector2(-612.57, -358.528)
@ -761,7 +763,7 @@ Target = NodePath("Script")
[node name="Script" type="Node2D" parent="Factory Tilemaps/LevelProps/Computer3"]
script = ExtResource("42_wigyb")
Events = Array[Object]([SubResource("Resource_o2kpk")])
Events = Array[ExtResource("42_gd7x4")]([SubResource("Resource_o2kpk")])
[node name="Computer4" parent="Factory Tilemaps/LevelProps" node_paths=PackedStringArray("Target") instance=ExtResource("31_243ec")]
position = Vector2(-791, -505)
@ -769,7 +771,7 @@ Target = NodePath("Node2D")
[node name="Node2D" type="Node2D" parent="Factory Tilemaps/LevelProps/Computer4"]
script = ExtResource("42_wigyb")
Events = Array[Object]([SubResource("Resource_s3g2w")])
Events = Array[ExtResource("42_gd7x4")]([SubResource("Resource_s3g2w")])
[node name="Label" type="Label" parent="Factory Tilemaps/LevelProps/Computer4"]
offset_left = -5.0
@ -797,11 +799,11 @@ position = Vector2(-792, -407)
[node name="BossBattleEndScript" type="Node2D" parent="Factory Tilemaps/LevelProps"]
position = Vector2(-1628.53, -477.628)
script = ExtResource("42_wigyb")
Events = Array[Object]([SubResource("Resource_068l7"), SubResource("Resource_l3nop")])
Events = Array[ExtResource("42_gd7x4")]([SubResource("Resource_068l7"), SubResource("Resource_l3nop")])
[node name="BossBattleStartScript" parent="Factory Tilemaps/LevelProps" instance=ExtResource("43_kf3qc")]
position = Vector2(-1487, -396)
Events = Array[Object]([SubResource("Resource_4f4id"), SubResource("Resource_s2o7m"), SubResource("Resource_b1dht"), SubResource("Resource_xrgpy"), SubResource("Resource_bwt6v")])
Events = Array[ExtResource("42_gd7x4")]([SubResource("Resource_4f4id"), SubResource("Resource_s2o7m"), SubResource("Resource_b1dht"), SubResource("Resource_xrgpy"), SubResource("Resource_gd7x4")])
[node name="Enemy13" parent="Factory Tilemaps/LevelProps" instance=ExtResource("47_u1ve6")]
position = Vector2(-1657, -788)
@ -987,7 +989,7 @@ position = Vector2(-2000, -736)
[node name="ControlPad8" parent="Factory Tilemaps/LevelProps" node_paths=PackedStringArray("Targets") instance=ExtResource("12_hfkf1")]
position = Vector2(-2027, -735)
Targets = [NodePath("../HorizontalForceField")]
Requirements = Array[ExtResource("6_8tdlb")]([ExtResource("84_ma1ta")])
Requirements = [ExtResource("84_ma1ta")]
[node name="Ammo6" parent="Factory Tilemaps/LevelProps" instance=ExtResource("34_17pjh")]
position = Vector2(-872, -220)

View file

@ -1,11 +1,13 @@
using Godot;
using System;
using System.Threading.Tasks;
using Cirno.Scripts.Components;
using Cirno.Scripts.Enums;
public partial class Chair : StaticBody2D
public partial class Chair : StaticBody2D, IIRotateable
{
[Export]
public ChairDirection Direction { get; private set; } = ChairDirection.Down;
public Direction Direction { get; set; } = Direction.Down;
private AnimatedSprite2D _animatedSprite;
@ -20,7 +22,7 @@ public partial class Chair : StaticBody2D
{
_animatedSprite = GetNode<AnimatedSprite2D>("AnimatedSprite2D");
_animatedSprite.Play(Direction.ToString());
//_animatedSprite.Play(Direction.ToString());
}
public override void _Process(double delta)
@ -44,13 +46,5 @@ public partial class Chair : StaticBody2D
_timer = 0;
}
public enum ChairDirection
{
Up,
Down,
Left,
Right,
}
}

View file

@ -0,0 +1,13 @@
using Cirno.Scripts.Components;
using Cirno.Scripts.Enums;
using Cirno.Scripts.Interactables;
using Godot;
namespace Cirno.Scripts.Actors;
public partial class Computer : Switch, IIRotateable
{
[Export]
public Direction Direction { get; set; } = Direction.Down;
}

View file

@ -0,0 +1 @@
uid://ck54glo7xbuq8

View file

@ -0,0 +1,8 @@
using Cirno.Scripts.Enums;
namespace Cirno.Scripts.Components;
public interface IIRotateable
{
public Direction Direction { get; set; }
}

View file

@ -0,0 +1,16 @@
using Cirno.Scripts.Enums;
using Godot;
namespace Cirno.Scripts.Components;
public partial class SpriteAnimationStartupRotator : AnimatedSprite2D
{
public override void _Ready()
{
var parent = GetParent<IIRotateable>();
var sprite = GetParent().GetNode<AnimatedSprite2D>("AnimatedSprite2D");
sprite.Play(parent.Direction.ToString());
}
}

View file

@ -0,0 +1 @@
uid://rlevd6krqglv

View file

@ -0,0 +1,9 @@
namespace Cirno.Scripts.Enums;
public enum Direction
{
Up,
Down,
Left,
Right,
}

BIN
Sprites/Props/Computer2.aseprite (Stored with Git LFS)

Binary file not shown.

BIN
Sprites/Props/Computer2.png (Stored with Git LFS)

Binary file not shown.