diff --git a/asset/art/gif/c02_八音盒/抽屉动画/0.png b/asset/art/gif/c02_八音盒/抽屉动画/0.png index e20e005a..1f2ec46b 100644 Binary files a/asset/art/gif/c02_八音盒/抽屉动画/0.png and b/asset/art/gif/c02_八音盒/抽屉动画/0.png differ diff --git a/asset/art/gif/c02_八音盒/抽屉动画/1.png b/asset/art/gif/c02_八音盒/抽屉动画/1.png index f56636a8..575354df 100644 Binary files a/asset/art/gif/c02_八音盒/抽屉动画/1.png and b/asset/art/gif/c02_八音盒/抽屉动画/1.png differ diff --git a/asset/art/gif/c02_八音盒/抽屉动画/2.png b/asset/art/gif/c02_八音盒/抽屉动画/2.png index b8d06baa..bfc95af7 100644 Binary files a/asset/art/gif/c02_八音盒/抽屉动画/2.png and b/asset/art/gif/c02_八音盒/抽屉动画/2.png differ diff --git a/scene/little_game/general/draggable.gd b/scene/little_game/general/draggable.gd index 49679e68..1a85e2c9 100644 --- a/scene/little_game/general/draggable.gd +++ b/scene/little_game/general/draggable.gd @@ -46,14 +46,9 @@ var touching := false static var current_focusing_node: Draggable2D = null static var pending_enter_callables: Array[Callable] = [] -# 缓存常量 -const OUTLINE_THICKNESS := 1.0 -const OUTLINE_TWEEN_DURATION := 0.2 -const BUTTON_ALPHA_DURATION := 0.15 - # 缓存变量 -var _outline_tween: Tween -var _button_tween: Tween +var _highlight_tween: Tween +var _lights: Array[PointLight2D] = [] func _ready() -> void: @@ -61,9 +56,12 @@ func _ready() -> void: sprite.offset = sprite_offset if Engine.is_editor_hint(): return - # 初始化隐藏白边 - sprite.material.set_shader_parameter("thickness", 0.0) - + + # add lights + _travarse_add_light(self) + # 初始化熄灭 + _toggle_draggable_highlight(false) + # 安全检查 if has_signal("mouse_entered"): mouse_entered.connect(_on_mouse_entered) @@ -72,6 +70,13 @@ func _ready() -> void: printerr("Draggable2D: mouse_entered or mouse_exited signal not found.") +func _travarse_add_light(node: Node) -> void: + if node is PointLight2D: + _lights.append(node) + for c in node.get_children(): + _travarse_add_light(c) + + func is_focused() -> bool: return current_focusing_node == self @@ -82,15 +87,15 @@ func _on_mouse_entered() -> bool: return false if holding or is_focused(): return true - + # 尝试获得 current_focusing_node if current_focusing_node: if not pending_enter_callables.has(_on_mouse_entered): pending_enter_callables.append(_on_mouse_entered) return false - + current_focusing_node = self - _toggle_outline(true) + _toggle_draggable_highlight(true) return true @@ -99,13 +104,12 @@ func _on_mouse_exited() -> void: pending_enter_callables.erase(_on_mouse_entered) # freezing 不影响 mouse exited if is_focused() and not holding: + _toggle_draggable_highlight(false) current_focusing_node = null while pending_enter_callables.size() > 0: var c = pending_enter_callables.pop_front() if c.call(): break - _toggle_outline(false) - func _input(event: InputEvent) -> void: @@ -133,18 +137,13 @@ func _try_pick() -> void: if act_as_button: # 作为按钮,发送 picked 信号 picked.emit(self) - if _button_tween and _button_tween.is_running(): - _button_tween.kill() - _button_tween = create_tween() - _button_tween.tween_property(sprite.material, "shader_parameter/alpha_ratio", 1.0, BUTTON_ALPHA_DURATION) return - + if not is_focused(): return - + # reset rotation rotation = 0 - _toggle_outline(false) holding = true # z_index += 1 picked.emit(self) @@ -152,8 +151,6 @@ func _try_pick() -> void: func _drop() -> void: - if touching: - _toggle_outline(true) if holding: holding = false if not touching: @@ -165,18 +162,20 @@ func _drop() -> void: break # z_index -= 1 dropped.emit(self) + if not touching: + _toggle_draggable_highlight(false) -func _toggle_outline(display: bool) -> void: +func _toggle_draggable_highlight(display: bool) -> void: # 避免重复创建 tween - if _outline_tween and _outline_tween.is_running(): - _outline_tween.kill() - - _outline_tween = create_tween() - var target_thickness := OUTLINE_THICKNESS if display else 0.0 - _outline_tween.tween_property( - sprite.material, "shader_parameter/thickness", target_thickness, OUTLINE_TWEEN_DURATION - ) + if _highlight_tween and _highlight_tween.is_running(): + _highlight_tween.kill() + + if _lights.is_empty(): + printerr("Draggable2D: No lights found to toggle highlight.") + return + for l in _lights: + l.enabled = display func _exit_tree() -> void: @@ -192,7 +191,7 @@ func force_hold() -> void: return if not is_focused() and current_focusing_node: current_focusing_node._drop() - _toggle_outline(false) + _toggle_draggable_highlight(true) current_focusing_node = self holding = true - picked.emit(self) \ No newline at end of file + picked.emit(self) diff --git a/scene/little_game/general/draggable.tscn b/scene/little_game/general/draggable.tscn index a0962073..4a663239 100644 --- a/scene/little_game/general/draggable.tscn +++ b/scene/little_game/general/draggable.tscn @@ -1,26 +1,8 @@ -[gd_scene load_steps=7 format=3 uid="uid://bg7oictr1wgex"] +[gd_scene load_steps=3 format=3 uid="uid://bg7oictr1wgex"] [ext_resource type="Script" uid="uid://f217t2lytw84" path="res://scene/little_game/general/draggable.gd" id="1_txku8"] -[ext_resource type="Shader" uid="uid://cgy5ujo5afab2" path="res://asset/shader/outline.gdshader" id="2_pq7cf"] [ext_resource type="Texture2D" uid="uid://di0gqyxa0c3eg" path="res://asset/art/little_game/八音盒/新版贴图/小婵玩偶.png" id="3_de4ll"] -[sub_resource type="Gradient" id="Gradient_h88gi"] -colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0) - -[sub_resource type="GradientTexture1D" id="GradientTexture1D_pe1ot"] -gradient = SubResource("Gradient_h88gi") - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_pe1ot"] -resource_local_to_scene = true -shader = ExtResource("2_pq7cf") -shader_parameter/color = SubResource("GradientTexture1D_pe1ot") -shader_parameter/alpha_ratio = 1.0 -shader_parameter/gradientResolution = 10 -shader_parameter/thickness = 1.0 -shader_parameter/tolerance = 0.0 -shader_parameter/diagonals = true -shader_parameter/rounded = true - [node name="Draggable2D" type="Area2D"] script = ExtResource("1_txku8") texture = ExtResource("3_de4ll") @@ -28,5 +10,4 @@ texture = ExtResource("3_de4ll") [node name="Sprite2D" type="Sprite2D" parent="."] unique_name_in_owner = true y_sort_enabled = true -material = SubResource("ShaderMaterial_pe1ot") texture = ExtResource("3_de4ll") diff --git a/scene/little_game/八音盒/八音盒.gd b/scene/little_game/八音盒/八音盒.gd index 9e58c179..4a7869e9 100644 --- a/scene/little_game/八音盒/八音盒.gd +++ b/scene/little_game/八音盒/八音盒.gd @@ -94,12 +94,8 @@ func _ready() -> void: _chechout_stage(stage, false) -func _toggle_side_handle_outline(display: bool): - var tween = create_tween() - if display: - tween.tween_property(side_handle.material, "shader_parameter/thickness", 1.0, 0.2) - else: - tween.tween_property(side_handle.material, "shader_parameter/thickness", 0.0, 0.2) +func _toggle_side_handle_hightlight(display: bool): + side_handle.get_node("PointLight2D").enabled = display func _on_box_picked(_node): @@ -309,7 +305,7 @@ func _chechout_stage(s: int, play_sfx := true) -> void: sfx_open_lid.play() 4: box_closed.visible = true - _toggle_side_handle_outline(display_handle_outline) + _toggle_side_handle_hightlight(display_handle_outline) func _settle_plug_positions(): diff --git a/scene/little_game/八音盒/八音盒.tscn b/scene/little_game/八音盒/八音盒.tscn index 6ef01bc0..4878ca37 100644 --- a/scene/little_game/八音盒/八音盒.tscn +++ b/scene/little_game/八音盒/八音盒.tscn @@ -1,11 +1,10 @@ -[gd_scene load_steps=47 format=3 uid="uid://beleib3mmu0af"] +[gd_scene load_steps=45 format=3 uid="uid://beleib3mmu0af"] [ext_resource type="Texture2D" uid="uid://2xbl572hv2qf" path="res://asset/art/little_game/八音盒/背景.png" id="1_j0wst"] [ext_resource type="Script" uid="uid://bian8ga7cet8k" path="res://scene/little_game/八音盒/八音盒.gd" id="2_opptd"] [ext_resource type="Texture2D" uid="uid://daxg4b7lu1ep6" path="res://asset/art/little_game/八音盒/插销动画/插销-1.png" id="3_etora"] [ext_resource type="Texture2D" uid="uid://cik6ro8nowsd3" path="res://asset/art/little_game/八音盒/插销动画/插销-2.png" id="4_ubbcw"] [ext_resource type="AudioStream" uid="uid://duxo1jopqqf0q" path="res://asset/audio/sfx/交互/序章/04_书店内_移动书本.ogg" id="4_ytjup"] -[ext_resource type="Shader" uid="uid://cgy5ujo5afab2" path="res://asset/shader/outline.gdshader" id="5_dtoml"] [ext_resource type="AudioStream" uid="uid://gxoubqjqpuks" path="res://asset/audio/sfx/交互/序章/04_书店内_点击书本.ogg" id="5_m5jrq"] [ext_resource type="Texture2D" uid="uid://bslr2p2dgymxm" path="res://asset/art/little_game/八音盒/插销动画/插销-3.png" id="5_mxndl"] [ext_resource type="Texture2D" uid="uid://bp8o30lfc7xrx" path="res://asset/art/little_game/八音盒/插销动画/插销-4.png" id="6_2lerk"] @@ -65,22 +64,6 @@ _data = { &"handle_animation": SubResource("Animation_j415e") } -[sub_resource type="Gradient" id="Gradient_cbhp3"] -colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0) - -[sub_resource type="GradientTexture1D" id="GradientTexture1D_28n4a"] -gradient = SubResource("Gradient_cbhp3") - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_ljgfp"] -shader = ExtResource("5_dtoml") -shader_parameter/color = SubResource("GradientTexture1D_28n4a") -shader_parameter/alpha_ratio = 1.0 -shader_parameter/gradientResolution = 10 -shader_parameter/thickness = 1.0 -shader_parameter/tolerance = 0.0 -shader_parameter/diagonals = true -shader_parameter/rounded = true - [sub_resource type="SpriteFrames" id="SpriteFrames_t7gu7"] animations = [{ "frames": [{ @@ -116,6 +99,15 @@ animations = [{ "speed": 5.0 }] +[sub_resource type="Gradient" id="Gradient_wq2wm"] +offsets = PackedFloat32Array(1) +colors = PackedColorArray(1, 1, 1, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_sg8mt"] +gradient = SubResource("Gradient_wq2wm") +width = 128 +height = 128 + [sub_resource type="RectangleShape2D" id="RectangleShape2D_cbhp3"] resource_local_to_scene = true size = Vector2(290, 60) @@ -180,13 +172,19 @@ offset_bottom = 188.0 [node name="SideHandle" type="AnimatedSprite2D" parent="All"] show_behind_parent = true -material = SubResource("ShaderMaterial_ljgfp") +light_mask = 513 position = Vector2(-6.5, 40) sprite_frames = SubResource("SpriteFrames_t7gu7") centered = false +[node name="PointLight2D" type="PointLight2D" parent="All/SideHandle"] +position = Vector2(469.5, 141) +energy = 1.5 +range_layer_max = 10 +range_item_cull_mask = 512 +texture = SubResource("GradientTexture2D_sg8mt") + [node name="ClosedBox" parent="All" instance=ExtResource("16_h88gi")] -visible = false position = Vector2(277, 194.5) act_as_button = true item_name = "盒子" @@ -198,7 +196,14 @@ limit_rect = Rect2(150, 150, 220, 70) position = Vector2(2.99999, -33.5) polygon = PackedVector2Array(123, -48, -102, -48, -102, -45.8, -104.8, -43, -106.3, -43, -147.3, 42, -149.3, 42, -139, 110.3, -139, 112.5, -135, 119.4, -135, 120, 155.1, 120, 157.4, 114, 158.7, 114, 167.7, 55, 169, 55, 169, 43.5, 123, -45.6) +[node name="PointLight2D" type="PointLight2D" parent="All/ClosedBox"] +position = Vector2(3, -35) +energy = 1.5 +range_layer_max = 10 +texture = ExtResource("22_rdaqv") + [node name="OpenedBox" type="Sprite2D" parent="All"] +visible = false position = Vector2(-48, 38) texture = ExtResource("16_dtoml") centered = false @@ -216,10 +221,22 @@ sprite_offset = Vector2(3, -35) texture = ExtResource("17_gm7pw") limit_rect = Rect2(150, 150, 220, 70) +[node name="Sprite2D" parent="All/OpenedBox/Panel/Draggable2D1" index="0"] +light_mask = 3 +texture = ExtResource("17_gm7pw") +offset = Vector2(3, -35) + [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="All/OpenedBox/Panel/Draggable2D1"] position = Vector2(3.20175, -33.5559) polygon = PackedVector2Array(2.5, -45.5, -8.5, -45.5, -9.3, -44.5, -11.9, -44.5, -9.5, -31.1, -9.5, -30.4, -15.2, -25.5, -17.1, -25.5, -18.5, -19.2, -18.5, -3.9, -14.5, -0.700001, -13.5, 33.3, -14.5, 34.8, -14.5, 41.7, -7.7, 45.5, 4.3, 45.5, 6.3, 43.5, 8.1, 43.5, 9.5, 37.7, 9.5, 35.7, 5.8, 32, 6.3, 31.5, 8.7, 31.5, 7.5, 16.5, 7.5, -5.5, 13.8, -5.5, 18.5, -15.9, 18.5, -26.8, 16.2, -27.8, 9.5, -22.5, 9.5, -20.5, 8.6, -20.5, 3.1, -28.8, 6.5, -38.1, 6.5, -42.5) +[node name="PointLight2D" type="PointLight2D" parent="All/OpenedBox/Panel/Draggable2D1"] +position = Vector2(3.20175, -33.5559) +energy = 0.7 +range_layer_max = 10 +range_item_cull_mask = 2 +texture = SubResource("GradientTexture2D_sg8mt") + [node name="Draggable2D2" parent="All/OpenedBox/Panel" instance=ExtResource("16_h88gi")] position = Vector2(286.5, 197) rotation = 1.58777 @@ -228,10 +245,22 @@ sprite_offset = Vector2(1, -34) texture = ExtResource("18_8vbnc") limit_rect = Rect2(150, 150, 220, 70) +[node name="Sprite2D" parent="All/OpenedBox/Panel/Draggable2D2" index="0"] +light_mask = 5 +texture = ExtResource("18_8vbnc") +offset = Vector2(1, -34) + [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="All/OpenedBox/Panel/Draggable2D2"] position = Vector2(1.42264, -34.029) polygon = PackedVector2Array(11.5, -41.9, 2, -45.5, -5.5, -45.5, -9.4, -40.5, -12.1, -40.5, -10.5, -34.5, -10.5, -31.5, -6, -27.9, -10.3, -23.5, -12.3, -23.5, -12.5, -21.9, -12.5, -7.8, -10.9, -3.5, -12.5, 9.4, -12.5, 29.3, -9.5, 32.3, -12.5, 34.4, -12.5, 41.7, -5.7, 45.5, 6.3, 45.5, 8.3, 43.5, 10.1, 43.5, 11.5, 37.7, 11.5, 35.7, 8, 32.2, 10.2, 30.5, 12.5, 30.5, 12.5, 28.1, 8.5, -2.5, 8.5, -3.6, 12.2, -6.5, 12.5, -19.6, 5.4, -29.3, 11.5, -37.9) +[node name="PointLight2D" type="PointLight2D" parent="All/OpenedBox/Panel/Draggable2D2"] +position = Vector2(0.439749, -33.0122) +energy = 0.7 +range_layer_max = 10 +range_item_cull_mask = 4 +texture = SubResource("GradientTexture2D_sg8mt") + [node name="Draggable2D3" parent="All/OpenedBox/Panel" instance=ExtResource("16_h88gi")] position = Vector2(354, 169) rotation = -1.26607 @@ -240,10 +269,23 @@ sprite_offset = Vector2(1, -23) texture = ExtResource("19_858bj") limit_rect = Rect2(150, 150, 220, 70) +[node name="Sprite2D" parent="All/OpenedBox/Panel/Draggable2D3" index="0"] +light_mask = 9 +texture = ExtResource("19_858bj") +offset = Vector2(1, -23) + [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="All/OpenedBox/Panel/Draggable2D3"] +light_mask = 9 position = Vector2(1.18075, -22.9097) polygon = PackedVector2Array(9.5, -23.1, 4.6, -26.3, 2.5, -25.2, 2.5, -24, -6.6, -24, -8.6, -21, -10.5, -21, -10.5, -18.8, -9.5, -15, -9.5, -8.9, -6.5, -6.9, -10.5, -2.8, -10.5, 16, -7.4, 18.3, -10, 20, -10.5, 29.5, -8.5, 31, -8.5, 32, 6.3, 32, 8.3, 30, 10.5, 30, 10.5, 27.6, 7, 17.3, 8.6, 15, 10.5, 15, 10.5, 13, 7.2, -9, 9.5, -20.8) +[node name="PointLight2D" type="PointLight2D" parent="All/OpenedBox/Panel/Draggable2D3"] +position = Vector2(0.439749, -33.0122) +energy = 0.7 +range_layer_max = 10 +range_item_cull_mask = 8 +texture = SubResource("GradientTexture2D_sg8mt") + [node name="Draggable2D4" parent="All/OpenedBox/Panel" instance=ExtResource("16_h88gi")] position = Vector2(310, 173) rotation = -1.14307 @@ -251,10 +293,21 @@ item_name = "蝉" sprite_offset = Vector2(-4, -23) limit_rect = Rect2(150, 150, 220, 70) +[node name="Sprite2D" parent="All/OpenedBox/Panel/Draggable2D4" index="0"] +light_mask = 17 +offset = Vector2(-4, -23) + [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="All/OpenedBox/Panel/Draggable2D4"] position = Vector2(-4.7032, -24.7816) polygon = PackedVector2Array(12, -29.6, -2.9, -33, -5, -33, -5, -31.3, -7, -30.2, -7, -25.3, -1.3, -17.7, -15, -5.9, -15, -3.2, -11.8, 0, -7.3, 0, -3.9, -2.8, -5, 1.8, -5, 6.7, -1, 12, -1, 17.9, -5.7, 21, -8, 21, -8, 29, -4, 32, -4, 33, 10.8, 33, 12.8, 31, 14.6, 31, 16, 25.2, 16, 22.8, 9, 18.8, 9, 15.8, 9.8, 15, 11.8, 15, 12.8, 7, 14.9, 7, 11, -3.5, 11, -8.4, 16, -17.5, 16, -27.3, 15.5, -29, 12, -29) +[node name="PointLight2D" type="PointLight2D" parent="All/OpenedBox/Panel/Draggable2D4"] +position = Vector2(0.439749, -33.0122) +energy = 0.7 +range_layer_max = 10 +range_item_cull_mask = 16 +texture = SubResource("GradientTexture2D_sg8mt") + [node name="Marker2D1" type="Marker2D" parent="All/OpenedBox/Panel"] position = Vector2(198, 178) @@ -284,6 +337,10 @@ limit_rect = Rect2(150, 150, 220, 70) position = Vector2(-12, 9) shape = SubResource("RectangleShape2D_cbhp3") +[node name="PointLight2D" type="PointLight2D" parent="All/BrokenBox/Draggable抽屉"] +range_layer_max = 10 +texture = ExtResource("28_b3w8p") + [node name="Draggable照片" parent="All" instance=ExtResource("16_h88gi")] position = Vector2(241, 71) act_as_button = true @@ -295,6 +352,11 @@ limit_rect = Rect2(150, 150, 220, 70) position = Vector2(6.4373e-06, -9.53674e-07) polygon = PackedVector2Array(31.5, -37.5, 29.7, -38, 18.4, -38, -19.7, -28.9, -26, -32, -30.7, -32, -32.5, -28.4, -32.5, -23.2, -24.5, -15.2, -24.5, -9.6, -20.5, -8.3, -20.5, 4.5, -17.7, 10, -14.5, 30.3, -14.5, 32, -10.5, 35, -10.5, 37, 3.3, 37, 4.5, 26.1, 6.2, 25, 9.3, 25, 7.5, 19.6, 10.6, 14, 13.1, 14, 10.5, 4, 10.5, 3.2, 21, -2, 23.6, -2, 31.6, -14, 32.5, -14, 32.5, -22.4, 31.5, -28.3) +[node name="PointLight2D" type="PointLight2D" parent="All/Draggable照片"] +energy = 0.7 +range_layer_max = 10 +texture = ExtResource("19_cbhp3") + [node name="Drawer" type="Node2D" parent="All"] visible = false position = Vector2(20.5, 0) @@ -315,6 +377,10 @@ limit_rect = Rect2(150, 150, 220, 70) position = Vector2(1, 7.62939e-06) shape = SubResource("CircleShape2D_wq2wm") +[node name="PointLight2D" type="PointLight2D" parent="All/Drawer/Draggable1"] +range_layer_max = 10 +texture = ExtResource("30_tgpfj") + [node name="Draggable2" parent="All/Drawer" instance=ExtResource("16_h88gi")] position = Vector2(249.5, 143) rotation = -0.254158 @@ -326,6 +392,10 @@ limit_rect = Rect2(150, 150, 220, 70) [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="All/Drawer/Draggable2"] polygon = PackedVector2Array(5.5, -37.9, 3, -36.8, 3, -35.8, 1, -34.7, 1, -30.5, 2.2, -29.6, 1.2, -28.1, -4.2, -33.5, -6.8, -33.5, -10, -30.3, -10, -27.5, -12.7, -25.5, -14.2, -25.5, -15, -31.5, -15, -35.5, -24.3, -31.5, -26.3, -31.5, -27.4, -29, -24, -25.7, -24, -23.3, -24.8, -22.5, -26.6, -22.5, -27.5, -18.8, -35, -26.3, -35, -28.5, -43.8, -28.5, -52.8, -19.5, -54.7, -19.5, -56.7, -7.5, -58.1, -7.5, -57, 10.6, -57, 16.1, -53, 22.1, -53, 24.5, -44, 31.4, -44, 33.5, -31.1, 33.5, -27, 40.1, -27, 42.3, -19, 43.2, -19, 44.5, 10.1, 44.5, 15.5, 35.8, 18.8, 36.5, 22.9, 36.5, 26.8, 43.5, 42.8, 43.5, 45.8, 40.5, 49.1, 40.5, 55.1, 31.5, 57.4, 31.5, 48, -20.9, 48, -22.3, 38, -32.3, 38, -34.5, 28.4, -34.5, 27, -28.7, 27, -25.6, 25.4, -24.6, 23, -26.5, 23, -27.8, 20.5, -28.9, 17.4, -25.9) +[node name="PointLight2D" type="PointLight2D" parent="All/Drawer/Draggable2"] +range_layer_max = 10 +texture = ExtResource("31_wq2wm") + [node name="Draggable3" parent="All/Drawer" instance=ExtResource("16_h88gi")] position = Vector2(368.5, 175) rotation = 0.330288 @@ -338,6 +408,11 @@ limit_rect = Rect2(150, 150, 220, 70) position = Vector2(-1.99999, 0.999999) polygon = PackedVector2Array(-11, -44.2, -11, -42.1, -14, -40.1, -14, -34.4, -9, -26.4, -9, -23.8, -5.6, -22.1, -12, -14.8, -12, -14.2, -27.6, -4, -29.2, -4, -30.3, -1.9, -27.1, 3, -20.5, 3, -8.7, -3.4, -11, 6.8, -11, 11.7, -5, 18.8, -5, 29, -12.7, 35, -15, 35, -15, 43.8, -11, 47.8, -11, 49.3, -2.4, 53, 6.8, 53, 15.7, 45, 18, 45, 18, 36, 13, 32, 13, 30, 8, 30, 8, 25.6, 10, 23, 11.7, 23, 13.7, 12, 15.6, 12, 11.5, -3, 12, -9.9, 12, -15.4, 19, -25, 21, -25, 21, -34.8, 16.8, -39, 13.8, -39, 12, -35.7, 12, -41.8) +[node name="PointLight2D" type="PointLight2D" parent="All/Drawer/Draggable3"] +position = Vector2(0, -1.52588e-05) +range_layer_max = 10 +texture = ExtResource("32_sg8mt") + [node name="BoxAnimation" type="AnimatedSprite2D" parent="All"] visible = false position = Vector2(302.5, 249) @@ -372,3 +447,8 @@ texture = ExtResource("35_wq2wm") position = Vector2(3, -0.98594) range_item_cull_mask = 32 texture = ExtResource("36_sg8mt") + +[editable path="All/OpenedBox/Panel/Draggable2D1"] +[editable path="All/OpenedBox/Panel/Draggable2D2"] +[editable path="All/OpenedBox/Panel/Draggable2D3"] +[editable path="All/OpenedBox/Panel/Draggable2D4"]