物品、物品容器重新设计

This commit is contained in:
kercylan98
2023-05-10 14:58:33 +08:00
parent aa5a070fe6
commit 8bfee0eeeb

View File

@@ -78,7 +78,7 @@ func (slf *ItemContainer[ItemID, Item]) AddItem(item Item, count *huge.Int) erro
for guid := range slf.itemIdGuidRef[item.GetID()] {
member := slf.items[guid]
if member.GetItem().IsSame(item) {
member.count = member.count.Add(count)
member.count.Add(count)
return nil
}
}
@@ -107,7 +107,7 @@ func (slf *ItemContainer[ItemID, Item]) DeductItem(guid int64, count *huge.Int)
}
member := slf.items[guid]
if member.count.GreaterThanOrEqualTo(count) {
member.count = member.count.Sub(count)
member.count.Sub(count)
if member.count.EqualTo(huge.IntZero) {
slf.size--
delete(slf.items, guid)
@@ -120,7 +120,7 @@ func (slf *ItemContainer[ItemID, Item]) DeductItem(guid int64, count *huge.Int)
for guid := range guids {
member := slf.items[guid]
if need.GreaterThanOrEqualTo(member.count) {
need = need.Sub(member.count)
need.Sub(member.count)
handles = append(handles, func() {
member.count = huge.IntZero.Copy()
slf.size--
@@ -131,7 +131,7 @@ func (slf *ItemContainer[ItemID, Item]) DeductItem(guid int64, count *huge.Int)
}
})
} else {
member.count = member.count.Sub(need)
member.count.Sub(need)
need = huge.IntZero
}
}