package itemUse import ( "f1-game/internal/code" "f1-game/internal/data" "f1-game/internal/enum" "f1-game/internal/pb" "f1-game/internal/types" ) // Random 使用后按随机规则添加 type Random struct { } func (*Random) UseType() enum.ItemUseType { return enum.ItemUseRandom } func (*Random) Use(_ int64, req *pb.ItemUseRequest, poolID int32) (types.Assets, int32) { weighter, found := data.DropPool.GetWeighter(poolID) if !found { return types.NoneAssets, code.ItemUseFail } retAssets := types.Assets{} // return assets for range req.UseNum { // 随机取一个物品 row := weighter.SelectOne() if row == nil { continue } retAssets.Add(row.ItemID, row.Num) } return retAssets, code.OK }