Compare commits

...

3 Commits

Author SHA1 Message Date
f2ffcbc15c push_audio.sh +x 2025-06-17 18:27:44 +08:00
240120bb4f 盒子猫优化;push_audio.sh 2025-06-17 18:23:26 +08:00
5c9449c3fa UI 大小写修改 2025-06-17 17:25:21 +08:00
61 changed files with 260 additions and 886 deletions

View File

@ -3,12 +3,12 @@
importer="wav"
type="AudioStreamWAV"
uid="uid://cvttds81trcoc"
path="res://.godot/imported/click.wav-fece59caf7afdef6ce1262bfae59288b.sample"
path="res://.godot/imported/click.wav-731726a10d5ceff2be82fb195e890f40.sample"
[deps]
source_file="res://asset/audio/sfx/ui/click.wav"
dest_files=["res://.godot/imported/click.wav-fece59caf7afdef6ce1262bfae59288b.sample"]
source_file="res://asset/audio/sfx/UI/click.wav"
dest_files=["res://.godot/imported/click.wav-731726a10d5ceff2be82fb195e890f40.sample"]
[params]

View File

@ -3,12 +3,12 @@
importer="wav"
type="AudioStreamWAV"
uid="uid://dutk2d7nilv3m"
path="res://.godot/imported/令牌道具获取.wav-33206e07239048cae2cf27ad65064184.sample"
path="res://.godot/imported/令牌道具获取.wav-fe14bc4935fb1e7b017036074be99152.sample"
[deps]
source_file="res://asset/audio/sfx/ui/令牌道具获取.wav"
dest_files=["res://.godot/imported/令牌道具获取.wav-33206e07239048cae2cf27ad65064184.sample"]
source_file="res://asset/audio/sfx/UI/令牌道具获取.wav"
dest_files=["res://.godot/imported/令牌道具获取.wav-fe14bc4935fb1e7b017036074be99152.sample"]
[params]

View File

@ -3,12 +3,12 @@
importer="mp3"
type="AudioStreamMP3"
uid="uid://bb6xofiqjvid8"
path="res://.godot/imported/关闭报纸.mp3-17d034914805587e4227b91075c9534d.mp3str"
path="res://.godot/imported/关闭报纸.mp3-b983c5e34f979d460e739121ee6427f5.mp3str"
[deps]
source_file="res://asset/audio/sfx/ui/关闭报纸.mp3"
dest_files=["res://.godot/imported/关闭报纸.mp3-17d034914805587e4227b91075c9534d.mp3str"]
source_file="res://asset/audio/sfx/UI/关闭报纸.mp3"
dest_files=["res://.godot/imported/关闭报纸.mp3-b983c5e34f979d460e739121ee6427f5.mp3str"]
[params]

View File

@ -3,12 +3,12 @@
importer="wav"
type="AudioStreamWAV"
uid="uid://dd5ynl8owv317"
path="res://.godot/imported/关闭页面声.wav-e8829358e49cc9704292ae93a5205336.sample"
path="res://.godot/imported/关闭页面声.wav-39474ae1cef70a1dfbffbabd90dc384c.sample"
[deps]
source_file="res://asset/audio/sfx/ui/关闭页面声.wav"
dest_files=["res://.godot/imported/关闭页面声.wav-e8829358e49cc9704292ae93a5205336.sample"]
source_file="res://asset/audio/sfx/UI/关闭页面声.wav"
dest_files=["res://.godot/imported/关闭页面声.wav-39474ae1cef70a1dfbffbabd90dc384c.sample"]
[params]

View File

@ -3,12 +3,12 @@
importer="mp3"
type="AudioStreamMP3"
uid="uid://cvh0udm2uaw5p"
path="res://.godot/imported/场景转换地道.mp3-d743b308bbebe1bba7be164af9361f44.mp3str"
path="res://.godot/imported/场景转换地道.mp3-7432bd4be08563d6cdfc214d87c04445.mp3str"
[deps]
source_file="res://asset/audio/sfx/ui/场景转换地道.mp3"
dest_files=["res://.godot/imported/场景转换地道.mp3-d743b308bbebe1bba7be164af9361f44.mp3str"]
source_file="res://asset/audio/sfx/UI/场景转换地道.mp3"
dest_files=["res://.godot/imported/场景转换地道.mp3-7432bd4be08563d6cdfc214d87c04445.mp3str"]
[params]

View File

@ -3,12 +3,12 @@
importer="wav"
type="AudioStreamWAV"
uid="uid://cjdoiohlrkt8i"
path="res://.godot/imported/寻人启事互动音.wav-53aae125d25f1a46c805e8fea9b6420d.sample"
path="res://.godot/imported/寻人启事互动音.wav-4cb5d371df77925869b0bb5e08f7a501.sample"
[deps]
source_file="res://asset/audio/sfx/ui/寻人启事互动音.wav"
dest_files=["res://.godot/imported/寻人启事互动音.wav-53aae125d25f1a46c805e8fea9b6420d.sample"]
source_file="res://asset/audio/sfx/UI/寻人启事互动音.wav"
dest_files=["res://.godot/imported/寻人启事互动音.wav-4cb5d371df77925869b0bb5e08f7a501.sample"]
[params]

View File

@ -3,12 +3,12 @@
importer="mp3"
type="AudioStreamMP3"
uid="uid://ccng5y2fip6mc"
path="res://.godot/imported/开锁声.mp3-ffc04c5738794964b2a42393901e01ab.mp3str"
path="res://.godot/imported/开锁声.mp3-8b1a3f1bda8a8395b6dbbc0a3efde63a.mp3str"
[deps]
source_file="res://asset/audio/sfx/ui/开锁声.mp3"
dest_files=["res://.godot/imported/开锁声.mp3-ffc04c5738794964b2a42393901e01ab.mp3str"]
source_file="res://asset/audio/sfx/UI/开锁声.mp3"
dest_files=["res://.godot/imported/开锁声.mp3-8b1a3f1bda8a8395b6dbbc0a3efde63a.mp3str"]
[params]

View File

@ -3,12 +3,12 @@
importer="mp3"
type="AudioStreamMP3"
uid="uid://c7k1gohcfiyg3"
path="res://.godot/imported/开门.mp3-1541919d371b40d9717d67d1f8e0e83f.mp3str"
path="res://.godot/imported/开门.mp3-fbf6382226d335593959a0ff624829e0.mp3str"
[deps]
source_file="res://asset/audio/sfx/ui/开门.mp3"
dest_files=["res://.godot/imported/开门.mp3-1541919d371b40d9717d67d1f8e0e83f.mp3str"]
source_file="res://asset/audio/sfx/UI/开门.mp3"
dest_files=["res://.godot/imported/开门.mp3-fbf6382226d335593959a0ff624829e0.mp3str"]
[params]

View File

@ -3,12 +3,12 @@
importer="wav"
type="AudioStreamWAV"
uid="uid://cj04fhm4tj75o"
path="res://.godot/imported/打开笔记放入背包.wav-39290d6277369c1a079d3196eb249084.sample"
path="res://.godot/imported/打开笔记放入背包.wav-a865b55adc30d55debd1989671e396ef.sample"
[deps]
source_file="res://asset/audio/sfx/ui/打开笔记放入背包.wav"
dest_files=["res://.godot/imported/打开笔记放入背包.wav-39290d6277369c1a079d3196eb249084.sample"]
source_file="res://asset/audio/sfx/UI/打开笔记放入背包.wav"
dest_files=["res://.godot/imported/打开笔记放入背包.wav-a865b55adc30d55debd1989671e396ef.sample"]
[params]

View File

@ -3,12 +3,12 @@
importer="mp3"
type="AudioStreamMP3"
uid="uid://bi4hcr04231qr"
path="res://.godot/imported/挂画查看.mp3-ec1fcac87de14e1086b3b725ae92be34.mp3str"
path="res://.godot/imported/挂画查看.mp3-98668161094c5ef0a1b5bb84e6db87b0.mp3str"
[deps]
source_file="res://asset/audio/sfx/ui/挂画查看.mp3"
dest_files=["res://.godot/imported/挂画查看.mp3-ec1fcac87de14e1086b3b725ae92be34.mp3str"]
source_file="res://asset/audio/sfx/UI/挂画查看.mp3"
dest_files=["res://.godot/imported/挂画查看.mp3-98668161094c5ef0a1b5bb84e6db87b0.mp3str"]
[params]

View File

@ -3,12 +3,12 @@
importer="mp3"
type="AudioStreamMP3"
uid="uid://bx3tvdxfrvh5p"
path="res://.godot/imported/收起纸条.mp3-8a1d7f09f057ba6c4d13192606983e3b.mp3str"
path="res://.godot/imported/收起纸条.mp3-1e797f7ca2b63a6ac6ec32618833350a.mp3str"
[deps]
source_file="res://asset/audio/sfx/ui/收起纸条.mp3"
dest_files=["res://.godot/imported/收起纸条.mp3-8a1d7f09f057ba6c4d13192606983e3b.mp3str"]
source_file="res://asset/audio/sfx/UI/收起纸条.mp3"
dest_files=["res://.godot/imported/收起纸条.mp3-1e797f7ca2b63a6ac6ec32618833350a.mp3str"]
[params]

View File

@ -3,12 +3,12 @@
importer="mp3"
type="AudioStreamMP3"
uid="uid://dhshkkhrraejg"
path="res://.godot/imported/查看井水.mp3-02321d24927b36ecf4a1550f4a2060c3.mp3str"
path="res://.godot/imported/查看井水.mp3-84d5b7ac6fd963baa2f77cd4ce3419be.mp3str"
[deps]
source_file="res://asset/audio/sfx/ui/查看井水.mp3"
dest_files=["res://.godot/imported/查看井水.mp3-02321d24927b36ecf4a1550f4a2060c3.mp3str"]
source_file="res://asset/audio/sfx/UI/查看井水.mp3"
dest_files=["res://.godot/imported/查看井水.mp3-84d5b7ac6fd963baa2f77cd4ce3419be.mp3str"]
[params]

View File

@ -3,12 +3,12 @@
importer="mp3"
type="AudioStreamMP3"
uid="uid://xdsg8cxu1url"
path="res://.godot/imported/检查血迹.mp3-fc3ccd00b51173067c42c66f97fd2bac.mp3str"
path="res://.godot/imported/检查血迹.mp3-26f5baeb87b9b8154c05f87749a057fd.mp3str"
[deps]
source_file="res://asset/audio/sfx/ui/检查血迹.mp3"
dest_files=["res://.godot/imported/检查血迹.mp3-fc3ccd00b51173067c42c66f97fd2bac.mp3str"]
source_file="res://asset/audio/sfx/UI/检查血迹.mp3"
dest_files=["res://.godot/imported/检查血迹.mp3-26f5baeb87b9b8154c05f87749a057fd.mp3str"]
[params]

View File

@ -3,12 +3,12 @@
importer="mp3"
type="AudioStreamMP3"
uid="uid://dky3j8lwcy5sk"
path="res://.godot/imported/物品查看.mp3-c3c8385d5db8c0c92fc2d06ac1bd65f3.mp3str"
path="res://.godot/imported/物品查看.mp3-bb531beecb4dda95104f145e304f9102.mp3str"
[deps]
source_file="res://asset/audio/sfx/ui/物品查看.mp3"
dest_files=["res://.godot/imported/物品查看.mp3-c3c8385d5db8c0c92fc2d06ac1bd65f3.mp3str"]
source_file="res://asset/audio/sfx/UI/物品查看.mp3"
dest_files=["res://.godot/imported/物品查看.mp3-bb531beecb4dda95104f145e304f9102.mp3str"]
[params]

View File

@ -3,12 +3,12 @@
importer="wav"
type="AudioStreamWAV"
uid="uid://syl767lox6g6"
path="res://.godot/imported/笔记菜单.wav-1852440201e4578a1631860bca95bb46.sample"
path="res://.godot/imported/笔记菜单.wav-b72b8ed11e28aa98d9ff2576870c5709.sample"
[deps]
source_file="res://asset/audio/sfx/ui/笔记菜单.wav"
dest_files=["res://.godot/imported/笔记菜单.wav-1852440201e4578a1631860bca95bb46.sample"]
source_file="res://asset/audio/sfx/UI/笔记菜单.wav"
dest_files=["res://.godot/imported/笔记菜单.wav-b72b8ed11e28aa98d9ff2576870c5709.sample"]
[params]

View File

@ -3,12 +3,12 @@
importer="mp3"
type="AudioStreamMP3"
uid="uid://btuggs64kaooa"
path="res://.godot/imported/箱子上锁.mp3-69863c384c74a116aa2c1cf67a68f587.mp3str"
path="res://.godot/imported/箱子上锁.mp3-3b73f9fd56de5ad7904ffb59852e708e.mp3str"
[deps]
source_file="res://asset/audio/sfx/ui/箱子上锁.mp3"
dest_files=["res://.godot/imported/箱子上锁.mp3-69863c384c74a116aa2c1cf67a68f587.mp3str"]
source_file="res://asset/audio/sfx/UI/箱子上锁.mp3"
dest_files=["res://.godot/imported/箱子上锁.mp3-3b73f9fd56de5ad7904ffb59852e708e.mp3str"]
[params]

View File

@ -3,12 +3,12 @@
importer="wav"
type="AudioStreamWAV"
uid="uid://c3qonrtdjnmau"
path="res://.godot/imported/纸声.wav-da442690e07f5aa81e3a6002269b7601.sample"
path="res://.godot/imported/纸声.wav-7c925cc968e5a54875c945f58aaecf46.sample"
[deps]
source_file="res://asset/audio/sfx/ui/纸声.wav"
dest_files=["res://.godot/imported/纸声.wav-da442690e07f5aa81e3a6002269b7601.sample"]
source_file="res://asset/audio/sfx/UI/纸声.wav"
dest_files=["res://.godot/imported/纸声.wav-7c925cc968e5a54875c945f58aaecf46.sample"]
[params]

View File

@ -3,12 +3,12 @@
importer="mp3"
type="AudioStreamMP3"
uid="uid://byjcmxy5crce5"
path="res://.godot/imported/纸条.mp3-933b806d9c0fb2aadb44deb0d9f5e40b.mp3str"
path="res://.godot/imported/纸条.mp3-28d951ef862d5285359754cf4cd0975a.mp3str"
[deps]
source_file="res://asset/audio/sfx/ui/纸条.mp3"
dest_files=["res://.godot/imported/纸条.mp3-933b806d9c0fb2aadb44deb0d9f5e40b.mp3str"]
source_file="res://asset/audio/sfx/UI/纸条.mp3"
dest_files=["res://.godot/imported/纸条.mp3-28d951ef862d5285359754cf4cd0975a.mp3str"]
[params]

View File

@ -3,12 +3,12 @@
importer="mp3"
type="AudioStreamMP3"
uid="uid://has5y3j2yyp7"
path="res://.godot/imported/纸条包裹钥匙.mp3-195355e47a5ee8e4c5f8089429999944.mp3str"
path="res://.godot/imported/纸条包裹钥匙.mp3-debca429c4c23ca9c5902869fef2987a.mp3str"
[deps]
source_file="res://asset/audio/sfx/ui/纸条包裹钥匙.mp3"
dest_files=["res://.godot/imported/纸条包裹钥匙.mp3-195355e47a5ee8e4c5f8089429999944.mp3str"]
source_file="res://asset/audio/sfx/UI/纸条包裹钥匙.mp3"
dest_files=["res://.godot/imported/纸条包裹钥匙.mp3-debca429c4c23ca9c5902869fef2987a.mp3str"]
[params]

View File

@ -3,12 +3,12 @@
importer="mp3"
type="AudioStreamMP3"
uid="uid://b1tluocwtb35c"
path="res://.godot/imported/绳子特写.mp3-9fcebee742dac82633117d2a9ec06dca.mp3str"
path="res://.godot/imported/绳子特写.mp3-3fc88fae2800ca37c3f559cfe334f530.mp3str"
[deps]
source_file="res://asset/audio/sfx/ui/绳子特写.mp3"
dest_files=["res://.godot/imported/绳子特写.mp3-9fcebee742dac82633117d2a9ec06dca.mp3str"]
source_file="res://asset/audio/sfx/UI/绳子特写.mp3"
dest_files=["res://.godot/imported/绳子特写.mp3-3fc88fae2800ca37c3f559cfe334f530.mp3str"]
[params]

View File

@ -3,12 +3,12 @@
importer="mp3"
type="AudioStreamMP3"
uid="uid://bw58f3u0dg4q7"
path="res://.godot/imported/老鼠洞互动.mp3-60bc34f04c1809d973f2c377f765a433.mp3str"
path="res://.godot/imported/老鼠洞互动.mp3-7500b206dd38d5121e5104a9249d023c.mp3str"
[deps]
source_file="res://asset/audio/sfx/ui/老鼠洞互动.mp3"
dest_files=["res://.godot/imported/老鼠洞互动.mp3-60bc34f04c1809d973f2c377f765a433.mp3str"]
source_file="res://asset/audio/sfx/UI/老鼠洞互动.mp3"
dest_files=["res://.godot/imported/老鼠洞互动.mp3-7500b206dd38d5121e5104a9249d023c.mp3str"]
[params]

View File

@ -3,12 +3,12 @@
importer="mp3"
type="AudioStreamMP3"
uid="uid://3nfd1t2lllmh"
path="res://.godot/imported/花名册.mp3-c20fd2217e967db19ca99bfccb7d0050.mp3str"
path="res://.godot/imported/花名册.mp3-11e1060bbf0f298778aca61a761dcf3c.mp3str"
[deps]
source_file="res://asset/audio/sfx/ui/花名册.mp3"
dest_files=["res://.godot/imported/花名册.mp3-c20fd2217e967db19ca99bfccb7d0050.mp3str"]
source_file="res://asset/audio/sfx/UI/花名册.mp3"
dest_files=["res://.godot/imported/花名册.mp3-11e1060bbf0f298778aca61a761dcf3c.mp3str"]
[params]

View File

@ -3,12 +3,12 @@
importer="mp3"
type="AudioStreamMP3"
uid="uid://b1aslyewxbej8"
path="res://.godot/imported/钥匙.mp3-ab0bc655d7f30f7818ff4f80a1a890cf.mp3str"
path="res://.godot/imported/钥匙.mp3-be040489ff02eb7116771edd6b0a2a76.mp3str"
[deps]
source_file="res://asset/audio/sfx/ui/钥匙.mp3"
dest_files=["res://.godot/imported/钥匙.mp3-ab0bc655d7f30f7818ff4f80a1a890cf.mp3str"]
source_file="res://asset/audio/sfx/UI/钥匙.mp3"
dest_files=["res://.godot/imported/钥匙.mp3-be040489ff02eb7116771edd6b0a2a76.mp3str"]
[params]

View File

@ -3,12 +3,12 @@
importer="wav"
type="AudioStreamWAV"
uid="uid://dvwiuesd0qi1l"
path="res://.godot/imported/门牌互动音.wav-89bb16feb85616b4eb6daedbcef45149.sample"
path="res://.godot/imported/门牌互动音.wav-03b6036d07ef691b786c968209558be7.sample"
[deps]
source_file="res://asset/audio/sfx/ui/门牌互动音.wav"
dest_files=["res://.godot/imported/门牌互动音.wav-89bb16feb85616b4eb6daedbcef45149.sample"]
source_file="res://asset/audio/sfx/UI/门牌互动音.wav"
dest_files=["res://.godot/imported/门牌互动音.wav-03b6036d07ef691b786c968209558be7.sample"]
[params]

View File

@ -3,12 +3,12 @@
importer="mp3"
type="AudioStreamMP3"
uid="uid://inmdv5gqqius"
path="res://.godot/imported/门锁互动.mp3-ca1a73963d76c3d12435a57893c59ca5.mp3str"
path="res://.godot/imported/门锁互动.mp3-a0a0d0aa033d1297b816798ca4cb24d2.mp3str"
[deps]
source_file="res://asset/audio/sfx/ui/门锁互动.mp3"
dest_files=["res://.godot/imported/门锁互动.mp3-ca1a73963d76c3d12435a57893c59ca5.mp3str"]
source_file="res://asset/audio/sfx/UI/门锁互动.mp3"
dest_files=["res://.godot/imported/门锁互动.mp3-a0a0d0aa033d1297b816798ca4cb24d2.mp3str"]
[params]

View File

@ -3,12 +3,12 @@
importer="wav"
type="AudioStreamWAV"
uid="uid://bqh3at8fbi75s"
path="res://.godot/imported/页面转换声.wav-f5f0e62cae73844ae88c85244aff1edc.sample"
path="res://.godot/imported/页面转换声.wav-627b1b6bb710d2f41f2c9948db562bdc.sample"
[deps]
source_file="res://asset/audio/sfx/ui/页面转换声.wav"
dest_files=["res://.godot/imported/页面转换声.wav-f5f0e62cae73844ae88c85244aff1edc.sample"]
source_file="res://asset/audio/sfx/UI/页面转换声.wav"
dest_files=["res://.godot/imported/页面转换声.wav-627b1b6bb710d2f41f2c9948db562bdc.sample"]
[params]

View File

@ -1,103 +0,0 @@
{
"items": [
{
"event_date": "12/25/2024",
"item_id": "17350940343608",
"log_content": "完善《从策划、资产(美术、音效)到程序的工作流说明》:\n* 三层定义:上层两端(策划+资产)、下层数据、程序中台\n* 五类定义:时间线纲要,实体,场景与部署点,事件与 CG小游戏\n* 工作流六步:定义资产规格,定义部署规格,定义音效规格,生产并组装资产,检阅与意见\n* 关于 UX 理念与分工的说明",
"tags": [
"2@design",
"3@manage_tool"
],
"update_date": "12/25/2024"
},
{
"event_date": "12/24/2024",
"item_id": "17350401808351",
"log_content": "实现自动存档功能:\n* 整合存档资源在 AssembledArchive 下\n* 多存档(隔离) + 单配置(全局)\n* 可配置定时保存\n* 游戏时长记录:存档游戏时长 + 全局游戏时长\n",
"tags": [
"2@code"
],
"update_date": "12/24/2024"
},
{
"event_date": "12/24/2024",
"item_id": "17350028043797",
"log_content": "* 完善消息提示功能\n * 0.5s 浮现,显示 3s0.5s 隐藏(通过调整 alpha 通道实现)\n * 支持堆积消息\n * 如果有堆积的消息,显示 2s而不是 3s",
"tags": [
"2@ui",
"2@code"
],
"update_date": "12/24/2024"
},
{
"event_date": "12/23/2024",
"item_id": "4123576587",
"log_content": "* 完善消息提示功能\n * 0.5s 浮现,显示 3s0.5s 隐藏(通过调整 alpha 通道实现)\n * 支持堆积消息\n * 如果有堆积的消息,显示 2s而不是 3s",
"tags": [
"2@ui",
"2@code"
],
"update_date": "12/24/2024"
},
{
"event_date": "12/22/2024",
"item_id": "876528753689",
"log_content": "* 完成动画导入功能:\n * 自动检测目录下文件,帧排序后,导入到: res://config/animation/player_sprite_frames.tres \n * 文件名 mapping 到动画 animation 名称\n * 取第一帧作动画\n * 镜像动画\n * 网格化检阅",
"tags": [
"2@code",
"3@art_tool",
"2@animation"
],
"update_date": "12/22/2024"
},
{
"event_date": "12/20/2024",
"item_id": "2546254798879",
"log_content": "* 游戏时间戳\n * 全局游戏时长记录\n * 当前存档时间状态:章节进度,游戏时长等\n* 场景管理器:发送消息浮窗\n* 事件系统:\n * 数据格式(四要素):\n * 时间chapter_section时间戳周目状态等\n * 地点场景id坐标\n * 实体实体id状态\n * 实体动作action_id\n * 流程:发送事件流程,消费事件流程\n* 存档:\n * 保存全局配置(如游戏总时长,周目数)\n * 分存档保存当前存档状态:时间、场景、实体\n* 组装实体:\n * 规格配置:进行中\n * 素材填充:进行中",
"tags": [
"2@code",
"2@design"
],
"update_date": "12/22/2024"
},
{
"event_date": "12/19/2024",
"item_id": "52643524662456",
"log_content": "* 角色移动状态机功能:静止/行走/奔跑/躺卧移动/上下爬行\n * 允许锁定移动/锁定奔跑,躺卧移动与上下爬行互斥\n* 规格化调整:\n * UI 规格化物品HUD对话浮窗\n * 场景规格化:层次背景,角色\n* 镜头 Marker :随玩家移动方向轻微偏移,优化视野细节",
"tags": [
"2@design",
"2@code",
"2@animation"
],
"update_date": "12/22/2024"
},
{
"event_date": "12/18/2024",
"item_id": "5423765786358",
"log_content": "确定资源类型,围绕规格化的资源\n基本工作流设计\n完善 HUD 功能",
"tags": [
"2@ui",
"2@design"
],
"update_date": "12/22/2024"
},
{
"event_date": "12/17/2024",
"item_id": "11242354",
"log_content": "加入基础的游戏背景、角色行走功能",
"tags": [
"2@code"
],
"update_date": "12/22/2024"
},
{
"event_date": "12/16/2024",
"item_id": "17343458739570",
"log_content": "新建项目等",
"tags": [
"2@design"
],
"update_date": "12/22/2024"
}
]
}

View File

@ -1,140 +0,0 @@
extends CanvasLayer
class_name ProjectLogPanel
enum TAG_TYPE{VERSION=0,FIX=1,FEATURE=2,TOOL=3}
const TAG_TYPE_COLOR_DICT = {
TAG_TYPE.VERSION: Color.SKY_BLUE,
TAG_TYPE.FIX: Color.RED,
TAG_TYPE.FEATURE: Color.AQUAMARINE,
TAG_TYPE.TOOL: Color.ORCHID
}
const TAG_DICT = {
TAG_TYPE.VERSION:["demo","0.1","1.0"],
TAG_TYPE.FIX:["bugfix","uxfix"],
TAG_TYPE.FEATURE:["code","design","ui","audio","art","animation"],
TAG_TYPE.TOOL:["art_tool","log_tool","manage_tool"],
}
#const LOG_CONFIG_KEY_prefix = "log_panel_json_"
const LOG_DATA_DIR = "res://log/logger/logs/"
var log_files = []
var current_log_file
const IMAGE_DIR = ""
@onready var add_btn := %Add
@onready var save_btn := %Save
@onready var archives_btn := %Archives as MenuButton
@onready var archives_label := %ArchiveLabel as Label
@onready var log_items_container = %LogItemsContainer
const LOG_ITEM_GROUP = "log_item"
const LOG_ITEM_GROUP_MENBER = "log_item[{0}]"
var log_item_scene = preload("res://log/logger/project_log_panel_item.tscn")
var data = {"items":[]} as Dictionary
func _ready():
add_btn.pressed.connect(_on_add)
save_btn.pressed.connect(save_logs)
archives_btn.get_popup().id_pressed.connect(_on_archive_switch)
_load_archives()
_on_archive_switch(log_files.find("v-demo-mountwuwang.json"))
# var quat = Quaternion.from_euler(Vector3(deg_to_rad(10),0,deg_to_rad(10)))
# print(quat)
# quat = quat.normalized()
# print(quat)
# quat = Quaternion(Vector3(1,0,0),deg_to_rad(10)) * Quaternion(Vector3(0,0,1),deg_to_rad(10))
# print(quat)
# quat = quat.normalized()
# print(quat)
func _load_archives():
log_files = DirAccess.get_files_at(LOG_DATA_DIR) as PackedStringArray
if log_files.size() == 0:
printerr("_load_archives no file exists:",LOG_DATA_DIR)
for i in range(0,log_files.size()):
archives_btn.get_popup().add_item(log_files[i],i)
_on_archive_switch(0)
func _load_logs():
var path = _get_curr_path()
if !FileAccess.file_exists(path):
printerr("_load_logs no file exists:",path)
return
var json = ResourceLoader.load(path,"",ResourceLoader.CACHE_MODE_IGNORE)
#print("load data=",json.data)
print("loaded data")
data = json.data
if !data.has("items"):
data["items"] = []
_refresh_items()
func _get_curr_path():
return LOG_DATA_DIR + current_log_file
func _refresh_items():
var items = data["items"] as Array
get_tree().call_group(LOG_ITEM_GROUP, "queue_free")
for i in range(items.size()):
var item_instance = log_item_scene.instantiate() as Control
item_instance.add_to_group(LOG_ITEM_GROUP)
item_instance.add_to_group(LOG_ITEM_GROUP_MENBER.format([]))
item_instance.update.connect(_on_log_item_update.bind(i))
#item_instance.save.connect(_on_log_item_save.bind(i))
item_instance.remove.connect(_on_log_item_remove.bind(i))
log_items_container.add_child(item_instance)
if items[i] is Dictionary:
item_instance.load_item(items[i])
elif items[i] is String:
var item_dict = JSON.parse_string(items[i])
item_instance.load_item(item_dict)
else :
push_error("unknow type items[",i,"]=",items[i])
func save_logs():
var path = _get_curr_path()
if !FileAccess.file_exists(path):
printerr("save_logs no file exists:",path)
return
#print("save logs data=", data)
print("saved logs")
var file := FileAccess.open(path, FileAccess.WRITE_READ) as FileAccess
file.store_string(JSON.stringify(data, "\t"))
file.close()
func _on_log_item_update(item:LogItem.ItemData, index:int):
var json = item.to_json_dict()
print("_on_log_item_update item=", json)
data["items"][index] = json
func _on_log_item_save(item:LogItem.ItemData, index:int):
var json = item.to_json_dict()
print("_on_log_item_save item=", json)
data["items"][index] = json
save_logs()
func _on_log_item_remove(index:int):
(data["items"] as Array).remove_at(index)
save_logs()
# reset index for each item
_refresh_items()
func _on_add():
(data["items"] as Array).push_front({})
save_logs()
# reset index for each item
_refresh_items()
func _on_archive_switch(id:int):
current_log_file = log_files[id]
archives_label.text = log_files[id]
_load_logs()
func _unhandled_input(event):
if event.is_action("save"):
save_logs()

View File

@ -1 +0,0 @@
uid://caasronuiver3

View File

@ -1,119 +0,0 @@
[gd_scene load_steps=4 format=3 uid="uid://b3n06jtdpqy5y"]
[ext_resource type="Script" uid="uid://caasronuiver3" path="res://log/logger/project_log_panel.gd" id="1_2rhk7"]
[ext_resource type="PackedScene" uid="uid://bdy4u3e7rmo7f" path="res://ui/button/sound_button.tscn" id="2_71u5c"]
[ext_resource type="PackedScene" uid="uid://dhvo15vyxpkja" path="res://log/logger/project_log_panel_item.tscn" id="4_1yhgi"]
[node name="ProjectLogPanel" type="CanvasLayer"]
script = ExtResource("1_2rhk7")
[node name="MarginContainer" type="MarginContainer" parent="."]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/margin_left = 8
theme_override_constants/margin_top = 8
theme_override_constants/margin_right = 8
theme_override_constants/margin_bottom = 8
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer"]
layout_mode = 2
[node name="MarginContainer" type="MarginContainer" parent="MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/margin_left = 12
theme_override_constants/margin_top = 6
theme_override_constants/margin_right = 12
theme_override_constants/margin_bottom = 6
[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/VBoxContainer/MarginContainer"]
layout_mode = 2
size_flags_vertical = 4
alignment = 2
[node name="MarginContainer" type="MarginContainer" parent="MarginContainer/VBoxContainer/MarginContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 4
theme_override_constants/margin_left = 12
theme_override_constants/margin_top = 6
theme_override_constants/margin_right = 12
theme_override_constants/margin_bottom = 6
[node name="Title" type="Label" parent="MarginContainer/VBoxContainer/MarginContainer/HBoxContainer/MarginContainer"]
layout_mode = 2
size_flags_horizontal = 4
theme_override_colors/font_color = Color(0.670588, 0.952941, 0.972549, 1)
theme_override_colors/font_shadow_color = Color(0.180392, 0.180392, 0.180392, 1)
theme_override_colors/font_outline_color = Color(0.0156863, 0.258824, 0.341176, 1)
theme_override_constants/shadow_offset_x = 2
theme_override_constants/shadow_offset_y = 2
theme_override_constants/outline_size = 4
theme_override_constants/shadow_outline_size = 12
theme_override_font_sizes/font_size = 24
text = "Project Log"
[node name="Add" parent="MarginContainer/VBoxContainer/MarginContainer/HBoxContainer" instance=ExtResource("2_71u5c")]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 8
size_flags_vertical = 4
text = "Add"
script = null
[node name="Save" parent="MarginContainer/VBoxContainer/MarginContainer/HBoxContainer" instance=ExtResource("2_71u5c")]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 8
size_flags_vertical = 4
text = "Save"
script = null
[node name="Archives" type="MenuButton" parent="MarginContainer/VBoxContainer/MarginContainer/HBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
text = "Archives"
flat = false
[node name="ArchiveLabel" type="Label" parent="MarginContainer/VBoxContainer/MarginContainer/HBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
[node name="MarginContainer2" type="MarginContainer" parent="MarginContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_override_constants/margin_left = 8
theme_override_constants/margin_top = 8
theme_override_constants/margin_right = 8
theme_override_constants/margin_bottom = 8
[node name="ScrollContainer" type="ScrollContainer" parent="MarginContainer/VBoxContainer/MarginContainer2"]
layout_mode = 2
size_flags_vertical = 3
[node name="MarginContainer" type="MarginContainer" parent="MarginContainer/VBoxContainer/MarginContainer2/ScrollContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_override_constants/margin_left = 4
theme_override_constants/margin_top = 4
theme_override_constants/margin_right = 8
theme_override_constants/margin_bottom = 4
[node name="LogItemsContainer" type="VBoxContainer" parent="MarginContainer/VBoxContainer/MarginContainer2/ScrollContainer/MarginContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 0
alignment = 1
[node name="LogItem" parent="MarginContainer/VBoxContainer/MarginContainer2/ScrollContainer/MarginContainer/LogItemsContainer" instance=ExtResource("4_1yhgi")]
visible = false
layout_mode = 2
[node name="LogItem2" parent="MarginContainer/VBoxContainer/MarginContainer2/ScrollContainer/MarginContainer/LogItemsContainer" instance=ExtResource("4_1yhgi")]
visible = false
layout_mode = 2

View File

@ -1,198 +0,0 @@
extends HBoxContainer
class_name LogItem
#signal save(data:ItemData)
signal update(data: ItemData)
signal remove
const TAG_BTN_GROUP_PREFIX = "tag_btn"
@onready var log_content := %LogContent as TextEdit
@onready var event_date := %EventDate as Label
#@onready var update_date := %LogUpdateDate as Label
@onready var tags_container := %TagsContainer as GridContainer
@onready var add_tag_btn := %AddTag as MenuButton
@onready var reload_btn = %Reload
@onready var save_btn = %Save
@onready var delete_btn = %Delete
var original_data := ItemData.new()
var data: ItemData = original_data
class ItemData:
var item_id := _generate_random_id()
var log_content := "":
set(new_val):
if new_val != log_content:
update_date = _get_current_time()
log_content = new_val
var tags := []:
set(new_val):
update_date = _get_current_time()
tags = new_val
var event_date := _get_current_time()
var update_date := _get_current_time()
func _generate_random_id() -> String:
# float time
var timestamp := Time.get_unix_time_from_system()
return str(int(timestamp * 10000 + randi_range(0, 10000)))
func _get_current_time() -> String:
# Returns the current date as a dictionary of keys: year, month, day, and weekday.
var dict = Time.get_date_dict_from_system()
return str(dict["month"]) + "/" + str(dict["day"]) + "/" + str(dict["year"])
func duplicate() -> ItemData:
var item := ItemData.new()
item.item_id = item_id
item.log_content = log_content
item.tags = tags.duplicate()
item.event_date = event_date
item.update_date = update_date
return item
func to_json_dict() -> Dictionary:
# JSON.stringify(self) doesn't work
return {
"item_id": item_id,
"log_content": log_content,
"tags": tags,
"event_date": event_date,
"update_date": update_date,
}
static func parse(data: Dictionary) -> ItemData:
var item := ItemData.new()
if data.has("item_id"):
item.item_id = data["item_id"]
if data.has("tags"):
item.tags = data["tags"]
if data.has("log_content"):
item.log_content = data["log_content"]
if data.has("event_date"):
item.event_date = data["event_date"]
if data.has("update_date"):
item.update_date = data["update_date"]
return item
# {id:{"btn":btn,"key":key,"name":name,"id":id}}
static var tag_btns = {}
static var tag_key_to_id_map = {}
static var tag_shadow_color = Color.html("1b1b1b")
static var tag_shadow_outline_size = 1
# id->key
var current_tags = {}
func _ready():
_load_tag_popup()
reload_btn.pressed.connect(_on_reload_pressed)
#save_btn.pressed.connect(_save_item)
delete_btn.pressed.connect(_remove_signal)
log_content.text_changed.connect(_on_log_content_changed)
call_deferred("_update_signal")
#load_item(original_data)
static func _static_init():
var tag_id := 0
for tag_type in ProjectLogPanel.TAG_TYPE.values():
var tag_color = ProjectLogPanel.TAG_TYPE_COLOR_DICT[tag_type]
for tag in ProjectLogPanel.TAG_DICT[tag_type]:
var tag_btn = Button.new() as Button
tag_btn.add_theme_color_override("font_color", tag_color)
tag_btn.add_theme_color_override("font_shadow_color", tag_shadow_color)
tag_btn.add_theme_constant_override("shadow_outline_size", tag_shadow_outline_size)
tag_btn.text = tag
var tag_key = _get_tag_key(tag_type, tag)
tag_btns[tag_id] = {"btn": tag_btn, "id": tag_id, "name": tag, "key": tag_key}
tag_key_to_id_map[tag_key] = tag_id
tag_id += 1
static func _get_tag_key(tag_type: ProjectLogPanel.TAG_TYPE, tag: String):
return str(tag_type) + "@" + tag
func _load_tag_popup():
var popup = add_tag_btn.get_popup() as PopupMenu
for btn_dict in tag_btns.values():
popup.add_item(btn_dict["name"], btn_dict["id"])
popup.id_pressed.connect(_on_popup_menu_pressed)
func _reload_tag_btns():
var btn_group = TAG_BTN_GROUP_PREFIX + data.item_id
get_tree().call_group(btn_group, "queue_free")
current_tags.clear()
for tag_key in data["tags"]:
if !tag_key_to_id_map.has(tag_key):
push_error("tag_key has been removed!! tag_key=", tag_key)
continue
var tag_id = tag_key_to_id_map[tag_key]
current_tags[tag_id] = tag_key
var btn = (tag_btns[tag_id]["btn"] as Button).duplicate()
btn.pressed.connect(_on_tag_btn_pressed.bind(btn, tag_id))
btn.add_to_group(btn_group)
tags_container.add_child(btn)
func load_item(new_data: Dictionary):
if new_data.keys().size() != 0:
original_data = ItemData.parse(new_data)
_reload_original_data()
func _reload_original_data():
data = original_data.duplicate()
#print("_load_item_data data=", data)
log_content.text = data.log_content
event_date.text = data.event_date
#update_date.text = data["update_date"]
_reload_tag_btns()
func _on_popup_menu_pressed(id: int):
#{"btn":btn,"key":key,"name":name,"id":id}
if !current_tags.has(id):
current_tags[id] = tag_btns[id]["key"]
data.tags = current_tags.values()
_update_signal()
#_save_item()
_reload_tag_btns()
func _on_log_content_changed():
data["log_content"] = log_content.text
_update_signal()
func _on_tag_btn_pressed(btn: Control, id: int):
current_tags.erase(id)
btn.queue_free()
data.tags = current_tags.values()
_update_signal()
#_save_item()
#func _save_item():
#save.emit(data)
func _update_signal():
update.emit(data)
func _remove_signal():
remove.emit()
func _on_reload_pressed():
_reload_original_data()
_update_signal()

View File

@ -1 +0,0 @@
uid://ce45ux1l1xt5k

View File

@ -1,86 +0,0 @@
[gd_scene load_steps=3 format=3 uid="uid://dhvo15vyxpkja"]
[ext_resource type="Script" uid="uid://ce45ux1l1xt5k" path="res://log/logger/project_log_panel_item.gd" id="1_gn7ev"]
[ext_resource type="PackedScene" uid="uid://bdy4u3e7rmo7f" path="res://ui/button/sound_button.tscn" id="2_wb6pu"]
[node name="LogItem" type="HBoxContainer"]
anchors_preset = 14
anchor_top = 0.5
anchor_right = 1.0
anchor_bottom = 0.5
offset_top = -4.0
offset_bottom = 4.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_gn7ev")
[node name="MarginContainer" type="MarginContainer" parent="."]
layout_mode = 2
size_flags_horizontal = 3
[node name="LogContent" type="TextEdit" parent="MarginContainer"]
unique_name_in_owner = true
layout_mode = 2
text = "123"
wrap_mode = 1
scroll_fit_content_height = true
[node name="HBoxContainer" type="HBoxContainer" parent="."]
layout_mode = 2
[node name="TagsContainer" type="GridContainer" parent="HBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
columns = 2
[node name="AddTag" type="MenuButton" parent="HBoxContainer/TagsContainer"]
unique_name_in_owner = true
layout_mode = 2
text = "Tags"
[node name="VBoxContainer2" type="VBoxContainer" parent="."]
layout_mode = 2
[node name="EventDate" type="Label" parent="VBoxContainer2"]
unique_name_in_owner = true
layout_mode = 2
theme_override_colors/font_color = Color(0.929412, 0.929412, 0.929412, 1)
theme_override_colors/font_shadow_color = Color(0.105882, 0.105882, 0.105882, 1)
theme_override_constants/shadow_offset_x = 1
theme_override_constants/shadow_offset_y = 1
theme_override_constants/shadow_outline_size = 4
text = "01/01/24"
[node name="LogUpdateDate" type="Label" parent="VBoxContainer2"]
unique_name_in_owner = true
visible = false
layout_mode = 2
text = "01/01/24"
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer2"]
layout_mode = 2
[node name="Reload" parent="VBoxContainer2/HBoxContainer" instance=ExtResource("2_wb6pu")]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
text = "Reload"
script = null
[node name="Save" parent="VBoxContainer2/HBoxContainer" instance=ExtResource("2_wb6pu")]
unique_name_in_owner = true
visible = false
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
text = "Save"
script = null
[node name="Delete" parent="VBoxContainer2/HBoxContainer" instance=ExtResource("2_wb6pu")]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
text = "Delete"
script = null

106
push_audio.sh Executable file
View File

@ -0,0 +1,106 @@
#!/bin/bash
# ===================================================================
# push_audio.sh
# 仅提交并推送 *.tscn 音效改动到 audio 分支,其它改动会被永久丢弃!
# ===================================================================
# ⚠️ 警告:脚本执行后,非 *.tscn 的本地修改将被
# ⚠️ git reset --hard + git clean -fd
# ⚠️ 彻底删除且无法找回,请确认没有要保留的改动!
# -------------------------------------------------------------------
set -euo pipefail
IFS=$'\n\t'
REMOTE=origin
BRANCH=audio
## -------------------------------------------------------------
color() { printf '\033[%sm%s\033[0m\n' "$1" "$2"; }
info() { color "1;34" "👉 $*"; } # 蓝
warn() { color "1;33" "⚠️ $*"; } # 黄
die() { color "1;31" "$*"; exit 1; } # 红
## -------------------------------------------------------------
# 0. 检测 Git、操作系统、确认危险操作
## -------------------------------------------------------------
command -v git >/dev/null 2>&1 || die "未安装 Git"
git_version=$(git --version | awk '{print $3}')
info "Git 版本:$git_version"
warn "脚本将丢弃所有非 *.tscn 改动5 秒内 Ctrl-C 可取消"
sleep 5
## -------------------------------------------------------------
# 1. 认证检查HTTP/S 及 SSH 两种)
## -------------------------------------------------------------
info "检查 Git 认证状态..."
remote_url=$(git remote get-url "$REMOTE" 2>/dev/null) \
|| die "远程 $REMOTE 不存在,请先 git remote add"
if [[ "$remote_url" =~ ^https?:// ]]; then
if ! git ls-remote "$REMOTE" &>/dev/null; then
die "HTTP(S) 鉴权失败,请先完成登录或配置 token 再执行脚本"
fi
info "HTTP(S) 鉴权通过"
else
# SSH检测是否有可用密钥
if ! ssh -Tq "$(echo "$remote_url" | sed 's#.*@##;s/:.*##')" 2>&1 \
| grep -qi "successfully authenticated"; then
warn "SSH 连接测试结果不确定,若后续 push 失败请检查 SSH key"
fi
fi
## -------------------------------------------------------------
# 2. 切换到 audio 分支
## -------------------------------------------------------------
current_branch=$(git rev-parse --abbrev-ref HEAD)
if [[ "$current_branch" != "$BRANCH" ]]; then
info "切换分支 $current_branch$BRANCH ..."
git switch "$BRANCH" 2>/dev/null || git checkout "$BRANCH" \
|| die "切换失败,请确认分支 $BRANCH 存在"
fi
## -------------------------------------------------------------
# 3. 仅暂存 / 提交 *.tscn 改动
## -------------------------------------------------------------
info "检测 *.tscn 改动..."
# 取消任何已暂存的内容,保持工作区状态不变
git reset --quiet
# 标记并暂存 tscn 文件(包括新增)
git add -u -- '*.tscn' 2>/dev/null || true
git add --intent-to-add -- '*.tscn' 2>/dev/null || true
git add -- '*.tscn' 2>/dev/null || true
if git diff --cached --quiet; then
info "没有需要提交的 tscn 改动"
else
msg="调整音效 dB $(date '+%F %H:%M')"
git commit -m "$msg"
info "已提交:$msg"
fi
## -------------------------------------------------------------
# 4. 丢弃其它改动
## -------------------------------------------------------------
info "丢弃非 *.tscn 的本地改动..."
git reset --hard # 回到 HEAD
git clean -fdq # 删除未跟踪文件/目录
## -------------------------------------------------------------
# 5. 拉取远程最新并 rebase
## -------------------------------------------------------------
info "拉取远程最新并 rebase..."
if ! git pull --rebase "$REMOTE" "$BRANCH"; then
die "rebase 冲突,请手动解决完毕后运行:\n git rebase --continue\n再重新执行脚本"
fi
## -------------------------------------------------------------
# 6. 推送
## -------------------------------------------------------------
info "推送到 $REMOTE/$BRANCH ..."
git push "$REMOTE" "$BRANCH" || die "推送失败,请检查网络/权限"
color "1;32" "✅ tscn 改动已成功推送,其余改动已被抛弃"

View File

@ -1,7 +1,7 @@
[gd_scene load_steps=3 format=3 uid="uid://byj234hen4btr"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="1_ng32y"]
[ext_resource type="AudioStream" uid="uid://cvttds81trcoc" path="res://asset/audio/sfx/ui/click.wav" id="1_xj6dy"]
[ext_resource type="AudioStream" uid="uid://cvttds81trcoc" path="res://asset/audio/sfx/UI/click.wav" id="1_xj6dy"]
[node name="Sfx" type="AudioStreamPlayer"]
stream = ExtResource("1_xj6dy")

View File

@ -1,6 +1,6 @@
[gd_scene load_steps=3 format=3 uid="uid://bq1ngudr2hnkg"]
[ext_resource type="AudioStream" uid="uid://cvttds81trcoc" path="res://asset/audio/sfx/ui/click.wav" id="1_7vcpo"]
[ext_resource type="AudioStream" uid="uid://cvttds81trcoc" path="res://asset/audio/sfx/UI/click.wav" id="1_7vcpo"]
[ext_resource type="Script" uid="uid://wapo47a1oddf" path="res://scene/entity/general/sfx2d.gd" id="1_k1qpr"]
[node name="Sfx2d" type="AudioStreamPlayer2D"]

View File

@ -1,7 +1,7 @@
[gd_scene load_steps=7 format=3 uid="uid://bj4ufua0b0k34"]
[ext_resource type="Script" uid="uid://c5hjtm0kn3ig3" path="res://scene/entity/hd_entity.gd" id="1_fp2a8"]
[ext_resource type="AudioStream" uid="uid://cvttds81trcoc" path="res://asset/audio/sfx/ui/click.wav" id="2_eiqig"]
[ext_resource type="AudioStream" uid="uid://cvttds81trcoc" path="res://asset/audio/sfx/UI/click.wav" id="2_eiqig"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="3_5dpvj"]
[ext_resource type="PackedScene" uid="uid://c4tipnj1cr1j3" path="res://scene/entity/ux/sign.tscn" id="3_jupnr"]
[ext_resource type="Texture2D" uid="uid://bei1s1uucktso" path="res://asset/art/tool/neutral_point_light.webp" id="3_oxpta"]

View File

@ -2,7 +2,7 @@
[ext_resource type="Script" uid="uid://ctd1xlvqdcsg4" path="res://scene/entity/inspectable.gd" id="1_0pc4s"]
[ext_resource type="Texture2D" uid="uid://c0rw25jl762a1" path="res://asset/art/ui/action_mark/UI眼睛.png" id="2_ossmq"]
[ext_resource type="AudioStream" uid="uid://dky3j8lwcy5sk" path="res://asset/audio/sfx/ui/物品查看.mp3" id="3_kilnm"]
[ext_resource type="AudioStream" uid="uid://dky3j8lwcy5sk" path="res://asset/audio/sfx/UI/物品查看.mp3" id="3_kilnm"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="3_p1g2a"]
[ext_resource type="Texture2D" uid="uid://bei1s1uucktso" path="res://asset/art/tool/neutral_point_light.webp" id="3_vbivp"]
[ext_resource type="PackedScene" uid="uid://c4tipnj1cr1j3" path="res://scene/entity/ux/sign.tscn" id="4_1yty8"]

View File

@ -4,9 +4,9 @@
[ext_resource type="Texture2D" uid="uid://dtyg0nugb2tnf" path="res://asset/art/ui/action_mark/UI探索.png" id="2_03eog"]
[ext_resource type="Texture2D" uid="uid://xcmvfp72l061" path="res://asset/art/ui/action_mark/UI锁.png" id="3_4vlyw"]
[ext_resource type="PackedScene" uid="uid://c4tipnj1cr1j3" path="res://scene/entity/ux/sign.tscn" id="3_qsms8"]
[ext_resource type="AudioStream" uid="uid://inmdv5gqqius" path="res://asset/audio/sfx/ui/门锁互动.mp3" id="4_n1rbo"]
[ext_resource type="AudioStream" uid="uid://inmdv5gqqius" path="res://asset/audio/sfx/UI/门锁互动.mp3" id="4_n1rbo"]
[ext_resource type="Texture2D" uid="uid://gui0ubwlwoi0" path="res://asset/art/ui/action_mark/UI手.png" id="4_njk43"]
[ext_resource type="AudioStream" uid="uid://ccng5y2fip6mc" path="res://asset/audio/sfx/ui/开锁声.mp3" id="5_exp6m"]
[ext_resource type="AudioStream" uid="uid://ccng5y2fip6mc" path="res://asset/audio/sfx/UI/开锁声.mp3" id="5_exp6m"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="6_l2kr5"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_8d3b4"]

View File

@ -2,7 +2,7 @@
[ext_resource type="Script" uid="uid://cihyb26hjma4i" path="res://scene/entity/local_inspectable.gd" id="1_85el0"]
[ext_resource type="Texture2D" uid="uid://c0rw25jl762a1" path="res://asset/art/ui/action_mark/UI眼睛.png" id="2_3pauf"]
[ext_resource type="AudioStream" uid="uid://byjcmxy5crce5" path="res://asset/audio/sfx/ui/纸条.mp3" id="3_3ldx7"]
[ext_resource type="AudioStream" uid="uid://byjcmxy5crce5" path="res://asset/audio/sfx/UI/纸条.mp3" id="3_3ldx7"]
[ext_resource type="Texture2D" uid="uid://bei1s1uucktso" path="res://asset/art/tool/neutral_point_light.webp" id="3_o562w"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="3_q18ff"]
[ext_resource type="PackedScene" uid="uid://c4tipnj1cr1j3" path="res://scene/entity/ux/sign.tscn" id="4_do8tr"]

View File

@ -3,7 +3,7 @@
[ext_resource type="Script" uid="uid://clqf6pxusuvoc" path="res://scene/entity/note.gd" id="1_3igk8"]
[ext_resource type="Texture2D" uid="uid://c0rw25jl762a1" path="res://asset/art/ui/action_mark/UI眼睛.png" id="2_ycvi5"]
[ext_resource type="Texture2D" uid="uid://bei1s1uucktso" path="res://asset/art/tool/neutral_point_light.webp" id="3_xb81s"]
[ext_resource type="AudioStream" uid="uid://byjcmxy5crce5" path="res://asset/audio/sfx/ui/纸条.mp3" id="3_y3pwa"]
[ext_resource type="AudioStream" uid="uid://byjcmxy5crce5" path="res://asset/audio/sfx/UI/纸条.mp3" id="3_y3pwa"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="4_ycvi5"]
[ext_resource type="PackedScene" uid="uid://c4tipnj1cr1j3" path="res://scene/entity/ux/sign.tscn" id="5_dhwp5"]

View File

@ -1,7 +1,7 @@
[gd_scene load_steps=15 format=3 uid="uid://0sofmhrl358m"]
[ext_resource type="Script" uid="uid://cqd5dqafxnwl1" path="res://scene/entity/npc.gd" id="1_jegr2"]
[ext_resource type="AudioStream" uid="uid://cvttds81trcoc" path="res://asset/audio/sfx/ui/click.wav" id="3_7lwt5"]
[ext_resource type="AudioStream" uid="uid://cvttds81trcoc" path="res://asset/audio/sfx/UI/click.wav" id="3_7lwt5"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="4_j5svs"]
[ext_resource type="PackedScene" uid="uid://c4tipnj1cr1j3" path="res://scene/entity/ux/sign.tscn" id="4_nokx4"]
[ext_resource type="Texture2D" uid="uid://bwt5nxyncfuqu" path="res://asset/art/ui/action_mark/说话标识1.png" id="5_foitt"]

View File

@ -2,7 +2,7 @@
[ext_resource type="Script" uid="uid://cd3tb2he77vv4" path="res://scene/entity/pickable.gd" id="1_jk1u0"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="3_1h8r3"]
[ext_resource type="AudioStream" uid="uid://dutk2d7nilv3m" path="res://asset/audio/sfx/ui/令牌道具获取.wav" id="3_dxdbj"]
[ext_resource type="AudioStream" uid="uid://dutk2d7nilv3m" path="res://asset/audio/sfx/UI/令牌道具获取.wav" id="3_dxdbj"]
[ext_resource type="PackedScene" uid="uid://c4tipnj1cr1j3" path="res://scene/entity/ux/sign.tscn" id="4_44f4h"]
[ext_resource type="Texture2D" uid="uid://bei1s1uucktso" path="res://asset/art/tool/neutral_point_light.webp" id="5_yhysn"]

View File

@ -6,11 +6,11 @@
[ext_resource type="Texture2D" uid="uid://dtyg0nugb2tnf" path="res://asset/art/ui/action_mark/UI探索.png" id="2_fr7ak"]
[ext_resource type="Texture2D" uid="uid://bc8sn2v4t1yta" path="res://asset/art/ui/action_mark/UI开锁.png" id="3_fr7ak"]
[ext_resource type="PackedScene" uid="uid://c4tipnj1cr1j3" path="res://scene/entity/ux/sign.tscn" id="4_ty1ds"]
[ext_resource type="AudioStream" uid="uid://ccng5y2fip6mc" path="res://asset/audio/sfx/ui/开锁声.mp3" id="5_l48hy"]
[ext_resource type="AudioStream" uid="uid://ccng5y2fip6mc" path="res://asset/audio/sfx/UI/开锁声.mp3" id="5_l48hy"]
[ext_resource type="AudioStream" uid="uid://dqdjxy04ge0r5" path="res://asset/audio/sfx/旧版/c02/场景转场.mp3" id="6_1sj6c"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="6_bxihn"]
[ext_resource type="AudioStream" uid="uid://c1eftumrd4mgw" path="res://asset/audio/sfx/交互/开门.wav" id="6_p48ld"]
[ext_resource type="AudioStream" uid="uid://inmdv5gqqius" path="res://asset/audio/sfx/ui/门锁互动.mp3" id="7_bjcty"]
[ext_resource type="AudioStream" uid="uid://inmdv5gqqius" path="res://asset/audio/sfx/UI/门锁互动.mp3" id="7_bjcty"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_munml"]
resource_local_to_scene = true

View File

@ -10,7 +10,7 @@
[ext_resource type="Texture2D" uid="uid://blv2ftjrmvlmh" path="res://asset/art/scene/c01/s05_院长房间/fg_前景.png" id="3_vmr0f"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="4_1jor4"]
[ext_resource type="Texture2D" uid="uid://bh7l6ykoayvve" path="res://asset/art/scene/c01/s05_院长房间/e_门.png" id="4_gdhoy"]
[ext_resource type="AudioStream" uid="uid://c7k1gohcfiyg3" path="res://asset/audio/sfx/ui/开门.mp3" id="5_1jor4"]
[ext_resource type="AudioStream" uid="uid://c7k1gohcfiyg3" path="res://asset/audio/sfx/UI/开门.mp3" id="5_1jor4"]
[ext_resource type="AudioStream" uid="uid://c1obirjf802gc" path="res://asset/audio/sfx/交互/序章/01_院长房间_下床.wav" id="5_f33sv"]
[ext_resource type="AudioStream" uid="uid://dyq4s8vk2ol3l" path="res://asset/audio/sfx/环境音/序章/01_院长房间.wav" id="5_sluu3"]
[ext_resource type="Texture2D" uid="uid://eamkmbyicbkd" path="res://asset/art/scene/c01/s05_院长房间/e_座钟.png" id="7_3tetc"]
@ -26,7 +26,7 @@
[ext_resource type="PackedScene" uid="uid://bnf3lkcbpx1ar" path="res://scene/entity/ambush.tscn" id="15_1uixh"]
[ext_resource type="Texture2D" uid="uid://bloct6cpdt2qi" path="res://asset/art/scene/c01/s05_院长房间/l_墙.png" id="16_qh7fg"]
[ext_resource type="Texture2D" uid="uid://df30bmtgdoqc3" path="res://asset/art/scene/c01/s05_院长房间/l_窗户光源.png" id="17_qqw2v"]
[ext_resource type="AudioStream" uid="uid://dky3j8lwcy5sk" path="res://asset/audio/sfx/ui/物品查看.mp3" id="17_yfgov"]
[ext_resource type="AudioStream" uid="uid://dky3j8lwcy5sk" path="res://asset/audio/sfx/UI/物品查看.mp3" id="17_yfgov"]
[ext_resource type="PackedScene" uid="uid://dw0s23v7qmj28" path="res://ui/vertical_label.tscn" id="20_t1dxj"]
[ext_resource type="Texture2D" uid="uid://gui0ubwlwoi0" path="res://asset/art/ui/action_mark/UI手.png" id="22_00ufd"]

View File

@ -342,7 +342,9 @@ animation = &"疯子跑动"
autostart = false
action_configs = Array[Dictionary]([{
"animation_intro": "疯子跪下",
&"animation_next": "疯子撞墙"
&"animation_next": "疯子撞墙",
"animation_wait_time": 0.0,
"intro_loop": 1
}])
[node name="疯子撞墙Sfx2D" type="AudioStreamPlayer2D" parent="Ground/DeployLayer/疯子撞墙"]
@ -381,6 +383,7 @@ position = Vector2(289, 16)
packed_scene = ExtResource("16_p6da7")
[node name="c02_final" type="Node2D" parent="Ground/DeployLayer" index="12"]
visible = false
[node name="瞎子" parent="Ground/DeployLayer/c02_final" instance=ExtResource("10_p6da7")]
position = Vector2(277, 29)

View File

@ -1,10 +1,9 @@
[gd_scene load_steps=6 format=3 uid="uid://da4cuf2i3nwpj"]
[gd_scene load_steps=5 format=3 uid="uid://da4cuf2i3nwpj"]
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_ngo77"]
[ext_resource type="Script" uid="uid://cyd1xo106unfk" path="res://scene/ground/scene/c02/s12_animation.gd" id="2_7ah3n"]
[ext_resource type="Texture2D" uid="uid://yn00uls1kvn3" path="res://asset/art/scene/c02/s12_to_s17_盒子猫/bg_初始.png" id="3_oskpk"]
[ext_resource type="Texture2D" uid="uid://xhksp8eu3jqy" path="res://asset/art/scene/c02/s08_瞎子卧室/墙上纸张特写/特写_镂空.png" id="6_oskpk"]
[ext_resource type="Texture2D" uid="uid://d1seskftkw08q" path="res://asset/art/scene/c02/s08_瞎子卧室/墙上纸张特写/特写示意图.png" id="7_72mc1"]
[ext_resource type="PackedScene" uid="uid://khwxm5qbfj3k" path="res://scene/ground/script/c02/盒子猫canvas_layer.tscn" id="4_vv3sh"]
[node name="S12" type="Node2D"]
@ -12,7 +11,6 @@
scene_name = "c02_s12"
player_y = 85
footstep_type = "盒子猫"
main_scene = null
[node name="AnimationPlayer" parent="Ground" index="0"]
script = ExtResource("2_7ah3n")
@ -42,24 +40,6 @@ position = Vector2(3584, -7)
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
points = PackedVector2Array(37, 150, 400, 150)
[node name="CanvasLayer" type="CanvasLayer" parent="Ground"]
layer = 0
[node name="TextureRect" type="TextureRect" parent="Ground/CanvasLayer"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("6_oskpk")
[node name="TextureRect2" type="TextureRect" parent="Ground/CanvasLayer"]
modulate = Color(1, 1, 1, 0.380392)
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("7_72mc1")
[node name="盒子猫CanvasLayer" parent="Ground" instance=ExtResource("4_vv3sh")]
[editable path="Ground"]

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=9 format=3 uid="uid://bvjutch6jex0v"]
[gd_scene load_steps=8 format=3 uid="uid://bvjutch6jex0v"]
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_71lma"]
[ext_resource type="Script" uid="uid://28ujp27cbdh2" path="res://scene/ground/scene/c02/s13_animation.gd" id="2_w5nqu"]
@ -6,15 +6,13 @@
[ext_resource type="Texture2D" uid="uid://b3ootg88b63rb" path="res://asset/art/scene/c02/旧版/s13_院子诡异版/fg_楼梯调色后.png" id="4_4adgb"]
[ext_resource type="PackedScene" uid="uid://61pis75a8fdq" path="res://scene/entity/portal.tscn" id="4_u2fv1"]
[ext_resource type="PackedScene" uid="uid://jr1yd46wm5je" path="res://scene/entity/note.tscn" id="5_gge8e"]
[ext_resource type="Texture2D" uid="uid://xhksp8eu3jqy" path="res://asset/art/scene/c02/s08_瞎子卧室/墙上纸张特写/特写_镂空.png" id="5_miykx"]
[ext_resource type="Texture2D" uid="uid://d1seskftkw08q" path="res://asset/art/scene/c02/s08_瞎子卧室/墙上纸张特写/特写示意图.png" id="6_u2fv1"]
[ext_resource type="PackedScene" uid="uid://khwxm5qbfj3k" path="res://scene/ground/script/c02/盒子猫canvas_layer.tscn" id="7_u2fv1"]
[node name="S13" type="Node2D"]
[node name="Ground" parent="." instance=ExtResource("1_71lma")]
scene_name = "c02_s13"
footstep_type = "盒子猫"
main_scene = null
[node name="AnimationPlayer" parent="Ground" index="0"]
script = ExtResource("2_w5nqu")
@ -45,6 +43,8 @@ status = "opened"
position = Vector2(852, 0)
note_key = "notes_无法通过"
[node name="Sprite2D" type="Sprite2D" parent="Ground/DeployLayer" index="4"]
[node name="MainPlayer" parent="Ground" index="4"]
character = "盒子猫"
@ -59,24 +59,6 @@ scale = Vector2(1.05, 1.05)
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
points = PackedVector2Array(37, 150, 870, 150)
[node name="CanvasLayer" type="CanvasLayer" parent="Ground"]
layer = 0
[node name="TextureRect" type="TextureRect" parent="Ground/CanvasLayer"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("5_miykx")
[node name="TextureRect2" type="TextureRect" parent="Ground/CanvasLayer"]
modulate = Color(1, 1, 1, 0.380392)
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("6_u2fv1")
[node name="盒子猫CanvasLayer" parent="Ground" instance=ExtResource("7_u2fv1")]
[editable path="Ground"]

View File

@ -1,18 +1,16 @@
[gd_scene load_steps=7 format=3 uid="uid://d0p4x5st2r315"]
[gd_scene load_steps=6 format=3 uid="uid://d0p4x5st2r315"]
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_cr1hi"]
[ext_resource type="Script" uid="uid://bjisuntcem2lv" path="res://scene/ground/scene/c02/s14_animation.gd" id="2_o47bv"]
[ext_resource type="Texture2D" uid="uid://y0e47513ca22" path="res://asset/art/scene/c02/s12_to_s17_盒子猫/bg_二楼内侧楼道粉笔画.png" id="3_cr1hi"]
[ext_resource type="Texture2D" uid="uid://xhksp8eu3jqy" path="res://asset/art/scene/c02/s08_瞎子卧室/墙上纸张特写/特写_镂空.png" id="4_kss0n"]
[ext_resource type="PackedScene" uid="uid://61pis75a8fdq" path="res://scene/entity/portal.tscn" id="4_o47bv"]
[ext_resource type="Texture2D" uid="uid://d1seskftkw08q" path="res://asset/art/scene/c02/s08_瞎子卧室/墙上纸张特写/特写示意图.png" id="5_3yfjs"]
[ext_resource type="PackedScene" uid="uid://khwxm5qbfj3k" path="res://scene/ground/script/c02/盒子猫canvas_layer.tscn" id="5_cr1hi"]
[node name="S14" type="Node2D"]
[node name="Ground" parent="." instance=ExtResource("1_cr1hi")]
scene_name = "c02_s14"
footstep_type = "盒子猫"
main_scene = null
[node name="AnimationPlayer" parent="Ground" index="0"]
script = ExtResource("2_o47bv")
@ -44,24 +42,6 @@ character = "盒子猫"
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
points = PackedVector2Array(37, 150, 660, 150)
[node name="CanvasLayer" type="CanvasLayer" parent="Ground"]
layer = 0
[node name="TextureRect" type="TextureRect" parent="Ground/CanvasLayer"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("4_kss0n")
[node name="TextureRect2" type="TextureRect" parent="Ground/CanvasLayer"]
modulate = Color(1, 1, 1, 0.380392)
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("5_3yfjs")
[node name="盒子猫CanvasLayer" parent="Ground" instance=ExtResource("5_cr1hi")]
[editable path="Ground"]

View File

@ -1,11 +1,10 @@
[gd_scene load_steps=7 format=3 uid="uid://b21p53g42j2nt"]
[gd_scene load_steps=6 format=3 uid="uid://b21p53g42j2nt"]
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_qxg0l"]
[ext_resource type="Script" uid="uid://ebaq235h32fd" path="res://scene/ground/scene/c02/s15_animation.gd" id="2_etqjj"]
[ext_resource type="Texture2D" uid="uid://c4eb71kdnqy3y" path="res://asset/art/scene/c02/s12_to_s17_盒子猫/bg_一楼内侧楼道粉笔画.png" id="3_qxg0l"]
[ext_resource type="PackedScene" uid="uid://jr1yd46wm5je" path="res://scene/entity/note.tscn" id="4_etqjj"]
[ext_resource type="Texture2D" uid="uid://xhksp8eu3jqy" path="res://asset/art/scene/c02/s08_瞎子卧室/墙上纸张特写/特写_镂空.png" id="5_n8ki2"]
[ext_resource type="Texture2D" uid="uid://d1seskftkw08q" path="res://asset/art/scene/c02/s08_瞎子卧室/墙上纸张特写/特写示意图.png" id="6_e2r11"]
[ext_resource type="PackedScene" uid="uid://khwxm5qbfj3k" path="res://scene/ground/script/c02/盒子猫canvas_layer.tscn" id="5_isic3"]
[node name="S15" type="Node2D"]
@ -13,7 +12,6 @@
scene_name = "c02_s15"
player_y = 60
footstep_type = "盒子猫"
main_scene = null
[node name="AnimationPlayer" parent="Ground" index="0"]
script = ExtResource("2_etqjj")
@ -46,24 +44,6 @@ position = Vector2(-1, -15)
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
points = PackedVector2Array(37, 150, 660, 150)
[node name="CanvasLayer" type="CanvasLayer" parent="Ground"]
layer = 0
[node name="TextureRect" type="TextureRect" parent="Ground/CanvasLayer"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("5_n8ki2")
[node name="TextureRect2" type="TextureRect" parent="Ground/CanvasLayer"]
modulate = Color(1, 1, 1, 0.380392)
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("6_e2r11")
[node name="盒子猫CanvasLayer" parent="Ground" instance=ExtResource("5_isic3")]
[editable path="Ground"]

View File

@ -1,11 +1,10 @@
[gd_scene load_steps=7 format=3 uid="uid://22hc3oe8t0id"]
[gd_scene load_steps=6 format=3 uid="uid://22hc3oe8t0id"]
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_umyae"]
[ext_resource type="Script" uid="uid://dx2w5v1erjyls" path="res://scene/ground/scene/c02/s16_animation.gd" id="2_tmnwc"]
[ext_resource type="Texture2D" uid="uid://by4ymjhnma8c6" path="res://asset/art/scene/c02/s12_to_s17_盒子猫/bg_三楼内侧楼道粉笔画.png" id="3_tmnwc"]
[ext_resource type="PackedScene" uid="uid://61pis75a8fdq" path="res://scene/entity/portal.tscn" id="4_qkv3g"]
[ext_resource type="Texture2D" uid="uid://xhksp8eu3jqy" path="res://asset/art/scene/c02/s08_瞎子卧室/墙上纸张特写/特写_镂空.png" id="4_x2r6c"]
[ext_resource type="Texture2D" uid="uid://d1seskftkw08q" path="res://asset/art/scene/c02/s08_瞎子卧室/墙上纸张特写/特写示意图.png" id="5_5kc5g"]
[ext_resource type="PackedScene" uid="uid://khwxm5qbfj3k" path="res://scene/ground/script/c02/盒子猫canvas_layer.tscn" id="5_tmnwc"]
[node name="S16" type="Node2D"]
@ -13,7 +12,6 @@
scene_name = "c02_s16"
player_y = 85
footstep_type = "盒子猫"
main_scene = null
[node name="AnimationPlayer" parent="Ground" index="0"]
script = ExtResource("2_tmnwc")
@ -48,24 +46,6 @@ position = Vector2(3584, -7)
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
points = PackedVector2Array(37, 150, 655, 150)
[node name="CanvasLayer" type="CanvasLayer" parent="Ground"]
layer = 0
[node name="TextureRect" type="TextureRect" parent="Ground/CanvasLayer"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("4_x2r6c")
[node name="TextureRect2" type="TextureRect" parent="Ground/CanvasLayer"]
modulate = Color(1, 1, 1, 0.380392)
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("5_5kc5g")
[node name="盒子猫CanvasLayer" parent="Ground" instance=ExtResource("5_tmnwc")]
[editable path="Ground"]

View File

@ -1,10 +1,9 @@
[gd_scene load_steps=6 format=3 uid="uid://cbr6gbgrl2wb1"]
[gd_scene load_steps=5 format=3 uid="uid://cbr6gbgrl2wb1"]
[ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_e436a"]
[ext_resource type="Script" uid="uid://bkkhxiyblu2lo" path="res://scene/ground/scene/c02/s17_animation.gd" id="2_e436a"]
[ext_resource type="Texture2D" uid="uid://iyeqjguyrhog" path="res://asset/art/scene/c02/s12_to_s17_盒子猫/bg_三楼楼道粉笔画.png" id="3_e436a"]
[ext_resource type="Texture2D" uid="uid://xhksp8eu3jqy" path="res://asset/art/scene/c02/s08_瞎子卧室/墙上纸张特写/特写_镂空.png" id="4_uua76"]
[ext_resource type="Texture2D" uid="uid://d1seskftkw08q" path="res://asset/art/scene/c02/s08_瞎子卧室/墙上纸张特写/特写示意图.png" id="5_4yexs"]
[ext_resource type="PackedScene" uid="uid://khwxm5qbfj3k" path="res://scene/ground/script/c02/盒子猫canvas_layer.tscn" id="4_n3bxc"]
[node name="S17" type="Node2D"]
@ -12,7 +11,6 @@
scene_name = "c02_s17"
player_y = 85
footstep_type = "盒子猫"
main_scene = null
[node name="AnimationPlayer" parent="Ground" index="0"]
script = ExtResource("2_e436a")
@ -43,24 +41,6 @@ position = Vector2(3584, -7)
[node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"]
points = PackedVector2Array(37, 150, 860, 150)
[node name="CanvasLayer" type="CanvasLayer" parent="Ground"]
layer = 0
[node name="TextureRect" type="TextureRect" parent="Ground/CanvasLayer"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("4_uua76")
[node name="TextureRect2" type="TextureRect" parent="Ground/CanvasLayer"]
modulate = Color(1, 1, 1, 0.380392)
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("5_4yexs")
[node name="盒子猫CanvasLayer" parent="Ground" instance=ExtResource("4_n3bxc")]
[editable path="Ground"]

View File

@ -2,7 +2,7 @@
[ext_resource type="Script" uid="uid://c8vsfqoeu26gk" path="res://scene/ground/script/c02/s00_煤油灯.gd" id="1_0aa53"]
[ext_resource type="Texture2D" uid="uid://b3qgmrfslj135" path="res://asset/art/scene/c02/s03_公寓一楼院子/光晕/光晕1.png" id="2_uusov"]
[ext_resource type="AudioStream" uid="uid://inmdv5gqqius" path="res://asset/audio/sfx/ui/门锁互动.mp3" id="3_1xq2f"]
[ext_resource type="AudioStream" uid="uid://inmdv5gqqius" path="res://asset/audio/sfx/UI/门锁互动.mp3" id="3_1xq2f"]
[ext_resource type="Texture2D" uid="uid://c1nrsyh1ss82v" path="res://asset/art/scene/c02/s03_公寓一楼院子/地面物品反光/地反光1.png" id="3_y2gsk"]
[ext_resource type="Texture2D" uid="uid://dtyg0nugb2tnf" path="res://asset/art/ui/action_mark/UI探索.png" id="4_abb1f"]
[ext_resource type="PackedScene" uid="uid://c4tipnj1cr1j3" path="res://scene/entity/ux/sign.tscn" id="4_w1aco"]

View File

@ -3,9 +3,9 @@
[ext_resource type="Texture2D" uid="uid://cawpq7rnho5px" path="res://asset/art/gif/c02_小手/洞.png" id="1_47cqy"]
[ext_resource type="Script" uid="uid://my5xqi3bkka6" path="res://scene/ground/script/c02/小手讨东西.gd" id="1_n7thl"]
[ext_resource type="Texture2D" uid="uid://dtyg0nugb2tnf" path="res://asset/art/ui/action_mark/UI探索.png" id="3_lr23o"]
[ext_resource type="AudioStream" uid="uid://inmdv5gqqius" path="res://asset/audio/sfx/ui/门锁互动.mp3" id="3_n7thl"]
[ext_resource type="AudioStream" uid="uid://inmdv5gqqius" path="res://asset/audio/sfx/UI/门锁互动.mp3" id="3_n7thl"]
[ext_resource type="Texture2D" uid="uid://xcmvfp72l061" path="res://asset/art/ui/action_mark/UI锁.png" id="4_0tuif"]
[ext_resource type="AudioStream" uid="uid://ccng5y2fip6mc" path="res://asset/audio/sfx/ui/开锁声.mp3" id="4_brfob"]
[ext_resource type="AudioStream" uid="uid://ccng5y2fip6mc" path="res://asset/audio/sfx/UI/开锁声.mp3" id="4_brfob"]
[ext_resource type="PackedScene" uid="uid://c4tipnj1cr1j3" path="res://scene/entity/ux/sign.tscn" id="5_3c204"]
[ext_resource type="Texture2D" uid="uid://gui0ubwlwoi0" path="res://asset/art/ui/action_mark/UI手.png" id="5_n2hq3"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="7_7dftu"]

View File

@ -1,7 +1,7 @@
[gd_scene load_steps=5 format=3 uid="uid://bxpexbk7f3rax"]
[ext_resource type="Script" uid="uid://chap3ifmyg20c" path="res://scene/ground/script/c02/敲门游戏.gd" id="1_dnsvv"]
[ext_resource type="AudioStream" uid="uid://c7k1gohcfiyg3" path="res://asset/audio/sfx/ui/开门.mp3" id="2_n5c57"]
[ext_resource type="AudioStream" uid="uid://c7k1gohcfiyg3" path="res://asset/audio/sfx/UI/开门.mp3" id="2_n5c57"]
[ext_resource type="AudioStream" uid="uid://cteavkjc7tn22" path="res://asset/audio/effect/action/dropLeather.ogg" id="3_i2er5"]
[ext_resource type="Texture2D" uid="uid://dkvuc5llqax6d" path="res://asset/art/scene/c02/s03_公寓一楼院子/肉铺门板.png" id="3_n5c57"]

View File

@ -0,0 +1,4 @@
extends CanvasLayer
func _ready():
visible = true

View File

@ -0,0 +1 @@
uid://ngb7wh7mqo0c

View File

@ -0,0 +1,26 @@
[gd_scene load_steps=4 format=3 uid="uid://khwxm5qbfj3k"]
[ext_resource type="Texture2D" uid="uid://xhksp8eu3jqy" path="res://asset/art/scene/c02/s08_瞎子卧室/墙上纸张特写/特写_镂空.png" id="1_tgkyo"]
[ext_resource type="Script" uid="uid://ngb7wh7mqo0c" path="res://scene/ground/script/c02/盒子猫canvas_layer.gd" id="1_ygosu"]
[ext_resource type="Texture2D" uid="uid://d1seskftkw08q" path="res://asset/art/scene/c02/s08_瞎子卧室/墙上纸张特写/特写示意图.png" id="2_ygosu"]
[node name="盒子猫CanvasLayer" type="CanvasLayer"]
layer = 0
script = ExtResource("1_ygosu")
[node name="TextureRect" type="TextureRect" parent="."]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("1_tgkyo")
[node name="TextureRect2" type="TextureRect" parent="."]
modulate = Color(1, 1, 1, 0.380392)
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("2_ygosu")

View File

@ -2,7 +2,7 @@
[ext_resource type="Script" uid="uid://b4rw4hk7ns4m8" path="res://scene/index_page.gd" id="1_c7y7r"]
[ext_resource type="Texture2D" uid="uid://bcc0bk34l5gbc" path="res://asset/art/ui/index_menu/菜单背景1.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/general/sfx.gd" id="3_5oc6i"]
[ext_resource type="PackedScene" uid="uid://beok2r6fgburn" path="res://scene/settings/settings.tscn" id="4_5m37n"]

View File

@ -13,7 +13,7 @@
[ext_resource type="AudioStream" uid="uid://bqaxy1emtbc04" path="res://asset/audio/sfx/game/旋转锁/转轮声.mp3" id="10_4iyuf"]
[ext_resource type="AudioStream" uid="uid://1khahqvfjckk" path="res://asset/audio/sfx/game/旋转锁/插销声.mp3" id="11_h2ycu"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="12_a8doy"]
[ext_resource type="AudioStream" uid="uid://inmdv5gqqius" path="res://asset/audio/sfx/ui/门锁互动.mp3" id="14_owvcm"]
[ext_resource type="AudioStream" uid="uid://inmdv5gqqius" path="res://asset/audio/sfx/UI/门锁互动.mp3" id="14_owvcm"]
[node name="旋转锁" type="Control"]
layout_mode = 3

View File

@ -2,7 +2,7 @@
[ext_resource type="Script" uid="uid://ytrf63hbqa45" path="res://scene/prop/prop_hud.gd" id="1_bbv0a"]
[ext_resource type="Texture2D" uid="uid://dok08tovej18w" path="res://asset/art/ui/hud/normal_left.png" id="2_bjc2b"]
[ext_resource type="AudioStream" uid="uid://cvttds81trcoc" path="res://asset/audio/sfx/ui/click.wav" id="2_lom38"]
[ext_resource type="AudioStream" uid="uid://cvttds81trcoc" path="res://asset/audio/sfx/UI/click.wav" id="2_lom38"]
[ext_resource type="AudioStream" uid="uid://bjh1761jeu3hy" path="res://asset/audio/sfx/交互/通用发现音效.wav" id="3_bn186"]
[ext_resource type="Script" uid="uid://rq6w1vuhuq1m" path="res://scene/entity/general/sfx.gd" id="3_d7vso"]
[ext_resource type="Texture2D" uid="uid://c45k7ncg6xhpv" path="res://asset/art/ui/hud/pressed_left.png" id="3_fca7p"]