GDD:
创建使用技能系统的射击游戏:结合action rpg来看C++最主要的两个大块就是Ability和Item基类
另外后期需要的有UI(Inventory,准星。小地图,GameMode中记分板)目前来说和GAS无关
UI要好看,系统要稳定
定义,不自动装弹,所有都需要玩家手动进行(和生活中一样)
GAS的使用思想:
所用技能作用的属性都是AttributeSet,所以说子弹数量也是。
仔细想一下:
子弹的消耗逻辑:ItemAmmo 减少AttributeSet里的弹药量,移除Slot中相应的数量
药品的消耗逻辑:ItemPotion 增加属性值,移除Slot中相应的数量
所有的动作都可以用做一种技能
装备武器是一种技能,给武器赋予了Tag,
发射武器是一种技能,需要武器处于装备状态,需要武器子弹量充足
reload是一种技能,需要武器处于装备状态,需要枪内子弹未满。
每种具体类型的枪都需要一个技能文件夹
在Fire绑定的按键中,根据武器的类型(暂时移除射击模式的设定)不了,直接根据具体的武器播放相应的开火动画。
需要用到Projectile
那么在Reload动画呢?需要根据玩家的状态,下蹲,站立,趴下等和枪支的类型(可以在子类中加)播放枪支的Reload动画