Initial Unity project commit
This commit is contained in:
@@ -0,0 +1,453 @@
|
||||
import os
|
||||
import re
|
||||
import uuid
|
||||
|
||||
texts = [
|
||||
'''【文件编号:SHELTER-001 避难首日记录】
|
||||
日期:204X.12.17
|
||||
记录人:主角
|
||||
【第 1 页】
|
||||
凌晨 3 点 17 分,全城
|
||||
防空警报拉响,最高
|
||||
级预警
|
||||
3 点 42 分,全员抵达
|
||||
地堡,无人员掉队,
|
||||
随身物资全部到位
|
||||
4 点 05 分,地堡主门
|
||||
关闭,ECHO-7 启动
|
||||
全封闭安保模式
|
||||
【第 2 页】
|
||||
今日完成全员登记,
|
||||
共 4 人,全部安全
|
||||
启动基础供电系统,
|
||||
通风系统全功率运行
|
||||
,氧气浓度正常
|
||||
ECHO-7 实时监控地
|
||||
堡内外环境,无异常
|
||||
情况
|
||||
大伙都累坏了,今晚
|
||||
轮流值班,先好好休
|
||||
息''',
|
||||
'''【文件编号:RULE-002 地堡生存守则补记】
|
||||
日期:204X.12.25
|
||||
记录人:朋友 A
|
||||
【第 1 页】
|
||||
躲进来已经一周了
|
||||
,今天定了新的规矩
|
||||
所有人轮流值班,每
|
||||
天两人,负责巡检系
|
||||
统和物资
|
||||
每天的食物按配额分
|
||||
配,不许私藏多吃,
|
||||
尤其是 B 的零食
|
||||
【第 2 页】
|
||||
不许随便碰地堡的控
|
||||
制面板,尤其是门禁
|
||||
系统,有事找主角
|
||||
每天必须记录物资消
|
||||
耗情况,晚上统一汇
|
||||
总
|
||||
不许熬夜打牌超过 12
|
||||
点,影响第二天值班
|
||||
(说的就是 C 和 B)
|
||||
都好好遵守,我们才
|
||||
能撑得更久''',
|
||||
'''【文件编号:DAILY-012 罐头吐槽日记】
|
||||
日期:2050.01.03
|
||||
记录人:朋友 B
|
||||
【第 1 页】
|
||||
我真的要疯了!
|
||||
连续吃了十八天的罐
|
||||
头,现在闻到牛肉罐
|
||||
头的味就想吐
|
||||
之前囤货的时候还觉
|
||||
得这个超好吃,现在
|
||||
只想把剩下的全扔了
|
||||
【第 2 页】
|
||||
今天偷偷煮了一包火
|
||||
锅底料,烫了点罐头
|
||||
肉和土豆
|
||||
大伙围着锅抢着吃的
|
||||
时候,差点哭出来
|
||||
这是我这半个月吃过
|
||||
最好吃的东西
|
||||
要是能出去,我第一
|
||||
件事就是去吃顿牛油
|
||||
火锅,涮满毛肚和鸭
|
||||
肠,吃到撑''',
|
||||
'''【文件编号:CHECK-003 通风系统巡检记录 03】
|
||||
日期:2050.01.17
|
||||
记录人:朋友 C
|
||||
【第 1 页】
|
||||
今日巡检全段通风管
|
||||
道,共 12 个节点
|
||||
3 号节点滤网积灰较
|
||||
多,已更换新滤网
|
||||
7 号节点管道有轻微
|
||||
异响,拆开发现是一
|
||||
只小老鼠
|
||||
【第 2 页】
|
||||
把小老鼠放出去了,
|
||||
没想到地堡里还能闯
|
||||
进来小生命
|
||||
管道接口都检查了一
|
||||
遍,无松动无漏气
|
||||
和 ECHO-7 同步了巡
|
||||
检数据,AI 更新了系
|
||||
统记录
|
||||
通风系统运行正常,
|
||||
氧气浓度稳定在 21%
|
||||
,一切良好''',
|
||||
'''【文件编号:ECHO-RUN-011 全系统接入日志 V2.01】
|
||||
记录主体:ECHO-7 安保系统
|
||||
【第 1 页】
|
||||
[2050.01.25 10:00:00]
|
||||
全系统对接完成
|
||||
地堡电力系统全权限
|
||||
接入,自动调控正常
|
||||
门禁系统全权限接入
|
||||
,权限分级生效
|
||||
【第 2 页】
|
||||
[2050.01.25 14:00:00]
|
||||
通风、温控、消防系
|
||||
统全权限接入,联动
|
||||
逻辑生效
|
||||
物资管理系统对接完
|
||||
成,库存数据同步更
|
||||
新
|
||||
【第 3 页】
|
||||
[2050.01.25 23:59:59]
|
||||
当日全系统运行稳定
|
||||
无故障,无异常指令
|
||||
核心安保功能正常启
|
||||
用
|
||||
已完成管理员(主角)
|
||||
指令适配,随时响应
|
||||
需求''',
|
||||
'''【文件编号:SUPPLY-017 生存月度记录 02】
|
||||
日期:2050.02.17
|
||||
记录人:朋友 A
|
||||
【第 1 页】
|
||||
躲进地堡满两个月了
|
||||
,今日完成全物资盘
|
||||
点
|
||||
饮用水剩余 87%,无
|
||||
污染,可正常饮用
|
||||
主食类物资剩余 92%
|
||||
,按当前配额可支撑
|
||||
18 个月以上
|
||||
【第 2 页】
|
||||
肉类罐头剩余 78%,
|
||||
水果罐头剩余 81%,
|
||||
零食类剩余 65%(B
|
||||
偷偷吃太多了)
|
||||
药品、急救物资全部
|
||||
完好,无损耗
|
||||
燃料、电池等耗材剩
|
||||
余 90%,足够使用
|
||||
整体物资充足,只要
|
||||
按配额使用,完全不
|
||||
用担心短缺''',
|
||||
'''【文件编号:DAILY-023 牌局烂账记录】
|
||||
日期:2050.03.02
|
||||
记录人:朋友 B
|
||||
【第 1 页】
|
||||
今天必须把 C 的烂账
|
||||
记下来!
|
||||
昨晚和 A、C 斗地主,
|
||||
说好输一把一罐水果
|
||||
罐头
|
||||
C 连输八把,欠了我
|
||||
五罐,欠了 A 三罐,
|
||||
结果今天耍赖不认账
|
||||
【第 2 页】
|
||||
说什么昨晚喝了点啤
|
||||
酒,不算数,还把自
|
||||
己的罐头锁起来了
|
||||
我和 A 追着他绕地堡
|
||||
跑了三圈,最后还是
|
||||
主角出面,他才不情
|
||||
不愿的还了两罐
|
||||
这个仇我记下了,下
|
||||
次打牌必须把他赢到
|
||||
连压缩饼干都不剩''',
|
||||
'''【文件编号:DAILY-027 外出提议记录】
|
||||
日期:2050.03.17
|
||||
记录人:朋友 C
|
||||
【第 1 页】
|
||||
今天在通风口听了半
|
||||
天,外面一点动静都
|
||||
没有
|
||||
轰炸声已经快一个月
|
||||
没听到了,说不定战
|
||||
争已经结束了
|
||||
我们总不能一辈子躲
|
||||
在这个地下的铁盒子
|
||||
里吧
|
||||
【第 2 页】
|
||||
我想出去看看,看看
|
||||
外面到底怎么样了
|
||||
就算没结束,也可以
|
||||
去附近的镇上找点新
|
||||
鲜物资,总比天天吃
|
||||
罐头强
|
||||
晚上吃饭的时候跟大
|
||||
伙提了,A 没说话,B
|
||||
有点动摇,主角让我
|
||||
再等等
|
||||
我真的不想再等了''',
|
||||
'''【文件编号:MEETING-007 团队会议记录 07】
|
||||
日期:2050.03.22
|
||||
记录人:主角
|
||||
【第 1 页】
|
||||
今日召开全员会议,
|
||||
核心议题为外出探查
|
||||
提议
|
||||
参会人:主角、朋友 A
|
||||
、朋友 B、朋友 C
|
||||
C 提出外出探查周边
|
||||
环境,确认外界局势
|
||||
,补充物资
|
||||
【第 2 页】
|
||||
我与 A 持保留意见,
|
||||
目前无法确认外界安
|
||||
全性,贸然外出风险
|
||||
过高
|
||||
B 处于犹豫状态,既
|
||||
想外出看看,又担心
|
||||
遇到危险
|
||||
最终约定,再观察一
|
||||
个月,若外界持续无
|
||||
异常,再商议外出事
|
||||
宜
|
||||
ECHO-7 已加强对外
|
||||
界环境的实时监测,
|
||||
有异常会第一时间预
|
||||
警''',
|
||||
'''【文件编号:DAILY-031 深夜碎碎念】
|
||||
日期:2050.04.09
|
||||
记录人:朋友 B
|
||||
【第 1 页】
|
||||
今晚又失眠了,躺在
|
||||
床上翻来覆去睡不着
|
||||
地堡里的灯永远是那
|
||||
个亮度,分不清白天
|
||||
黑夜,每天都是一样
|
||||
的流程,一样的饭菜
|
||||
,一样的人
|
||||
【第 2 页】
|
||||
C 天天说要出去,其
|
||||
实我也心动了
|
||||
我想念阳光晒在身上
|
||||
的感觉,想念街上的
|
||||
人声鼎沸,想念妈妈
|
||||
做的菜
|
||||
可是我又害怕,害怕
|
||||
外面全是废墟,害怕
|
||||
出去了就再也回不来
|
||||
了
|
||||
我到底该怎么办啊,
|
||||
跟着他们走,还是留
|
||||
下来?''',
|
||||
'''【文件编号:SUPPLY-032 离别物资整理记录】
|
||||
日期:2050.06.16
|
||||
记录人:主角
|
||||
【第 1 页】
|
||||
最终 A、B、C 还是决
|
||||
定要离开,明天一早
|
||||
出发
|
||||
今天给他们整理了要
|
||||
带走的物资,按三人
|
||||
十五天的行程准备
|
||||
压缩饼干 12 包,罐头
|
||||
30 罐,饮用水 24 瓶,
|
||||
装满了三个背包
|
||||
【第 2 页】
|
||||
给他们准备了急救包
|
||||
,常用药品、止血材
|
||||
料、抗生素都配齐了
|
||||
还有防身的武器,充
|
||||
满电的对讲机,和地
|
||||
堡的频段保持同步
|
||||
ECHO-7 会一直保持
|
||||
信号监听,有情况随
|
||||
时能联系
|
||||
物资都检查了三遍,
|
||||
只希望他们一路平安
|
||||
,顺顺利利的''',
|
||||
'''【文件编号:LEAVE-001 离别留言册】
|
||||
日期:2050.06.18
|
||||
记录人:朋友 A、B、C 联合
|
||||
【第 1 页】
|
||||
【朋友 A 留言】
|
||||
主角,对不起,我们
|
||||
还是决定走了
|
||||
不是不相信你,也不
|
||||
是不信 ECHO-7,只
|
||||
是我们都想看看外面
|
||||
的世界
|
||||
物资我们留了一大半
|
||||
给你,地堡的系统你
|
||||
比谁都熟,照顾好自
|
||||
己
|
||||
【第 2 页】
|
||||
【朋友 B 留言】
|
||||
主角!我把我藏的最
|
||||
后一箱零食放在你床
|
||||
底下了!
|
||||
不许说我乱吃东西啦
|
||||
,留给你慢慢吃
|
||||
要是我们在外面站稳
|
||||
了,一定回来接你
|
||||
你也要好好的,不许
|
||||
天天熬夜调试代码,
|
||||
记得按时吃饭
|
||||
【第 3 页】
|
||||
【朋友 C 留言】
|
||||
兄弟,谢了这段时间
|
||||
的照顾
|
||||
等我出去看看情况,
|
||||
要是安全了,第一个
|
||||
回来给你带冰奶茶和
|
||||
卤味
|
||||
ECHO-7 会陪着你,
|
||||
我们也会一直开着对
|
||||
讲机
|
||||
再见啦,我们一定会
|
||||
再见面的''',
|
||||
'''【文件编号:SHELTER-021 空堡首日记录】
|
||||
日期:2050.06.19
|
||||
记录人:主角
|
||||
【第 1 页】
|
||||
他们走了
|
||||
早上六点的门,我送
|
||||
他们到地堡口,看着
|
||||
他们的身影消失在山
|
||||
里
|
||||
对讲机一直开着,他
|
||||
们走了三个小时,还
|
||||
在跟我报平安
|
||||
【第 2 页】
|
||||
地堡里一下子空了,
|
||||
特别安静,只有 ECHO
|
||||
-7 的运行声
|
||||
今天巡检了所有系统
|
||||
,电力、通风、门禁
|
||||
都正常,物资也都清
|
||||
点过了
|
||||
ECHO-7 一直在问我
|
||||
有没有什么需求,跟
|
||||
往常一样,很贴心
|
||||
【第 3 页】
|
||||
说不难过是假的,但
|
||||
我尊重他们的选择
|
||||
我会守好这个地堡,
|
||||
等他们回来
|
||||
也会守好 ECHO-7,
|
||||
这是我花了好几年心
|
||||
血做出来的,是我最
|
||||
重要的作品
|
||||
现在,只剩我和它了'''
|
||||
]
|
||||
|
||||
template = '''%%YAML 1.1
|
||||
%%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0a6a9ccc104e0964687925ed730d8d9f, type: 3}
|
||||
m_Name: Before_Text%03d
|
||||
m_EditorClassIdentifier:
|
||||
id: 1001
|
||||
displayName:
|
||||
description:
|
||||
icon: {fileID: 0}
|
||||
pickupPrefab: {fileID: 0}
|
||||
handModelPrefab: {fileID: 0}
|
||||
itemType: 0
|
||||
consumedResult: {fileID: 0}
|
||||
thirstDelta: 0
|
||||
hungerDelta: 0
|
||||
sanityDelta: 0
|
||||
isStackable: 0
|
||||
maxStackSize: 1
|
||||
useCustomHoldSettings: 0
|
||||
holdPositionOffset: {x: 0, y: 0, z: 0}
|
||||
holdRotationOffset: {x: 0, y: 0, z: 0}
|
||||
holdScale: {x: 1, y: 1, z: 1}
|
||||
showSpecialUseUI: 1
|
||||
specialUseUIText:
|
||||
specialUseSprite: {fileID: 0}
|
||||
useSpecialUseUIPages: 1
|
||||
specialUseUIPages:
|
||||
%s'''
|
||||
|
||||
meta_template = '''fileFormatVersion: 2
|
||||
guid: %s
|
||||
MonoBehaviour:
|
||||
icon: {instanceID: 0}
|
||||
executionOrder: 0
|
||||
'''
|
||||
|
||||
out_dir = r'e:\Unity\Unity Program\Test_2022\Assets\_Project\Data\Props\Text'
|
||||
|
||||
start_idx = 10
|
||||
for i, text in enumerate(texts):
|
||||
idx = start_idx + i
|
||||
# Parse text into pages
|
||||
lines = text.split('\n')
|
||||
pages = []
|
||||
current_page = []
|
||||
header = []
|
||||
in_page = False
|
||||
|
||||
for line in lines:
|
||||
line = line.strip()
|
||||
if not line:
|
||||
continue
|
||||
if re.match(r'^【第\s*\d+\s*页】', line):
|
||||
if in_page:
|
||||
pages.append('\n'.join(current_page))
|
||||
current_page = []
|
||||
in_page = True
|
||||
continue
|
||||
if not in_page:
|
||||
header.append(line)
|
||||
else:
|
||||
current_page.append(line)
|
||||
|
||||
if current_page:
|
||||
pages.append('\n'.join(current_page))
|
||||
|
||||
if header:
|
||||
# Prepend header to the first page
|
||||
if pages:
|
||||
pages[0] = '\n'.join(header) + '\n' + pages[0]
|
||||
else:
|
||||
pages.append('\n'.join(header))
|
||||
|
||||
# Format pages into YAML
|
||||
pages_yaml = ''
|
||||
for p in pages:
|
||||
p_escaped = p.replace('\n', '\\n').replace('"', '\\"')
|
||||
pages_yaml += f' - text: "{p_escaped}"\n'
|
||||
|
||||
file_content = template % (idx, pages_yaml)
|
||||
|
||||
filepath = os.path.join(out_dir, f'Before_Text{idx:03d}.asset')
|
||||
with open(filepath, 'w', encoding='utf-8') as f:
|
||||
f.write(file_content)
|
||||
|
||||
metapath = filepath + '.meta'
|
||||
if not os.path.exists(metapath):
|
||||
new_guid = uuid.uuid4().hex
|
||||
with open(metapath, 'w', encoding='utf-8') as f:
|
||||
f.write(meta_template % new_guid)
|
||||
|
||||
print('Done')
|
||||
Reference in New Issue
Block a user