} // ---UpdateHp() /* * 攻撃演出処理 */ protected IEnumerator DrawBattleGraphic(BaseCharacter[] cd, ComboManager cm) { // 攻撃者の画像を貼り付ける GameObject atkObj = DamageEffect.DrawAttackChara(this); yield return(Utility._Wait.WaitFrame(30)); Destroy(atkObj); // 対象表示 DamageEffect.TargetGraphicDraw(cd[targetId]); yield return(Utility._Wait.WaitFrame(10)); // 戦闘アニメーション DamageEffect.AttackEffect(1); yield return(Utility._Wait.WaitFrame(45)); // ダメージ表示 DamageEffect.DrawDamage(DamageEffect.CalDamage(this, cm)); DamageEffect.DrawCombo(cm); yield return(Utility._Wait.WaitFrame(45)); // 消去 DamageEffect.DestroyAllObject(); yield return(0); }
public static IEnumerator DoUnison(BaseCharacter[] actionCharas, BaseCharacter TargetChara, ComboManager cm) { // 演出を表示する(攻撃者の演出) GameObject canvas = GameObject.Find("Canvas"); List <GameObject> uniObj = new List <GameObject>(); int unisonCount = 0; int unisonSupport = 0; for (int i = 0; i < actionCharas.Length; i++) { if (actionCharas[i].ctbNum == 0) { string str = actionCharas[i].cs.standGraphicPath; unisonSupport += actionCharas[i].cs.unisonSupport; GameObject obj = Utility._Object.MyGenerateImage(str, canvas, new Vector2(270, 540)); obj.GetComponent <RectTransform>().localPosition = id2Pos(unisonCount); uniObj.Add(obj); unisonCount++; SoundManager.PlaySe(Variables.SE.SeName.battle_unison_chari); yield return(Utility._Wait.WaitFrame(10)); } } // ウェイト yield return(Utility._Wait.WaitFrame(30)); // ユニゾンのエフェクトを消す foreach (GameObject g in uniObj) { Destroy(g); } // 対象表示 DamageEffect.TargetGraphicDraw(TargetChara); yield return(Utility._Wait.WaitFrame(10)); // 戦闘アニメーション SoundManager.PlaySe(Variables.SE.SeName.battle_unison_effect); DamageEffect.AttackEffect(1); yield return(Utility._Wait.WaitFrame(45)); // ダメージの算出 SoundManager.PlaySe(Variables.SE.SeName.battle_unison_damage); int damage = OpeCharaList.GetAverageAtk(actionCharas); damage *= (BCV.UNISON_DAMAGE_COEFFICIENT[unisonCount]); damage /= 100; damage *= cm.magnificationDamage; damage /= 100; damage *= (100 + unisonSupport); // ( 要調整 ) damage /= 100; TargetChara.hp -= damage; if (TargetChara.hp < 0) { TargetChara.hp = 0; } // ダメージの演出 DamageEffect.DrawDamage(damage); DamageEffect.DrawCombo(cm); yield return(Utility._Wait.WaitFrame(45)); DamageEffect.DestroyAllObject(); yield return(0); }