streamer_mode; index 页面多存档功能
This commit is contained in:
parent
f15e955dec
commit
aff4d53e76
@ -39,8 +39,9 @@
|
|||||||
~ c03_s04_打麻将游戏2
|
~ c03_s04_打麻将游戏2
|
||||||
瞎子: 碰。
|
瞎子: 碰。
|
||||||
胖子: 自从那三楼的婆娘出了名以后,我这手气就臭得不行...怕不是让人给“借运”了?
|
胖子: 自从那三楼的婆娘出了名以后,我这手气就臭得不行...怕不是让人给“借运”了?
|
||||||
癞子: 还真不好说。
|
癞子: 还真不好说。运气这玩意玄乎得很。
|
||||||
癞子: 运气这玩意玄乎得很,我以前走南闯北的时候,见过一个会使邪门功夫的老爷子,说是能“借”人家的命来延长自己的寿命...
|
癞子: 我以前走南闯北的时候,见过一个会使邪门功夫的老爷子。
|
||||||
|
癞子: 说是能“借”人家的命来延长自己的寿命...
|
||||||
胖子: 听着怪瘆人的。
|
胖子: 听着怪瘆人的。
|
||||||
瞎子: 人外有人,天外有天。
|
瞎子: 人外有人,天外有天。
|
||||||
瞎子: 天外还有什么...咱们这些闲杂人等也说了不算。
|
瞎子: 天外还有什么...咱们这些闲杂人等也说了不算。
|
||||||
|
@ -19,6 +19,7 @@ setting_全屏,全屏游戏,,,,,Fullscreen
|
|||||||
setting_置顶,窗口置顶,,,,,Always on Top
|
setting_置顶,窗口置顶,,,,,Always on Top
|
||||||
setting_自动保存,自动保存,,,,,Auto Save
|
setting_自动保存,自动保存,,,,,Auto Save
|
||||||
ui_秒,秒,,,,,seconds
|
ui_秒,秒,,,,,seconds
|
||||||
|
setting_主播模式,主播模式,,,,,Streamer Mode
|
||||||
setting_返回,返回,,,,,Back
|
setting_返回,返回,,,,,Back
|
||||||
bag_tab_笔记,线索,,,,,Clues
|
bag_tab_笔记,线索,,,,,Clues
|
||||||
bag_tab_物品,物件,,,,,Items
|
bag_tab_物品,物件,,,,,Items
|
||||||
@ -41,7 +42,7 @@ ui_press_shift,按住 Shift 奔跑,,,,,Hold Shift to run
|
|||||||
ui_boxcat_press_s,按住 S 躲藏,,,,,Hold S to hide
|
ui_boxcat_press_s,按住 S 躲藏,,,,,Hold S to hide
|
||||||
input_拼凑信件,点击选择信件碎片,方向键移动,E 旋碎片转,Q 退出,,,,,"Click to select letter fragments, arrow keys to move, E to rotate, Q to exit"
|
input_拼凑信件,点击选择信件碎片,方向键移动,E 旋碎片转,Q 退出,,,,,"Click to select letter fragments, arrow keys to move, E to rotate, Q to exit"
|
||||||
input_书架游戏,点击书本可选中或交换,Q 退出,,,,,"Click books to select or swap, Q to exit"
|
input_书架游戏,点击书本可选中或交换,Q 退出,,,,,"Click books to select or swap, Q to exit"
|
||||||
input_麻将游戏_麻将不足,还缺一块麻将(幺鸡),,,,,
|
input_麻将游戏_麻将不足,还缺一块麻将,,,,,
|
||||||
input_麻将游戏_操作规则,依次点击两块麻将可进行交换,,,,,
|
input_麻将游戏_操作规则,依次点击两块麻将可进行交换,,,,,
|
||||||
ui_获得道具,获得道具,,,,,Item Obtained
|
ui_获得道具,获得道具,,,,,Item Obtained
|
||||||
ui_获得重要物品,重要物品,,,,,Important Item
|
ui_获得重要物品,重要物品,,,,,Important Item
|
||||||
|
|
@ -21,6 +21,7 @@
|
|||||||
窗口置顶[ID:setting_置顶]
|
窗口置顶[ID:setting_置顶]
|
||||||
自动保存[ID:setting_自动保存]
|
自动保存[ID:setting_自动保存]
|
||||||
秒 [ID:ui_秒]
|
秒 [ID:ui_秒]
|
||||||
|
主播模式[ID:setting_主播模式]
|
||||||
返回[ID:setting_返回]
|
返回[ID:setting_返回]
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
class_name GlobalConfig extends Resource
|
class_name GlobalConfig extends Resource
|
||||||
|
|
||||||
|
signal streamer_mode_updated
|
||||||
|
|
||||||
#const DEBUG = true
|
#const DEBUG = true
|
||||||
static var DEBUG = false
|
static var DEBUG = false
|
||||||
# 影响事件的 release_stage # 0demo 1release
|
# 影响事件的 release_stage # 0demo 1release
|
||||||
const RELEASE_STAGE := 0
|
const RELEASE_STAGE := 0
|
||||||
|
|
||||||
|
|
||||||
# 与 Editor 编辑器有 Debugger 连接
|
# 与 Editor 编辑器有 Debugger 连接
|
||||||
# static var EDITOR = false
|
# static var EDITOR = false
|
||||||
|
|
||||||
@ -90,3 +91,9 @@ signal auto_save_seconds_changed
|
|||||||
# 最大范围为 10 秒,精度 0.1
|
# 最大范围为 10 秒,精度 0.1
|
||||||
@export var os_wait_time := 3.0
|
@export var os_wait_time := 3.0
|
||||||
@export var os_auto_end := true
|
@export var os_auto_end := true
|
||||||
|
# 绿色/主播模式
|
||||||
|
@export var streamer_mode := false:
|
||||||
|
set(val):
|
||||||
|
if streamer_mode != val:
|
||||||
|
streamer_mode = val
|
||||||
|
streamer_mode_updated.emit()
|
||||||
|
11
scene/entity/general_sprite2d.gd
Normal file
11
scene/entity/general_sprite2d.gd
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
extends Node
|
||||||
|
|
||||||
|
|
||||||
|
# Called when the node enters the scene tree for the first time.
|
||||||
|
func _ready() -> void:
|
||||||
|
pass # Replace with function body.
|
||||||
|
|
||||||
|
|
||||||
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
|
func _process(delta: float) -> void:
|
||||||
|
pass
|
1
scene/entity/general_sprite2d.gd.uid
Normal file
1
scene/entity/general_sprite2d.gd.uid
Normal file
@ -0,0 +1 @@
|
|||||||
|
uid://dt8cfnm2og4h
|
@ -118,7 +118,7 @@ packed_scene = ExtResource("11_jg8g0")
|
|||||||
first_interact_os_key = "c02_海报_剪辫子侦探"
|
first_interact_os_key = "c02_海报_剪辫子侦探"
|
||||||
|
|
||||||
[node name="青岛啤酒" parent="Ground/DeployLayer" index="7" instance=ExtResource("12_0fckv")]
|
[node name="青岛啤酒" parent="Ground/DeployLayer" index="7" instance=ExtResource("12_0fckv")]
|
||||||
position = Vector2(253, -31)
|
position = Vector2(255, -31)
|
||||||
enabled = false
|
enabled = false
|
||||||
texture_cover = ExtResource("16_vqhm5")
|
texture_cover = ExtResource("16_vqhm5")
|
||||||
content_key = "c02_青岛啤酒"
|
content_key = "c02_青岛啤酒"
|
||||||
|
6
scene/ground/scene/c02/盒子猫画特写.gd
Normal file
6
scene/ground/scene/c02/盒子猫画特写.gd
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
extends CanvasLayer
|
||||||
|
|
||||||
|
signal exit(arg)
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME
|
1
scene/ground/scene/c02/盒子猫画特写.gd.uid
Normal file
1
scene/ground/scene/c02/盒子猫画特写.gd.uid
Normal file
@ -0,0 +1 @@
|
|||||||
|
uid://c8qy6xorxe42h
|
@ -39,6 +39,10 @@ target_portal = "1"
|
|||||||
[node name="portal_right" parent="Ground/DeployLayer" index="1"]
|
[node name="portal_right" parent="Ground/DeployLayer" index="1"]
|
||||||
position = Vector2(873, 15)
|
position = Vector2(873, 15)
|
||||||
|
|
||||||
|
[node name="悬挂物" type="Node2D" parent="Ground/DeployLayer" index="2"]
|
||||||
|
|
||||||
|
[node name="Sprite2D" type="Sprite2D" parent="Ground/DeployLayer/悬挂物"]
|
||||||
|
|
||||||
[node name="MainPlayer" parent="Ground" index="5"]
|
[node name="MainPlayer" parent="Ground" index="5"]
|
||||||
position = Vector2(63, 95)
|
position = Vector2(63, 95)
|
||||||
catty_light_energy = 0.5
|
catty_light_energy = 0.5
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
[gd_scene load_steps=7 format=3 uid="uid://bixdbbyhroepi"]
|
[gd_scene load_steps=8 format=3 uid="uid://bixdbbyhroepi"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_fusj3"]
|
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_fusj3"]
|
||||||
[ext_resource type="Script" path="res://scene/ground/scene/c03/s08_囚室.gd" id="2_fusj3"]
|
[ext_resource type="Script" path="res://scene/ground/scene/c03/s08_囚室.gd" id="2_fusj3"]
|
||||||
[ext_resource type="Script" uid="uid://cpejxlfni6n52" path="res://manager/audio_manager/vibe_sfx.gd" id="3_jua84"]
|
[ext_resource type="Script" uid="uid://cpejxlfni6n52" path="res://manager/audio_manager/vibe_sfx.gd" id="3_jua84"]
|
||||||
[ext_resource type="Texture2D" uid="uid://c53e7kxlfj8kw" path="res://asset/art/scene/c03/s08_囚室/bg_囚室背景.png" id="4_fusj3"]
|
[ext_resource type="Texture2D" uid="uid://c53e7kxlfj8kw" path="res://asset/art/scene/c03/s08_囚室/bg_囚室背景.png" id="4_fusj3"]
|
||||||
[ext_resource type="Texture2D" uid="uid://dfsqs13fm7urb" path="res://asset/art/scene/c03/s08_囚室/fg_囚室前景.png" id="5_i2s3v"]
|
[ext_resource type="Texture2D" uid="uid://dfsqs13fm7urb" path="res://asset/art/scene/c03/s08_囚室/fg_囚室前景.png" id="5_i2s3v"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://dqkxiqbq83cmq" path="res://scene/entity/closeup.tscn" id="5_jua84"]
|
||||||
|
|
||||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"]
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k01ve"]
|
||||||
|
|
||||||
@ -40,6 +41,9 @@ target_portal = "1"
|
|||||||
[node name="portal_right" parent="Ground/DeployLayer" index="1"]
|
[node name="portal_right" parent="Ground/DeployLayer" index="1"]
|
||||||
position = Vector2(533, 26)
|
position = Vector2(533, 26)
|
||||||
|
|
||||||
|
[node name="Closeup墙洞" parent="Ground/DeployLayer" index="2" instance=ExtResource("5_jua84")]
|
||||||
|
position = Vector2(274, -5)
|
||||||
|
|
||||||
[node name="MainPlayer" parent="Ground" index="5"]
|
[node name="MainPlayer" parent="Ground" index="5"]
|
||||||
position = Vector2(63, 95)
|
position = Vector2(63, 95)
|
||||||
catty_light_energy = 0.5
|
catty_light_energy = 0.5
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
[gd_scene load_steps=6 format=3 uid="uid://dd8dfoik0ig3y"]
|
[gd_scene load_steps=6 format=3 uid="uid://dd8dfoik0ig3y"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://dnrql1t0j6v8i" path="res://scene/entity/closeup_template.gd" id="1_jgyts"]
|
[ext_resource type="Script" uid="uid://c8qy6xorxe42h" path="res://scene/ground/scene/c02/盒子猫画特写.gd" id="1_4p6cc"]
|
||||||
[ext_resource type="Texture2D" uid="uid://d1seskftkw08q" path="res://asset/art/scene/c02/s08_瞎子卧室/ux_盒子猫初次特写.png" id="2_jo6o1"]
|
[ext_resource type="Texture2D" uid="uid://d1seskftkw08q" path="res://asset/art/scene/c02/s08_瞎子卧室/ux_盒子猫初次特写.png" id="2_jo6o1"]
|
||||||
[ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/遮罩/inspect特写通用遮罩.png" id="3_myoho"]
|
[ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/遮罩/inspect特写通用遮罩.png" id="3_myoho"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dmysq4sxx8iqh" path="res://scene/entity/ux/content_inspector.tscn" id="4_4p6cc"]
|
[ext_resource type="PackedScene" uid="uid://dmysq4sxx8iqh" path="res://scene/entity/ux/content_inspector.tscn" id="4_4p6cc"]
|
||||||
[ext_resource type="Texture2D" uid="uid://f186lvt5y2ql" path="res://asset/art/ui/遮罩/inspect背景遮罩.png" id="5_i34yq"]
|
[ext_resource type="Texture2D" uid="uid://f186lvt5y2ql" path="res://asset/art/ui/遮罩/inspect背景遮罩.png" id="5_i34yq"]
|
||||||
|
|
||||||
[node name="s08_画特写" type="CanvasLayer"]
|
[node name="s08_画特写" type="CanvasLayer"]
|
||||||
script = ExtResource("1_jgyts")
|
script = ExtResource("1_4p6cc")
|
||||||
|
|
||||||
[node name="TextureRect" type="TextureRect" parent="."]
|
[node name="TextureRect" type="TextureRect" parent="."]
|
||||||
offset_right = 40.0
|
offset_right = 40.0
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
[gd_scene load_steps=8 format=3 uid="uid://cxv7vdgwb8lqb"]
|
[gd_scene load_steps=8 format=3 uid="uid://cxv7vdgwb8lqb"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://dnrql1t0j6v8i" path="res://scene/entity/closeup_template.gd" id="1_2sinf"]
|
[ext_resource type="Script" uid="uid://c8qy6xorxe42h" path="res://scene/ground/scene/c02/盒子猫画特写.gd" id="1_tja8r"]
|
||||||
[ext_resource type="Texture2D" uid="uid://k6164drvkbg8" path="res://asset/art/scene/c02/s08_瞎子卧室/ux_盒子猫结束特写.png" id="2_qrck0"]
|
[ext_resource type="Texture2D" uid="uid://k6164drvkbg8" path="res://asset/art/scene/c02/s08_瞎子卧室/ux_盒子猫结束特写.png" id="2_qrck0"]
|
||||||
[ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/遮罩/inspect特写通用遮罩.png" id="3_7dv3t"]
|
[ext_resource type="Texture2D" uid="uid://cbql1i4hblmt1" path="res://asset/art/ui/遮罩/inspect特写通用遮罩.png" id="3_7dv3t"]
|
||||||
[ext_resource type="Texture2D" uid="uid://tcjm158n8hnw" path="res://asset/art/scene/c02/s12_to_s17_盒子猫/小脚脚印.png" id="4_tja8r"]
|
[ext_resource type="Texture2D" uid="uid://tcjm158n8hnw" path="res://asset/art/scene/c02/s12_to_s17_盒子猫/小脚脚印.png" id="4_tja8r"]
|
||||||
@ -9,7 +9,7 @@
|
|||||||
[ext_resource type="Texture2D" uid="uid://f186lvt5y2ql" path="res://asset/art/ui/遮罩/inspect背景遮罩.png" id="7_tja8r"]
|
[ext_resource type="Texture2D" uid="uid://f186lvt5y2ql" path="res://asset/art/ui/遮罩/inspect背景遮罩.png" id="7_tja8r"]
|
||||||
|
|
||||||
[node name="s08_盒子猫初次特写" type="CanvasLayer"]
|
[node name="s08_盒子猫初次特写" type="CanvasLayer"]
|
||||||
script = ExtResource("1_2sinf")
|
script = ExtResource("1_tja8r")
|
||||||
|
|
||||||
[node name="TextureRect" type="TextureRect" parent="."]
|
[node name="TextureRect" type="TextureRect" parent="."]
|
||||||
offset_right = 40.0
|
offset_right = 40.0
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
[gd_scene load_steps=11 format=3 uid="uid://c4ycvdsabi7lw"]
|
[gd_scene load_steps=12 format=3 uid="uid://c4ycvdsabi7lw"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://b4rw4hk7ns4m8" path="res://scene/index_page.gd" id="1_c7y7r"]
|
[ext_resource type="Script" uid="uid://b4rw4hk7ns4m8" path="res://scene/index/index_page.gd" id="1_c7y7r"]
|
||||||
[ext_resource type="Texture2D" uid="uid://bcc0bk34l5gbc" path="res://asset/art/ui/index/菜单背景.png" id="1_jxn4k"]
|
[ext_resource type="Texture2D" uid="uid://bcc0bk34l5gbc" path="res://asset/art/ui/index/菜单背景.png" id="1_jxn4k"]
|
||||||
[ext_resource type="AudioStream" uid="uid://cvttds81trcoc" path="res://asset/audio/sfx/UI/click.wav" id="2_te6ya"]
|
[ext_resource type="AudioStream" uid="uid://cvttds81trcoc" path="res://asset/audio/sfx/UI/click.wav" id="2_te6ya"]
|
||||||
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="3_5oc6i"]
|
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/audio/sfx.gd" id="3_5oc6i"]
|
||||||
[ext_resource type="Script" uid="uid://bbg4vopj4apl6" path="res://scene/entity/audio/bgm_control.gd" id="4_5oc6i"]
|
[ext_resource type="Script" uid="uid://bbg4vopj4apl6" path="res://scene/entity/audio/bgm_control.gd" id="4_5oc6i"]
|
||||||
[ext_resource type="AudioStream" uid="uid://b3b4a6nm8557i" path="res://asset/audio/专用/衔蝶_主菜单music剪辑人声版.wav" id="5_5oc6i"]
|
[ext_resource type="AudioStream" uid="uid://b3b4a6nm8557i" path="res://asset/audio/专用/衔蝶_主菜单music剪辑人声版.wav" id="5_5oc6i"]
|
||||||
|
[ext_resource type="Script" uid="uid://c63lrar71o17d" path="res://scene/index/启动入口.gd" id="7_1sxgt"]
|
||||||
|
|
||||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_gu56a"]
|
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_gu56a"]
|
||||||
content_margin_top = 4.0
|
content_margin_top = 4.0
|
||||||
@ -147,3 +148,28 @@ grow_horizontal = 2
|
|||||||
grow_vertical = 2
|
grow_vertical = 2
|
||||||
mouse_filter = 2
|
mouse_filter = 2
|
||||||
color = Color(0, 0, 0, 1)
|
color = Color(0, 0, 0, 1)
|
||||||
|
|
||||||
|
[node name="启动入口" type="VBoxContainer" parent="."]
|
||||||
|
layout_mode = 0
|
||||||
|
offset_left = 305.0
|
||||||
|
offset_top = 114.0
|
||||||
|
offset_right = 345.0
|
||||||
|
offset_bottom = 154.0
|
||||||
|
script = ExtResource("7_1sxgt")
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="启动入口"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "【仅测试版本启用】"
|
||||||
|
|
||||||
|
[node name="Chapter1" type="Button" parent="启动入口"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "从第一章开始新游戏"
|
||||||
|
|
||||||
|
[node name="Chapter2" type="Button" parent="启动入口"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "从第二章开始新游戏"
|
||||||
|
|
||||||
|
[node name="Chapter3" type="Button" parent="启动入口"]
|
||||||
|
visible = false
|
||||||
|
layout_mode = 2
|
||||||
|
text = "从第三章开始新游戏"
|
24
scene/index/启动入口.gd
Normal file
24
scene/index/启动入口.gd
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
extends VBoxContainer
|
||||||
|
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
if not GlobalConfig.DEBUG:
|
||||||
|
queue_free()
|
||||||
|
return
|
||||||
|
$Chapter1.pressed.connect(_start_game.bind(1))
|
||||||
|
|
||||||
|
|
||||||
|
func _start_game(chapter: int) -> void:
|
||||||
|
$"../SfxClick".global_play()
|
||||||
|
var archive_res:AssembledArchive
|
||||||
|
if chapter == 1:
|
||||||
|
archive_res = load("uid://x2yr8b2ul5al")
|
||||||
|
elif chapter == 2:
|
||||||
|
archive_res = load("uid://b45y2iffjdieg")
|
||||||
|
archive_res = archive_res.duplicate(true)
|
||||||
|
ArchiveManager.create_and_use_new_archive(1)
|
||||||
|
archive_res.take_over_path(ArchiveManager.archive.resource_path)
|
||||||
|
ArchiveManager.archive = archive_res
|
||||||
|
# new game 时音量渐隐
|
||||||
|
$"../BgmControl".stop(0.5)
|
||||||
|
SceneManager.enter_main_scene()
|
1
scene/index/启动入口.gd.uid
Normal file
1
scene/index/启动入口.gd.uid
Normal file
@ -0,0 +1 @@
|
|||||||
|
uid://c63lrar71o17d
|
37
scene/index/第一章.tres
Normal file
37
scene/index/第一章.tres
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
[gd_resource type="Resource" script_class="AssembledArchive" load_steps=5 format=3 uid="uid://x2yr8b2ul5al"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://b63jgb1ag242f" path="res://manager/archive_manager/ground_archive.gd" id="1_na6rk"]
|
||||||
|
[ext_resource type="Script" uid="uid://cay6xv3x51phl" path="res://scene/ux/prop_inventory_resource.gd" id="2_uc52y"]
|
||||||
|
[ext_resource type="Script" uid="uid://cusw17h37oc0g" path="res://manager/archive_manager/assembled_archive.gd" id="3_sr6ce"]
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_6q3u4"]
|
||||||
|
script = ExtResource("2_uc52y")
|
||||||
|
owner = ""
|
||||||
|
current_index = 0
|
||||||
|
important_items = Array[String]([])
|
||||||
|
unviewed_important_items = Array[String]([])
|
||||||
|
default_enabled_items = Array[String]([])
|
||||||
|
xdie_enabled_items = Array[String]([])
|
||||||
|
xxdie_enabled_items = Array[String]([])
|
||||||
|
xxxdie_enabled_items = Array[String]([])
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("3_sr6ce")
|
||||||
|
version = 5
|
||||||
|
archive_id = 1
|
||||||
|
entrance_portal = &"left"
|
||||||
|
current_scene = &"c02_s01"
|
||||||
|
player_global_position_x = -100.0
|
||||||
|
player_direction = Vector2(0, 0)
|
||||||
|
game_seconds = 0
|
||||||
|
created_time = "2025-07-11 01:22:58"
|
||||||
|
event_stage = Dictionary[StringName, int]({})
|
||||||
|
global_data_dict = Dictionary[StringName, Variant]({})
|
||||||
|
ground_archives = Dictionary[StringName, ExtResource("1_na6rk")]({})
|
||||||
|
npc_anonymous_states = Dictionary[StringName, bool]({})
|
||||||
|
player_running_locked = false
|
||||||
|
prop_inventory = SubResource("Resource_6q3u4")
|
||||||
|
mem_display_dict = Dictionary[int, bool]({})
|
||||||
|
bayinhe_current_answer = [0, 0, 0, 0, 0, 0, 0, 0, 0]
|
||||||
|
bayinhe_mode = "closed"
|
||||||
|
metadata/_custom_type_script = "uid://cusw17h37oc0g"
|
37
scene/index/第二章.tres
Normal file
37
scene/index/第二章.tres
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
[gd_resource type="Resource" script_class="AssembledArchive" load_steps=5 format=3 uid="uid://b45y2iffjdieg"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://b63jgb1ag242f" path="res://manager/archive_manager/ground_archive.gd" id="1_6q3u4"]
|
||||||
|
[ext_resource type="Script" uid="uid://cay6xv3x51phl" path="res://scene/ux/prop_inventory_resource.gd" id="2_sql7f"]
|
||||||
|
[ext_resource type="Script" uid="uid://cusw17h37oc0g" path="res://manager/archive_manager/assembled_archive.gd" id="3_qjj7j"]
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_6q3u4"]
|
||||||
|
script = ExtResource("2_sql7f")
|
||||||
|
owner = ""
|
||||||
|
current_index = 0
|
||||||
|
important_items = Array[String]([])
|
||||||
|
unviewed_important_items = Array[String]([])
|
||||||
|
default_enabled_items = Array[String]([])
|
||||||
|
xdie_enabled_items = Array[String]([])
|
||||||
|
xxdie_enabled_items = Array[String]([])
|
||||||
|
xxxdie_enabled_items = Array[String]([])
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("3_qjj7j")
|
||||||
|
version = 5
|
||||||
|
archive_id = 1
|
||||||
|
entrance_portal = &"left"
|
||||||
|
current_scene = &"c02_s01"
|
||||||
|
player_global_position_x = -100.0
|
||||||
|
player_direction = Vector2(0, 0)
|
||||||
|
game_seconds = 0
|
||||||
|
created_time = "2025-07-11 01:22:58"
|
||||||
|
event_stage = Dictionary[StringName, int]({})
|
||||||
|
global_data_dict = Dictionary[StringName, Variant]({})
|
||||||
|
ground_archives = Dictionary[StringName, ExtResource("1_6q3u4")]({})
|
||||||
|
npc_anonymous_states = Dictionary[StringName, bool]({})
|
||||||
|
player_running_locked = false
|
||||||
|
prop_inventory = SubResource("Resource_6q3u4")
|
||||||
|
mem_display_dict = Dictionary[int, bool]({})
|
||||||
|
bayinhe_current_answer = [0, 0, 0, 0, 0, 0, 0, 0, 0]
|
||||||
|
bayinhe_mode = "closed"
|
||||||
|
metadata/_custom_type_script = "uid://cusw17h37oc0g"
|
@ -64,19 +64,19 @@ func _ready() -> void:
|
|||||||
box_closed.picked.connect(_on_box_picked)
|
box_closed.picked.connect(_on_box_picked)
|
||||||
drawer_btn.picked.connect(_on_drawer_picked)
|
drawer_btn.picked.connect(_on_drawer_picked)
|
||||||
|
|
||||||
if ArchiveManager.get_global_value(&"c02_musicbox_pic_taken"):
|
if ArchiveManager.get_global_value(&"c02_musicbox_taken_prop_撕下的照片上"):
|
||||||
pic.queue_free()
|
pic.queue_free()
|
||||||
if ArchiveManager.get_global_value(&"c02_musicbox_danzhu_taken"):
|
if ArchiveManager.get_global_value(&"c02_musicbox_taken_prop_弹珠"):
|
||||||
danzhu.queue_free()
|
danzhu.queue_free()
|
||||||
if ArchiveManager.get_global_value(&"c02_musicbox_xiaomao_taken"):
|
if ArchiveManager.get_global_value(&"c02_musicbox_taken_prop_无头小猫玩具"):
|
||||||
xiaomao.queue_free()
|
xiaomao.queue_free()
|
||||||
if ArchiveManager.get_global_value(&"c02_musicbox_xiaochan_taken"):
|
if ArchiveManager.get_global_value(&"c02_musicbox_taken_prop_木头人偶"):
|
||||||
xiaochan.queue_free()
|
xiaochan.queue_free()
|
||||||
|
|
||||||
pic.picked.connect(_on_prop_picked.bind("pic"))
|
pic.picked.connect(_on_prop_picked.bind("prop_撕下的照片上"))
|
||||||
danzhu.picked.connect(_on_prop_picked.bind("danzhu"))
|
danzhu.picked.connect(_on_prop_picked.bind("prop_弹珠"))
|
||||||
xiaomao.picked.connect(_on_prop_picked.bind("xiaomao"))
|
xiaomao.picked.connect(_on_prop_picked.bind("prop_无头小猫玩具"))
|
||||||
xiaochan.picked.connect(_on_prop_picked.bind("xiaochan"))
|
xiaochan.picked.connect(_on_prop_picked.bind("prop_木头人偶"))
|
||||||
|
|
||||||
d1.picked.connect(_on_picked)
|
d1.picked.connect(_on_picked)
|
||||||
d1.dropped.connect(_on_dropped)
|
d1.dropped.connect(_on_dropped)
|
||||||
@ -128,9 +128,8 @@ func _on_drawer_picked(_node):
|
|||||||
create_tween().tween_property(box_drawer, "modulate:a", 1.0, 0.5)
|
create_tween().tween_property(box_drawer, "modulate:a", 1.0, 0.5)
|
||||||
|
|
||||||
|
|
||||||
func _on_prop_picked(node: Draggable2D, archive_key: String):
|
func _on_prop_picked(node: Draggable2D, prop_key: String):
|
||||||
node.freezing = true
|
node.freezing = true
|
||||||
var key = node.item_name
|
|
||||||
# var tween = create_tween()
|
# var tween = create_tween()
|
||||||
# # 撕下来的 fade out
|
# # 撕下来的 fade out
|
||||||
# tween.tween_property(node, "modulate:a", 0.0, 1.0)
|
# tween.tween_property(node, "modulate:a", 0.0, 1.0)
|
||||||
@ -138,10 +137,10 @@ func _on_prop_picked(node: Draggable2D, archive_key: String):
|
|||||||
# tween.tween_interval(0.5)
|
# tween.tween_interval(0.5)
|
||||||
# await tween.finished
|
# await tween.finished
|
||||||
node.queue_free()
|
node.queue_free()
|
||||||
SceneManager.enable_prop_item(key)
|
SceneManager.enable_prop_item(prop_key)
|
||||||
if key == "prop_无头小猫玩具":
|
if prop_key == "prop_无头小猫玩具":
|
||||||
_on_pick_catty()
|
_on_pick_catty()
|
||||||
ArchiveManager.set_global_entry(&"c02_musicbox_" + archive_key + "_taken", true)
|
ArchiveManager.set_global_entry(&"c02_musicbox_taken_" + prop_key, true)
|
||||||
|
|
||||||
|
|
||||||
func _on_picked(node: Draggable2D):
|
func _on_picked(node: Draggable2D):
|
||||||
|
@ -18,6 +18,7 @@ const dialog_db_offset := -10.0
|
|||||||
@onready var autosave_time_edit = %SaveTimeLineEdit as LineEdit
|
@onready var autosave_time_edit = %SaveTimeLineEdit as LineEdit
|
||||||
@onready var fullscreen_box = %FullscreenBox as CheckBox
|
@onready var fullscreen_box = %FullscreenBox as CheckBox
|
||||||
@onready var top_box = %TopBox as CheckBox
|
@onready var top_box = %TopBox as CheckBox
|
||||||
|
@onready var streamer_box = %StreamerBox as CheckBox
|
||||||
@onready var return_btn = %ReturnBtn as Button
|
@onready var return_btn = %ReturnBtn as Button
|
||||||
|
|
||||||
|
|
||||||
@ -88,7 +89,10 @@ func _ready():
|
|||||||
top_box.button_pressed = GlobalConfigManager.config.window_top
|
top_box.button_pressed = GlobalConfigManager.config.window_top
|
||||||
fullscreen_box.toggled.connect(_on_fullscreen_box_toggled)
|
fullscreen_box.toggled.connect(_on_fullscreen_box_toggled)
|
||||||
top_box.toggled.connect(_on_top_box_toggled)
|
top_box.toggled.connect(_on_top_box_toggled)
|
||||||
# navigation
|
# streamer mode
|
||||||
|
streamer_box.button_pressed = GlobalConfigManager.config.streamer_mode
|
||||||
|
streamer_box.toggled.connect(_on_streamer_box_toggled)
|
||||||
|
# return
|
||||||
return_btn.pressed.connect(_on_return_btn_pressed)
|
return_btn.pressed.connect(_on_return_btn_pressed)
|
||||||
return_btn.grab_focus()
|
return_btn.grab_focus()
|
||||||
SceneManager.toggle_pause_counter(true)
|
SceneManager.toggle_pause_counter(true)
|
||||||
@ -179,6 +183,10 @@ func _on_top_box_toggled(is_pressed: bool) -> void:
|
|||||||
GlobalConfigManager.config.window_top = is_pressed
|
GlobalConfigManager.config.window_top = is_pressed
|
||||||
|
|
||||||
|
|
||||||
|
func _on_streamer_box_toggled(is_pressed: bool) -> void:
|
||||||
|
GlobalConfigManager.config.streamer_mode = is_pressed
|
||||||
|
|
||||||
|
|
||||||
func _on_return_btn_pressed() -> void:
|
func _on_return_btn_pressed() -> void:
|
||||||
exit_settings()
|
exit_settings()
|
||||||
|
|
||||||
|
@ -293,17 +293,30 @@ layout_mode = 2
|
|||||||
size_flags_horizontal = 10
|
size_flags_horizontal = 10
|
||||||
focus_neighbor_left = NodePath("../FullscreenBox")
|
focus_neighbor_left = NodePath("../FullscreenBox")
|
||||||
focus_neighbor_top = NodePath("../../自动保存/SaveTimeLineEdit")
|
focus_neighbor_top = NodePath("../../自动保存/SaveTimeLineEdit")
|
||||||
focus_neighbor_bottom = NodePath("../../ReturnBtn")
|
focus_neighbor_bottom = NodePath("../../HBoxContainer/ReturnBtn")
|
||||||
focus_previous = NodePath("../FullscreenBox")
|
focus_previous = NodePath("../FullscreenBox")
|
||||||
text = "setting_置顶"
|
text = "setting_置顶"
|
||||||
|
|
||||||
[node name="ReturnBtn" type="Button" parent="MarginContainer/VBoxContainer"]
|
[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="StreamerBox" type="CheckBox" parent="MarginContainer/VBoxContainer/HBoxContainer"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 10
|
||||||
|
focus_neighbor_left = NodePath("../../显示方式/FullscreenBox")
|
||||||
|
focus_neighbor_top = NodePath("../../自动保存/SaveTimeLineEdit")
|
||||||
|
focus_neighbor_bottom = NodePath("../ReturnBtn")
|
||||||
|
focus_previous = NodePath("../../显示方式/FullscreenBox")
|
||||||
|
text = "setting_主播模式"
|
||||||
|
|
||||||
|
[node name="ReturnBtn" type="Button" parent="MarginContainer/VBoxContainer/HBoxContainer"]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 6
|
size_flags_horizontal = 6
|
||||||
size_flags_vertical = 4
|
size_flags_vertical = 4
|
||||||
focus_neighbor_top = NodePath("../显示方式/TopBox")
|
focus_neighbor_top = NodePath("../../显示方式/TopBox")
|
||||||
focus_previous = NodePath("../显示方式/TopBox")
|
focus_previous = NodePath("../../显示方式/TopBox")
|
||||||
theme_override_fonts/font = ExtResource("6_n2b1f")
|
theme_override_fonts/font = ExtResource("6_n2b1f")
|
||||||
theme_override_font_sizes/font_size = 11
|
theme_override_font_sizes/font_size = 11
|
||||||
text = "setting_返回"
|
text = "setting_返回"
|
||||||
|
@ -4,7 +4,7 @@ extends Control
|
|||||||
@onready var mask = $"遮罩"
|
@onready var mask = $"遮罩"
|
||||||
@onready var earplug_notice = $"耳机提示"
|
@onready var earplug_notice = $"耳机提示"
|
||||||
|
|
||||||
var packed_index_page := preload("res://scene/index_page.tscn")
|
var packed_index_page := preload("uid://c4ycvdsabi7lw")
|
||||||
|
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
|
Loading…
Reference in New Issue
Block a user