item.go 1018 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package item
  2. import (
  3. item_inventory "bet24.com/servers/micros/item_inventory/proto"
  4. "time"
  5. )
  6. var itemmgr *itemManager
  7. type itemManager struct {
  8. item_list map[int]*item_inventory.Item
  9. }
  10. func getItemManager() *itemManager {
  11. if itemmgr == nil {
  12. itemmgr = new(itemManager)
  13. itemmgr.item_list = make(map[int]*item_inventory.Item)
  14. itemmgr.refreshData()
  15. }
  16. return itemmgr
  17. }
  18. func (this *itemManager) refreshData() {
  19. this.load()
  20. time.AfterFunc(1*time.Minute, this.refreshData)
  21. }
  22. func (this *itemManager) load() {
  23. items := item_inventory.GetItems()
  24. this.item_list = items
  25. // 删除筹码道具
  26. // delete(items, Item_Chip)
  27. return
  28. }
  29. func (this *itemManager) getSysItems() map[int]*item_inventory.Item {
  30. return this.item_list
  31. }
  32. func (this *itemManager) addItems(itemId, count int) []item_inventory.ItemPack {
  33. var items []item_inventory.ItemPack
  34. if itemId <= 0 || count <= 0 {
  35. return items
  36. }
  37. items = append(items, item_inventory.ItemPack{
  38. ItemId: itemId,
  39. Count: count,
  40. })
  41. return items
  42. }