# TokenBubbleActivity_View_TokenBubbleMainWindow_1923.luac
; fn @TokenBubbleMainWindow.lua  line 0-0 np=0 va=1 ms=3 code=47 consts=16 upvals=1 protos=11
;   K[0]='TokenBubbleMainWindow'
;   K[1]='setmetatable'
;   K[2]='BaseActivityBaseWindow'
;   K[3]='__index'
;   K[4]='Init'
;   K[5]='OnDestroy'
;   K[6]='UpdateContent'
;   K[7]='UpdatePerSecond'
;   K[8]='PlayEnterAnim'
;   K[9]='GetTutorialRect'
;   K[10]='ShowDescTip'
;   K[11]='TokenBubbleCell'
;   K[12]='Init'
;   K[13]='GetTipPos'
;   K[14]='PlayEnterAnim'
;   K[15]='OnClicked'
;   upvals: _ENV
0000  GETTABUP  R0 = _ENV[K1('setmetatable')]
0001  NEWTABLE  R1 = {} (0 items)
0002  GETTABUP  R2 = _ENV[K2('BaseActivityBaseWindow')]
0003  CALL      R0 = call(R0, 1 args, 2 rets)
0004  SETTABUP  _ENV[K0('TokenBubbleMainWindow')] = R0
0005  GETTABUP  R0 = _ENV[K0('TokenBubbleMainWindow')]
0006  GETTABUP  R1 = _ENV[K0('TokenBubbleMainWindow')]
0007  SETTABLE  R0[K3('__index')] = R1
0008  GETTABUP  R0 = _ENV[K0('TokenBubbleMainWindow')]
0009  CLOSURE   R1 = closure proto0
0010  SETTABLE  R0[K4('Init')] = R1
0011  GETTABUP  R0 = _ENV[K0('TokenBubbleMainWindow')]
0012  CLOSURE   R1 = closure proto1
0013  SETTABLE  R0[K5('OnDestroy')] = R1
0014  GETTABUP  R0 = _ENV[K0('TokenBubbleMainWindow')]
0015  CLOSURE   R1 = closure proto2
0016  SETTABLE  R0[K6('UpdateContent')] = R1
0017  GETTABUP  R0 = _ENV[K0('TokenBubbleMainWindow')]
0018  CLOSURE   R1 = closure proto3
0019  SETTABLE  R0[K7('UpdatePerSecond')] = R1
0020  GETTABUP  R0 = _ENV[K0('TokenBubbleMainWindow')]
0021  CLOSURE   R1 = closure proto4
0022  SETTABLE  R0[K8('PlayEnterAnim')] = R1
0023  GETTABUP  R0 = _ENV[K0('TokenBubbleMainWindow')]
0024  CLOSURE   R1 = closure proto5
0025  SETTABLE  R0[K9('GetTutorialRect')] = R1
0026  GETTABUP  R0 = _ENV[K0('TokenBubbleMainWindow')]
0027  CLOSURE   R1 = closure proto6
0028  SETTABLE  R0[K10('ShowDescTip')] = R1
0029  NEWTABLE  R0 = {} (0 items)
0030  SETTABUP  _ENV[K11('TokenBubbleCell')] = R0
0031  GETTABUP  R0 = _ENV[K11('TokenBubbleCell')]
0032  GETTABUP  R1 = _ENV[K11('TokenBubbleCell')]
0033  SETTABLE  R0[K3('__index')] = R1
0034  GETTABUP  R0 = _ENV[K11('TokenBubbleCell')]
0035  CLOSURE   R1 = closure proto7
0036  SETTABLE  R0[K12('Init')] = R1
0037  GETTABUP  R0 = _ENV[K11('TokenBubbleCell')]
0038  CLOSURE   R1 = closure proto8
0039  SETTABLE  R0[K13('GetTipPos')] = R1
0040  GETTABUP  R0 = _ENV[K11('TokenBubbleCell')]
0041  CLOSURE   R1 = closure proto9
0042  SETTABLE  R0[K14('PlayEnterAnim')] = R1
0043  GETTABUP  R0 = _ENV[K11('TokenBubbleCell')]
0044  CLOSURE   R1 = closure proto10
0045  SETTABLE  R0[K15('OnClicked')] = R1
0046  RETURN    return R0..R-1
; ---------- proto0 [Init] ----------
  ; fn ?  line 7-20 np=5 va=0 ms=11 code=29 consts=13 upvals=1 protos=0
  ;   K[0]='BaseActivityBaseWindow'
  ;   K[1]='Init'
  ;   K[2]='m_bSuccess'
  ;   K[3]='m_model'
  ;   K[4]='SetCanPopSuccessWindow'
  ;   K[5]='UpdateContent'
  ;   K[6]='UpdatePerSecond'
  ;   K[7]='PlayEnterAnim'
  ;   K[8]='EventDispatcher'
  ;   K[9]='AddListener'
  ;   K[10]='m_activityDefinition'
  ;   K[11]='OrderStateChangedEvent'
  ;   K[12]='Close'
  ;   upvals: _ENV
  ;   locals: self(0-29), activityType(0-29), id(0-29), bAutoPop(0-29), bSuccess(0-29)
  0000  GETTABUP  R5 = _ENV[K0('BaseActivityBaseWindow')]
  0001  GETTABLE  R5 = R5[K1('Init')]
  0002  MOVE      R6 = R0
  0003  MOVE      R7 = R0
  0004  MOVE      R8 = R0
  0005  MOVE      R9 = R0
  0006  MOVE      R10 = R0
  0007  CALL      R5 = call(R5, 0 args, 5 rets)
  0008  SETTABLE  R0[K2('m_bSuccess')] = R4
  0009  TEST      if not R4 then   -> -131061
  0010  JMP       (jump)   -> 15
  0011  GETTABLE  R5 = R0[K3('m_model')]
  0012  SELF      R6 = R5[K4('SetCanPopSuccessWindow')] (self)
  0013  LOADBOOL  R7 = false
  0014  CALL      R5 = call(R5, 0 args, 2 rets)
  0015  SELF      R6 = R0[K5('UpdateContent')] (self)
  0016  CALL      R5 = call(R5, 0 args, 1 rets)
  0017  SELF      R6 = R0[K6('UpdatePerSecond')] (self)
  0018  CALL      R5 = call(R5, 0 args, 1 rets)
  0019  SELF      R6 = R0[K7('PlayEnterAnim')] (self)
  0020  CALL      R5 = call(R5, 0 args, 1 rets)
  0021  GETTABUP  R5 = _ENV[K8('EventDispatcher')]
  0022  GETTABLE  R5 = R5[K9('AddListener')]
  0023  GETTABLE  R6 = R0[K10('m_activityDefinition')]
  0024  GETTABLE  R6 = R6[K11('OrderStateChangedEvent')]
  0025  MOVE      R7 = R0
  0026  GETTABLE  R8 = R0[K12('Close')]
  0027  CALL      R5 = call(R5, 0 args, 3 rets)
  0028  RETURN    return R0..R-1
; ---------- proto1 [OnDestroy] ----------
  ; fn ?  line 22-30 np=1 va=0 ms=4 code=17 consts=8 upvals=1 protos=0
  ;   K[0]='BaseActivityBaseWindow'
  ;   K[1]='OnDestroy'
  ;   K[2]='m_enterSeq'
  ;   K[3]=nil
  ;   K[4]='Kill'
  ;   K[5]='GM'
  ;   K[6]='UIManager'
  ;   K[7]='RemoveAllEventLocks'
  ;   upvals: _ENV
  ;   locals: self(0-17)
  0000  GETTABUP  R1 = _ENV[K0('BaseActivityBaseWindow')]
  0001  GETTABLE  R1 = R1[K1('OnDestroy')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  GETTABLE  R1 = R0[K2('m_enterSeq')]
  0005  EQ        if R1 eq K3(nil)   -> -130294
  0006  JMP       (jump)   -> 11
  0007  GETTABLE  R1 = R0[K2('m_enterSeq')]
  0008  SELF      R2 = R1[K4('Kill')] (self)
  0009  CALL      R1 = call(R1, 0 args, 1 rets)
  0010  SETTABLE  R0[K2('m_enterSeq')] = K3(nil)
  0011  GETTABUP  R1 = _ENV[K5('GM')]
  0012  GETTABLE  R1 = R1[K6('UIManager')]
  0013  SELF      R2 = R1[K7('RemoveAllEventLocks')] (self)
  0014  MOVE      R3 = R0
  0015  CALL      R1 = call(R1, 0 args, 2 rets)
  0016  RETURN    return R0..R-1
; ---------- proto2 [UpdateContent] ----------
  ; fn ?  line 32-69 np=1 va=0 ms=21 code=144 consts=43 upvals=1 protos=0
  ;   K[0]='m_bInDuration'
  ;   K[1]='m_model'
  ;   K[2]='IsInDuration'
  ;   K[3]='m_bSuccess'
  ;   K[4]='GetTriggerConfigIndex'
  ;   K[5]='GetConfigIndexByTokenNum'
  ;   K[6]='GetConfigByIndex'
  ;   K[7]='GetTargetTokenType'
  ;   K[8]=nil
  ;   K[9]='Table'
  ;   K[10]='IsEmpty'
  ;   K[11]='rewards'
  ;   K[12]='GetFinishCount'
  ;   K[13]='m_finishCount'
  ;   K[14]='m_arrCell'
  ;   K[15]=1
  ;   K[16]='m_bubbleRootRect'
  ;   K[17]='childCount'
  ;   K[18]='GetChild'
  ;   K[19]='gameObject'
  ;   K[20]='GetLuaTable'
  ;   K[21]='UIUtil'
  ;   K[22]='SetActive'
  ;   K[23]='StringUtil'
  ;   K[24]='IsNilOrEmpty'
  ;   K[25]='GetCurrentOrderId'
  ;   K[26]='Init'
  ;   K[27]='table'
  ;   K[28]='insert'
  ;   K[29]='m_descText'
  ;   K[30]='text'
  ;   K[31]='GM'
  ;   K[32]='GameTextModel'
  ;   K[33]='GetText'
  ;   K[34]='tokenbubble_complete'
  ;   K[35]='EPropertySprite'
  ;   K[36]='string'
  ;   K[37]='format'
  ;   K[38]='<sprite="%s" name="%s">'
  ;   K[39]='tokenbubble_desc'
  ;   K[40]='m_buttonText'
  ;   K[41]='common_bye'
  ;   K[42]='btn_ok'
  ;   upvals: _ENV
  ;   locals: self(0-144), configIndex(18-144), config(22-144), targetTokenType(25-144), finishCount(39-144), arrTokenNum(43-144), cell(44-144), (for index)(48-103), (for limit)(48-103), (for step)(48-103), i(49-102), bShowTip(81-97), imgName(116-130), strImg(122-130)
  0000  GETTABLE  R1 = R0[K1('m_model')]
  0001  SELF      R2 = R1[K2('IsInDuration')] (self)
  0002  CALL      R1 = call(R1, 1 args, 1 rets)
  0003  SETTABLE  R0[K0('m_bInDuration')] = R1
  0004  GETTABLE  R1 = R0[K0('m_bInDuration')]
  0005  TEST      if not R1 then   -> -131064
  0006  JMP       (jump)   -> 10
  0007  GETTABLE  R1 = R0[K3('m_bSuccess')]
  0008  TEST      if not R1 then   -> -131062
  0009  JMP       (jump)   -> 15
  0010  GETTABLE  R1 = R0[K1('m_model')]
  0011  SELF      R2 = R1[K4('GetTriggerConfigIndex')] (self)
  0012  CALL      R1 = call(R1, 1 args, 1 rets)
  0013  TEST      if not R1 then   -> -131056
  0014  JMP       (jump)   -> 18
  0015  GETTABLE  R1 = R0[K1('m_model')]
  0016  SELF      R2 = R1[K5('GetConfigIndexByTokenNum')] (self)
  0017  CALL      R1 = call(R1, 1 args, 1 rets)
  0018  GETTABLE  R2 = R0[K1('m_model')]
  0019  SELF      R3 = R2[K6('GetConfigByIndex')] (self)
  0020  MOVE      R4 = R0
  0021  CALL      R2 = call(R2, 1 args, 2 rets)
  0022  GETTABLE  R3 = R0[K1('m_model')]
  0023  SELF      R4 = R3[K7('GetTargetTokenType')] (self)
  0024  CALL      R3 = call(R3, 1 args, 1 rets)
  0025  EQ        if R1 eq K8(nil)   -> -129757
  0026  JMP       (jump)   -> 35
  0027  EQ        if R1 eq K8(nil)   -> -129243
  0028  JMP       (jump)   -> 35
  0029  GETTABUP  R4 = _ENV[K9('Table')]
  0030  GETTABLE  R4 = R4[K10('IsEmpty')]
  0031  GETTABLE  R5 = R2[K11('rewards')]
  0032  CALL      R4 = call(R4, 1 args, 1 rets)
  0033  TEST      if not R4 then   -> -131037
  0034  JMP       (jump)   -> 36
  0035  RETURN    return R0..R-1
  0036  GETTABLE  R4 = R0[K1('m_model')]
  0037  SELF      R5 = R4[K12('GetFinishCount')] (self)
  0038  CALL      R4 = call(R4, 1 args, 1 rets)
  0039  SETTABLE  R0[K13('m_finishCount')] = R4
  0040  NEWTABLE  R5 = {} (0 items)
  0041  SETTABLE  R0[K14('m_arrCell')] = R5
  0042  GETTABLE  R5 = R2[K11('rewards')]
  0043  LOADNIL   R6..R6 = nil
  0044  LOADK     R7 = K15 1
  0045  GETTABLE  R8 = R0[K16('m_bubbleRootRect')]
  0046  GETTABLE  R8 = R8[K17('childCount')]
  0047  LOADK     R9 = K15 1
  0048  FORPREP   forprep R7(sBx=53)   -> 102
  0049  GETTABLE  R11 = R0[K16('m_bubbleRootRect')]
  0050  SELF      R12 = R11[K18('GetChild')] (self)
  0051  SUB       R13 = K15(1) sub R10
  0052  CALL      R11 = call(R11, 1 args, 2 rets)
  0053  GETTABLE  R11 = R11[K19('gameObject')]
  0054  SELF      R12 = R11[K20('GetLuaTable')] (self)
  0055  CALL      R11 = call(R11, 1 args, 1 rets)
  0056  MOVE      R6 = R0
  0057  EQ        if R1 eq K8(nil)   -> -127677
  0058  JMP       (jump)   -> 102
  0059  GETTABLE  R11 = R5[R10]
  0060  EQ        if R0 eq K8(nil)   -> -125114
  0061  JMP       (jump)   -> 68
  0062  GETTABUP  R11 = _ENV[K21('UIUtil')]
  0063  GETTABLE  R11 = R11[K22('SetActive')]
  0064  GETTABLE  R12 = R6[K19('gameObject')]
  0065  LOADBOOL  R13 = false
  0066  CALL      R11 = call(R11, 0 args, 2 rets)
  0067  JMP       (jump)   -> 97
  0068  GETTABUP  R11 = _ENV[K23('StringUtil')]
  0069  GETTABLE  R11 = R11[K24('IsNilOrEmpty')]
  0070  GETTABLE  R12 = R0[K1('m_model')]
  0071  SELF      R13 = R12[K25('GetCurrentOrderId')] (self)
  0072  CALL      R12 = call(R12, -1 args, 1 rets)
  0073  CALL      R11 = call(R11, 1 args, -1 rets)
  0074  TEST      if not R11 then   -> -130996
  0075  JMP       (jump)   -> 81
  0076  ADD       R11 = K15(1) add R4
  0077  EQ        if R1 eq R11   -> -125862
  0078  JMP       (jump)   -> 80
  0079  LOADBOOL  R11 = false
  0080  LOADBOOL  R11 = true
  0081  SELF      R13 = R6[K26('Init')] (self)
  0082  MOVE      R14 = R0
  0083  MOVE      R15 = R0
  0084  MOVE      R16 = R0
  0085  GETTABLE  R17 = R5[R10]
  0086  ADD       R18 = K15(1) add R4
  0087  EQ        if R1 eq R18   -> -125845
  0088  JMP       (jump)   -> 90
  0089  LOADBOOL  R18 = false
  0090  LOADBOOL  R18 = true
  0091  LE        if R1 le R4   -> -125855
  0092  JMP       (jump)   -> 94
  0093  LOADBOOL  R19 = false
  0094  LOADBOOL  R19 = true
  0095  MOVE      R20 = R0
  0096  CALL      R12 = call(R12, 0 args, 8 rets)
  0097  GETTABUP  R11 = _ENV[K27('table')]
  0098  GETTABLE  R11 = R11[K28('insert')]
  0099  GETTABLE  R12 = R0[K14('m_arrCell')]
  0100  MOVE      R13 = R0
  0101  CALL      R11 = call(R11, 0 args, 2 rets)
  0102  FORLOOP   forloop R7(sBx=-54)   -> 49
  0103  GETTABLE  R7 = R0[K3('m_bSuccess')]
  0104  TEST      if not R7 then   -> -130966
  0105  JMP       (jump)   -> 114
  0106  GETTABLE  R7 = R0[K29('m_descText')]
  0107  GETTABUP  R8 = _ENV[K31('GM')]
  0108  GETTABLE  R8 = R8[K32('GameTextModel')]
  0109  SELF      R9 = R8[K33('GetText')] (self)
  0110  LOADK     R10 = K34 'tokenbubble_complete'
  0111  CALL      R8 = call(R8, 1 args, 2 rets)
  0112  SETTABLE  R7[K30('text')] = R8
  0113  JMP       (jump)   -> 130
  0114  GETTABUP  R7 = _ENV[K35('EPropertySprite')]
  0115  GETTABLE  R7 = R7[R3]
  0116  GETTABUP  R8 = _ENV[K36('string')]
  0117  GETTABLE  R8 = R8[K37('format')]
  0118  LOADK     R9 = K38 '<sprite="%s" name="%s">'
  0119  MOVE      R10 = R0
  0120  MOVE      R11 = R0
  0121  CALL      R8 = call(R8, 1 args, 3 rets)
  0122  GETTABLE  R9 = R0[K29('m_descText')]
  0123  GETTABUP  R10 = _ENV[K31('GM')]
  0124  GETTABLE  R10 = R10[K32('GameTextModel')]
  0125  SELF      R11 = R10[K33('GetText')] (self)
  0126  LOADK     R12 = K39 'tokenbubble_desc'
  0127  MOVE      R13 = R0
  0128  CALL      R10 = call(R10, 1 args, 3 rets)
  0129  SETTABLE  R9[K30('text')] = R10
  0130  GETTABLE  R7 = R0[K40('m_buttonText')]
  0131  GETTABUP  R8 = _ENV[K31('GM')]
  0132  GETTABLE  R8 = R8[K32('GameTextModel')]
  0133  SELF      R9 = R8[K33('GetText')] (self)
  0134  GETTABLE  R10 = R0[K3('m_bSuccess')]
  0135  TEST      if not R10 then   -> -130935
  0136  JMP       (jump)   -> 140
  0137  LOADK     R10 = K41 'common_bye'
  0138  TEST      if not R10 then   -> -130931
  0139  JMP       (jump)   -> 141
  0140  LOADK     R10 = K42 'btn_ok'
  0141  CALL      R8 = call(R8, 1 args, 2 rets)
  0142  SETTABLE  R7[K30('text')] = R8
  0143  RETURN    return R0..R-1
; ---------- proto3 [UpdatePerSecond] ----------
  ; fn ?  line 71-82 np=1 va=0 ms=5 code=31 consts=15 upvals=1 protos=0
  ;   K[0]='m_bInDuration'
  ;   K[1]='UIUtil'
  ;   K[2]='IsEmptyComponent'
  ;   K[3]='m_countDownText'
  ;   K[4]='m_model'
  ;   K[5]='GetLeftDuration'
  ;   K[6]='text'
  ;   K[7]='TimeUtil'
  ;   K[8]='ToMSOrHMS'
  ;   K[9]=0
  ;   K[10]='Close'
  ;   K[11]='GM'
  ;   K[12]='GameTextModel'
  ;   K[13]='GetText'
  ;   K[14]='countdown_finished'
  ;   upvals: _ENV
  ;   locals: self(0-31), leftDuration(12-22)
  0000  GETTABLE  R1 = R0[K0('m_bInDuration')]
  0001  TEST      if not R1 then   -> -131069
  0002  JMP       (jump)   -> 23
  0003  GETTABUP  R1 = _ENV[K1('UIUtil')]
  0004  GETTABLE  R1 = R1[K2('IsEmptyComponent')]
  0005  GETTABLE  R2 = R0[K3('m_countDownText')]
  0006  CALL      R1 = call(R1, 1 args, 1 rets)
  0007  TEST      if not R1 then   -> -131062
  0008  JMP       (jump)   -> 23
  0009  GETTABLE  R1 = R0[K4('m_model')]
  0010  SELF      R2 = R1[K5('GetLeftDuration')] (self)
  0011  CALL      R1 = call(R1, 1 args, 1 rets)
  0012  GETTABLE  R2 = R0[K3('m_countDownText')]
  0013  GETTABUP  R3 = _ENV[K7('TimeUtil')]
  0014  GETTABLE  R3 = R3[K8('ToMSOrHMS')]
  0015  MOVE      R4 = R0
  0016  CALL      R3 = call(R3, 1 args, 1 rets)
  0017  SETTABLE  R2[K6('text')] = R3
  0018  LE        if R0 le K9(0)   -> -130275
  0019  JMP       (jump)   -> 30
  0020  SELF      R3 = R0[K10('Close')] (self)
  0021  CALL      R2 = call(R2, 0 args, 1 rets)
  0022  JMP       (jump)   -> 30
  0023  GETTABLE  R1 = R0[K3('m_countDownText')]
  0024  GETTABUP  R2 = _ENV[K11('GM')]
  0025  GETTABLE  R2 = R2[K12('GameTextModel')]
  0026  SELF      R3 = R2[K13('GetText')] (self)
  0027  LOADK     R4 = K14 'countdown_finished'
  0028  CALL      R2 = call(R2, 1 args, 2 rets)
  0029  SETTABLE  R1[K6('text')] = R2
  0030  RETURN    return R0..R-1
; ---------- proto4 [PlayEnterAnim] ----------
  ; fn ?  line 84-108 np=1 va=0 ms=15 code=42 consts=20 upvals=1 protos=1
  ;   K[0]='m_spineAnim'
  ;   K[1]='Init'
  ;   K[2]='SetAnimation'
  ;   K[3]='appear'
  ;   K[4]='AddAnimation'
  ;   K[5]='idle'
  ;   K[6]='GM'
  ;   K[7]='UIManager'
  ;   K[8]='SetEventLock'
  ;   K[9]='DOTween'
  ;   K[10]='Sequence'
  ;   K[11]=0.5
  ;   K[12]=0.1
  ;   K[13]='ipairs'
  ;   K[14]='m_arrCell'
  ;   K[15]='Insert'
  ;   K[16]=0
  ;   K[17]='PlayEnterAnim'
  ;   K[18]='AppendCallback'
  ;   K[19]='m_enterSeq'
  ;   upvals: _ENV
  ;   locals: self(0-42), seq(22-42), startDelay(23-42), interval(24-42), (for generator)(27-37), (for state)(27-37), (for control)(27-37), i(28-35), cell(28-35)
  0000  GETTABLE  R1 = R0[K0('m_spineAnim')]
  0001  SELF      R2 = R1[K1('Init')] (self)
  0002  CALL      R1 = call(R1, 0 args, 1 rets)
  0003  GETTABLE  R1 = R0[K0('m_spineAnim')]
  0004  SELF      R2 = R1[K2('SetAnimation')] (self)
  0005  LOADK     R3 = K3 'appear'
  0006  LOADBOOL  R4 = false
  0007  CALL      R1 = call(R1, 0 args, 3 rets)
  0008  GETTABLE  R1 = R0[K0('m_spineAnim')]
  0009  SELF      R2 = R1[K4('AddAnimation')] (self)
  0010  LOADK     R3 = K5 'idle'
  0011  LOADBOOL  R4 = true
  0012  CALL      R1 = call(R1, 0 args, 3 rets)
  0013  GETTABUP  R1 = _ENV[K6('GM')]
  0014  GETTABLE  R1 = R1[K7('UIManager')]
  0015  SELF      R2 = R1[K8('SetEventLock')] (self)
  0016  LOADBOOL  R3 = true
  0017  MOVE      R4 = R0
  0018  CALL      R1 = call(R1, 0 args, 3 rets)
  0019  GETTABUP  R1 = _ENV[K9('DOTween')]
  0020  GETTABLE  R1 = R1[K10('Sequence')]
  0021  CALL      R1 = call(R1, 1 args, 0 rets)
  0022  LOADK     R2 = K11 0.5
  0023  LOADK     R3 = K12 0.1
  0024  GETTABUP  R4 = _ENV[K13('ipairs')]
  0025  GETTABLE  R5 = R0[K14('m_arrCell')]
  0026  CALL      R4 = call(R4, 3 args, 1 rets)
  0027  JMP       (jump)   -> 35
  0028  SELF      R10 = R1[K15('Insert')] (self)
  0029  LOADK     R11 = K16 0
  0030  SELF      R13 = R8[K17('PlayEnterAnim')] (self)
  0031  MUL       R14 = R3 mul R7
  0032  ADD       R14 = R14 add R2
  0033  CALL      R12 = call(R12, -1 args, 2 rets)
  0034  CALL      R9 = call(R9, 0 args, -1 rets)
  0035  TFORCALL  tforcall R4
  0036  TFORLOOP  tforloop R6(sBx=-9)   -> 28
  0037  SELF      R5 = R1[K18('AppendCallback')] (self)
  0038  CLOSURE   R6 = closure proto0
  0039  CALL      R4 = call(R4, 0 args, 2 rets)
  0040  SETTABLE  R0[K19('m_enterSeq')] = R1
  0041  RETURN    return R0..R-1
  ; ---------- proto0 [m_enterSeq] ----------
    ; fn ?  line 97-105 np=0 va=0 ms=5 code=31 consts=14 upvals=2 protos=0
    ;   K[0]='m_enterSeq'
    ;   K[1]=nil
    ;   K[2]='GM'
    ;   K[3]='UIManager'
    ;   K[4]='SetEventLock'
    ;   K[5]='m_finishCount'
    ;   K[6]='StringUtil'
    ;   K[7]='IsNilOrEmpty'
    ;   K[8]='m_model'
    ;   K[9]='GetCurrentOrderId'
    ;   K[10]='m_arrCell'
    ;   K[11]=1
    ;   K[12]='GetTipPos'
    ;   K[13]='ShowDescTip'
    ;   upvals: self, _ENV
    ;   locals: finishCount(8-31), pos(26-30)
    0000  SETTABUP  self[K0('m_enterSeq')] = K1(nil)
    0001  GETTABUP  R0 = _ENV[K2('GM')]
    0002  GETTABLE  R0 = R0[K3('UIManager')]
    0003  SELF      R1 = R0[K4('SetEventLock')] (self)
    0004  LOADBOOL  R2 = false
    0005  GETUPVAL  R3 = self
    0006  CALL      R0 = call(R0, 0 args, 3 rets)
    0007  GETTABUP  R0 = self[K5('m_finishCount')]
    0008  GETTABUP  R1 = _ENV[K6('StringUtil')]
    0009  GETTABLE  R1 = R1[K7('IsNilOrEmpty')]
    0010  GETTABUP  R2 = self[K8('m_model')]
    0011  SELF      R3 = R2[K9('GetCurrentOrderId')] (self)
    0012  CALL      R2 = call(R2, -1 args, 1 rets)
    0013  CALL      R1 = call(R1, 1 args, -1 rets)
    0014  TEST      if not R1 then   -> -131056
    0015  JMP       (jump)   -> 30
    0016  GETTABUP  R1 = self[K10('m_arrCell')]
    0017  ADD       R2 = K11(1) add R0
    0018  GETTABLE  R1 = R1[R2]
    0019  EQ        if R1 eq K1(nil)   -> -130282
    0020  JMP       (jump)   -> 30
    0021  GETTABUP  R1 = self[K10('m_arrCell')]
    0022  ADD       R2 = K11(1) add R0
    0023  GETTABLE  R1 = R1[R2]
    0024  SELF      R2 = R1[K12('GetTipPos')] (self)
    0025  CALL      R1 = call(R1, 1 args, 1 rets)
    0026  GETUPVAL  R2 = self
    0027  SELF      R3 = R2[K13('ShowDescTip')] (self)
    0028  MOVE      R4 = R0
    0029  CALL      R2 = call(R2, 0 args, 2 rets)
    0030  RETURN    return R0..R-1
; ---------- proto5 [GetTutorialRect] ----------
  ; fn ?  line 110-112 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_tutorialRect'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_tutorialRect')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto6 [ShowDescTip] ----------
  ; fn ?  line 114-116 np=3 va=0 ms=9 code=12 consts=6 upvals=1 protos=0
  ;   K[0]='m_descTip'
  ;   K[1]='Show'
  ;   K[2]='GM'
  ;   K[3]='GameTextModel'
  ;   K[4]='GetText'
  ;   K[5]='tokenbubble_tip'
  ;   upvals: _ENV
  ;   locals: self(0-12), pos(0-12), delay(0-12)
  0000  GETTABLE  R3 = R0[K0('m_descTip')]
  0001  SELF      R4 = R3[K1('Show')] (self)
  0002  GETTABUP  R5 = _ENV[K2('GM')]
  0003  GETTABLE  R5 = R5[K3('GameTextModel')]
  0004  SELF      R6 = R5[K4('GetText')] (self)
  0005  LOADK     R7 = K5 'tokenbubble_tip'
  0006  CALL      R5 = call(R5, 1 args, 2 rets)
  0007  MOVE      R6 = R0
  0008  LOADNIL   R7..R7 = nil
  0009  MOVE      R8 = R0
  0010  CALL      R3 = call(R3, 0 args, 5 rets)
  0011  RETURN    return R0..R-1
; ---------- proto7 [Init] ----------
  ; fn ?  line 122-139 np=8 va=0 ms=12 code=56 consts=23 upvals=1 protos=0
  ;   K[0]='m_window'
  ;   K[1]=nil
  ;   K[2]='SpriteUtil'
  ;   K[3]='SetImage'
  ;   K[4]='m_tokenImg'
  ;   K[5]='EPropertySpriteBig'
  ;   K[6]='m_tokenNumText'
  ;   K[7]='text'
  ;   K[8]='m_indexNumText'
  ;   K[9]='m_indexNumText2'
  ;   K[10]='UIUtil'
  ;   K[11]='SetActive'
  ;   K[12]='m_indexBgGo1'
  ;   K[13]='m_indexBgGo2'
  ;   K[14]='m_highlightBgGo'
  ;   K[15]='m_highlightFrontGo'
  ;   K[16]='m_checkGo'
  ;   K[17]='m_indexGo'
  ;   K[18]='m_canvasGroup'
  ;   K[19]='alpha'
  ;   K[20]=0.7
  ;   K[21]=1
  ;   K[22]='m_bShowTip'
  ;   upvals: _ENV
  ;   locals: self(0-56), window(0-56), index(0-56), tokType(0-56), tokNum(0-56), bHighlight(0-56), bAcquired(0-56), bShowTip(0-56)
  0000  SETTABLE  R0[K0('m_window')] = R1
  0001  EQ        if R1 eq K1(nil)   -> -129276
  0002  JMP       (jump)   -> 10
  0003  GETTABUP  R8 = _ENV[K2('SpriteUtil')]
  0004  GETTABLE  R8 = R8[K3('SetImage')]
  0005  GETTABLE  R9 = R0[K4('m_tokenImg')]
  0006  GETTABUP  R10 = _ENV[K5('EPropertySpriteBig')]
  0007  GETTABLE  R10 = R10[R3]
  0008  LOADBOOL  R11 = true
  0009  CALL      R8 = call(R8, 0 args, 3 rets)
  0010  GETTABLE  R8 = R0[K6('m_tokenNumText')]
  0011  SETTABLE  R8[K7('text')] = R4
  0012  GETTABLE  R8 = R0[K8('m_indexNumText')]
  0013  SETTABLE  R8[K7('text')] = R2
  0014  GETTABLE  R8 = R0[K9('m_indexNumText2')]
  0015  SETTABLE  R8[K7('text')] = R2
  0016  GETTABUP  R8 = _ENV[K10('UIUtil')]
  0017  GETTABLE  R8 = R8[K11('SetActive')]
  0018  GETTABLE  R9 = R0[K12('m_indexBgGo1')]
  0019  NOT       R10 = not R0
  0020  CALL      R8 = call(R8, 0 args, 2 rets)
  0021  GETTABUP  R8 = _ENV[K10('UIUtil')]
  0022  GETTABLE  R8 = R8[K11('SetActive')]
  0023  GETTABLE  R9 = R0[K13('m_indexBgGo2')]
  0024  MOVE      R10 = R0
  0025  CALL      R8 = call(R8, 0 args, 2 rets)
  0026  GETTABUP  R8 = _ENV[K10('UIUtil')]
  0027  GETTABLE  R8 = R8[K11('SetActive')]
  0028  GETTABLE  R9 = R0[K14('m_highlightBgGo')]
  0029  MOVE      R10 = R0
  0030  CALL      R8 = call(R8, 0 args, 2 rets)
  0031  GETTABUP  R8 = _ENV[K10('UIUtil')]
  0032  GETTABLE  R8 = R8[K11('SetActive')]
  0033  GETTABLE  R9 = R0[K15('m_highlightFrontGo')]
  0034  MOVE      R10 = R0
  0035  CALL      R8 = call(R8, 0 args, 2 rets)
  0036  GETTABUP  R8 = _ENV[K10('UIUtil')]
  0037  GETTABLE  R8 = R8[K11('SetActive')]
  0038  GETTABLE  R9 = R0[K16('m_checkGo')]
  0039  MOVE      R10 = R0
  0040  CALL      R8 = call(R8, 0 args, 2 rets)
  0041  GETTABUP  R8 = _ENV[K10('UIUtil')]
  0042  GETTABLE  R8 = R8[K11('SetActive')]
  0043  GETTABLE  R9 = R0[K17('m_indexGo')]
  0044  NOT       R10 = not R0
  0045  CALL      R8 = call(R8, 0 args, 2 rets)
  0046  GETTABLE  R8 = R0[K18('m_canvasGroup')]
  0047  TEST      if not R6 then   -> -131023
  0048  JMP       (jump)   -> 52
  0049  LOADK     R9 = K20 0.7
  0050  TEST      if not R9 then   -> -131019
  0051  JMP       (jump)   -> 53
  0052  LOADK     R9 = K21 1
  0053  SETTABLE  R8[K19('alpha')] = R9
  0054  SETTABLE  R0[K22('m_bShowTip')] = R7
  0055  RETURN    return R0..R-1
; ---------- proto8 [GetTipPos] ----------
  ; fn ?  line 141-143 np=1 va=0 ms=2 code=4 consts=2 upvals=0 protos=0
  ;   K[0]='m_tipPosRect'
  ;   K[1]='position'
  ;   locals: self(0-4)
  0000  GETTABLE  R1 = R0[K0('m_tipPosRect')]
  0001  GETTABLE  R1 = R1[K1('position')]
  0002  RETURN    return R1..R0
  0003  RETURN    return R0..R-1
; ---------- proto9 [PlayEnterAnim] ----------
  ; fn ?  line 145-154 np=2 va=0 ms=8 code=37 consts=14 upvals=1 protos=0
  ;   K[0]='m_bubbleCanvasGroup'
  ;   K[1]='alpha'
  ;   K[2]=0
  ;   K[3]='m_checkCanvasGroup'
  ;   K[4]='m_indexCanvasGroup'
  ;   K[5]='DOTween'
  ;   K[6]='Sequence'
  ;   K[7]='AppendInterval'
  ;   K[8]='Append'
  ;   K[9]='DOFade'
  ;   K[10]=1
  ;   K[11]=0.4
  ;   K[12]=0.2
  ;   K[13]='Join'
  ;   upvals: _ENV
  ;   locals: self(0-37), delay(0-37)
  0000  GETTABLE  R2 = R0[K0('m_bubbleCanvasGroup')]
  0001  SETTABLE  R2[K1('alpha')] = K2(0)
  0002  GETTABLE  R2 = R0[K3('m_checkCanvasGroup')]
  0003  SETTABLE  R2[K1('alpha')] = K2(0)
  0004  GETTABLE  R2 = R0[K4('m_indexCanvasGroup')]
  0005  SETTABLE  R2[K1('alpha')] = K2(0)
  0006  GETTABUP  R2 = _ENV[K5('DOTween')]
  0007  GETTABLE  R2 = R2[K6('Sequence')]
  0008  CALL      R2 = call(R2, 1 args, 0 rets)
  0009  SELF      R3 = R2[K7('AppendInterval')] (self)
  0010  TESTSET   if R1 then R4   -> -130547
  0011  JMP       (jump)   -> 13
  0012  LOADK     R4 = K2 0
  0013  CALL      R2 = call(R2, 1 args, 2 rets)
  0014  SELF      R3 = R2[K8('Append')] (self)
  0015  GETTABLE  R4 = R0[K0('m_bubbleCanvasGroup')]
  0016  SELF      R5 = R4[K9('DOFade')] (self)
  0017  LOADK     R6 = K10 1
  0018  LOADK     R7 = K11 0.4
  0019  CALL      R4 = call(R4, -1 args, 3 rets)
  0020  CALL      R2 = call(R2, 1 args, -1 rets)
  0021  SELF      R3 = R2[K8('Append')] (self)
  0022  GETTABLE  R4 = R0[K3('m_checkCanvasGroup')]
  0023  SELF      R5 = R4[K9('DOFade')] (self)
  0024  LOADK     R6 = K10 1
  0025  LOADK     R7 = K12 0.2
  0026  CALL      R4 = call(R4, -1 args, 3 rets)
  0027  CALL      R2 = call(R2, 1 args, -1 rets)
  0028  SELF      R3 = R2[K13('Join')] (self)
  0029  GETTABLE  R4 = R0[K4('m_indexCanvasGroup')]
  0030  SELF      R5 = R4[K9('DOFade')] (self)
  0031  LOADK     R6 = K10 1
  0032  LOADK     R7 = K12 0.2
  0033  CALL      R4 = call(R4, -1 args, 3 rets)
  0034  TAILCALL  tailcall(R2, 0)
  0035  RETURN    return R2..R1
  0036  RETURN    return R0..R-1
; ---------- proto10 [OnClicked] ----------
  ; fn ?  line 156-164 np=1 va=0 ms=8 code=32 consts=13 upvals=0 protos=0
  ;   K[0]='m_bubbleMoveRect'
  ;   K[1]='DOComplete'
  ;   K[2]='m_tokMoveRect'
  ;   K[3]='DOShakeAnchorPos'
  ;   K[4]=0.4
  ;   K[5]=10
  ;   K[6]=20
  ;   K[7]=90
  ;   K[8]='m_bShowTip'
  ;   K[9]='m_window'
  ;   K[10]='ShowDescTip'
  ;   K[11]='GetTipPos'
  ;   K[12]=0
  ;   locals: self(0-32)
  0000  GETTABLE  R1 = R0[K0('m_bubbleMoveRect')]
  0001  SELF      R2 = R1[K1('DOComplete')] (self)
  0002  CALL      R1 = call(R1, 0 args, 1 rets)
  0003  GETTABLE  R1 = R0[K2('m_tokMoveRect')]
  0004  SELF      R2 = R1[K1('DOComplete')] (self)
  0005  CALL      R1 = call(R1, 0 args, 1 rets)
  0006  GETTABLE  R1 = R0[K0('m_bubbleMoveRect')]
  0007  SELF      R2 = R1[K3('DOShakeAnchorPos')] (self)
  0008  LOADK     R3 = K4 0.4
  0009  LOADK     R4 = K5 10
  0010  LOADK     R5 = K6 20
  0011  LOADK     R6 = K7 90
  0012  LOADBOOL  R7 = true
  0013  CALL      R1 = call(R1, 0 args, 6 rets)
  0014  GETTABLE  R1 = R0[K2('m_tokMoveRect')]
  0015  SELF      R2 = R1[K3('DOShakeAnchorPos')] (self)
  0016  LOADK     R3 = K4 0.4
  0017  LOADK     R4 = K5 10
  0018  LOADK     R5 = K6 20
  0019  LOADK     R6 = K7 90
  0020  LOADBOOL  R7 = true
  0021  CALL      R1 = call(R1, 0 args, 6 rets)
  0022  GETTABLE  R1 = R0[K8('m_bShowTip')]
  0023  TEST      if not R1 then   -> -131047
  0024  JMP       (jump)   -> 31
  0025  GETTABLE  R1 = R0[K9('m_window')]
  0026  SELF      R2 = R1[K10('ShowDescTip')] (self)
  0027  SELF      R4 = R0[K11('GetTipPos')] (self)
  0028  CALL      R3 = call(R3, 1 args, 1 rets)
  0029  LOADK     R4 = K12 0
  0030  CALL      R1 = call(R1, 0 args, 3 rets)
  0031  RETURN    return R0..R-1
