魔力宝贝Unity C#图档解析脚本 https://honorlee.me
![]() |
2 years ago | |
---|---|---|
CGTool | 2 years ago | |
LICENSE | 2 years ago | |
README.md | 2 years ago |
本脚本旨在学习研究Crossgate
魔力宝贝
图档bin文件的解压与使用,相关资料来源于互联网文章与相关技术大佬指导
再次感谢阿伍
等在互联网上分享相关解压、算法解析等教学文章的技术大佬所提供的帮助
本脚本遵照GPL共享协议,可随意修改、调整代码学习使用
请务删除或修改文档或源代码中相关版权声明信息,且严禁用于商业项目
因利用本脚本盈利或其他行为导致的任何商业版权纠纷,脚本作者不承担任何责任或损失
克隆当前仓库或下载zip包解压,将CGTool文件夹放置于Unity项目文件夹内引用
在入口或初始化脚本头部引入CGTool初始化文件
using CGTool;
并在关键位置对CGTool进行初始化
CGTool.CGTool.Init();
CGTool初始化时,会自动对相关索引Info文件进行解析,请根据实际所采用版本情况,对脚本代码中解析相关的文件名称进行修改调整
//通过地面编号获取GraphicInfo数据
GraphicInfo.GetGraphicInfoDataByMapSerial(int Version, uint MapSerial);
//通过索引获取GraphicInfo数据
GraphicInfo.GetGraphicInfoDataByIndex(int Version, uint Index);
//通过图档索引编号获取GraphicData数据
Graphic.GetGraphicData(GraphicInfoData graphicInfoData,int PaletIndex=0);
/**
* 动画播放器,用于播放CG动画,支持多动画队列播放
* 脚本需绑定至挂载了SpriteRenderer和RectTransform的对象上
* 除此之外,还需绑定BoxCollider2D(可选),用于监听鼠标的移入移出事件
*
* 当动画播放完成后会自动调用onFinishCallback回调函数
* 另外可指定onActionListener和onAudioListener监听动画动作帧和音频帧
* 目前已知的动作帧有:
* 击中 0x27 | 0x28
* 伤害结算 0x4E | 0x4F
*/
/**
* 播放动画,调用此方法将会清空当前播放队列,调用完成可通过链式调用nextPlay方法添加动画到播放队列
* @param Serial 动画序列号
* @param Direction 动画方向
* @param ActionType 动画动作
* @param Infinity 是否循环
* @param Speed 播放速度,以 1s 为基准,根据动画帧率计算实际播放周期时长
* @param onFinishCallback 动画结束回调
* @return AnimePlayer
*/
AnimePlayer player.play(uint AnimeSerial, Anime.DirectionType.North, Anime.ActionType.Stand, true,0.1f,AnimeCallback onFinishCallback=null);
//设置帧动效反馈监听
AnimePlayer player.onEffectListener = effect => { };
//设置帧音效反馈监听
AnimePlayer player.onAudioListener = audioIndex => { };
//链式调用添加动作队列
AnimePlayer player.play(...params).nextPlay(...params);
请根据情况自行探索修改代码适应应用场景
当前版本目前仅支持 魔力宝贝3.7-龙之沙漏 及以下版本的图档解析
ADD
脚本初始化
ADD
图档索引GraphicInfo文件解析
ADD
图档Graphic文件数据解析
ADD
调色板Palet文件解析
ADD
动画索引AnimeInfo文件解析
ADD
动画Anime文件数据解析
ADD
服务端地图文件解析
This project is licensed under the GPL license. Copyrights are respective of each contributor listed at the beginning of each definition file.