ZeroVR/ZeroPacientVR/Assets/Scripts/VR/WeaponAmmo.cs

69 lines
1.5 KiB
C#

using System;
using HurricaneVR.Framework.Weapons;
using UnityEngine;
using TMPro;
using UnityEngine.Events;
namespace Zero
{
public class WeaponAmmo : HVRAmmo
{
public UnityEvent OnAmmoChange;
[SerializeField] private TMP_Text ammoCountText;
[SerializeField] private GameObject bulletModel;
protected override void Awake()
{
OnAmmoChange.AddListener(AmmoChanged);
base.Awake();
OnAmmoChange?.Invoke();
}
private void AmmoChanged()
{
if (ammoCountText)
{
ammoCountText.text = CurrentCount.ToString();
}
if (bulletModel)
{
bulletModel.SetActive(CurrentCount > 0);
}
}
public override void AddBullet()
{
base.AddBullet();
OnAmmoChange?.Invoke();
}
public override bool CanAddBullet()
{
return base.CanAddBullet();
}
public override bool TryAddBullet()
{
return base.TryAddBullet();
}
public override void RemoveBullet()
{
base.RemoveBullet();
OnAmmoChange?.Invoke();
}
public override void StartDestroy()
{
base.StartDestroy();
OnAmmoChange?.Invoke();
}
protected override void Start()
{
base.Start();
OnAmmoChange?.Invoke();
}
}
}