package cli import ( "f1-game/internal/enum" nameRoute "f1-game/internal/name/route" "f1-game/internal/pb" ) // 地图交易所货柜解锁 func (p *Robot) ExchangeSlotUnlock(actType enum.ExchangeActType) { req := &pb.I32{ Value: int32(actType), } rsp := &pb.I32I32{} err := p.RequestResponse(nameRoute.MapPlayer_ExchangeSlotUnlock, req, rsp) if err != nil { p.Debugf("[ExchangeSlotUnlock] err = %v", err) return } p.Debugf("[ExchangeSlotUnlock] rsp = %v", rsp) } // 获取资源的历史求购价格 func (p *Robot) ExchangeHistoryPrice(itemID int32) { req := &pb.I32{ Value: itemID, } rsp := &pb.I32I32{} err := p.RequestResponse(nameRoute.MapPlayer_ExchangeHistoryPrice, req, rsp) if err != nil { p.Debugf("[ExchangeHistoryPrice] err = %v", err) return } p.Debugf("[ExchangeHistoryPrice] rsp = %v", rsp) } // 出售或求购商品 func (p *Robot) ExchangeItem(actType enum.ExchangeActType, itemID int32, count int64, price int32) { req := &pb.ExchangeItem{ ActType: int32(actType), Asset: &pb.Asset{ Id: itemID, Num: count, }, Price: price, } rsp := &pb.ExchangeDetail{} err := p.RequestResponse(nameRoute.MapPlayer_ExchangeItem, req, rsp) if err != nil { p.Debugf("[ExchangeItem] err = %v", err) return } p.Debugf("[ExchangeItem] rsp = %v", rsp) } // 购买商品 func (p *Robot) ExchangeBuyItem(count int32, transID string) { req := &pb.I32Str{ Key: count, Value: transID, } rsp := &pb.ExchangeBuyResult{} err := p.RequestResponse(nameRoute.MapPlayer_ExchangeBuyItem, req, rsp) if err != nil { p.Debugf("[ExchangeBuyItem] err = %v", err) return } p.Debugf("[ExchangeBuyItem] rsp = %v", rsp) } // 根据条件查询地图交易所的商品列表 func (p *Robot) ExchangeQuery(pageNum int32, itemIDList []int32, subTypeList []int32, qualityList []int32, priceSort, countSort enum.ExchangeSortType) { req := &pb.ExchangeQueryFilter{ PageNum: pageNum, ItemIDList: itemIDList, SubTypeList: subTypeList, QualityList: qualityList, PriceSort: int32(priceSort), CountSort: int32(countSort), } rsp := &pb.ExchangeDetailList{} err := p.RequestResponse(nameRoute.MapPlayer_ExchangeQuery, req, rsp) if err != nil { p.Debugf("[ExchangeQuery] err = %v", err) return } p.Debugf("[ExchangeQuery] rsp = %v", rsp) } // 获取自己的交易商品列表 func (p *Robot) ExchangeMyItems(actType enum.ExchangeActType) string { req := &pb.I32{ Value: int32(actType), } rsp := &pb.MyExchangeItems{} err := p.RequestResponse(nameRoute.MapPlayer_ExchangeyMyItems, req, rsp) if err != nil { p.Debugf("[ExchangeMyItems] err = %v", err) return "" } p.Debugf("[ExchangeMyItems] rsp = %v", rsp) if len(rsp.List) == 0 { return "" } return rsp.List[0].TransactionID } // 更新地图交易所商品 func (p *Robot) ExchangeItemUpdate(updateType enum.ExchangeUpdateType, transID string) { req := &pb.I32Str{ Key: int32(updateType), Value: transID, } rsp := &pb.I32{} err := p.RequestResponse(nameRoute.MapPlayer_ExchangeyItemUpdate, req, rsp) if err != nil { p.Debugf("[ExchangeItemUpdate] err = %v", err) return } p.Debugf("[ExchangeItemUpdate] rsp = %v", rsp) } // 获取交易所日志 func (p *Robot) ExchangeLog(logType enum.ExchangeLogType, lastLogID int64) { req := &pb.I32I64{ Key: int32(logType), Value: lastLogID, } rsp := &pb.ExchangeLogList{} err := p.RequestResponse(nameRoute.MapPlayer_ExchangeyLog, req, rsp) if err != nil { p.Debugf("[ExchangeLog] err = %v", err) return } p.Debugf("[ExchangeLog] rsp = %v", rsp) }