void check() //真正进行检测的方法 { bool isOver = false; //标记量 theAttackLinkNow = null; //每次检查之前都需要清空引用 foreach (attackLink AL in attackLinkMayUsing) { int selectAttackLinkIndex; if (AL.isCheckToOver(index + 1, out selectAttackLinkIndex)) //因为长度和index的关系,就比本的要求就是输入正确(当然还有SP等等的需求) { //这个判断非常的重要,如果取消,任何攻击动作都有可能中间取消,这当然不符合我们的需求 //print("index Selected is "+selectAttackLinkIndex); //print("the selected attacklink's linkstring = "+ AL.attackLinkString); theAttackLinkNow = AL; AL.attackLinkMain(selectAttackLinkIndex); //发生效果 flashLink(); //更新列表 reMake(); //完全重头开始 isOver = true; //标记量,是否已经使用了一个技能 break; //每一次生效的连招只能够有一个 } } if (!isOver) { index++; //向下一个目录前进 } }
//获得连招的效果信息 string getAttacklinkEffectInformation(attackLink theAttacklink, GameObject theButton, out string theSkillInformation) { StringBuilder theInformationString = new StringBuilder(); StringBuilder theSkillInformationString = new StringBuilder(); if (systemValues.isNullOrEmpty(theAttacklink.conNameToSELF) == false) { System.Type theType = System.Type.GetType(theAttacklink.conNameToSELF); //theButton.gameObject.AddComponent (theType); ////effectBasic theselfEffect = theButton.GetComponent <effectBasic> (); //effectBasic theselfEffect = (effectBasic)theButton.GetComponent (theType); effectBasic theselfEffect = (effectBasic)theButton.gameObject.AddComponent(theType); theselfEffect.Init(); makeEffectInformation(theInformationString, theSkillInformationString, theselfEffect); Destroy(theselfEffect); } if (systemValues.isNullOrEmpty(theAttacklink.conNameToEMY) == false) { System.Type theType = System.Type.GetType(theAttacklink.conNameToEMY); //theButton.gameObject.AddComponent (theType); ////effectBasic theEMYEffect = theButton.GetComponent <effectBasic> (); //effectBasic theEMYEffect = (effectBasic)theButton.GetComponent (theType); effectBasic theEMYEffect = (effectBasic)theButton.gameObject.AddComponent(theType); theEMYEffect.Init(); makeEffectInformation(theInformationString, theSkillInformationString, theEMYEffect, false); Destroy(theEMYEffect); } theSkillInformation = theSkillInformationString.ToString(); return(theInformationString.ToString()); }
//招式等级额外特效 ==================================================================== public override void SetAttackLink(attackLink attackLinkIn) { if (attackLinkIn && attackLinkIn.theAttackLinkLv >= 8) { //print ("ad"); damageAddPercent += 0.06f; } }
//招式等级额外特效 ==================================================================== public override void SetAttackLink(attackLink attackLinkIn) { if (attackLinkIn && attackLinkIn.theAttackLinkLv >= 3) { //print ("ad"); countMax++; } }
//招式等级额外特效 ==================================================================== public override void SetAttackLink(attackLink attackLinkIn) { if (attackLinkIn && attackLinkIn.theAttackLinkLv >= 4) { //print ("ad"); DamageUseMax += 5; } }
//招式等级额外特效 ==================================================================== public override void SetAttackLink(attackLink attackLinkIn) { if (attackLinkIn && attackLinkIn.theAttackLinkLv >= 7) { hpup += 0.03f; } if (attackLinkIn && attackLinkIn.theAttackLinkLv >= 12) { arrowCounts += 2; } }
//招式等级额外特效 ==================================================================== public override void SetAttackLink(attackLink attackLinkIn) { if (attackLinkIn && attackLinkIn.theAttackLinkLv >= 5) { //print ("ad"); basicDamage *= 1.1f; } if (attackLinkIn && attackLinkIn.theAttackLinkLv >= 12) { //print ("ad"); maxEMYCountForUse += 2; } }
public void SetAttackLink(attackLink theLink, skillButton theButton) { theLinkNow = theLink; theShowButton = theButton; makeShow(); }
} //有些技能效果是可以使用不同的连招按键触发的,但是这些效果完全相同,所以用这个来区分 virtual public void SetAttackLink(attackLink theLink = null) { } //可以从外部设定招式的等级,也就是招式的等级也可能影响招式效果