# UI_Window_Level_LevelUpPopupHelper_466.luac
; fn @LevelUpPopupHelper.lua  line 0-0 np=0 va=1 ms=4 code=36 consts=18 upvals=1 protos=6
;   K[0]='LevelUpPopupHelper'
;   K[1]='setmetatable'
;   K[2]='canPopScene'
;   K[3]='EPopupScene'
;   K[4]='Main'
;   K[5]=true
;   K[6]='Board'
;   K[7]='canIgnorePopup'
;   K[8]=false
;   K[9]='BasePopupHelper'
;   K[10]='__index'
;   K[11]='Create'
;   K[12]='LevelUpPopupHelper'
;   K[13]='Init'
;   K[14]='OnPropertyAcquired'
;   K[15]='_OnLevelUp'
;   K[16]='NeedCheckPopup'
;   K[17]='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('Main')]
0005  SETTABLE  R2[R3] = K5(true)
0006  GETTABUP  R3 = _ENV[K3('EPopupScene')]
0007  GETTABLE  R3 = R3[K6('Board')]
0008  SETTABLE  R2[R3] = K5(true)
0009  SETTABLE  R1[K2('canPopScene')] = R2
0010  SETTABLE  R1[K7('canIgnorePopup')] = K8(false)
0011  GETTABUP  R2 = _ENV[K9('BasePopupHelper')]
0012  CALL      R0 = call(R0, 1 args, 2 rets)
0013  SETTABUP  _ENV[K0('LevelUpPopupHelper')] = R0
0014  GETTABUP  R0 = _ENV[K0('LevelUpPopupHelper')]
0015  GETTABUP  R1 = _ENV[K0('LevelUpPopupHelper')]
0016  SETTABLE  R0[K10('__index')] = R1
0017  GETTABUP  R0 = _ENV[K0('LevelUpPopupHelper')]
0018  CLOSURE   R1 = closure proto0
0019  SETTABLE  R0[K11('Create')] = R1
0020  GETTABUP  R0 = _ENV[K12('LevelUpPopupHelper')]
0021  CLOSURE   R1 = closure proto1
0022  SETTABLE  R0[K13('Init')] = R1
0023  GETTABUP  R0 = _ENV[K12('LevelUpPopupHelper')]
0024  CLOSURE   R1 = closure proto2
0025  SETTABLE  R0[K14('OnPropertyAcquired')] = R1
0026  GETTABUP  R0 = _ENV[K12('LevelUpPopupHelper')]
0027  CLOSURE   R1 = closure proto3
0028  SETTABLE  R0[K15('_OnLevelUp')] = R1
0029  GETTABUP  R0 = _ENV[K12('LevelUpPopupHelper')]
0030  CLOSURE   R1 = closure proto4
0031  SETTABLE  R0[K16('NeedCheckPopup')] = R1
0032  GETTABUP  R0 = _ENV[K12('LevelUpPopupHelper')]
0033  CLOSURE   R1 = closure proto5
0034  SETTABLE  R0[K17('CheckPopup')] = R1
0035  RETURN    return R0..R-1
; ---------- proto0 [Create] ----------
  ; fn ?  line 10-14 np=0 va=0 ms=3 code=8 consts=3 upvals=1 protos=0
  ;   K[0]='setmetatable'
  ;   K[1]='LevelUpPopupHelper'
  ;   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('LevelUpPopupHelper')]
  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 16-20 np=1 va=0 ms=5 code=19 consts=9 upvals=1 protos=0
  ;   K[0]='BasePopupHelper'
  ;   K[1]='Init'
  ;   K[2]='EventDispatcher'
  ;   K[3]='AddListener'
  ;   K[4]='EEventType'
  ;   K[5]='LevelUp'
  ;   K[6]='_OnLevelUp'
  ;   K[7]='PropertyAcquired'
  ;   K[8]='OnPropertyAcquired'
  ;   upvals: _ENV
  ;   locals: self(0-19)
  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('EventDispatcher')]
  0005  GETTABLE  R1 = R1[K3('AddListener')]
  0006  GETTABUP  R2 = _ENV[K4('EEventType')]
  0007  GETTABLE  R2 = R2[K5('LevelUp')]
  0008  MOVE      R3 = R0
  0009  GETTABLE  R4 = R0[K6('_OnLevelUp')]
  0010  CALL      R1 = call(R1, 0 args, 3 rets)
  0011  GETTABUP  R1 = _ENV[K2('EventDispatcher')]
  0012  GETTABLE  R1 = R1[K3('AddListener')]
  0013  GETTABUP  R2 = _ENV[K4('EEventType')]
  0014  GETTABLE  R2 = R2[K7('PropertyAcquired')]
  0015  MOVE      R3 = R0
  0016  GETTABLE  R4 = R0[K8('OnPropertyAcquired')]
  0017  CALL      R1 = call(R1, 0 args, 3 rets)
  0018  RETURN    return R0..R-1
; ---------- proto2 [OnPropertyAcquired] ----------
  ; fn ?  line 22-28 np=2 va=0 ms=9 code=14 consts=7 upvals=1 protos=0
  ;   K[0]='ipairs'
  ;   K[1]='arrProperties'
  ;   K[2]='PROPERTY_TYPE'
  ;   K[3]='EPropertyType'
  ;   K[4]='Experience'
  ;   K[5]='m_gotExp'
  ;   K[6]=true
  ;   upvals: _ENV
  ;   locals: self(0-14), message(0-14), (for generator)(3-13), (for state)(3-13), (for control)(3-13), _(4-11), item(4-11)
  0000  GETTABUP  R2 = _ENV[K0('ipairs')]
  0001  GETTABLE  R3 = R1[K1('arrProperties')]
  0002  CALL      R2 = call(R2, 3 args, 1 rets)
  0003  JMP       (jump)   -> 11
  0004  GETTABUP  R7 = _ENV[K2('PROPERTY_TYPE')]
  0005  GETTABLE  R7 = R6[R7]
  0006  GETTABUP  R8 = _ENV[K3('EPropertyType')]
  0007  GETTABLE  R8 = R8[K4('Experience')]
  0008  EQ        if R0 eq R8   -> -127470
  0009  JMP       (jump)   -> 11
  0010  SETTABLE  R0[K5('m_gotExp')] = K6(true)
  0011  TFORCALL  tforcall R2
  0012  TFORLOOP  tforloop R4(sBx=-9)   -> 4
  0013  RETURN    return R0..R-1
; ---------- proto3 [_OnLevelUp] ----------
  ; fn ?  line 30-32 np=2 va=0 ms=2 code=2 consts=1 upvals=0 protos=0
  ;   K[0]='m_newLevel'
  ;   locals: self(0-2), level(0-2)
  0000  SETTABLE  R0[K0('m_newLevel')] = R1
  0001  RETURN    return R0..R-1
; ---------- proto4 [NeedCheckPopup] ----------
  ; fn ?  line 34-36 np=1 va=0 ms=2 code=10 consts=3 upvals=0 protos=0
  ;   K[0]='m_gotExp'
  ;   K[1]='m_newLevel'
  ;   K[2]=nil
  ;   locals: self(0-10)
  0000  GETTABLE  R1 = R0[K0('m_gotExp')]
  0001  TEST      if not R1 then   -> -131068
  0002  JMP       (jump)   -> 8
  0003  GETTABLE  R1 = R0[K1('m_newLevel')]
  0004  EQ        if R0 eq K2(nil)   -> -130296
  0005  JMP       (jump)   -> 7
  0006  LOADBOOL  R1 = false
  0007  LOADBOOL  R1 = true
  0008  RETURN    return R1..R0
  0009  RETURN    return R0..R-1
; ---------- proto5 [CheckPopup] ----------
  ; fn ?  line 38-49 np=1 va=0 ms=3 code=16 consts=7 upvals=1 protos=0
  ;   K[0]='m_gotExp'
  ;   K[1]=false
  ;   K[2]='GM'
  ;   K[3]='LevelModel'
  ;   K[4]='TryLevelUp'
  ;   K[5]='m_newLevel'
  ;   K[6]=nil
  ;   upvals: _ENV
  ;   locals: self(0-16), newLevel(12-15)
  0000  GETTABLE  R1 = R0[K0('m_gotExp')]
  0001  TEST      if not R1 then   -> -131069
  0002  JMP       (jump)   -> 8
  0003  SETTABLE  R0[K0('m_gotExp')] = K1(false)
  0004  GETTABUP  R1 = _ENV[K2('GM')]
  0005  GETTABLE  R1 = R1[K3('LevelModel')]
  0006  SELF      R2 = R1[K4('TryLevelUp')] (self)
  0007  CALL      R1 = call(R1, 0 args, 1 rets)
  0008  GETTABLE  R1 = R0[K5('m_newLevel')]
  0009  TEST      if not R1 then   -> -131061
  0010  JMP       (jump)   -> 15
  0011  GETTABLE  R1 = R0[K5('m_newLevel')]
  0012  SETTABLE  R0[K5('m_newLevel')] = K6(nil)
  0013  LOADNIL   R2..R2 = nil
  0014  RETURN    return R2..R1
  0015  RETURN    return R0..R-1
