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; }
            }
        }
    }