level.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package controller
  2. import (
  3. mhayaGin "github.com/mhaya/components/gin"
  4. "github.com/mhaya/game/game_cluster/internal/code"
  5. "github.com/mhaya/game/game_cluster/internal/constant"
  6. "github.com/mhaya/game/game_cluster/internal/data"
  7. "github.com/mhaya/game/game_cluster/internal/mdb/models"
  8. "github.com/mhaya/game/game_cluster/internal/param"
  9. mhayaLogger "github.com/mhaya/logger"
  10. )
  11. func (p *Controller) getLevel(c *mhayaGin.Context) {
  12. token, err := p.Auth(c)
  13. if code.IsFail(err) {
  14. mhayaLogger.Warnf("if getLevel token err {. params=%s", c.GetHeader(constant.Token))
  15. code.RenderResult(c, code.AccountTokenValidateFail)
  16. return
  17. }
  18. rsp := &models.Player{}
  19. ctl, ok := p.GetChildActor(token.PlayerID)
  20. if !ok {
  21. code.RenderResult(c, code.Error)
  22. return
  23. }
  24. errCode := ctl.CallWait(token.TargetPath, "start", nil, rsp)
  25. if code.IsFail(errCode) {
  26. mhayaLogger.Warnf("[getLevel] token = %s, errCode = %v", token, errCode)
  27. code.RenderResult(c, errCode)
  28. return
  29. }
  30. var resp param.GetLevelResp
  31. resp.NowLevel = rsp.Level
  32. resp.NowInvite = rsp.Item[models.ItemInvite].CurNum
  33. resp.NowRoll = rsp.Item[models.ItemRoll].CurNum
  34. ret, ok := data.LevelConfig.Get(rsp.Level + 1)
  35. if ok {
  36. resp.NextLevel = rsp.Level + 1
  37. resp.NextRoll = ret.DiceNum
  38. resp.NextInvite = ret.Invite
  39. } else {
  40. resp.NextLevel = rsp.Level
  41. resp.NextInvite = rsp.Item[models.ItemInvite].CurNum
  42. resp.NextRoll = rsp.Item[models.ItemRoll].CurNum
  43. }
  44. code.RenderResult(c, code.OK, resp)
  45. }