2023-04-04 01:23:20 +02:00
|
|
|
using UnityEngine;
|
2023-07-15 01:39:52 +02:00
|
|
|
using FishNet.Object;
|
|
|
|
using FishNet;
|
2023-04-04 01:23:20 +02:00
|
|
|
|
2023-06-02 06:30:58 +02:00
|
|
|
namespace Item
|
2023-04-04 01:23:20 +02:00
|
|
|
{
|
2023-07-15 01:39:52 +02:00
|
|
|
public class BulletComponent : NetworkBehaviour
|
2023-06-02 06:30:58 +02:00
|
|
|
{
|
|
|
|
[SerializeField] private float duration = 5f;
|
2023-06-01 17:03:48 +02:00
|
|
|
|
2023-06-02 06:30:58 +02:00
|
|
|
[SerializeField] private string type = "flare";
|
2023-06-01 17:03:48 +02:00
|
|
|
|
2023-06-02 06:30:58 +02:00
|
|
|
[SerializeField] private float damageRange = 20f;
|
2023-06-01 17:03:48 +02:00
|
|
|
|
2023-06-02 06:30:58 +02:00
|
|
|
[SerializeField] private float damageMagnitude = 1f;
|
2023-06-01 17:03:48 +02:00
|
|
|
|
2023-06-02 06:30:58 +02:00
|
|
|
private float existed;
|
|
|
|
private Item.FlareRegister register;
|
|
|
|
public float DamageMagnitude => damageMagnitude;
|
|
|
|
public float DamageRange => damageRange;
|
2023-04-04 01:23:20 +02:00
|
|
|
|
2023-06-02 06:30:58 +02:00
|
|
|
// Start is called before the first frame update
|
|
|
|
private void Start()
|
|
|
|
{
|
|
|
|
register = Item.FlareRegister.instance;
|
|
|
|
register.bullets.Add(this);
|
2023-07-15 01:39:52 +02:00
|
|
|
this.transform.parent = null;
|
|
|
|
|
2023-06-02 06:30:58 +02:00
|
|
|
}
|
2023-06-01 17:03:48 +02:00
|
|
|
|
2023-06-02 06:30:58 +02:00
|
|
|
// Update is called once per frame
|
|
|
|
private void Update()
|
2023-04-04 01:23:20 +02:00
|
|
|
{
|
|
|
|
}
|
2023-06-01 17:03:48 +02:00
|
|
|
|
2023-06-02 06:30:58 +02:00
|
|
|
private void FixedUpdate()
|
|
|
|
{
|
|
|
|
if (existed >= duration)
|
|
|
|
{
|
|
|
|
register.bullets.Remove(this);
|
|
|
|
Destroy(gameObject);
|
|
|
|
}
|
|
|
|
|
|
|
|
existed += Time.fixedDeltaTime;
|
|
|
|
}
|
2023-04-04 01:23:20 +02:00
|
|
|
}
|
2023-06-01 17:03:48 +02:00
|
|
|
}
|