对战流程图
2018-05-02 11:02:52 0 举报
UF对战流程图
作者其他创作
大纲/内容
远程下判断总人数;保证所有敌人都活着,否则返回;添加正在远程攻击的人到list;添加攻击组件;设置是否可以死亡;设置finish委托;获取AtkFuncBase组件,添加委托OnAtkAniEndDelegate(已经弃用)OnEndAtkFuncProcessDelegate如果是近战,则执行一次TryStartSetAttackComponent()
每帧【Update执行】1、几个函数: RefreshCurentLongAtkPeople:刷新远程对战过程中正在攻击的人 SetNewLongAt:设置远程攻击 RefreshTroopDeadRate:死亡率相关2、几个列表:3:对战结束判断: 死亡率的概念 对战结束与攻击组件之间互相影响
初始化【Start执行】(InitTroop:初始化各种列表SetAtk:设置第一次攻击)
SetAllpersonAtkOver()-SetAttackOver()-SetAttackCompOver-CheckAtkAniStates(大于0.85则返回)-检测是在空中还是在地面(用途?)-MoveDisactive-invokeFinish-StepOverResetCanDie()
TryStartSetAttackComponent()人物是否包含在攻击队列中;SetAttackComponent()
SetAtk()设置阵营信息,打乱targets顺序,取远程最小人数
对战开始
RefreshTroopDeadRate()更新各个阵营死亡率阵营死亡率达标,则对其进行计数+1,且设置剩下的人不死亡(判断时不用1)
TrueSetAttackComponent()
InitTroop()设置阵营名称、胜率、死亡率,添加人物/**远程人物**阵营名称;人物是否死亡;添加阵营的敌人列表;添加人物的敌人列表
否
刷新正在攻击人数:RefreshCurrentLongAtkPeople()1、攻击人数太少则添加SetOneNewRandomLongAtkPeople()移除没有远程攻击组件的人(完成一次攻击,被卸载组件的人);刷新当前攻击的阵营人数获取最少人数阵营名字刷新随机人列表,取出一个添加到该阵营
设置攻击:SetNewLongAtk()删除死亡的人,随机添加新人。(函数有可优化空间,可能和RefreshCurrentLongAtkPelple后面的部分有关系
是
重复判断是否包含在攻击队列中(个人感觉是冗余代码,可用两行代码实现)
结束
一个远程攻击组件结束,对战会有什么变化?近程呢?
阵营死亡率都为0或者各个阵营死亡率达标或者除去死亡率为100%的阵营后,只剩下一个阵营
0 条评论
下一页