예제 #1
0
    public void Fire_Miss(Transform weaponSpawn, Vector3 _targetPosition, Weapon _weapon, float _UnitSize)
    {
        if (WeaponSpawns.Contains(weaponSpawn))
        {
            var ammo  = _weapon.projectile;
            var speed = _weapon.projectileSpeed;


            bool XDir = (Game.Random.Next(0, 10) > 5);
            bool YDir = (Game.Random.Next(0, 10) > 5);
            bool ZDir = (Game.Random.Next(0, 10) > 5);

            float X = _UnitSize;
            float Y = _UnitSize;
            float Z = _UnitSize;

            if (XDir)
            {
                X = -X;
            }
            if (YDir)
            {
                Y = -Y;
            }
            if (ZDir)
            {
                Z = -Z;
            }

            X = _UnitSize + _targetPosition.x;
            Y = _UnitSize + _targetPosition.y;
            Z = _UnitSize + _targetPosition.z;


            Vector3 ShotTarget = (new Vector3(X, Y, Z));
            var     heading    = ShotTarget - transform.position;
            ShotTarget = ShotTarget + heading;

            ProjectileScript projectile = Instantiate(ammo, weaponSpawn.position, Quaternion.identity) as ProjectileScript;
            projectile.MissTarget(ShotTarget, speed);
        }
    }