private IEnumerator BattleAnimWithGuard(RadingKind type, float cur, int died)
        {
            for (int i = 0; i < 2; i++)
            {
                shell.Initialize(enemy.transform.parent.localPosition, friendly.transform.parent.localPosition, type);
                yield return(MyWaitForSeconds((type != 0) ? 1f : 0.5f));

                iTween.ShakePosition(friendly.gameObject, iTween.Hash("amount", Vector3.one, "islocal", true, "time", 0.5f));
                ((Component)partExplosion).transform.localPosition = friendly.transform.parent.localPosition;
                partExplosion.time = 0f;
                partExplosion.Play(true);
                SoundUtils.PlaySE(SEFIleInfos.BattleDamage);
                GameObject tmp = UnityEngine.Object.Instantiate(count.gameObject);
                tmp.transform.parent        = count.transform.parent;
                tmp.transform.localScale    = Vector3.one;
                tmp.transform.localPosition = count.transform.localPosition;
                iTween.MoveTo(tmp, iTween.Hash("position", tmp.transform.localPosition + 50f * Vector3.up, "islocal", true, "time", 0.4f, "easeType", iTween.EaseType.linear));
                iTween.RotateTo(tmp, iTween.Hash("x", 90, "islocal", true, "time", 0.4f, "easeType", iTween.EaseType.linear));
                UnityEngine.Object.Destroy(tmp, 0.4f);
                cur       -= (float)died / 2f;
                count.text = "x " + Mathf.RoundToInt(cur);
                if (RadingData.RadingDamage.Any((RadingDamageData x) => x.Damage))
                {
                    bool isGekichin = RadingData.RadingDamage.Any((RadingDamageData x) => x.DamageState == DamagedStates.Gekichin);
                    bool isYouin    = RadingData.RadingDamage.Any((RadingDamageData x) => x.DamageState == DamagedStates.Youin);
                    if (i == 1 && (isGekichin || isYouin))
                    {
                        hukidashi.Play(TileAnimationHukidashi.Type.Goutin);
                        yield return(new WaitForSeconds(2f));

                        if (isYouin)
                        {
                            hukidashi.Play(TileAnimationHukidashi.Type.Damecon);
                            yield return(new WaitForSeconds(1f));

                            TrophyUtil.Unlock_At_Rading();
                        }
                    }
                    else
                    {
                        hukidashi.Play(TileAnimationHukidashi.Type.Damage);
                    }
                }
                yield return(MyWaitForSeconds(1.2f));

                partExplosion.Stop(true);
                partExplosion.Clear(true);
                SoundUtils.PlaySE(SEFIleInfos.BattleDamage);
                shell.Initialize(friendly.transform.parent.localPosition, enemy.transform.parent.localPosition, (RadingKind)0);
                yield return(MyWaitForSeconds(0.5f));

                iTween.ShakePosition(enemy.gameObject, iTween.Hash("amount", Vector3.one, "islocal", true, "time", 0.5f));
                ((Component)partExplosion).transform.localPosition = enemy.transform.parent.localPosition;
                partExplosion.time = 0f;
                partExplosion.Play(true);
                SoundUtils.PlaySE(SEFIleInfos.BattleDamage);
                yield return(MyWaitForSeconds(1.2f));

                partExplosion.Stop(true);
                partExplosion.Clear(true);
            }
        }