gen_pool.go 844 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package actorRemote
  2. import (
  3. cherryApp "f1-game/internal/cherry_app"
  4. "f1-game/internal/code"
  5. nameActor "f1-game/internal/name/actor"
  6. nameRemote "f1-game/internal/name/remote"
  7. "f1-game/internal/pb"
  8. "f1-game/internal/types"
  9. cfacade "github.com/cherry-game/cherry/facade"
  10. )
  11. type genPool struct {
  12. }
  13. func newGenPool() *genPool {
  14. return &genPool{}
  15. }
  16. func (p *genPool) GenPoolConfirm(genPoolID int32, assets types.Assets) (ret types.Assets, ok bool) {
  17. var (
  18. req = &pb.AssetList{
  19. List: assets.ToProto(),
  20. }
  21. rsp = &pb.AssetList{}
  22. )
  23. targetPath := cfacade.NewChildPath(cherryApp.NodeID(), nameActor.GenPool, genPoolID)
  24. errCode := cherryApp.CallWait(targetPath, nameRemote.GenPoolConfrim, req, rsp)
  25. if code.IsFail(errCode) {
  26. return
  27. }
  28. for _, asset := range rsp.List {
  29. ret.Add(asset.Id, asset.Num)
  30. }
  31. ok = true
  32. return
  33. }