这篇文章只是个人对技能管理的初步构思,希望能与各位大佬进行交流套路,找到更适合的方案
方案特点
- 技能的调用经过角色->接口->实现三个步骤,可以便于在开发过程当中流水化地添加新的角色以及技能
目标效果
通过在共同UI当中点击按钮,选择当前被选中的角色的技能,然后展示技能的作用范围。随后点击作用范围内的任意区域来对指定位置释放技能。
技能管理
建立skill_manager,skill_interface文件。
将技能初步分类:瞬间释放类,改变攻击方式类,buff/debuff施加类……(有的技能可能是复数个类型的合体)
在skill_manager当中为每种技能编写类
为每个角色都制作各自的prefab,储存有各自的技能信息。
在UI面板当中选中技能后,UI的脚本读取到角色prefab当中存储的技能信息,由UI脚本传入并调用skill_interface脚本。
skill_interface脚本按照规则分析传入的数据,然后按照技能信息来调用skill_manager当中的技能类,由skill_manager来展示技能的作用范围。等待合法的技能作用坐标输入后释放技能效果。
备注:
- 技能的动画效果的播放管理在角色prefab当中