Item.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. using System;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. namespace HQFPSWeapons
  5. {
  6. [Serializable]
  7. public class ItemCategory
  8. {
  9. public string Name { get { return m_Name; } }
  10. public ItemData[] Items { get { return m_Items; } }
  11. [SerializeField]
  12. private string m_Name = null;
  13. [SerializeField]
  14. private ItemData[] m_Items = null;
  15. }
  16. /// <summary>
  17. /// The data / definition for an item.
  18. /// </summary>
  19. [Serializable]
  20. public class ItemData
  21. {
  22. public string Name { get { return m_Name; } }
  23. public string Category { get { return m_Category; } set { m_Category = value; } }
  24. public Sprite Icon { get { return m_Icon; } }
  25. public GameObject WorldObject { get { return m_WorldObject; } }
  26. public int StackSize { get { return m_StackSize; } }
  27. public bool OnlyOneStackAllowed { get => m_OnlyOneStackAllowed; }
  28. public ItemDescriptionList Descriptions { get { return m_Descriptions; } }
  29. public ItemPropertyList Properties { get { return m_Properties; } }
  30. [SerializeField]
  31. private string m_Name = string.Empty;
  32. [SerializeField]
  33. [ReadOnly]
  34. private string m_Category = string.Empty;
  35. [SerializeField]
  36. [Icon]
  37. private Sprite m_Icon = null;
  38. [SerializeField]
  39. private GameObject m_WorldObject = null;
  40. [SerializeField]
  41. [Clamp(1, 10000)]
  42. private int m_StackSize = 1;
  43. [SerializeField]
  44. private bool m_OnlyOneStackAllowed = false;
  45. [SerializeField]
  46. [Reorderable]
  47. private ItemDescriptionList m_Descriptions = null;
  48. [SerializeField]
  49. [Reorderable]
  50. private ItemPropertyList m_Properties = null;
  51. }
  52. }