public override void OnUse(CharacterCard toCard, string skillAppendData) { JsonData skillData = JsonMapper.ToObject(skillAppendData); int damage = Convert.ToInt32(skillData["damage"].ToString()); int energy = Convert.ToInt32(skillData["energy"].ToString()); toCard.ExpendEnergy(energy);//消耗能量 toCard.GetDamage(damage);//造成伤害 }
/// <summary> /// 当角色发动普通攻击时 /// </summary> /// <param name="targetCharacter">攻击对象</param> /// <param name="damage">伤害值</param> public void OnCharacterAttack(CharacterCard targetCharacter, int damage) { GameObject target = targetCharacter.container.gameObject; //播放动画 Hashtable args = new Hashtable(); args.Add("amount", target.transform.position - container.transform.position); args.Add("time", 1f); iTween.PunchPosition(container.gameObject, args); targetCharacter.GetDamage(damage); //状态回调 if (cardState.Count != 0) { foreach (KeyValuePair<StateSkill, Card> pair in cardState) { pair.Key.OnCharacterAttack();//向下调用事件 if (cardState.Count == 0) { break; } } } }