This repository has been archived on 2023-09-13. You can view files and clone it, but cannot push or open issues or pull requests.
station_obscurum_unity/Assets/Scripts/Item/Pistol/BulletComponent.cs

49 lines
1.2 KiB
C#
Raw Permalink Normal View History

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);
2023-07-15 01:49:40 +02:00
InstanceFinder.ServerManager.Despawn(gameObject);
2023-06-02 06:30:58 +02:00
Destroy(gameObject);
2023-07-15 01:49:40 +02:00
2023-06-02 06:30:58 +02:00
}
existed += Time.fixedDeltaTime;
}
2023-04-04 01:23:20 +02:00
}
2023-06-01 17:03:48 +02:00
}