IEnumerator delayBullet3() { int count = 20; float angle = -10 / 2f * 10f; for (int i = 0; i < count; i++) { GameObject obj = GameObject.Instantiate(ultimateBullet); PosBullet1 bullet = obj.GetComponent <PosBullet1>(); bullet.player = transform; bullet.startPos = transform.position + new Vector3(0f, 0.01f, 0f); bullet.tarPos = MathUtil1.calcTargetPosByRotation(transform, angle + i * 10f, 10f); bullet.effectObj = damageEffect1; bullet.bulleting(); yield return(new WaitForSeconds(0.015f)); if (i % 6 == 0) { AttackedController1 c = GameObject.Find("bigzhangjiao (1)").GetComponent <AttackedController1>(); c.attacked(); if (damageEffect2 != null) { GameObject obj1 = GameObject.Instantiate(damageEffect2); ParticlesEffect1 effect = obj1.AddComponent <ParticlesEffect1>(); Transform target = GameObject.Find("bigzhangjiao (1)").transform; effect.transform.position = MathUtil1.findChild(target, "attackedPivot").position; effect.play(); } } } }
private async void DelayBullet3() { const int count = 20; const float angle = -10 / 2f * 10f; for (var i = 0; i < count; i++) { var bullet = Instantiate(_ultimateBullet); bullet.player = transform; bullet.startPos = transform.position + new Vector3(0f, 0.01f, 0f); bullet.tarPos = MathUtil1.calcTargetPosByRotation(transform, angle + i * 10f, 10f); bullet.effectObj = _damageEffect1; bullet.bulleting(); await UniTask.Delay(1); if (i % 6 != 0) { continue; } if (_damageEffect2 == null) { continue; } var effect = Instantiate(_damageEffect2); effect.transform.position = MathUtil1.findChild(_target, "attackedPivot").position; effect.play(); } }