相关配置表
Iten:可直接配置一些属性加成
Equipment:可配置可穿戴装备的动画,发射物,皮肤等
injectData: 攻击效果,特效,可在场景中创建的物体
包括创建物体类型,预制体路径,属性,额外效果
发射物体类型:
发射物这边是基于添加组件进行功能配置
预制类型的发射物,可以配置 InjectModuleItem 进行更过功能的扩展
默认根据发射物类型,然后创建不同的发射物,
物体被创建初始化包含动画数据
不重复使用的单独包含动画美术素材的预制体不需要在加载素材
装备相关API
整体说明
- 装备系统目前是基于ScriptableObject进行数据存储
- 通过组合不同效果的 ScriptableObject 进行功能组合
CreatureEquipSystem
- 装备系统的基类
- 控制装备的使用与卸载
- 返回装备提供的buff
BaseEquipment
- 所有类型装备的父类
- 复制关联道具Id
- 装备相关动画控制
BaseHeroEquipment
- 可以获取Hero实例的一些信息
EquipmentData
- 装备数据,是一个ScriptableObject
- 主要是作为EquipmentEffect的容器
- 放于 Assets/Game/Resources/Asset/EquipmentData 下,与道具Id保存一致的命名
BaseEquipmentEffect (ScriptableObject)
- 装备效果的基类
- 可以在穿上装备后进行一些监听
发射物相关API
整体说明
- 发射物这边是基于添加组件进行功能配置
- 预制类型的发射物,可以配置 InjectModuleItem 进行更过功能的扩展
- 默认根据发射物类型,然后创建不同的发射物
- 如果类型是预制,就会读取预制文件夹进行创建
BaseInject
- 发射物的基类
- 用于控制发射物的初始化
- 读取发射物配置表的通用参数,并适用
ModulePrefabInject
- 加载各种 InjectModuleItem 的发射物
- 如果需要保留配置表的参数,模块进行一些叠加,可以在此类进行更多的数据缓存
####创建发射物/特效方法
**在角色骨骼位置创建:**ActDataUtil.ShootInjectItem(Owner,"root", InjetItemId);
**指定父级位置发射:**VirtualWorld.Instance.ShootInject(InjetItemId, target, (target.Position + Vector2.up * target.ObjectHeight));
**指定特效ID,路径,位置发射特效:**ModuleControl.effectModule.AddSceneEffect(ID, buildEffectResName, transform.position);
例子
武器
新建发射物曲线子弹
套装效果
根据装备编号加载放于 Assets/Game/Resources/Asset/EquipmentData 下,与道具Id保存一致命名的装备效果数据容器EquipmentData(ScriptableObject)。
继承BaseEquipmentEffect (ScriptableObject)装备效果的基类,可以在穿上装备后进行一些监听编辑装备逻辑。
右键打开创建窗口,选择效果将自动创建文件夹及ScriptableObject,同时添加到EquipmentData上,编辑效果参数即可。