mirror of
https://gitlab.com/MaddoScientisto/cirnogodot.git
synced 2026-06-01 06:45:33 +00:00
Openable doors
This commit is contained in:
parent
fa954af626
commit
447a43eda2
14 changed files with 319 additions and 32 deletions
|
|
@ -4,18 +4,8 @@ using System.Diagnostics;
|
|||
|
||||
public partial class Activable : Area2D
|
||||
{
|
||||
// Called when the node enters the scene tree for the first time.
|
||||
public override void _Ready()
|
||||
public virtual void Activate()
|
||||
{
|
||||
}
|
||||
|
||||
// Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
public override void _Process(double delta)
|
||||
{
|
||||
}
|
||||
|
||||
public void Activate()
|
||||
{
|
||||
Debug.WriteLine("Activated");
|
||||
//Debug.WriteLine("Activated");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
[gd_scene load_steps=4 format=3 uid="uid://crph24e6e0v0q"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://dwpocd22r4pas" path="res://Sprites/Control_Pad.png" id="1_bgeyn"]
|
||||
[ext_resource type="Script" path="res://Scenes/Interactable.cs" id="1_g3j01"]
|
||||
[ext_resource type="Texture2D" uid="uid://d24g1qb40t72l" path="res://Sprites/Button_Small.png" id="2_7m30w"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_x0adl"]
|
||||
|
||||
|
|
@ -14,4 +14,4 @@ script = ExtResource("1_g3j01")
|
|||
shape = SubResource("RectangleShape2D_x0adl")
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
texture = ExtResource("1_bgeyn")
|
||||
texture = ExtResource("2_7m30w")
|
||||
|
|
|
|||
|
|
@ -1,14 +1,126 @@
|
|||
[gd_scene load_steps=3 format=3 uid="uid://bc64lr3vlwchq"]
|
||||
[gd_scene load_steps=16 format=3 uid="uid://bc64lr3vlwchq"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_xakim"]
|
||||
[ext_resource type="Script" path="res://Scripts/Door.cs" id="1_e61bg"]
|
||||
[ext_resource type="Texture2D" uid="uid://dwcjixrhq4cdv" path="res://Sprites/DoorVertical.png" id="1_vdvtb"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mbysk"]
|
||||
atlas = ExtResource("1_vdvtb")
|
||||
region = Rect2(0, 0, 16, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_cswit"]
|
||||
atlas = ExtResource("1_vdvtb")
|
||||
region = Rect2(48, 0, 16, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_5twlp"]
|
||||
atlas = ExtResource("1_vdvtb")
|
||||
region = Rect2(32, 0, 16, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_appi3"]
|
||||
atlas = ExtResource("1_vdvtb")
|
||||
region = Rect2(16, 0, 16, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_qf4nm"]
|
||||
atlas = ExtResource("1_vdvtb")
|
||||
region = Rect2(0, 0, 16, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mvjy4"]
|
||||
atlas = ExtResource("1_vdvtb")
|
||||
region = Rect2(48, 0, 16, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_hqwo7"]
|
||||
atlas = ExtResource("1_vdvtb")
|
||||
region = Rect2(0, 0, 16, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_fjrcg"]
|
||||
atlas = ExtResource("1_vdvtb")
|
||||
region = Rect2(16, 0, 16, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_pjqv0"]
|
||||
atlas = ExtResource("1_vdvtb")
|
||||
region = Rect2(32, 0, 16, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_6brcl"]
|
||||
atlas = ExtResource("1_vdvtb")
|
||||
region = Rect2(48, 0, 16, 48)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_keeml"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_mbysk")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Closed",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_cswit")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_5twlp")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_appi3")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_qf4nm")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"Closing",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_mvjy4")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Open",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_hqwo7")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_fjrcg")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_pjqv0")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_6brcl")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"Opening",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_0wg11"]
|
||||
size = Vector2(8, 48)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_f2rl6"]
|
||||
size = Vector2(8, 48)
|
||||
|
||||
[node name="Area2D" type="Area2D"]
|
||||
collision_layer = 64
|
||||
collision_mask = 154
|
||||
script = ExtResource("1_e61bg")
|
||||
metadata/_edit_group_ = true
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
texture = SubResource("AtlasTexture_xakim")
|
||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||
sprite_frames = SubResource("SpriteFrames_keeml")
|
||||
animation = &"Closing"
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("RectangleShape2D_0wg11")
|
||||
|
||||
[node name="RigidBody2D" type="RigidBody2D" parent="."]
|
||||
collision_layer = 64
|
||||
collision_mask = 10
|
||||
gravity_scale = 0.0
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D"]
|
||||
shape = SubResource("RectangleShape2D_f2rl6")
|
||||
|
||||
[connection signal="animation_changed" from="AnimatedSprite2D" to="." method="_on_animated_sprite_2d_animation_changed"]
|
||||
|
|
|
|||
|
|
@ -18,6 +18,6 @@ public partial class Interactable : Area2D
|
|||
|
||||
public void Activate()
|
||||
{
|
||||
Debug.WriteLine("Activated");
|
||||
Target?.Activate();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -59,7 +59,6 @@ texture = ExtResource("8_0km4o")
|
|||
3:3/0 = 0
|
||||
4:3/0 = 0
|
||||
5:3/0 = 0
|
||||
6:3/0 = 0
|
||||
7:3/0 = 0
|
||||
8:3/0 = 0
|
||||
9:3/0 = 0
|
||||
|
|
@ -191,6 +190,8 @@ texture = ExtResource("8_0km4o")
|
|||
7:14/0 = 0
|
||||
8:14/0 = 0
|
||||
9:14/0 = 0
|
||||
6:3/0 = 0
|
||||
6:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-4, -6, -4, 0, 4, 0, 4, -6)
|
||||
|
||||
[sub_resource type="TileSetScenesCollectionSource" id="TileSetScenesCollectionSource_qg3vu"]
|
||||
resource_name = "Props"
|
||||
|
|
@ -228,7 +229,7 @@ tile_set = SubResource("TileSet_d7en2")
|
|||
|
||||
[node name="Solid2" type="TileMapLayer" parent="Factory Tilemaps" groups=["Solid"]]
|
||||
use_parent_material = true
|
||||
tile_map_data = PackedByteArray("AADL//L/AAACAAYAAADL//P/AAACAAYAAADL//T/AAACAAYAAADL//X/AAACAAYAAADL//b/AAACAAYAAADL//f/AAACAAYAAADL//j/AAACAAYAAADL//n/AAACAAYAAADL//r/AAACAAYAAADL//v/AAACAAYAAADL//z/AAACAAYAAADS//T/AAAAAAcAAADM//H/AAABAAcAAADN//H/AAABAAcAAADO//H/AAABAAcAAADP//H/AAABAAcAAADT//T/AAABAAcAAADU//T/AAABAAcAAADV//T/AAABAAcAAADW//T/AAABAAcAAADX//T/AAABAAcAAADO//f/AAADAAAAAADN//f/AAADAAAAAADM//f/AAADAAAAAADS//f/AAADAAAAAADO//r/AAADAAAAAADN//r/AAADAAAAAADM//r/AAADAAAAAADS//r/AAADAAAAAADT//r/AAADAAAAAADU//r/AAADAAAAAADV//r/AAADAAAAAADW//r/AAADAAAAAADX//r/AAADAAAAAADa//f/AAAAAAYAAADa//n/AAAAAAYAAADa//r/AAAAAAYAAADa//v/AAAAAAYAAADa//z/AAAAAAYAAADa//3/AAAAAAYAAADa//7/AAAAAAYAAADL//3/AAACAAYAAADL//7/AAACAAYAAADa////AAAAAAYAAADa/wAAAAAAAAYAAADY//r/AAADAAAAAADZ//r/AAADAAAAAADM//3/AAAEAAUAAADN//3/AAAEAAUAAADO//3/AAAEAAUAAADP//3/AAAEAAUAAADQ//3/AAAEAAUAAADR//3/AAAEAAUAAADS//3/AAAEAAUAAADT//3/AAAFAAUAAADX//3/AAADAAUAAADY//3/AAAEAAUAAADZ//3/AAAEAAUAAADX//7/AAADAAcAAADY////AAAEAAUAAADZ////AAAEAAUAAADT//7/AAAFAAcAAADS//7/AAAEAAUAAADR//7/AAAEAAUAAADQ//7/AAAEAAUAAADP//7/AAAEAAUAAADO//7/AAAEAAUAAADN//7/AAAEAAUAAADM//7/AAAEAAUAAADX/wEAAAAFAAcAAADW/wEAAAAEAAUAAADV/wEAAAAEAAUAAADU/wEAAAAEAAUAAADT/wEAAAAEAAUAAADX/wAAAAADAAYAAAC2////AAADAAAAAAC1////AAADAAAAAAC0////AAADAAAAAACz////AAADAAAAAACy////AAADAAAAAACx////AAADAAAAAACx//7/AAADAAAAAACx//3/AAADAAAAAAC2/wIAAAADAAAAAAC1/wIAAAADAAAAAAC0/wIAAAADAAAAAACz/wIAAAADAAAAAACy/wIAAAADAAAAAACx/wIAAAADAAAAAACw/wIAAAADAAAAAACv/wIAAAADAAAAAACu/wIAAAADAAAAAACt/wIAAAADAAAAAACs/wIAAAADAAAAAACu////AAADAAAAAACu//7/AAADAAAAAACu//3/AAADAAAAAACt////AAADAAAAAACs////AAADAAAAAACr////AAADAAAAAACq////AAADAAAAAACp////AAADAAAAAACr/wIAAAADAAAAAACq/wIAAAADAAAAAACp/wIAAAADAAAAAADQ/wEAAAADAAUAAADR/wEAAAAEAAUAAADS/wEAAAAEAAUAAADQ/wIAAAADAAYAAADQ/wMAAAADAAcAAADR/wMAAAAEAAUAAADX////AAADAAUAAADY//7/AAAEAAUAAADZ//7/AAAEAAUAAADL/wkAAAAAAAQAAADM/wAAAQAAAAAAAQDM/wEAAQAAAAAAAQDM/wIAAQAAAAAAAQDM/wMAAQAAAAAAAQDR//b/AQAAAAAAAgDV//H/AQAAAAAAAgDW//H/AQAAAAAAAwDX//H/AQAAAAAABADH//L/AQAAAAAABQDG//f/AQAAAAAABgDG//r/AQAAAAAABwDI//v/AQAAAAAACADR//X/AQAAAAAAAQDM//T/AAABAAEAAADN//T/AAABAAEAAADO//T/AAABAAEAAADP//T/AAABAAEAAADQ//T/AAABAAEAAADR//T/AAABAAEAAADS//X/AAAEAAEAAADS//b/AAAEAAEAAADT//X/AAABAAEAAADT//b/AAABAAEAAADV//b/AAABAAEAAADV//X/AAABAAEAAADX//b/AAABAAEAAADX//X/AAABAAEAAADZ//b/AAABAAEAAADZ//X/AAABAAEAAADa//j/AAAAAAYAAADL////AAACAAYAAADL/wAAAAACAAYAAADL/wEAAAACAAYAAADL/wIAAAACAAYAAADL/wMAAAACAAYAAADL/wQAAAACAAYAAADL/wUAAAACAAYAAADL/wYAAAACAAYAAADL/wcAAAACAAYAAADL/wgAAAACAAYAAADa/wEAAAAAAAYAAADa/wIAAAAAAAYAAADa/wMAAAAAAAYAAADa/wQAAAAAAAYAAADa/wUAAAAAAAYAAADa/wYAAAAAAAYAAADa/wcAAAAAAAYAAADa/wgAAAAAAAYAAADa/wkAAAAAAAYAAADa/woAAAAAAAYAAADa/wsAAAAAAAYAAADa/wwAAAAAAAYAAADa/w0AAAAAAAYAAADa/w4AAAAAAAYAAADZ/w8AAAABAAUAAADY/w8AAAABAAUAAADX/w8AAAABAAUAAADW/w8AAAABAAUAAADV/w8AAAABAAUAAADU/w8AAAABAAUAAADT/w8AAAABAAUAAADS/w8AAAABAAUAAADR/w8AAAABAAUAAADQ/w8AAAABAAUAAADP/w8AAAABAAUAAADO/w8AAAABAAUAAADN/w8AAAABAAUAAADM/w8AAAABAAUAAADL/w4AAAAAAAQAAADL/w0AAAAAAAQAAADK/w4AAAABAAUAAADJ/w4AAAABAAUAAADI/w4AAAABAAUAAADH/w4AAAABAAUAAADG/w4AAAABAAUAAADF/w4AAAABAAUAAADE/w4AAAABAAUAAADL/wsAAAAFAAEAAADL/woAAAAFAAEAAADK/woAAAABAAEAAADI/woAAAABAAEAAADH/woAAAABAAEAAADH/wkAAAABAAEAAADI/wkAAAABAAEAAADK/wkAAAABAAEAAADF/woAAAABAAEAAADE/woAAAABAAEAAADE/wkAAAABAAEAAADF/wkAAAABAAEAAADB/woAAAABAAEAAADC/woAAAABAAEAAADC/wkAAAABAAEAAADB/wkAAAABAAEAAAC//woAAAABAAEAAAC//wkAAAABAAEAAADJ/woAAAADAAEAAADJ/wkAAAADAAEAAADG/woAAAADAAEAAADG/wkAAAADAAEAAADD/woAAAADAAEAAADD/wkAAAADAAEAAADA/woAAAADAAEAAADA/wkAAAADAAEAAADD/w4AAAABAAUAAADC/w4AAAABAAUAAADB/w4AAAABAAUAAADA/w4AAAABAAUAAAC//w4AAAABAAUAAADU//b/AAADAAEAAADU//X/AAADAAEAAADW//b/AAADAAEAAADW//X/AAADAAEAAADY//b/AAADAAEAAADY//X/AAADAAEAAADT/wkAAQAAAAAAAgDU/wkAAQAAAAAAAgDU/woAAQAAAAAAAgDT/woAAQAAAAAAAgDT/wsAAQAAAAAAAgDU/wsAAQAAAAAAAgDU/wwAAQAAAAAAAgDT/wwAAQAAAAAAAgDS/wwAAQAAAAAAAgDR/wwAAQAAAAAAAgDR/wsAAQAAAAAAAgDS/wsAAQAAAAAAAgDS/woAAQAAAAAAAgDR/woAAQAAAAAAAgDS/wkAAQAAAAAAAgDR/wkAAQAAAAAAAgA=")
|
||||
tile_map_data = PackedByteArray("AADL//L/AAACAAYAAADL//P/AAACAAYAAADL//T/AAACAAYAAADL//X/AAACAAYAAADL//b/AAACAAYAAADL//f/AAACAAYAAADL//j/AAACAAYAAADL//n/AAACAAYAAADL//r/AAACAAYAAADL//v/AAACAAYAAADL//z/AAACAAYAAADS//T/AAAAAAcAAADM//H/AAABAAcAAADN//H/AAABAAcAAADO//H/AAABAAcAAADP//H/AAABAAcAAADT//T/AAABAAcAAADU//T/AAABAAcAAADV//T/AAABAAcAAADW//T/AAABAAcAAADX//T/AAABAAcAAADO//f/AAADAAAAAADN//f/AAADAAAAAADM//f/AAADAAAAAADS//f/AAADAAAAAADO//r/AAADAAAAAADN//r/AAADAAAAAADM//r/AAADAAAAAADS//r/AAADAAAAAADT//r/AAADAAAAAADU//r/AAADAAAAAADV//r/AAADAAAAAADW//r/AAADAAAAAADX//r/AAADAAAAAADa//f/AAAAAAYAAADa//n/AAAAAAYAAADa//r/AAAAAAYAAADa//v/AAAAAAYAAADa//z/AAAAAAYAAADa//3/AAAAAAYAAADa//7/AAAAAAYAAADL//3/AAACAAYAAADL//7/AAACAAYAAADa////AAAAAAYAAADa/wAAAAAAAAYAAADY//r/AAADAAAAAADZ//r/AAADAAAAAADM//3/AAAEAAUAAADN//3/AAAEAAUAAADO//3/AAAEAAUAAADP//3/AAAEAAUAAADQ//3/AAAEAAUAAADR//3/AAAEAAUAAADS//3/AAAEAAUAAADT//3/AAAFAAUAAADX//3/AAADAAUAAADY//3/AAAEAAUAAADZ//3/AAAEAAUAAADX//7/AAADAAcAAADY////AAAEAAUAAADZ////AAAEAAUAAADT//7/AAAFAAcAAADS//7/AAAEAAUAAADR//7/AAAEAAUAAADQ//7/AAAEAAUAAADP//7/AAAEAAUAAADO//7/AAAEAAUAAADN//7/AAAEAAUAAADM//7/AAAEAAUAAADX/wEAAAAFAAcAAADW/wEAAAAEAAUAAADV/wEAAAAEAAUAAADU/wEAAAAEAAUAAADT/wEAAAAEAAUAAADX/wAAAAADAAYAAAC2////AAADAAAAAAC1////AAADAAAAAAC0////AAADAAAAAACz////AAADAAAAAACy////AAADAAAAAACx////AAADAAAAAACx//7/AAADAAAAAACx//3/AAADAAAAAAC2/wIAAAADAAAAAAC1/wIAAAADAAAAAAC0/wIAAAADAAAAAACz/wIAAAADAAAAAACy/wIAAAADAAAAAACx/wIAAAADAAAAAACw/wIAAAADAAAAAACv/wIAAAADAAAAAACu/wIAAAADAAAAAACt/wIAAAADAAAAAACs/wIAAAADAAAAAACu////AAADAAAAAACu//7/AAADAAAAAACu//3/AAADAAAAAACt////AAADAAAAAACs////AAADAAAAAACr////AAADAAAAAACq////AAADAAAAAACp////AAADAAAAAACr/wIAAAADAAAAAACq/wIAAAADAAAAAACp/wIAAAADAAAAAADQ/wEAAAADAAUAAADR/wEAAAAEAAUAAADS/wEAAAAEAAUAAADQ/wIAAAADAAYAAADQ/wMAAAADAAcAAADR/wMAAAAEAAUAAADX////AAADAAUAAADY//7/AAAEAAUAAADZ//7/AAAEAAUAAADL/wkAAAAEAAQAAADM/wAAAQAAAAAAAQDM/wEAAQAAAAAAAQDM/wIAAQAAAAAAAQDM/wMAAQAAAAAAAQDR//b/AQAAAAAAAgDV//H/AQAAAAAAAgDW//H/AQAAAAAAAwDX//H/AQAAAAAABADH//L/AQAAAAAABQDG//f/AQAAAAAABgDG//r/AQAAAAAABwDI//v/AQAAAAAACADR//X/AQAAAAAAAQDM//T/AAABAAEAAADN//T/AAABAAEAAADO//T/AAABAAEAAADP//T/AAABAAEAAADQ//T/AAABAAEAAADR//T/AAABAAEAAADS//X/AAAEAAEAAADS//b/AAAEAAEAAADT//X/AAABAAEAAADT//b/AAABAAEAAADV//b/AAABAAEAAADV//X/AAABAAEAAADX//b/AAABAAEAAADX//X/AAABAAEAAADZ//b/AAABAAEAAADZ//X/AAABAAEAAADa//j/AAAAAAYAAADL////AAACAAYAAADL/wAAAAACAAYAAADL/wEAAAACAAYAAADL/wIAAAACAAYAAADL/wMAAAACAAYAAADL/wQAAAACAAYAAADL/wUAAAACAAYAAADL/wYAAAACAAYAAADL/wcAAAACAAYAAADL/wgAAAACAAYAAADa/wEAAAAAAAYAAADa/wIAAAAAAAYAAADa/wMAAAAAAAYAAADa/wQAAAAAAAYAAADa/wUAAAAAAAYAAADa/wYAAAAAAAYAAADa/wcAAAAAAAYAAADa/wgAAAAAAAYAAADa/wkAAAAAAAYAAADa/woAAAAAAAYAAADa/wsAAAAAAAYAAADa/wwAAAAAAAYAAADa/w0AAAAAAAYAAADa/w4AAAAAAAYAAADZ/w8AAAABAAUAAADY/w8AAAABAAUAAADX/w8AAAABAAUAAADW/w8AAAABAAUAAADV/w8AAAABAAUAAADU/w8AAAABAAUAAADT/w8AAAABAAUAAADS/w8AAAABAAUAAADR/w8AAAABAAUAAADQ/w8AAAABAAUAAADP/w8AAAABAAUAAADO/w8AAAABAAUAAADN/w8AAAABAAUAAADM/w8AAAABAAUAAADL/w4AAAAAAAQAAADL/w0AAAAFAAQAAADK/w4AAAABAAUAAADJ/w4AAAABAAUAAADI/w4AAAABAAUAAADH/w4AAAABAAUAAADG/w4AAAABAAUAAADF/w4AAAABAAUAAADE/w4AAAABAAUAAADL/wsAAAAFAAEAAADL/woAAAAFAAEAAADK/woAAAABAAEAAADI/woAAAABAAEAAADH/woAAAABAAEAAADH/wkAAAABAAEAAADI/wkAAAABAAEAAADK/wkAAAABAAEAAADF/woAAAABAAEAAADE/woAAAABAAEAAADE/wkAAAABAAEAAADF/wkAAAABAAEAAADB/woAAAABAAEAAADC/woAAAABAAEAAADC/wkAAAABAAEAAADB/wkAAAABAAEAAAC//woAAAABAAEAAAC//wkAAAABAAEAAADJ/woAAAADAAEAAADJ/wkAAAADAAEAAADG/woAAAADAAEAAADG/wkAAAADAAEAAADD/woAAAADAAEAAADD/wkAAAADAAEAAADA/woAAAADAAEAAADA/wkAAAADAAEAAADD/w4AAAABAAUAAADC/w4AAAABAAUAAADB/w4AAAABAAUAAADA/w4AAAABAAUAAAC//w4AAAABAAUAAADU//b/AAADAAEAAADU//X/AAADAAEAAADW//b/AAADAAEAAADW//X/AAADAAEAAADY//b/AAADAAEAAADY//X/AAADAAEAAADT/wkAAQAAAAAAAgDU/wkAAQAAAAAAAgDU/woAAQAAAAAAAgDT/woAAQAAAAAAAgDT/wsAAQAAAAAAAgDU/wsAAQAAAAAAAgDU/wwAAQAAAAAAAgDT/wwAAQAAAAAAAgDS/wwAAQAAAAAAAgDR/wwAAQAAAAAAAgDR/wsAAQAAAAAAAgDS/wsAAQAAAAAAAgDS/woAAQAAAAAAAgDR/woAAQAAAAAAAgDS/wkAAQAAAAAAAgDR/wkAAQAAAAAAAgDM/woAAAAGAAMAAAC+/w0AAAAFAAQAAAC+/wkAAAAEAAQAAAA=")
|
||||
tile_set = SubResource("TileSet_d7en2")
|
||||
|
||||
[node name="Barrel" parent="Factory Tilemaps" instance=ExtResource("5_3uba3")]
|
||||
|
|
@ -269,11 +270,17 @@ position = Vector2(-696, -136)
|
|||
|
||||
[node name="ControlPad" parent="Factory Tilemaps" node_paths=PackedStringArray("Target") instance=ExtResource("12_hfkf1")]
|
||||
position = Vector2(-713, -153)
|
||||
Target = NodePath("../Door")
|
||||
Target = NodePath("../Door_vertical")
|
||||
|
||||
[node name="ControlPad2" parent="Factory Tilemaps" node_paths=PackedStringArray("Target") instance=ExtResource("12_hfkf1")]
|
||||
position = Vector2(-616, -154)
|
||||
Target = NodePath("../Door")
|
||||
position = Vector2(-824, 167)
|
||||
Target = NodePath("../Door_vertical2")
|
||||
|
||||
[node name="Door_vertical" parent="Factory Tilemaps" instance=ExtResource("15_mgtvp")]
|
||||
position = Vector2(-684, -120)
|
||||
|
||||
[node name="Door_vertical2" parent="Factory Tilemaps" instance=ExtResource("15_mgtvp")]
|
||||
position = Vector2(-840, 184)
|
||||
|
||||
[node name="Door" parent="Factory Tilemaps" instance=ExtResource("14_y363m")]
|
||||
position = Vector2(-766, -74)
|
||||
|
|
@ -306,12 +313,10 @@ position = Vector2(-743, -117)
|
|||
position = Vector2(-687, -10)
|
||||
|
||||
[node name="Enemy2" parent="." instance=ExtResource("18_ixcwn")]
|
||||
position = Vector2(-783, 92)
|
||||
position = Vector2(-646, 179)
|
||||
|
||||
[node name="Enemy3" parent="." instance=ExtResource("18_ixcwn")]
|
||||
position = Vector2(-652, 180)
|
||||
position = Vector2(-796, 88)
|
||||
|
||||
[node name="Enemy4" parent="." instance=ExtResource("18_ixcwn")]
|
||||
position = Vector2(-883, 183)
|
||||
|
||||
[node name="Door" parent="." instance=ExtResource("15_mgtvp")]
|
||||
|
|
|
|||
97
Scripts/Door.cs
Normal file
97
Scripts/Door.cs
Normal file
|
|
@ -0,0 +1,97 @@
|
|||
using Godot;
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using Cirno.Scripts;
|
||||
|
||||
public partial class Door : Activable
|
||||
{
|
||||
private AnimatedSprite2D _animatedSprite;
|
||||
private CollisionShape2D _collisionShape;
|
||||
private CollisionShape2D _solidShape;
|
||||
// Called when the node enters the scene tree for the first time.
|
||||
|
||||
[Export]
|
||||
public DoorState State { get; set; }
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
_animatedSprite = GetNode<AnimatedSprite2D>("AnimatedSprite2D");
|
||||
_collisionShape = GetNode<CollisionShape2D>("CollisionShape2D");
|
||||
_solidShape = GetNode<CollisionShape2D>("RigidBody2D/CollisionShape2D");
|
||||
|
||||
SetState(State);
|
||||
}
|
||||
|
||||
// Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
public override void _Process(double delta)
|
||||
{
|
||||
}
|
||||
|
||||
public void Open()
|
||||
{
|
||||
_animatedSprite.Play("Opening");
|
||||
State = DoorState.Open;
|
||||
_collisionShape.Disabled = true;
|
||||
_solidShape.Disabled = true;
|
||||
}
|
||||
|
||||
public void Close()
|
||||
{
|
||||
_animatedSprite.Play("Closing");
|
||||
State = DoorState.Closed;
|
||||
_collisionShape.Disabled = false;
|
||||
_solidShape.Disabled = false;
|
||||
|
||||
}
|
||||
|
||||
public override void Activate()
|
||||
{
|
||||
switch (State)
|
||||
{
|
||||
case DoorState.Closed:
|
||||
Open();
|
||||
break;
|
||||
case DoorState.Open:
|
||||
Close();
|
||||
break;
|
||||
default:
|
||||
throw new ArgumentOutOfRangeException();
|
||||
}
|
||||
}
|
||||
|
||||
private void SetState(DoorState state)
|
||||
{
|
||||
switch (state)
|
||||
{
|
||||
case DoorState.Closed:
|
||||
Close();
|
||||
break;
|
||||
case DoorState.Open:
|
||||
Open();
|
||||
break;
|
||||
default:
|
||||
throw new ArgumentOutOfRangeException();
|
||||
}
|
||||
}
|
||||
|
||||
public void _on_animated_sprite_2d_animation_changed()
|
||||
{
|
||||
switch (_animatedSprite.Animation)
|
||||
{
|
||||
case "Opening":
|
||||
|
||||
break;
|
||||
case "Closing":
|
||||
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public enum DoorState
|
||||
{
|
||||
Closed,
|
||||
Open
|
||||
}
|
||||
6
Scripts/IActivable.cs
Normal file
6
Scripts/IActivable.cs
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
namespace Cirno.Scripts;
|
||||
|
||||
public interface IActivable
|
||||
{
|
||||
void Activate();
|
||||
}
|
||||
BIN
Sprites/Button_Small.aseprite
(Stored with Git LFS)
Normal file
BIN
Sprites/Button_Small.aseprite
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Sprites/Button_Small.png
(Stored with Git LFS)
Normal file
BIN
Sprites/Button_Small.png
(Stored with Git LFS)
Normal file
Binary file not shown.
34
Sprites/Button_Small.png.import
Normal file
34
Sprites/Button_Small.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://d24g1qb40t72l"
|
||||
path="res://.godot/imported/Button_Small.png-98a4c5460459fa0da24d50dc27d2bef8.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Sprites/Button_Small.png"
|
||||
dest_files=["res://.godot/imported/Button_Small.png-98a4c5460459fa0da24d50dc27d2bef8.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
Sprites/DoorVertical.png
(Stored with Git LFS)
Normal file
BIN
Sprites/DoorVertical.png
(Stored with Git LFS)
Normal file
Binary file not shown.
34
Sprites/DoorVertical.png.import
Normal file
34
Sprites/DoorVertical.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dwcjixrhq4cdv"
|
||||
path="res://.godot/imported/DoorVertical.png-d84a2064a28d3dea08e4e4d728307fa8.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Sprites/DoorVertical.png"
|
||||
dest_files=["res://.godot/imported/DoorVertical.png-d84a2064a28d3dea08e4e4d728307fa8.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
Tilesets/factory.aseprite
(Stored with Git LFS)
BIN
Tilesets/factory.aseprite
(Stored with Git LFS)
Binary file not shown.
BIN
Tilesets/factory.png
(Stored with Git LFS)
BIN
Tilesets/factory.png
(Stored with Git LFS)
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue