ItemDataPool.cs 831 B

1234567891011121314151617181920212223242526272829303132
  1. using System.Collections;
  2. namespace GFGGame
  3. {
  4. public class ItemDataPool
  5. {
  6. public static ArrayList _itemDataPool = new ArrayList();
  7. public static ItemData GetItemData(int itemID)
  8. {
  9. ItemData itemData = null;
  10. int poolCount = _itemDataPool.Count;
  11. if(poolCount > 0)
  12. {
  13. int index = poolCount - 1;
  14. itemData = _itemDataPool[index] as ItemData;
  15. _itemDataPool.RemoveAt(index);
  16. }
  17. else
  18. {
  19. itemData = new ItemData();
  20. }
  21. itemData.id = itemID;
  22. return itemData;
  23. }
  24. public static void ResycleItemData(ItemData itemData)
  25. {
  26. itemData.Reset();
  27. _itemDataPool.Add(itemData);
  28. }
  29. }
  30. }