AgentSkillsCN

game-event-implementation

将用户提供的剧情脚本、素材与效果批注落地为游戏事件实现(含对话、选项、特效、触发、数据与语言同步)。当用户给出脚本/图片并要求“实现事件”“加入效果”“接入剧情/地点触发”时使用此技能。

SKILL.md
--- frontmatter
name: game-event-implementation
description: 将用户提供的剧情脚本、素材与效果批注落地为游戏事件实现(含对话、选项、特效、触发、数据与语言同步)。当用户给出脚本/图片并要求“实现事件”“加入效果”“接入剧情/地点触发”时使用此技能。

Game Event Implementation

概览

将“脚本 + 图像 + 效果批注”转化为可运行的游戏事件:完成数据、UI 调用、触发与多语言同步。

工作流总览(必走)

  1. 输入校验:确认脚本、图片、效果批注、触发位置是否齐全。
  2. 脚本解析:整理为事件步骤(对话、指令、选项、跳转)。
  3. 定位结构:查找项目内事件数据、触发入口与 UI 实现位置。
  4. 实现落地:写事件数据与调用逻辑,接入 UI(EventModal 或 VisualNovelModal)。
  5. 语言同步:中文/英文同步更新;保证 key 与文案完整。
  6. 验证方式:提供可复现的临时触发或控制台入口。

Step 1:输入校验(必须)

在开始写代码前,先确认以下输入是否完整,缺失则询问:

  • 脚本文本:对白、旁白、分支、跳转。
  • 素材路径:背景、立绘、其他图片资源的具体路径。
  • 效果批注:例如震动/闪白/图层变化等。
  • 触发方式:在哪个章节/地点/按钮/事件 ID 触发。

如果用户未给出批注格式,先提出“拟采用的映射规则”,获得确认后再实现。

Step 2:脚本解析(建议输出中间结构)

将原始脚本整理为以下中间结构:

  • step.id:步骤标识
  • step.speaker / step.text
  • step.commands:背景、立绘、特效等
  • step.choices:选项与跳转

需要时,记录“效果批注 -> 指令映射表”。

Step 3:定位项目结构(必做搜索)

在项目中定位:

  • 事件数据来源:章节数据、事件表、或事件脚本文件
  • 触发入口:事件触发逻辑或管理器
  • UI 展示方式:EventModal / VisualNovelModal

建议搜索关键词:

  • event / eventsMap / triggerEvent
  • EventModal / VisualNovelModal
  • openEventModal / openVisualNovelModal

Step 4:实现落地(按需选择 UI)

A. 使用 EventModal(简单场景)

适用:单背景 + 文案 + 按钮。

  • 组装 title/description/background/choices
  • 绑定按钮 action 或触发事件跳转。

B. 使用 VisualNovelModal(复杂场景)

适用:立绘、多层背景、打字机、特效、分支。

建议脚本转换为:

  • bgreset/push/pop/replace
  • sprite:设置立绘
  • effectshake / flash
  • choices:选项与 next 跳转

文本打字机默认开启;若脚本标注禁用/速度,则在 step 或 options 中显式设置。

Step 5:语言同步(强制)

修改任何文案必须同步中文/英文语言文件,不能只改一种语言。

如果新增 key:

  • 保证 zh/en 版本同时存在
  • 避免硬编码字符串

Step 6:验证方式(必须交付)

提供至少一种可复现方式:

  • 临时按钮
  • 控制台调用
  • 事件触发入口(章节/地点/任务)

并明确验证点:背景层、立绘、特效、选项跳转、打字机。

约束与风格要求(必须遵守)

  • 必须使用 UTF-8,回复与注释使用简体中文。
  • 避免补丁式写法:必要时先做小范围重构。
  • 禁止堆叠巨函数:超过 80 行拆分。
  • 禁止隐含全局变量;重要参数提为常量。
  • 先拆解任务再改文件,给出实现方案与修改点。

输出给用户的内容(建议格式)

  1. 实现方案简要说明(模块拆分与理由)
  2. 原有结构理解(3~5句)
  3. 具体改动位置与原因
  4. 触发与验证步骤