コード例 #1
0
    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);
        }
    }
コード例 #2
0
ファイル: MySoldier_Archer.cs プロジェクト: jhj000213/Trumper
    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();
                }
            }
        }
    }