From 8d1c0beadc59ddb67493c0f04b36f898e9b2a2b7 Mon Sep 17 00:00:00 2001 From: Marco Date: Mon, 24 Feb 2025 09:10:20 +0100 Subject: [PATCH] Shrouds --- Scenes/Activable/Shroud.tscn | 12 ++++++++ Scenes/test.tscn | 16 ++++++++-- Scripts/Activables/BlackCover.cs | 51 ++++++++++++++++++++++++++++++++ Sprites/BlackPixel.aseprite | 3 ++ Sprites/BlackPixel.png | 3 ++ Sprites/BlackPixel.png.import | 34 +++++++++++++++++++++ 6 files changed, 116 insertions(+), 3 deletions(-) create mode 100644 Scenes/Activable/Shroud.tscn create mode 100644 Scripts/Activables/BlackCover.cs create mode 100644 Sprites/BlackPixel.aseprite create mode 100644 Sprites/BlackPixel.png create mode 100644 Sprites/BlackPixel.png.import diff --git a/Scenes/Activable/Shroud.tscn b/Scenes/Activable/Shroud.tscn new file mode 100644 index 00000000..eb55ce32 --- /dev/null +++ b/Scenes/Activable/Shroud.tscn @@ -0,0 +1,12 @@ +[gd_scene load_steps=3 format=3 uid="uid://c21m7w5ahpsd0"] + +[ext_resource type="Texture2D" uid="uid://m32iqs21np0v" path="res://Sprites/BlackPixel.png" id="1_oowkm"] +[ext_resource type="Script" path="res://Scripts/Activables/BlackCover.cs" id="2_qxoar"] + +[node name="Shroud" type="Sprite2D"] +visible = false +z_index = 1 +position = Vector2(-920.5, 78.75) +scale = Vector2(127, 126.5) +texture = ExtResource("1_oowkm") +script = ExtResource("2_qxoar") diff --git a/Scenes/test.tscn b/Scenes/test.tscn index eb2348c0..23d3b646 100644 --- a/Scenes/test.tscn +++ b/Scenes/test.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=88 format=4 uid="uid://bv451a8wgty4u"] +[gd_scene load_steps=90 format=4 uid="uid://bv451a8wgty4u"] [ext_resource type="Script" path="res://Scripts/GameManager.cs" id="1_8tmoj"] [ext_resource type="PackedScene" uid="uid://bghghp5ep4w2j" path="res://Scenes/player.tscn" id="2_8mh54"] @@ -73,6 +73,8 @@ [ext_resource type="PackedScene" uid="uid://bc054js8ep2b" path="res://Scenes/Actors/FairyGuard_New.tscn" id="73_cfpaq"] [ext_resource type="PackedScene" uid="uid://bdvj4cxnyr3w4" path="res://Scenes/Actors/Thermathron.tscn" id="73_ier4h"] [ext_resource type="PackedScene" uid="uid://dfat0erkvb513" path="res://Scenes/Actors/Fairy_New.tscn" id="73_s4x1s"] +[ext_resource type="Texture2D" uid="uid://m32iqs21np0v" path="res://Sprites/BlackPixel.png" id="74_ra850"] +[ext_resource type="Script" path="res://Scripts/Activables/BlackCover.cs" id="75_jy7lo"] [sub_resource type="Resource" id="Resource_6sau4"] script = ExtResource("7_l32kg") @@ -142,7 +144,7 @@ ActivationType = 0 Targets = Array[NodePath]([NodePath("../Rumia")]) WaitForCompletion = true -[sub_resource type="Resource" id="Resource_r3s0t"] +[sub_resource type="Resource" id="Resource_x6ymb"] resource_local_to_scene = true script = ExtResource("49_0si7g") Target = NodePath(".") @@ -685,7 +687,7 @@ Events = Array[Object]([SubResource("Resource_068l7"), SubResource("Resource_l3n [node name="BossBattleStartScript" parent="." 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_r3s0t")]) +Events = Array[Object]([SubResource("Resource_4f4id"), SubResource("Resource_s2o7m"), SubResource("Resource_b1dht"), SubResource("Resource_xrgpy"), SubResource("Resource_x6ymb")]) [node name="Enemy13" parent="." instance=ExtResource("47_u1ve6")] position = Vector2(-1657, -788) @@ -749,3 +751,11 @@ position = Vector2(-1010, 203) [node name="FairyGuard8" parent="." instance=ExtResource("73_ier4h")] position = Vector2(-581, -346) StartingAiState = 1 + +[node name="Shroud" type="Sprite2D" parent="."] +visible = false +z_index = 1 +position = Vector2(-920.5, 78.75) +scale = Vector2(127, 126.5) +texture = ExtResource("74_ra850") +script = ExtResource("75_jy7lo") diff --git a/Scripts/Activables/BlackCover.cs b/Scripts/Activables/BlackCover.cs new file mode 100644 index 00000000..47c7ddc2 --- /dev/null +++ b/Scripts/Activables/BlackCover.cs @@ -0,0 +1,51 @@ +using System; +using Godot; + +namespace Cirno.Scripts.Activables; + +public partial class BlackCover : Sprite2D, IActivable +{ + [Export] + public bool StartActive { get; private set; } = true; + + private bool _activated; + + public override void _Ready() + { + _activated = StartActive; + } + + public void Activate(ActivationType activationType = ActivationType.Toggle) + { + switch (activationType) + { + case ActivationType.Use: + case ActivationType.Toggle: + _activated = !_activated; + break; + case ActivationType.Close: + case ActivationType.Enable: + _activated = true; + break; + case ActivationType.Open: + case ActivationType.Disable: + _activated = false; + break; + case ActivationType.Destroy: + break; + } + UpdateSprite(); + } + + private void UpdateSprite() + { + if (_activated) + { + this.Show(); + } + else + { + this.Hide(); + } + } +} \ No newline at end of file diff --git a/Sprites/BlackPixel.aseprite b/Sprites/BlackPixel.aseprite new file mode 100644 index 00000000..406f1412 --- /dev/null +++ b/Sprites/BlackPixel.aseprite @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69ca3d9c8dd8578de1e3f5a2297f78756fb022f7e0d880b32f20f797ced09f46 +size 559 diff --git a/Sprites/BlackPixel.png b/Sprites/BlackPixel.png new file mode 100644 index 00000000..9d3d5a49 --- /dev/null +++ b/Sprites/BlackPixel.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a09e276301de73e84a35169799afebc9b0dee6ec73db827bf97d604e76395433 +size 83 diff --git a/Sprites/BlackPixel.png.import b/Sprites/BlackPixel.png.import new file mode 100644 index 00000000..6f2a01b7 --- /dev/null +++ b/Sprites/BlackPixel.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://m32iqs21np0v" +path="res://.godot/imported/BlackPixel.png-2c98508c3f25ebc75e56632986669add.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/BlackPixel.png" +dest_files=["res://.godot/imported/BlackPixel.png-2c98508c3f25ebc75e56632986669add.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