IEnumerator CreateArrow(float time) { yield return(new WaitForSeconds(time)); if (_SetTarget) { MySoldier_Archer_Arrow arrow = ObjectPoolingMng.Data._MySoldier_Archer_ArrowsList[ObjectPoolingMng.Data.UseMySoldier_Archer_Arrow()]; Vector2 dis = _TargetUnit.GetUnitHitPos() - GetShootPos(); arrow.Shoot(GetShootPos(), dis.x, dis.y, (Mathf.Abs(dis.x) / _AttackRange) * _BulletFlyingTime); } }
IEnumerator CreateArrow(float time) { yield return(new WaitForSeconds(time)); if (_SetTarget && GetStillAlive()) { MySoldier_Archer_Arrow arrow = ObjectPoolingMng.Data._MySoldier_Archer_ArrowsList[ObjectPoolingMng.Data.UseMySoldier_Archer_Arrow()]; Vector2 dis = _TargetUnit.GetUnitHitPos() - GetShootPos(); arrow.Shoot(GetShootPos(), dis.x, dis.y, (Mathf.Abs(dis.x) / _AttackRange) * _ArrowFlyingTime); if (UpgradeMng.Data._SkillLevel_Soldier_Archer > 0) { if (Random.Range(0, 100) < MyUnitInfoMng.Data._Archer_SkillChance[UpgradeMng.Data._SkillLevel_Soldier_Archer - 1]) { ArrowRain(); } } } }