Files
Cielonos/Assets/External VFXs/MasterStylizedFX/Scripts/BulletShooter.cs
SoulliesOfficial d15957c719 更新
2025-12-17 04:19:38 -05:00

46 lines
1.2 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BulletShooter : MonoBehaviour
{
public ParticleSystem Muzzle;
public ParticleSystem Bullet;
public float BulletSpeed = 100f;
public float Distance;
public ParticleSystem HitEffect;
public Transform BulletStartPoint;
private void OnEnable()
{
ShootBullet();
}
private void Update()
{
}
public void ShootBullet()
{
StartCoroutine(ShootBulletCoroutine());
}
public IEnumerator ShootBulletCoroutine()
{
var time = Distance / BulletSpeed;
Instantiate(Muzzle, BulletStartPoint.position, BulletStartPoint.rotation);
var bullet = Instantiate(Bullet, BulletStartPoint.position, BulletStartPoint.rotation);
bullet.transform.parent = transform;
var timer = 0f;
while (timer < time)
{
timer += Time.deltaTime;
bullet.transform.position += bullet.transform.forward * BulletSpeed * Time.deltaTime;
yield return null;
}
//destroy bullet
Destroy(bullet.gameObject);
//instantiate hit effect
Instantiate(HitEffect, bullet.transform.position, bullet.transform.rotation);
}
}