# DiscoSpin_View_DiscoSpinActivityPopupHelper_1474.luac
; fn @DiscoSpinActivityPopupHelper.lua  line 0-0 np=0 va=1 ms=4 code=32 consts=15 upvals=1 protos=5
;   K[0]='DiscoSpinActivityPopupHelper'
;   K[1]='setmetatable'
;   K[2]='canPopScene'
;   K[3]='EPopupScene'
;   K[4]='Board'
;   K[5]=true
;   K[6]='Main'
;   K[7]='BasePopupHelper'
;   K[8]='__index'
;   K[9]='Create'
;   K[10]='DiscoSpinActivityPopupHelper'
;   K[11]='Init'
;   K[12]='_OnLoginFinished'
;   K[13]='_SetNeedCheckPopup'
;   K[14]='CheckPopup'
;   upvals: _ENV
0000  GETTABUP  R0 = _ENV[K1('setmetatable')]
0001  NEWTABLE  R1 = {} (0 items)
0002  NEWTABLE  R2 = {} (0 items)
0003  GETTABUP  R3 = _ENV[K3('EPopupScene')]
0004  GETTABLE  R3 = R3[K4('Board')]
0005  SETTABLE  R2[R3] = K5(true)
0006  GETTABUP  R3 = _ENV[K3('EPopupScene')]
0007  GETTABLE  R3 = R3[K6('Main')]
0008  SETTABLE  R2[R3] = K5(true)
0009  SETTABLE  R1[K2('canPopScene')] = R2
0010  GETTABUP  R2 = _ENV[K7('BasePopupHelper')]
0011  CALL      R0 = call(R0, 1 args, 2 rets)
0012  SETTABUP  _ENV[K0('DiscoSpinActivityPopupHelper')] = R0
0013  GETTABUP  R0 = _ENV[K0('DiscoSpinActivityPopupHelper')]
0014  GETTABUP  R1 = _ENV[K0('DiscoSpinActivityPopupHelper')]
0015  SETTABLE  R0[K8('__index')] = R1
0016  GETTABUP  R0 = _ENV[K0('DiscoSpinActivityPopupHelper')]
0017  CLOSURE   R1 = closure proto0
0018  SETTABLE  R0[K9('Create')] = R1
0019  GETTABUP  R0 = _ENV[K10('DiscoSpinActivityPopupHelper')]
0020  CLOSURE   R1 = closure proto1
0021  SETTABLE  R0[K11('Init')] = R1
0022  GETTABUP  R0 = _ENV[K10('DiscoSpinActivityPopupHelper')]
0023  CLOSURE   R1 = closure proto2
0024  SETTABLE  R0[K12('_OnLoginFinished')] = R1
0025  GETTABUP  R0 = _ENV[K10('DiscoSpinActivityPopupHelper')]
0026  CLOSURE   R1 = closure proto3
0027  SETTABLE  R0[K13('_SetNeedCheckPopup')] = R1
0028  GETTABUP  R0 = _ENV[K10('DiscoSpinActivityPopupHelper')]
0029  CLOSURE   R1 = closure proto4
0030  SETTABLE  R0[K14('CheckPopup')] = R1
0031  RETURN    return R0..R-1
; ---------- proto0 [Create] ----------
  ; fn ?  line 12-17 np=0 va=0 ms=3 code=8 consts=3 upvals=1 protos=0
  ;   K[0]='setmetatable'
  ;   K[1]='DiscoSpinActivityPopupHelper'
  ;   K[2]='Init'
  ;   upvals: _ENV
  ;   locals: helper(4-8)
  0000  GETTABUP  R0 = _ENV[K0('setmetatable')]
  0001  NEWTABLE  R1 = {} (0 items)
  0002  GETTABUP  R2 = _ENV[K1('DiscoSpinActivityPopupHelper')]
  0003  CALL      R0 = call(R0, 1 args, 2 rets)
  0004  SELF      R2 = R0[K2('Init')] (self)
  0005  CALL      R1 = call(R1, 0 args, 1 rets)
  0006  RETURN    return R0..R-1
  0007  RETURN    return R0..R-1
; ---------- proto1 [Init] ----------
  ; fn ?  line 19-27 np=1 va=0 ms=10 code=30 consts=12 upvals=1 protos=0
  ;   K[0]='BasePopupHelper'
  ;   K[1]='Init'
  ;   K[2]='pairs'
  ;   K[3]='DiscoSpinActivityDefinition'
  ;   K[4]='EventDispatcher'
  ;   K[5]='AddListener'
  ;   K[6]='StateChangedEvent'
  ;   K[7]='_SetNeedCheckPopup'
  ;   K[8]='PurchaseSuccessEvent'
  ;   K[9]='EEventType'
  ;   K[10]='LoginFinished'
  ;   K[11]='_OnLoginFinished'
  ;   upvals: _ENV
  ;   locals: self(0-30), (for generator)(7-22), (for state)(7-22), (for control)(7-22), _(8-20), definition(8-20)
  0000  GETTABUP  R1 = _ENV[K0('BasePopupHelper')]
  0001  GETTABLE  R1 = R1[K1('Init')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  GETTABUP  R1 = _ENV[K2('pairs')]
  0005  GETTABUP  R2 = _ENV[K3('DiscoSpinActivityDefinition')]
  0006  CALL      R1 = call(R1, 3 args, 1 rets)
  0007  JMP       (jump)   -> 20
  0008  GETTABUP  R6 = _ENV[K4('EventDispatcher')]
  0009  GETTABLE  R6 = R6[K5('AddListener')]
  0010  GETTABLE  R7 = R5[K6('StateChangedEvent')]
  0011  MOVE      R8 = R0
  0012  GETTABLE  R9 = R0[K7('_SetNeedCheckPopup')]
  0013  CALL      R6 = call(R6, 0 args, 3 rets)
  0014  GETTABUP  R6 = _ENV[K4('EventDispatcher')]
  0015  GETTABLE  R6 = R6[K5('AddListener')]
  0016  GETTABLE  R7 = R5[K8('PurchaseSuccessEvent')]
  0017  MOVE      R8 = R0
  0018  GETTABLE  R9 = R0[K7('_SetNeedCheckPopup')]
  0019  CALL      R6 = call(R6, 0 args, 3 rets)
  0020  TFORCALL  tforcall R1
  0021  TFORLOOP  tforloop R3(sBx=-14)   -> 8
  0022  GETTABUP  R1 = _ENV[K4('EventDispatcher')]
  0023  GETTABLE  R1 = R1[K5('AddListener')]
  0024  GETTABUP  R2 = _ENV[K9('EEventType')]
  0025  GETTABLE  R2 = R2[K10('LoginFinished')]
  0026  MOVE      R3 = R0
  0027  GETTABLE  R4 = R0[K11('_OnLoginFinished')]
  0028  CALL      R1 = call(R1, 0 args, 3 rets)
  0029  RETURN    return R0..R-1
; ---------- proto2 [_OnLoginFinished] ----------
  ; fn ?  line 29-37 np=1 va=0 ms=9 code=18 consts=9 upvals=1 protos=0
  ;   K[0]='pairs'
  ;   K[1]='DiscoSpinActivityDefinition'
  ;   K[2]='GM'
  ;   K[3]='UIManager'
  ;   K[4]='IsViewExisting'
  ;   K[5]='MainWindowPrefabName'
  ;   K[6]='m_bOnLoginFinished'
  ;   K[7]=true
  ;   K[8]='_SetNeedCheckPopup'
  ;   upvals: _ENV
  ;   locals: self(0-18), (for generator)(3-14), (for state)(3-14), (for control)(3-14), activityType(4-12), definition(4-12)
  0000  GETTABUP  R1 = _ENV[K0('pairs')]
  0001  GETTABUP  R2 = _ENV[K1('DiscoSpinActivityDefinition')]
  0002  CALL      R1 = call(R1, 3 args, 1 rets)
  0003  JMP       (jump)   -> 12
  0004  GETTABUP  R6 = _ENV[K2('GM')]
  0005  GETTABLE  R6 = R6[K3('UIManager')]
  0006  SELF      R7 = R6[K4('IsViewExisting')] (self)
  0007  GETTABLE  R8 = R5[K5('MainWindowPrefabName')]
  0008  CALL      R6 = call(R6, 1 args, 2 rets)
  0009  TEST      if not R6 then   -> -131061
  0010  JMP       (jump)   -> 12
  0011  RETURN    return R0..R-1
  0012  TFORCALL  tforcall R1
  0013  TFORLOOP  tforloop R3(sBx=-10)   -> 4
  0014  SETTABLE  R0[K6('m_bOnLoginFinished')] = K7(true)
  0015  SELF      R2 = R0[K8('_SetNeedCheckPopup')] (self)
  0016  CALL      R1 = call(R1, 0 args, 1 rets)
  0017  RETURN    return R0..R-1
; ---------- proto3 [_SetNeedCheckPopup] ----------
  ; fn ?  line 39-41 np=1 va=0 ms=4 code=4 consts=1 upvals=0 protos=0
  ;   K[0]='SetNeedCheckPopup'
  ;   locals: self(0-4)
  0000  SELF      R2 = R0[K0('SetNeedCheckPopup')] (self)
  0001  LOADBOOL  R3 = true
  0002  CALL      R1 = call(R1, 0 args, 2 rets)
  0003  RETURN    return R0..R-1
; ---------- proto4 [CheckPopup] ----------
  ; fn ?  line 43-51 np=1 va=0 ms=12 code=21 consts=10 upvals=1 protos=0
  ;   K[0]='m_bOnLoginFinished'
  ;   K[1]=nil
  ;   K[2]='pairs'
  ;   K[3]='DiscoSpinActivityDefinition'
  ;   K[4]='GM'
  ;   K[5]='ActivityManager'
  ;   K[6]='GetModel'
  ;   K[7]='OnCheckPopup'
  ;   K[8]='PopupChain'
  ;   K[9]='GetCurPopScene'
  ;   upvals: _ENV
  ;   locals: self(0-21), bOnLoginFinished(1-21), (for generator)(5-20), (for state)(5-20), (for control)(5-20), activityType(6-18), definition(6-18), model(11-18)
  0000  GETTABLE  R1 = R0[K0('m_bOnLoginFinished')]
  0001  SETTABLE  R0[K0('m_bOnLoginFinished')] = K1(nil)
  0002  GETTABUP  R2 = _ENV[K2('pairs')]
  0003  GETTABUP  R3 = _ENV[K3('DiscoSpinActivityDefinition')]
  0004  CALL      R2 = call(R2, 3 args, 1 rets)
  0005  JMP       (jump)   -> 18
  0006  GETTABUP  R7 = _ENV[K4('GM')]
  0007  GETTABLE  R7 = R7[K5('ActivityManager')]
  0008  SELF      R8 = R7[K6('GetModel')] (self)
  0009  MOVE      R9 = R0
  0010  CALL      R7 = call(R7, 1 args, 2 rets)
  0011  SELF      R9 = R7[K7('OnCheckPopup')] (self)
  0012  GETTABUP  R10 = _ENV[K8('PopupChain')]
  0013  GETTABLE  R10 = R10[K9('GetCurPopScene')]
  0014  CALL      R10 = call(R10, 1 args, 0 rets)
  0015  MOVE      R11 = R0
  0016  TAILCALL  tailcall(R8, 0)
  0017  RETURN    return R8..R7
  0018  TFORCALL  tforcall R2
  0019  TFORLOOP  tforloop R4(sBx=-14)   -> 6
  0020  RETURN    return R0..R-1
