# RuneStateWindow 符文状态窗口 ## 📋 功能概述 RuneStateWindow是一个用于显示当前穿戴符文状态的UI窗口,主要功能包括: 1. **符文栏显示** - 根据当前穿戴装备显示符文列表 2. **小丑牌动画** - 接收服务端符文执行记录后播放类似小丑牌的动画效果 ## 🏗️ 文件结构 ``` src/StarterPlayerScripts/UI/Windows/RuneStateWindow/ ├── init.luau # 主窗口文件 └── RuneShow.luau # 符文显示组件 src/StarterPlayerScripts/ClientMain/ ├── RuneExecutionClient.luau # 客户端接收符文执行记录 └── TestRuneStateWindow.luau # 测试脚本 ``` ## 🎮 使用方法 ### 1. 打开符文状态窗口 ```lua -- 通过UIManager打开窗口 UIManager:OpenWindow("RuneStateWindow", { runeData = { { runeName = "RuneFireDamage", runeUniqueId = 1, level = 5, icon = "fire_icon" }, { runeName = "RuneIceCoffin", runeUniqueId = 2, level = 3, icon = "ice_icon" } } }) ``` ### 2. 接收符文执行记录 窗口会自动接收服务端发送的符文执行记录,并播放动画: ```lua -- 服务端发送的数据格式 local executionRecords = { { runeName = "RuneFireDamage", runeUniqueId = 1, index = 1, timestamp = tick(), action = "Execute", attributesBefore = {attack = 100, hp = 1000}, attributesAfter = {attack = 150, hp = 1000}, behaviorListBefore = {"Attack"}, behaviorListAfter = {"Attack", "FireDamage"}, nextIndex = 2 } } ``` ### 3. 测试功能 使用测试脚本可以快速验证功能: - **按 R 键** - 打开符文状态窗口 - **按 T 键** - 模拟接收符文执行记录 - **按 C 键** - 关闭符文状态窗口 ## 🎨 动画效果 ### 小丑牌动画特点 1. **金色光效** - 符文激活时显示金色发光效果 2. **缩放动画** - 符文图标会放大并旋转 3. **粒子效果** - 中心产生黄色粒子扩散效果 4. **顺序播放** - 多个符文按执行顺序依次播放动画 ### 动画参数 - **动画时长**: 0.3秒 - **缩放比例**: 1.5倍 - **旋转角度**: 360度 - **颜色**: 金色(#FFD700)和黄色(#FFFF00) ## 🔧 技术实现 ### 核心组件 1. **RuneStateWindow** - 主窗口管理 - 管理符文执行记录队列 - 控制动画播放顺序 - 处理窗口生命周期 2. **RuneShow** - 符文显示组件 - 显示符文图标、名称、等级 - 处理符文激活动画 - 管理组件生命周期 3. **RuneExecutionClient** - 客户端接收器 - 监听服务端符文执行记录 - 转发数据到窗口组件 ### 数据流程 ``` 服务端符文执行 → RemoteEvent发送 → 客户端接收 → 窗口处理 → 动画播放 ``` ## 🎯 扩展功能 ### 可扩展的动画效果 1. **音效支持** - 添加符文激活音效 2. **特效增强** - 添加更多视觉特效 3. **交互功能** - 点击符文查看详情 4. **状态显示** - 显示符文冷却时间 ### 自定义动画 可以通过修改`CreateJokerCardEffect`方法来自定义动画效果: ```lua function RuneStateWindow:CreateJokerCardEffect(runeItem, record) -- 自定义动画逻辑 -- 可以添加更多特效、音效等 end ``` ## 🐛 注意事项 1. **UI预制体** - 需要创建对应的UI预制体`ui_w_rune_state` 2. **符文数据** - 需要正确配置符文JSON数据 3. **图标资源** - 需要上传对应的符文图标资源 4. **性能优化** - 大量符文时注意动画性能 ## 📝 更新日志 - **v1.0.0** - 初始版本,支持基础符文显示和小丑牌动画 - 支持符文执行记录接收和播放 - 支持测试脚本快速验证功能