IEnumerator AttackWithTap()
        {
            if (attackTarget.Count == 0) yield return null;

            isNowAction = true;
            //カメラ切り替え
            BCameraChange.Instance.ActiveLeanMode();
            BCameraMove.Instance.MoveToTapAttack(this, attackTarget[0].transform.position, changeTimeSingleMode);
            yield return new WaitForSeconds(changeTimeSingleMode);

            //攻撃アニメーション
            animator.SetSingleAttack(selectWazaNumber);

            popupPositionInScreen = Camera.main.WorldToScreenPoint(new Vector3(attackTarget[0].transform.position.x, attackTarget[0].transform.position.y + 1f, attackTarget[0].transform.position.z));

            var attackList = selectAttackParameter.actionParameters;
            List<float> totalTapRatios = new List<float>();
            foreach (var action in attackList)
            {

                nowSingleAction = action;
                //startInterval待ってからマーカー縮小
                yield return new WaitForSeconds(action.judgeTime);
                //マーカー表示
                nowAttackMaker = Instantiate(action.attackMakerPrefab, popupPositionInScreen, Quaternion.identity) as GameObject;
                nowAttackMaker.transform.SetParent(effectCanvas);

                //マーカー縮小始まり
                iTween.ScaleTo(nowAttackMaker, iTween.Hash("scale", new Vector3(0.1f, 0.1f, 1.0f), "time", action.judgeTime));

                //タップ判定
                startTime = Time.time;
                //タップできなかったら最大時間
                //leftTimheは大きい程よい。leftTime=judgeTimeがパーフェクト
                leftTime = 0;
                IT_Gesture.onShortTapE += OnTapForAttack;
                yield return new WaitForSeconds(action.judgeTime);
                IT_Gesture.onShortTapE -= OnTapForAttack;
                isTapDetect = false;
                if (nowAttackMaker != null)
                {
                    Destroy(nowAttackMaker);

                }
                totalTapRatios.Add(leftTime/action.judgeTime);
            }

            //攻撃
            foreach (var target in attackTarget)
            {
                var damageMagnification = CalcDamageMagnification(CalcDamageFromTapMagnificationRation(totalTapRatios));
                var characterPower = selectAttackParameter.element == ElementKind.なし ? character.characterParameter.power : character.characterParameter.elementPower;
                target.Life.Damage(characterPower, selectAttackParameter.element, damageMagnification);
            }

            foreach (var target in attackTarget)
            {
                target.Life.CheckDestroy();
            }

            foreach (var tar in attackTarget.Where(x => x != null))
            {
                tar.SetTargeted(false);
            }

            attackTarget = new List<BCharacterBase>();

            isDone = true;
            Invoke("OnCompleteAnimation", resetInterval);
            //攻撃時にUI非表示
            //ActionSelect.Instance.EndActiveAction();
            yield return null;
        }
        IEnumerator AttackWithTap()
        {
            if (attackTarget.Count == 0)
            {
                yield return(null);
            }

            isNowAction = true;
            //カメラ切り替え
            BCameraChange.Instance.ActiveLeanMode();
            BCameraMove.Instance.MoveToTapAttack(this, attackTarget[0].transform.position, changeTimeSingleMode);
            yield return(new WaitForSeconds(changeTimeSingleMode));

            //攻撃アニメーション
            animator.SetSingleAttack(selectWazaNumber);

            popupPositionInScreen = Camera.main.WorldToScreenPoint(new Vector3(attackTarget[0].transform.position.x, attackTarget[0].transform.position.y + 1f, attackTarget[0].transform.position.z));

            var          attackList     = selectAttackParameter.actionParameters;
            List <float> totalTapRatios = new List <float>();

            foreach (var action in attackList)
            {
                nowSingleAction = action;
                //startInterval待ってからマーカー縮小
                yield return(new WaitForSeconds(action.judgeTime));

                //マーカー表示
                nowAttackMaker = Instantiate(action.attackMakerPrefab, popupPositionInScreen, Quaternion.identity) as GameObject;
                nowAttackMaker.transform.SetParent(effectCanvas);


                //マーカー縮小始まり
                iTween.ScaleTo(nowAttackMaker, iTween.Hash("scale", new Vector3(0.1f, 0.1f, 1.0f), "time", action.judgeTime));


                //タップ判定
                startTime = Time.time;
                //タップできなかったら最大時間
                //leftTimheは大きい程よい。leftTime=judgeTimeがパーフェクト
                leftTime = 0;
                IT_Gesture.onShortTapE += OnTapForAttack;
                yield return(new WaitForSeconds(action.judgeTime));

                IT_Gesture.onShortTapE -= OnTapForAttack;
                isTapDetect             = false;
                if (nowAttackMaker != null)
                {
                    Destroy(nowAttackMaker);
                }
                totalTapRatios.Add(leftTime / action.judgeTime);
            }

            //攻撃
            foreach (var target in attackTarget)
            {
                var damageMagnification = CalcDamageMagnification(CalcDamageFromTapMagnificationRation(totalTapRatios));
                var characterPower      = selectAttackParameter.element == ElementKind.なし ? character.characterParameter.power : character.characterParameter.elementPower;
                target.Life.Damage(characterPower, selectAttackParameter.element, damageMagnification);
            }

            foreach (var target in attackTarget)
            {
                target.Life.CheckDestroy();
            }

            foreach (var tar in attackTarget.Where(x => x != null))
            {
                tar.SetTargeted(false);
            }

            attackTarget = new List <BCharacterBase>();

            isDone = true;
            Invoke("OnCompleteAnimation", resetInterval);
            //攻撃時にUI非表示
            //ActionSelect.Instance.EndActiveAction();
            yield return(null);
        }