public override bool CanUse(InputUse inputUse = null)
 {
     if (base.CanUse() == false) return false;
     if (master.Owner.bDot < cost) return false;
     if (haveUsed == true && onlyOnce == true) return false;
     return true;
 }
        /// <summary>
        /// 使用时调用的方法
        /// </summary>
        /// <param name="inputUse"></param>
        /// <returns></returns>
        public override bool Use(InputUse inputUse = null)
        {
            if (CanUse() == false) return false;

            if (needActivation == true)
            {
                if (master.ActionState.IsAction == false)
                {
                    if (master.Activate() == false)
                        return false;
                }
            }

            if (Fuction(inputUse))
            {
                haveUsed = true;
                master.Owner.bDot -= cost;
                return true;
            }
            return false;
        }
 /// <summary>
 /// 使用时效果的模板
 /// </summary>
 /// <param name="inputUse"></param>
 /// <returns></returns>
 public abstract bool Fuction(InputUse inputUse = null);
        /// <summary>
        /// 使用时调用的方法
        /// </summary>
        /// <param name="inputUse"></param>
        /// <returns></returns>
        public virtual bool Use(InputUse inputUse = null)
        {
            if (CanUse() == false) return false;

            if (Fuction(inputUse))
            {
                return true;
            }
            return false;
        }
 public virtual bool CanUse(InputUse inputUse = null)
 {
     return master != null;
 }