Advertisement
Guest User

Untitled

a guest
Jun 16th, 2019
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.69 KB | None | 0 0
  1. using UnityEngine;
  2.  
  3. public class Item
  4. {
  5. public Item(Sprite sprite, int cost)
  6. {
  7. _sprite = sprite;
  8. _cost = cost;
  9. }
  10.  
  11. [SerializeField]
  12. Sprite _sprite;
  13.  
  14. int _cost;
  15.  
  16. // другие поля
  17. }
  18.  
  19. using System.Collections.Generic;
  20.  
  21. public class Inventory
  22. {
  23. static Inventory _instance;
  24.  
  25. public static Inventory Instance
  26. {
  27. get
  28. {
  29. if (_instance == null) _instance = new Inventory();
  30. return _instance;
  31. }
  32. }
  33.  
  34. List<Item> _items = new List<Item>();
  35.  
  36. // используйте для добавления предмета в ваш "инвентарь"
  37. public void AddItem(Item item) => _items.Add(item);
  38.  
  39. // используйте для удаления предмета из вашего "инвентаря"
  40. public void RemoveItem(Item item) => _items.Remove(item);
  41. }
  42.  
  43. using UnityEngine;
  44.  
  45. public class RewardItem : MonoBehaviour
  46. {
  47. [SerializeField]
  48. Sprite _sprite;//картинка предмета, который добавится в инвентарь
  49.  
  50. // другие данные, которые будут нужны для создания предмета (чтобы его добавить в инв.)
  51. [SerializeField]
  52. int _cost;
  53.  
  54. void Start()
  55. {
  56. // таким образом, если данный скрипт висит где-то на сцене,
  57. // то на старте в Инвентарь добавится новый предмет,
  58. // с указанной картинкой и, например, ценой
  59. Item myNewItem = new Item(_sprite, _cost);
  60. Inventory.Instance.AddItem(myNewItem);
  61. }
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement