Replace UltimateXR with HurricaneVR

This commit is contained in:
2024-08-08 17:01:07 +02:00
parent e8658374d6
commit fb21dbbb73
5932 changed files with 358362 additions and 2174150 deletions

View File

@@ -0,0 +1,92 @@
using System.Collections.Generic;
using HurricaneVR.Framework.Core.Utils;
using UnityEngine;
using Random = UnityEngine.Random;
namespace HurricaneVR.Framework.Weapons
{
public class HVRGunSounds : MonoBehaviour
{
public AudioClip Fired;
public AudioClip OutOfAmmo;
//public AudioClip AmmoInserted;
//public AudioClip AmmoReleased;
public AudioClip SlideBack;
public AudioClip SlideForward;
public List<AudioClip> FiredVariations = new List<AudioClip>();
//public List<AudioClip> AmmoInsertedVariations = new List<AudioClip>();
//public List<AudioClip> AmmoReleasedVariations = new List<AudioClip>();
public List<AudioClip> SlideBackVariations = new List<AudioClip>();
public List<AudioClip> SlideForwardVariations = new List<AudioClip>();
private void Start()
{
AddVariation(Fired, FiredVariations);
//AddVariation(AmmoInserted, AmmoInsertedVariations);
//AddVariation(AmmoReleased, AmmoReleasedVariations);
AddVariation(SlideBack, SlideBackVariations);
AddVariation(SlideForward, SlideForwardVariations);
}
public virtual void PlayGunFire()
{
PlayVariation(FiredVariations);
}
//public virtual void PlayAmmoInserted()
//{
// PlayVariation(AmmoInsertedVariations);
//}
//public virtual void PlayAmmoReleased()
//{
// PlayVariation(AmmoReleasedVariations);
//}
public virtual void PlayOutOfAmmo()
{
PlayClip(OutOfAmmo);
}
public virtual void PlaySlideForward()
{
PlayVariation(SlideForwardVariations);
}
public virtual void PlaySlideBack()
{
PlayVariation(SlideBackVariations);
}
protected virtual void PlayVariation(List<AudioClip> variations)
{
if (variations.Count == 0)
return;
var index = Random.Range(0, variations.Count);
var sfx = variations[index];
PlayClip(sfx);
}
protected virtual void PlayClip(AudioClip clip)
{
if (!clip)
return;
if(SFXPlayer.Instance) SFXPlayer.Instance.PlaySFX(clip, transform.position);
}
private void AddVariation(AudioClip clip, List<AudioClip> variations)
{
if (clip && !variations.Contains(clip))
{
variations.Add(clip);
}
}
}
}