From 2966952d32074f97dc550b7e54c4dd69f281451f Mon Sep 17 00:00:00 2001 From: betalars Date: Tue, 3 Jun 2025 01:49:33 +0200 Subject: [PATCH] WIP: implementing ui for burning an unwanted thought and scene transition --- src/logic-scenes/card_burner/card_burner.gd | 26 +++++ .../card_burner/card_burner.gd.uid | 1 + src/logic-scenes/card_burner/card_burner.tscn | 108 ++++++++++++++++++ 3 files changed, 135 insertions(+) create mode 100644 src/logic-scenes/card_burner/card_burner.gd create mode 100644 src/logic-scenes/card_burner/card_burner.gd.uid create mode 100644 src/logic-scenes/card_burner/card_burner.tscn diff --git a/src/logic-scenes/card_burner/card_burner.gd b/src/logic-scenes/card_burner/card_burner.gd new file mode 100644 index 0000000..11abff2 --- /dev/null +++ b/src/logic-scenes/card_burner/card_burner.gd @@ -0,0 +1,26 @@ +class_name CardBurner extends CenterContainer + +var has_stage = false: + set(focus): + if not focus == has_stage: + if focus: + process_mode = Node.PROCESS_MODE_INHERIT + self.show() + self.mouse_filter = Control.MOUSE_FILTER_STOP + else: + self.mouse_filter = Control.MOUSE_FILTER_IGNORE + self.hide() + process_mode = Node.PROCESS_MODE_DISABLED + has_stage = focus + +func _ready(): + Scenes.sign_up_for_sequence(burn_cards, Scenes.id.TRANSITION, 0) + +func burn_cards(): + var random_card_names: Array[StringName] = State.active_save_game.board_state["randoms"] + + for card_name in random_card_names: + if card_name.begins_with("c"): + random_card_names.erase(card_name) + + var random_cards: Array[Card] = HardCards.get_cards_by_name_array(random_card_names)["cards"] diff --git a/src/logic-scenes/card_burner/card_burner.gd.uid b/src/logic-scenes/card_burner/card_burner.gd.uid new file mode 100644 index 0000000..d40fca2 --- /dev/null +++ b/src/logic-scenes/card_burner/card_burner.gd.uid @@ -0,0 +1 @@ +uid://bbia2hcdwctyn diff --git a/src/logic-scenes/card_burner/card_burner.tscn b/src/logic-scenes/card_burner/card_burner.tscn new file mode 100644 index 0000000..4a28b48 --- /dev/null +++ b/src/logic-scenes/card_burner/card_burner.tscn @@ -0,0 +1,108 @@ +[gd_scene load_steps=4 format=3 uid="uid://g2a27jwdapai"] + +[ext_resource type="Script" uid="uid://bbia2hcdwctyn" path="res://logic-scenes/card_burner/card_burner.gd" id="1_copuj"] +[ext_resource type="Script" uid="uid://2loic2eeec5b" path="res://logic-scenes/board/card.gd" id="2_l4ogr"] +[ext_resource type="PackedScene" uid="uid://uc6urpgv7n1y" path="res://logic-scenes/card_burner/cursor_candle.tscn" id="3_l4ogr"] + +[node name="CardBurner" type="CenterContainer"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_copuj") + +[node name="Control" type="Control" parent="."] +layout_mode = 2 + +[node name="Label" type="Label" parent="Control"] +layout_mode = 1 +anchors_preset = 7 +anchor_left = 0.5 +anchor_top = 1.0 +anchor_right = 0.5 +anchor_bottom = 1.0 +offset_left = -373.5 +offset_top = -249.0 +offset_right = 373.5 +offset_bottom = -149.0 +grow_horizontal = 2 +grow_vertical = 0 +theme_type_variation = &"HeaderMedium" +text = "Life gave you some thoughts you did not choose to keep. +You may try to burn one." +horizontal_alignment = 1 + +[node name="Ancor1" type="Control" parent="Control"] +layout_mode = 2 +anchors_preset = 0 +offset_left = -518.0 +offset_top = 14.0 +offset_right = -518.0 +offset_bottom = 14.0 +rotation = -0.0352522 + +[node name="Card" type="Area2D" parent="Control/Ancor1"] +script = ExtResource("2_l4ogr") +text = "card" +picked_random = null +metadata/_custom_type_script = "uid://2loic2eeec5b" + +[node name="Ancor2" type="Control" parent="Control"] +layout_mode = 2 +anchors_preset = 0 +offset_left = -183.0 +offset_top = 35.0 +offset_right = -183.0 +offset_bottom = 35.0 +rotation = 0.0120591 + +[node name="card" type="Area2D" parent="Control/Ancor2"] +script = ExtResource("2_l4ogr") +text = "card" +picked_random = null +metadata/_custom_type_script = "uid://2loic2eeec5b" + +[node name="Ancor3" type="Control" parent="Control"] +layout_mode = 2 +anchors_preset = 0 +offset_left = 153.0 +offset_top = 22.0 +offset_right = 153.0 +offset_bottom = 22.0 +rotation = -0.0139755 + +[node name="card" type="Area2D" parent="Control/Ancor3"] +script = ExtResource("2_l4ogr") +text = "card" +picked_random = null +metadata/_custom_type_script = "uid://2loic2eeec5b" + +[node name="Ancor4" type="Control" parent="Control"] +layout_mode = 2 +anchors_preset = 0 +offset_left = 495.0 +offset_top = 15.0 +offset_right = 495.0 +offset_bottom = 15.0 +rotation = 0.0245775 + +[node name="card" type="Area2D" parent="Control/Ancor4"] +script = ExtResource("2_l4ogr") +text = "card" +picked_random = null +metadata/_custom_type_script = "uid://2loic2eeec5b" + +[node name="Button" type="Button" parent="Control"] +layout_mode = 1 +anchors_preset = 5 +anchor_left = 0.5 +anchor_right = 0.5 +offset_left = -127.0 +offset_top = 220.0 +offset_right = 127.0 +offset_bottom = 267.0 +grow_horizontal = 2 +text = "Keep all thoughts" + +[node name="CursorCandle" parent="." instance=ExtResource("3_l4ogr")]