public void ShootLasers() { if (isLaserAttackReady() && target != null) { AutoGuidedBullet.Create(laserPrefab, trip.barrel.transform, laserSpeed, 0f, laserDamage, laserDamage, 0f, true, trip.player, target, laserGuidanceStart, laserGuidanceMaxDeviation); laserLastUse = Time.time; } }
public static GameObject Create(GameObject prefab, Transform barrel, float speed, float dispertion, float initialDamage, float minDamage, float damageDecrease, bool friendlyFire, Player shooter, GameObject target, float autoGuidanceStart, float maxDeviation) { GameObject pro = Bullet.Create(prefab, barrel, speed, dispertion, initialDamage, minDamage, damageDecrease, friendlyFire, shooter); AutoGuidedBullet bullet = pro.GetComponent <AutoGuidedBullet> (); bullet.target = target; bullet.autoGuidanceStart = autoGuidanceStart; bullet.maxDeviation = maxDeviation; return(pro); }
void ShootTarget() { if (Vector3.Distance(transform.position, target.transform.position) > balisticShotMinDistance && !isTargetVisible(target, maxAimingDistance)) { barrel.transform.Rotate(new Vector3(-balisticShotAngle, 0f, 0f)); AutoGuidedBullet.Create(bulletPrefab, barrel.transform, bulletSpeed, 0f, damage, minDamage, damageDecrease, true, tripod, target, autoGuidanceStart, maxDeviation); barrel.transform.Rotate(new Vector3(balisticShotAngle, 0f, 0f)); } else { AutoGuidedBullet.Create(bulletPrefab, barrel.transform, bulletSpeed, 0f, damage, minDamage, damageDecrease, true, tripod, target, autoGuidanceStart, maxDeviation); } audio.Play(); shots++; }