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')