FirearmCollection.cs 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using UnityEngine;
  5. namespace Assets.HeroEditor4D.Common.Scripts.Collections
  6. {
  7. /// <summary>
  8. /// Global object that automatically grabs all required images.
  9. /// </summary>
  10. [CreateAssetMenu(fileName = "FirearmCollection", menuName = "HeroEditor4D/FirearmCollection")]
  11. public class FirearmCollection : ScriptableObject
  12. {
  13. public string Id;
  14. public List<FirearmParams> FirearmParams;
  15. public static Dictionary<string, FirearmCollection> Instances = new Dictionary<string, FirearmCollection>();
  16. public void OnEnable()
  17. {
  18. if (!Instances.ContainsKey(Id))
  19. {
  20. Instances.Add(Id, this);
  21. }
  22. }
  23. }
  24. [Serializable]
  25. public class FirearmParams
  26. {
  27. public string Name;
  28. public ParticleSystem FireMuzzlePrefab;
  29. public AudioClip ShotSound;
  30. public AudioClip ReloadSound;
  31. }
  32. }