# EnergyBoost_View_EnergyBoostWindow_918.luac
; fn @EnergyBoostWindow.lua  line 0-0 np=0 va=1 ms=6 code=67 consts=28 upvals=1 protos=16
;   K[0]='EnergyBoostSettingWindow'
;   K[1]='setmetatable'
;   K[2]='windowMaskAlpha'
;   K[3]='EWindowMaskAlpha'
;   K[4]='Dark'
;   K[5]='BaseWindow'
;   K[6]='__index'
;   K[7]='BeforeOpenCheck'
;   K[8]='Init'
;   K[9]='OnDestroy'
;   K[10]='InitContent'
;   K[11]='OnEnergyBoostModeChanged'
;   K[12]='OnButtonClick'
;   K[13]='_CheckShowCountDown'
;   K[14]=0
;   K[15]=0.3
;   K[16]=0.6
;   K[17]=0.2
;   K[18]=0.4
;   K[19]='_ToggleItemSpine'
;   K[20]='_LoadPdImage'
;   K[21]='UpdateContent'
;   K[22]='_UpdateTip'
;   K[23]='_UpdateButton'
;   K[24]='_UpdateSpine'
;   K[25]='UpdatePerSecond'
;   K[26]='GetToggleRectTrans'
;   K[27]='GetCloseBtnTrans'
;   upvals: _ENV
;   locals: arrDelayTime(39-67)
0000  GETTABUP  R0 = _ENV[K1('setmetatable')]
0001  NEWTABLE  R1 = {} (0 items)
0002  GETTABUP  R2 = _ENV[K3('EWindowMaskAlpha')]
0003  GETTABLE  R2 = R2[K4('Dark')]
0004  SETTABLE  R1[K2('windowMaskAlpha')] = R2
0005  GETTABUP  R2 = _ENV[K5('BaseWindow')]
0006  CALL      R0 = call(R0, 1 args, 2 rets)
0007  SETTABUP  _ENV[K0('EnergyBoostSettingWindow')] = R0
0008  GETTABUP  R0 = _ENV[K0('EnergyBoostSettingWindow')]
0009  GETTABUP  R1 = _ENV[K0('EnergyBoostSettingWindow')]
0010  SETTABLE  R0[K6('__index')] = R1
0011  GETTABUP  R0 = _ENV[K0('EnergyBoostSettingWindow')]
0012  CLOSURE   R1 = closure proto0
0013  SETTABLE  R0[K7('BeforeOpenCheck')] = R1
0014  GETTABUP  R0 = _ENV[K0('EnergyBoostSettingWindow')]
0015  CLOSURE   R1 = closure proto1
0016  SETTABLE  R0[K8('Init')] = R1
0017  GETTABUP  R0 = _ENV[K0('EnergyBoostSettingWindow')]
0018  CLOSURE   R1 = closure proto2
0019  SETTABLE  R0[K9('OnDestroy')] = R1
0020  GETTABUP  R0 = _ENV[K0('EnergyBoostSettingWindow')]
0021  CLOSURE   R1 = closure proto3
0022  SETTABLE  R0[K10('InitContent')] = R1
0023  GETTABUP  R0 = _ENV[K0('EnergyBoostSettingWindow')]
0024  CLOSURE   R1 = closure proto4
0025  SETTABLE  R0[K11('OnEnergyBoostModeChanged')] = R1
0026  GETTABUP  R0 = _ENV[K0('EnergyBoostSettingWindow')]
0027  CLOSURE   R1 = closure proto5
0028  SETTABLE  R0[K12('OnButtonClick')] = R1
0029  GETTABUP  R0 = _ENV[K0('EnergyBoostSettingWindow')]
0030  CLOSURE   R1 = closure proto6
0031  SETTABLE  R0[K13('_CheckShowCountDown')] = R1
0032  NEWTABLE  R0 = {} (5 items)
0033  LOADK     R1 = K14 0
0034  LOADK     R2 = K15 0.3
0035  LOADK     R3 = K16 0.6
0036  LOADK     R4 = K17 0.2
0037  LOADK     R5 = K18 0.4
0038  SETLIST   setlist R0[B=1,C=5]
0039  GETTABUP  R1 = _ENV[K0('EnergyBoostSettingWindow')]
0040  CLOSURE   R2 = closure proto7
0041  SETTABLE  R1[K19('_ToggleItemSpine')] = R2
0042  GETTABUP  R1 = _ENV[K0('EnergyBoostSettingWindow')]
0043  CLOSURE   R2 = closure proto8
0044  SETTABLE  R1[K20('_LoadPdImage')] = R2
0045  GETTABUP  R1 = _ENV[K0('EnergyBoostSettingWindow')]
0046  CLOSURE   R2 = closure proto9
0047  SETTABLE  R1[K21('UpdateContent')] = R2
0048  GETTABUP  R1 = _ENV[K0('EnergyBoostSettingWindow')]
0049  CLOSURE   R2 = closure proto10
0050  SETTABLE  R1[K22('_UpdateTip')] = R2
0051  GETTABUP  R1 = _ENV[K0('EnergyBoostSettingWindow')]
0052  CLOSURE   R2 = closure proto11
0053  SETTABLE  R1[K23('_UpdateButton')] = R2
0054  GETTABUP  R1 = _ENV[K0('EnergyBoostSettingWindow')]
0055  CLOSURE   R2 = closure proto12
0056  SETTABLE  R1[K24('_UpdateSpine')] = R2
0057  GETTABUP  R1 = _ENV[K0('EnergyBoostSettingWindow')]
0058  CLOSURE   R2 = closure proto13
0059  SETTABLE  R1[K25('UpdatePerSecond')] = R2
0060  GETTABUP  R1 = _ENV[K0('EnergyBoostSettingWindow')]
0061  CLOSURE   R2 = closure proto14
0062  SETTABLE  R1[K26('GetToggleRectTrans')] = R2
0063  GETTABUP  R1 = _ENV[K0('EnergyBoostSettingWindow')]
0064  CLOSURE   R2 = closure proto15
0065  SETTABLE  R1[K27('GetCloseBtnTrans')] = R2
0066  RETURN    return R0..R-1
; ---------- proto0 [BeforeOpenCheck] ----------
  ; fn ?  line 6-8 np=1 va=0 ms=3 code=6 consts=3 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='EnergyBoostModel'
  ;   K[2]='IsEnergyBoostConfigOn'
  ;   upvals: _ENV
  ;   locals: self(0-6)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('EnergyBoostModel')]
  0002  SELF      R2 = R1[K2('IsEnergyBoostConfigOn')] (self)
  0003  TAILCALL  tailcall(R1, 0)
  0004  RETURN    return R1..R0
  0005  RETURN    return R0..R-1
; ---------- proto1 [Init] ----------
  ; fn ?  line 10-18 np=2 va=0 ms=7 code=37 consts=21 upvals=1 protos=0
  ;   K[0]='InitContent'
  ;   K[1]='UpdateContent'
  ;   K[2]='LogWindowAction'
  ;   K[3]='EBIType'
  ;   K[4]='UIActionType'
  ;   K[5]='Open'
  ;   K[6]='EBIReferType'
  ;   K[7]='AutoPopup'
  ;   K[8]='UserClick'
  ;   K[9]='EventDispatcher'
  ;   K[10]='AddListener'
  ;   K[11]='EEventType'
  ;   K[12]='EnergyBoostModeChanged'
  ;   K[13]='OnEnergyBoostModeChanged'
  ;   K[14]='DispatchEvent'
  ;   K[15]='HighlightHud'
  ;   K[16]='highlight'
  ;   K[17]=true
  ;   K[18]='hudKey'
  ;   K[19]='ESceneViewHudButtonKey'
  ;   K[20]='Energy'
  ;   upvals: _ENV
  ;   locals: self(0-37), bAuto(0-37)
  0000  SELF      R3 = R0[K0('InitContent')] (self)
  0001  CALL      R2 = call(R2, 0 args, 1 rets)
  0002  SELF      R3 = R0[K1('UpdateContent')] (self)
  0003  CALL      R2 = call(R2, 0 args, 1 rets)
  0004  SELF      R3 = R0[K2('LogWindowAction')] (self)
  0005  GETTABUP  R4 = _ENV[K3('EBIType')]
  0006  GETTABLE  R4 = R4[K4('UIActionType')]
  0007  GETTABLE  R4 = R4[K5('Open')]
  0008  NEWTABLE  R5 = {} (1 items)
  0009  TEST      if not R1 then   -> -131061
  0010  JMP       (jump)   -> 15
  0011  GETTABUP  R6 = _ENV[K6('EBIReferType')]
  0012  GETTABLE  R6 = R6[K7('AutoPopup')]
  0013  TEST      if not R6 then   -> -131056
  0014  JMP       (jump)   -> 17
  0015  GETTABUP  R6 = _ENV[K6('EBIReferType')]
  0016  GETTABLE  R6 = R6[K8('UserClick')]
  0017  SETLIST   setlist R5[B=1,C=1]
  0018  CALL      R2 = call(R2, 0 args, 3 rets)
  0019  GETTABUP  R2 = _ENV[K9('EventDispatcher')]
  0020  GETTABLE  R2 = R2[K10('AddListener')]
  0021  GETTABUP  R3 = _ENV[K11('EEventType')]
  0022  GETTABLE  R3 = R3[K12('EnergyBoostModeChanged')]
  0023  MOVE      R4 = R0
  0024  GETTABLE  R5 = R0[K13('OnEnergyBoostModeChanged')]
  0025  CALL      R2 = call(R2, 0 args, 3 rets)
  0026  GETTABUP  R2 = _ENV[K9('EventDispatcher')]
  0027  GETTABLE  R2 = R2[K14('DispatchEvent')]
  0028  GETTABUP  R3 = _ENV[K11('EEventType')]
  0029  GETTABLE  R3 = R3[K15('HighlightHud')]
  0030  NEWTABLE  R4 = {} (0 items)
  0031  SETTABLE  R4[K16('highlight')] = K17(true)
  0032  GETTABUP  R5 = _ENV[K19('ESceneViewHudButtonKey')]
  0033  GETTABLE  R5 = R5[K20('Energy')]
  0034  SETTABLE  R4[K18('hudKey')] = R5
  0035  CALL      R2 = call(R2, 0 args, 2 rets)
  0036  RETURN    return R0..R-1
; ---------- proto2 [OnDestroy] ----------
  ; fn ?  line 20-24 np=1 va=0 ms=5 code=19 consts=12 upvals=1 protos=0
  ;   K[0]='EventDispatcher'
  ;   K[1]='RemoveTarget'
  ;   K[2]='Scheduler'
  ;   K[3]='UnscheduleTarget'
  ;   K[4]='DispatchEvent'
  ;   K[5]='EEventType'
  ;   K[6]='HighlightHud'
  ;   K[7]='highlight'
  ;   K[8]=false
  ;   K[9]='hudKey'
  ;   K[10]='ESceneViewHudButtonKey'
  ;   K[11]='Energy'
  ;   upvals: _ENV
  ;   locals: self(0-19)
  0000  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0001  GETTABLE  R1 = R1[K1('RemoveTarget')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  GETTABUP  R1 = _ENV[K2('Scheduler')]
  0005  GETTABLE  R1 = R1[K3('UnscheduleTarget')]
  0006  MOVE      R2 = R0
  0007  CALL      R1 = call(R1, 0 args, 1 rets)
  0008  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0009  GETTABLE  R1 = R1[K4('DispatchEvent')]
  0010  GETTABUP  R2 = _ENV[K5('EEventType')]
  0011  GETTABLE  R2 = R2[K6('HighlightHud')]
  0012  NEWTABLE  R3 = {} (0 items)
  0013  SETTABLE  R3[K7('highlight')] = K8(false)
  0014  GETTABUP  R4 = _ENV[K10('ESceneViewHudButtonKey')]
  0015  GETTABLE  R4 = R4[K11('Energy')]
  0016  SETTABLE  R3[K9('hudKey')] = R4
  0017  CALL      R1 = call(R1, 0 args, 2 rets)
  0018  RETURN    return R0..R-1
; ---------- proto3 [InitContent] ----------
  ; fn ?  line 26-47 np=1 va=0 ms=13 code=76 consts=27 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='EnergyBoostModel'
  ;   K[2]='GetTriggerBoostType'
  ;   K[3]='GetTriggerCount'
  ;   K[4]=9999
  ;   K[5]='GetEnergyBoostCostNum'
  ;   K[6]='m_descText'
  ;   K[7]='text'
  ;   K[8]='GameTextModel'
  ;   K[9]='GetText'
  ;   K[10]='energy_boost_window_desc_'
  ;   K[11]='m_spine'
  ;   K[12]='Init'
  ;   K[13]='SetAnimation'
  ;   K[14]='appear'
  ;   K[15]='AddAnimation'
  ;   K[16]='idle'
  ;   K[17]=1
  ;   K[18]=5
  ;   K[19]='m_frontSpine'
  ;   K[20]='m_backSpine'
  ;   K[21]='_CheckShowCountDown'
  ;   K[22]=0
  ;   K[23]=0.1
  ;   K[24]=0.06666666666666667
  ;   K[25]=0.13333333333333333
  ;   K[26]='_LoadPdImage'
  ;   upvals: _ENV
  ;   locals: self(0-76), eConfigBoostType(4-76), triggerCount(12-76), nConfigCostNum(17-76), (for index)(43-57), (for limit)(43-57), (for step)(43-57), i(44-56), arrFadeInDelay(66-76), (for index)(69-75), (for limit)(69-75), (for step)(69-75), i(70-74)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('EnergyBoostModel')]
  0002  SELF      R2 = R1[K2('GetTriggerBoostType')] (self)
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  GETTABUP  R2 = _ENV[K0('GM')]
  0005  GETTABLE  R2 = R2[K1('EnergyBoostModel')]
  0006  SELF      R3 = R2[K3('GetTriggerCount')] (self)
  0007  MOVE      R4 = R0
  0008  CALL      R2 = call(R2, 1 args, 2 rets)
  0009  TEST      if not R2 then   -> -131060
  0010  JMP       (jump)   -> 12
  0011  LOADK     R2 = K4 9999
  0012  GETTABUP  R3 = _ENV[K0('GM')]
  0013  GETTABLE  R3 = R3[K1('EnergyBoostModel')]
  0014  SELF      R4 = R3[K5('GetEnergyBoostCostNum')] (self)
  0015  MOVE      R5 = R0
  0016  CALL      R3 = call(R3, 1 args, 2 rets)
  0017  GETTABLE  R4 = R0[K6('m_descText')]
  0018  GETTABUP  R5 = _ENV[K0('GM')]
  0019  GETTABLE  R5 = R5[K8('GameTextModel')]
  0020  SELF      R6 = R5[K9('GetText')] (self)
  0021  LOADK     R7 = K10 'energy_boost_window_desc_'
  0022  MOVE      R8 = R0
  0023  CONCAT    R7 = concat(R7..R7)
  0024  MOVE      R8 = R0
  0025  CALL      R5 = call(R5, 1 args, 3 rets)
  0026  SETTABLE  R4[K7('text')] = R5
  0027  GETTABLE  R4 = R0[K11('m_spine')]
  0028  SELF      R5 = R4[K12('Init')] (self)
  0029  CALL      R4 = call(R4, 0 args, 1 rets)
  0030  GETTABLE  R4 = R0[K11('m_spine')]
  0031  SELF      R5 = R4[K13('SetAnimation')] (self)
  0032  LOADK     R6 = K14 'appear'
  0033  LOADBOOL  R7 = false
  0034  CALL      R4 = call(R4, 0 args, 3 rets)
  0035  GETTABLE  R4 = R0[K11('m_spine')]
  0036  SELF      R5 = R4[K15('AddAnimation')] (self)
  0037  LOADK     R6 = K16 'idle'
  0038  LOADBOOL  R7 = true
  0039  CALL      R4 = call(R4, 0 args, 3 rets)
  0040  LOADK     R4 = K17 1
  0041  LOADK     R5 = K18 5
  0042  LOADK     R6 = K17 1
  0043  FORPREP   forprep R4(sBx=12)   -> 56
  0044  LOADK     R8 = K19 'm_frontSpine'
  0045  MOVE      R9 = R0
  0046  CONCAT    R8 = concat(R8..R8)
  0047  GETTABLE  R8 = R0[R8]
  0048  SELF      R9 = R8[K12('Init')] (self)
  0049  CALL      R8 = call(R8, 0 args, 1 rets)
  0050  LOADK     R8 = K20 'm_backSpine'
  0051  MOVE      R9 = R0
  0052  CONCAT    R8 = concat(R8..R8)
  0053  GETTABLE  R8 = R0[R8]
  0054  SELF      R9 = R8[K12('Init')] (self)
  0055  CALL      R8 = call(R8, 0 args, 1 rets)
  0056  FORLOOP   forloop R4(sBx=-13)   -> 44
  0057  SELF      R5 = R0[K21('_CheckShowCountDown')] (self)
  0058  CALL      R4 = call(R4, 0 args, 1 rets)
  0059  NEWTABLE  R4 = {} (5 items)
  0060  LOADK     R5 = K22 0
  0061  LOADK     R6 = K23 0.1
  0062  LOADK     R7 = K22 0
  0063  LOADK     R8 = K24 0.06666666666666667
  0064  LOADK     R9 = K25 0.13333333333333333
  0065  SETLIST   setlist R4[B=1,C=5]
  0066  LOADK     R5 = K17 1
  0067  LOADK     R6 = K18 5
  0068  LOADK     R7 = K17 1
  0069  FORPREP   forprep R5(sBx=4)   -> 74
  0070  SELF      R10 = R0[K26('_LoadPdImage')] (self)
  0071  MOVE      R11 = R0
  0072  GETTABLE  R12 = R4[R8]
  0073  CALL      R9 = call(R9, 0 args, 3 rets)
  0074  FORLOOP   forloop R5(sBx=-5)   -> 70
  0075  RETURN    return R0..R-1
; ---------- proto4 [OnEnergyBoostModeChanged] ----------
  ; fn ?  line 49-55 np=1 va=0 ms=3 code=12 consts=5 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='EnergyBoostModel'
  ;   K[2]='IsEnergyBoostConfigOn'
  ;   K[3]='Close'
  ;   K[4]='_CheckShowCountDown'
  ;   upvals: _ENV
  ;   locals: self(0-12)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('EnergyBoostModel')]
  0002  SELF      R2 = R1[K2('IsEnergyBoostConfigOn')] (self)
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  TEST      if not R1 then   -> -131065
  0005  JMP       (jump)   -> 9
  0006  SELF      R2 = R0[K3('Close')] (self)
  0007  CALL      R1 = call(R1, 0 args, 1 rets)
  0008  RETURN    return R0..R-1
  0009  SELF      R2 = R0[K4('_CheckShowCountDown')] (self)
  0010  CALL      R1 = call(R1, 0 args, 1 rets)
  0011  RETURN    return R0..R-1
; ---------- proto5 [OnButtonClick] ----------
  ; fn ?  line 57-62 np=1 va=0 ms=5 code=29 consts=12 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='EnergyBoostModel'
  ;   K[2]='SwitchUserBoostType'
  ;   K[3]='GetUserBoostType'
  ;   K[4]='EEnergyBoostType'
  ;   K[5]='None'
  ;   K[6]='AudioModel'
  ;   K[7]='PlayEffect'
  ;   K[8]='AudioFileConfigName'
  ;   K[9]='sfxEnergyBoostOn'
  ;   K[10]='sfxEnergyBoostOff'
  ;   K[11]='UpdateContent'
  ;   upvals: _ENV
  ;   locals: self(0-29), curOn(14-29)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('EnergyBoostModel')]
  0002  SELF      R2 = R1[K2('SwitchUserBoostType')] (self)
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  GETTABUP  R1 = _ENV[K0('GM')]
  0005  GETTABLE  R1 = R1[K1('EnergyBoostModel')]
  0006  SELF      R2 = R1[K3('GetUserBoostType')] (self)
  0007  CALL      R1 = call(R1, 1 args, 1 rets)
  0008  GETTABUP  R2 = _ENV[K4('EEnergyBoostType')]
  0009  GETTABLE  R2 = R2[K5('None')]
  0010  LE        if R1 le R1   -> -130035
  0011  JMP       (jump)   -> 13
  0012  LOADBOOL  R1 = false
  0013  LOADBOOL  R1 = true
  0014  GETTABUP  R2 = _ENV[K0('GM')]
  0015  GETTABLE  R2 = R2[K6('AudioModel')]
  0016  SELF      R3 = R2[K7('PlayEffect')] (self)
  0017  TEST      if not R1 then   -> -131053
  0018  JMP       (jump)   -> 23
  0019  GETTABUP  R4 = _ENV[K8('AudioFileConfigName')]
  0020  GETTABLE  R4 = R4[K9('sfxEnergyBoostOn')]
  0021  TEST      if not R4 then   -> -131048
  0022  JMP       (jump)   -> 25
  0023  GETTABUP  R4 = _ENV[K8('AudioFileConfigName')]
  0024  GETTABLE  R4 = R4[K10('sfxEnergyBoostOff')]
  0025  CALL      R2 = call(R2, 0 args, 2 rets)
  0026  SELF      R3 = R0[K11('UpdateContent')] (self)
  0027  CALL      R2 = call(R2, 0 args, 1 rets)
  0028  RETURN    return R0..R-1
; ---------- proto6 [_CheckShowCountDown] ----------
  ; fn ?  line 64-66 np=1 va=0 ms=5 code=8 consts=5 upvals=1 protos=0
  ;   K[0]='m_countdownGo'
  ;   K[1]='SetActive'
  ;   K[2]='GM'
  ;   K[3]='EnergyBoostModel'
  ;   K[4]='IsTimeLimitedOn'
  ;   upvals: _ENV
  ;   locals: self(0-8)
  0000  GETTABLE  R1 = R0[K0('m_countdownGo')]
  0001  SELF      R2 = R1[K1('SetActive')] (self)
  0002  GETTABUP  R3 = _ENV[K2('GM')]
  0003  GETTABLE  R3 = R3[K3('EnergyBoostModel')]
  0004  SELF      R4 = R3[K4('IsTimeLimitedOn')] (self)
  0005  CALL      R3 = call(R3, -1 args, 1 rets)
  0006  CALL      R1 = call(R1, 0 args, -1 rets)
  0007  RETURN    return R0..R-1
; ---------- proto7 [_ToggleItemSpine] ----------
  ; fn ?  line 69-93 np=2 va=0 ms=14 code=42 consts=12 upvals=2 protos=1
  ;   K[0]='Scheduler'
  ;   K[1]='UnscheduleTarget'
  ;   K[2]=1
  ;   K[3]=5
  ;   K[4]='m_frontSpine'
  ;   K[5]='m_backSpine'
  ;   K[6]='m_bHasEntered'
  ;   K[7]=0.6
  ;   K[8]='DelayExecuteFuncInView'
  ;   K[9]='gameObject'
  ;   K[10]='SetActive'
  ;   K[11]=true
  ;   upvals: _ENV, arrDelayTime
  ;   locals: self(0-42), isOn(0-42), (for index)(7-40), (for limit)(7-40), (for step)(7-40), i(8-39), frontSpine(12-39), backSpine(16-39), delay(19-29)
  0000  GETTABUP  R2 = _ENV[K0('Scheduler')]
  0001  GETTABLE  R2 = R2[K1('UnscheduleTarget')]
  0002  MOVE      R3 = R0
  0003  CALL      R2 = call(R2, 0 args, 1 rets)
  0004  LOADK     R2 = K2 1
  0005  LOADK     R3 = K3 5
  0006  LOADK     R4 = K2 1
  0007  FORPREP   forprep R2(sBx=31)   -> 39
  0008  LOADK     R6 = K4 'm_frontSpine'
  0009  MOVE      R7 = R0
  0010  CONCAT    R6 = concat(R6..R6)
  0011  GETTABLE  R6 = R0[R6]
  0012  LOADK     R7 = K5 'm_backSpine'
  0013  MOVE      R8 = R0
  0014  CONCAT    R7 = concat(R7..R7)
  0015  GETTABLE  R7 = R0[R7]
  0016  TEST      if not R1 then   -> -131054
  0017  JMP       (jump)   -> 30
  0018  GETTABUP  R8 = arrDelayTime[R5]
  0019  GETTABLE  R9 = R0[K6('m_bHasEntered')]
  0020  TEST      if not R9 then   -> -131049
  0021  JMP       (jump)   -> 23
  0022  ADD       R8 = K7(0.6) add R8
  0023  GETTABUP  R9 = _ENV[K8('DelayExecuteFuncInView')]
  0024  CLOSURE   R10 = closure proto0
  0025  MOVE      R11 = R0
  0026  MOVE      R12 = R0
  0027  LOADBOOL  R13 = false
  0028  CALL      R9 = call(R9, 0 args, 4 rets)
  0029  JMP       (jump)   -> 39
  0030  GETTABLE  R8 = R6[K9('gameObject')]
  0031  SELF      R9 = R8[K10('SetActive')] (self)
  0032  LOADBOOL  R10 = false
  0033  CALL      R8 = call(R8, 0 args, 2 rets)
  0034  GETTABLE  R8 = R7[K9('gameObject')]
  0035  SELF      R9 = R8[K10('SetActive')] (self)
  0036  LOADBOOL  R10 = false
  0037  CALL      R8 = call(R8, 0 args, 2 rets)
  0038  JMP       (jump)   -> 39
  0039  FORLOOP   forloop R2(sBx=-32)   -> 8
  0040  SETTABLE  R0[K6('m_bHasEntered')] = K11(true)
  0041  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 80-85 np=0 va=0 ms=4 code=19 consts=4 upvals=2 protos=0
    ;   K[0]='gameObject'
    ;   K[1]='SetActive'
    ;   K[2]='SetAnimation'
    ;   K[3]='xg'
    ;   upvals: frontSpine, backSpine
    0000  GETTABUP  R0 = frontSpine[K0('gameObject')]
    0001  SELF      R1 = R0[K1('SetActive')] (self)
    0002  LOADBOOL  R2 = true
    0003  CALL      R0 = call(R0, 0 args, 2 rets)
    0004  GETTABUP  R0 = backSpine[K0('gameObject')]
    0005  SELF      R1 = R0[K1('SetActive')] (self)
    0006  LOADBOOL  R2 = true
    0007  CALL      R0 = call(R0, 0 args, 2 rets)
    0008  GETUPVAL  R0 = frontSpine
    0009  SELF      R1 = R0[K2('SetAnimation')] (self)
    0010  LOADK     R2 = K3 'xg'
    0011  LOADBOOL  R3 = true
    0012  CALL      R0 = call(R0, 0 args, 3 rets)
    0013  GETUPVAL  R0 = frontSpine
    0014  SELF      R1 = R0[K2('SetAnimation')] (self)
    0015  LOADK     R2 = K3 'xg'
    0016  LOADBOOL  R3 = true
    0017  CALL      R0 = call(R0, 0 args, 3 rets)
    0018  RETURN    return R0..R-1
; ---------- proto8 [_LoadPdImage] ----------
  ; fn ?  line 95-118 np=3 va=0 ms=18 code=59 consts=17 upvals=1 protos=0
  ;   K[0]='m_pdImg'
  ;   K[1]='m_canvasGroup'
  ;   K[2]='GM'
  ;   K[3]='ItemDataModel'
  ;   K[4]=4
  ;   K[5]='pd_'
  ;   K[6]='GetChainMaxLevel'
  ;   K[7]=1
  ;   K[8]='IsUnlocked'
  ;   K[9]='_'
  ;   K[10]='SpriteUtil'
  ;   K[11]='SetImage'
  ;   K[12]='ImageFileConfigName'
  ;   K[13]='DOFade'
  ;   K[14]=0.1
  ;   K[15]='SetDelay'
  ;   K[16]=0
  ;   upvals: _ENV
  ;   locals: self(0-59), index(0-59), fadeInDelay(0-59), imageCmp(4-59), canvasGroupCmp(8-59), itemDataModel(15-59), maxUnlockedLevel(16-59), chain(19-59), chainMaxLevel(22-59), (for index)(25-38), (for limit)(25-38), (for step)(25-38), level(26-37), imageKey(42-59)
  0000  LOADK     R3 = K0 'm_pdImg'
  0001  MOVE      R4 = R0
  0002  CONCAT    R3 = concat(R3..R3)
  0003  GETTABLE  R3 = R0[R3]
  0004  LOADK     R4 = K1 'm_canvasGroup'
  0005  MOVE      R5 = R0
  0006  CONCAT    R4 = concat(R4..R4)
  0007  GETTABLE  R4 = R0[R4]
  0008  TEST      if not R3 then   -> -131062
  0009  JMP       (jump)   -> 12
  0010  TEST      if not R4 then   -> -131059
  0011  JMP       (jump)   -> 13
  0012  RETURN    return R0..R-1
  0013  GETTABUP  R5 = _ENV[K2('GM')]
  0014  GETTABLE  R5 = R5[K3('ItemDataModel')]
  0015  LOADK     R6 = K4 4
  0016  LOADK     R7 = K5 'pd_'
  0017  MOVE      R8 = R0
  0018  CONCAT    R7 = concat(R7..R7)
  0019  SELF      R9 = R5[K6('GetChainMaxLevel')] (self)
  0020  MOVE      R10 = R0
  0021  CALL      R8 = call(R8, 1 args, 2 rets)
  0022  ADD       R9 = K7(1) add R6
  0023  MOVE      R10 = R0
  0024  LOADK     R11 = K7 1
  0025  FORPREP   forprep R9(sBx=11)   -> 37
  0026  SELF      R14 = R5[K8('IsUnlocked')] (self)
  0027  MOVE      R15 = R0
  0028  LOADK     R16 = K9 '_'
  0029  MOVE      R17 = R0
  0030  CONCAT    R15 = concat(R15..R15)
  0031  CALL      R13 = call(R13, 1 args, 2 rets)
  0032  TEST      if not R13 then   -> -131038
  0033  JMP       (jump)   -> 38
  0034  MOVE      R6 = R0
  0035  JMP       (jump)   -> 37
  0036  JMP       (jump)   -> 38
  0037  FORLOOP   forloop R9(sBx=-12)   -> 26
  0038  MOVE      R9 = R0
  0039  LOADK     R10 = K9 '_'
  0040  MOVE      R11 = R0
  0041  CONCAT    R9 = concat(R9..R9)
  0042  GETTABUP  R10 = _ENV[K10('SpriteUtil')]
  0043  GETTABLE  R10 = R10[K11('SetImage')]
  0044  MOVE      R11 = R0
  0045  GETTABUP  R12 = _ENV[K12('ImageFileConfigName')]
  0046  GETTABLE  R12 = R12[R9]
  0047  LOADBOOL  R13 = true
  0048  CALL      R10 = call(R10, 0 args, 3 rets)
  0049  SELF      R11 = R4[K13('DOFade')] (self)
  0050  LOADK     R12 = K7 1
  0051  LOADK     R13 = K14 0.1
  0052  CALL      R10 = call(R10, 1 args, 3 rets)
  0053  SELF      R11 = R10[K15('SetDelay')] (self)
  0054  TESTSET   if R1 then R12   -> -129991
  0055  JMP       (jump)   -> 57
  0056  LOADK     R12 = K16 0
  0057  CALL      R10 = call(R10, 0 args, 2 rets)
  0058  RETURN    return R0..R-1
; ---------- proto9 [UpdateContent] ----------
  ; fn ?  line 120-133 np=1 va=0 ms=8 code=48 consts=22 upvals=1 protos=0
  ;   K[0]='m_centerText'
  ;   K[1]='text'
  ;   K[2]='x'
  ;   K[3]='GM'
  ;   K[4]='EnergyBoostModel'
  ;   K[5]='GetEnergyBoostCostNum'
  ;   K[6]='_UpdateButton'
  ;   K[7]='_UpdateTip'
  ;   K[8]='_UpdateSpine'
  ;   K[9]='DOTween'
  ;   K[10]='Sequence'
  ;   K[11]='Append'
  ;   K[12]='transform'
  ;   K[13]='DOScale'
  ;   K[14]=1.5
  ;   K[15]=0.1
  ;   K[16]=1
  ;   K[17]='_ToggleItemSpine'
  ;   K[18]='GetUserBoostType'
  ;   K[19]='EEnergyBoostType'
  ;   K[20]='None'
  ;   K[21]='UpdatePerSecond'
  ;   upvals: _ENV
  ;   locals: self(0-48), s(17-48)
  0000  GETTABLE  R1 = R0[K0('m_centerText')]
  0001  LOADK     R2 = K2 'x'
  0002  GETTABUP  R3 = _ENV[K3('GM')]
  0003  GETTABLE  R3 = R3[K4('EnergyBoostModel')]
  0004  SELF      R4 = R3[K5('GetEnergyBoostCostNum')] (self)
  0005  CALL      R3 = call(R3, 1 args, 1 rets)
  0006  CONCAT    R2 = concat(R2..R2)
  0007  SETTABLE  R1[K1('text')] = R2
  0008  SELF      R2 = R0[K6('_UpdateButton')] (self)
  0009  CALL      R1 = call(R1, 0 args, 1 rets)
  0010  SELF      R2 = R0[K7('_UpdateTip')] (self)
  0011  CALL      R1 = call(R1, 0 args, 1 rets)
  0012  SELF      R2 = R0[K8('_UpdateSpine')] (self)
  0013  CALL      R1 = call(R1, 0 args, 1 rets)
  0014  GETTABUP  R1 = _ENV[K9('DOTween')]
  0015  GETTABLE  R1 = R1[K10('Sequence')]
  0016  CALL      R1 = call(R1, 1 args, 0 rets)
  0017  SELF      R3 = R1[K11('Append')] (self)
  0018  GETTABLE  R4 = R0[K0('m_centerText')]
  0019  GETTABLE  R4 = R4[K12('transform')]
  0020  SELF      R5 = R4[K13('DOScale')] (self)
  0021  LOADK     R6 = K14 1.5
  0022  LOADK     R7 = K15 0.1
  0023  CALL      R4 = call(R4, -1 args, 3 rets)
  0024  CALL      R2 = call(R2, 0 args, -1 rets)
  0025  SELF      R3 = R1[K11('Append')] (self)
  0026  GETTABLE  R4 = R0[K0('m_centerText')]
  0027  GETTABLE  R4 = R4[K12('transform')]
  0028  SELF      R5 = R4[K13('DOScale')] (self)
  0029  LOADK     R6 = K16 1
  0030  LOADK     R7 = K15 0.1
  0031  CALL      R4 = call(R4, -1 args, 3 rets)
  0032  CALL      R2 = call(R2, 0 args, -1 rets)
  0033  SELF      R3 = R0[K17('_ToggleItemSpine')] (self)
  0034  GETTABUP  R4 = _ENV[K3('GM')]
  0035  GETTABLE  R4 = R4[K4('EnergyBoostModel')]
  0036  SELF      R5 = R4[K18('GetUserBoostType')] (self)
  0037  CALL      R4 = call(R4, 1 args, 1 rets)
  0038  GETTABUP  R5 = _ENV[K19('EEnergyBoostType')]
  0039  GETTABLE  R5 = R5[K20('None')]
  0040  LT        if R1 lt R4   -> -128466
  0041  JMP       (jump)   -> 43
  0042  LOADBOOL  R4 = false
  0043  LOADBOOL  R4 = true
  0044  CALL      R2 = call(R2, 0 args, 2 rets)
  0045  SELF      R3 = R0[K21('UpdatePerSecond')] (self)
  0046  CALL      R2 = call(R2, 0 args, 1 rets)
  0047  RETURN    return R0..R-1
; ---------- proto10 [_UpdateTip] ----------
  ; fn ?  line 135-143 np=1 va=0 ms=5 code=22 consts=9 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='EnergyBoostModel'
  ;   K[2]='GetEnergyBoostCostNum'
  ;   K[3]=1
  ;   K[4]='m_tipGo'
  ;   K[5]='SetActive'
  ;   K[6]='m_tipImg'
  ;   K[7]='sprite'
  ;   K[8]='m_tipSpritex'
  ;   upvals: _ENV
  ;   locals: self(0-22), nCostNum(4-22)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('EnergyBoostModel')]
  0002  SELF      R2 = R1[K2('GetEnergyBoostCostNum')] (self)
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  EQ        if R0 eq K3(1)   -> -130295
  0005  JMP       (jump)   -> 11
  0006  GETTABLE  R2 = R0[K4('m_tipGo')]
  0007  SELF      R3 = R2[K5('SetActive')] (self)
  0008  LOADBOOL  R4 = false
  0009  CALL      R2 = call(R2, 0 args, 2 rets)
  0010  JMP       (jump)   -> 21
  0011  GETTABLE  R2 = R0[K4('m_tipGo')]
  0012  SELF      R3 = R2[K5('SetActive')] (self)
  0013  LOADBOOL  R4 = true
  0014  CALL      R2 = call(R2, 0 args, 2 rets)
  0015  GETTABLE  R2 = R0[K6('m_tipImg')]
  0016  LOADK     R3 = K8 'm_tipSpritex'
  0017  MOVE      R4 = R0
  0018  CONCAT    R3 = concat(R3..R3)
  0019  GETTABLE  R3 = R0[R3]
  0020  SETTABLE  R2[K7('sprite')] = R3
  0021  RETURN    return R0..R-1
; ---------- proto11 [_UpdateButton] ----------
  ; fn ?  line 145-150 np=1 va=0 ms=5 code=26 consts=10 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='EnergyBoostModel'
  ;   K[2]='GetEnergyBoostCostNum'
  ;   K[3]='m_buttonx1'
  ;   K[4]='SetActive'
  ;   K[5]=1
  ;   K[6]='m_buttonx2'
  ;   K[7]=2
  ;   K[8]='m_buttonx4'
  ;   K[9]=4
  ;   upvals: _ENV
  ;   locals: self(0-26), nCostNum(4-26)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('EnergyBoostModel')]
  0002  SELF      R2 = R1[K2('GetEnergyBoostCostNum')] (self)
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  GETTABLE  R2 = R0[K3('m_buttonx1')]
  0005  SELF      R3 = R2[K4('SetActive')] (self)
  0006  EQ        if R1 eq K5(1)   -> -130291
  0007  JMP       (jump)   -> 9
  0008  LOADBOOL  R4 = false
  0009  LOADBOOL  R4 = true
  0010  CALL      R2 = call(R2, 0 args, 2 rets)
  0011  GETTABLE  R2 = R0[K6('m_buttonx2')]
  0012  SELF      R3 = R2[K4('SetActive')] (self)
  0013  EQ        if R1 eq K7(2)   -> -130282
  0014  JMP       (jump)   -> 16
  0015  LOADBOOL  R4 = false
  0016  LOADBOOL  R4 = true
  0017  CALL      R2 = call(R2, 0 args, 2 rets)
  0018  GETTABLE  R2 = R0[K8('m_buttonx4')]
  0019  SELF      R3 = R2[K4('SetActive')] (self)
  0020  EQ        if R1 eq K9(4)   -> -130273
  0021  JMP       (jump)   -> 23
  0022  LOADBOOL  R4 = false
  0023  LOADBOOL  R4 = true
  0024  CALL      R2 = call(R2, 0 args, 2 rets)
  0025  RETURN    return R0..R-1
; ---------- proto12 [_UpdateSpine] ----------
  ; fn ?  line 152-163 np=1 va=0 ms=12 code=31 consts=10 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='EnergyBoostModel'
  ;   K[2]='GetEnergyBoostCostNum'
  ;   K[3]='tostring'
  ;   K[4]='m_spine'
  ;   K[5]='SetSkin'
  ;   K[6]=1
  ;   K[7]=5
  ;   K[8]='m_frontSpine'
  ;   K[9]='m_backSpine'
  ;   upvals: _ENV
  ;   locals: self(0-31), nUserCostNum(4-31), skinName(7-31), (for index)(14-30), (for limit)(14-30), (for step)(14-30), i(15-29), frontSpine(19-29), backSpine(23-29)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('EnergyBoostModel')]
  0002  SELF      R2 = R1[K2('GetEnergyBoostCostNum')] (self)
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  GETTABUP  R2 = _ENV[K3('tostring')]
  0005  MOVE      R3 = R0
  0006  CALL      R2 = call(R2, 1 args, 1 rets)
  0007  GETTABLE  R3 = R0[K4('m_spine')]
  0008  SELF      R4 = R3[K5('SetSkin')] (self)
  0009  MOVE      R5 = R0
  0010  CALL      R3 = call(R3, 0 args, 2 rets)
  0011  LOADK     R3 = K6 1
  0012  LOADK     R4 = K7 5
  0013  LOADK     R5 = K6 1
  0014  FORPREP   forprep R3(sBx=14)   -> 29
  0015  LOADK     R7 = K8 'm_frontSpine'
  0016  MOVE      R8 = R0
  0017  CONCAT    R7 = concat(R7..R7)
  0018  GETTABLE  R7 = R0[R7]
  0019  LOADK     R8 = K9 'm_backSpine'
  0020  MOVE      R9 = R0
  0021  CONCAT    R8 = concat(R8..R8)
  0022  GETTABLE  R8 = R0[R8]
  0023  SELF      R10 = R7[K5('SetSkin')] (self)
  0024  MOVE      R11 = R0
  0025  CALL      R9 = call(R9, 0 args, 2 rets)
  0026  SELF      R10 = R8[K5('SetSkin')] (self)
  0027  MOVE      R11 = R0
  0028  CALL      R9 = call(R9, 0 args, 2 rets)
  0029  FORLOOP   forloop R3(sBx=-15)   -> 15
  0030  RETURN    return R0..R-1
; ---------- proto13 [UpdatePerSecond] ----------
  ; fn ?  line 165-167 np=1 va=0 ms=7 code=12 consts=7 upvals=1 protos=0
  ;   K[0]='m_countdownText'
  ;   K[1]='text'
  ;   K[2]='TimeUtil'
  ;   K[3]='ParseTimeDescription'
  ;   K[4]='GM'
  ;   K[5]='EnergyBoostModel'
  ;   K[6]='GetTimeLimitedLeftTime'
  ;   upvals: _ENV
  ;   locals: self(0-12)
  0000  GETTABLE  R1 = R0[K0('m_countdownText')]
  0001  GETTABUP  R2 = _ENV[K2('TimeUtil')]
  0002  GETTABLE  R2 = R2[K3('ParseTimeDescription')]
  0003  GETTABUP  R3 = _ENV[K4('GM')]
  0004  GETTABLE  R3 = R3[K5('EnergyBoostModel')]
  0005  SELF      R4 = R3[K6('GetTimeLimitedLeftTime')] (self)
  0006  CALL      R3 = call(R3, 1 args, 1 rets)
  0007  LOADNIL   R4..R4 = nil
  0008  LOADBOOL  R6 = false
  0009  CALL      R2 = call(R2, 1 args, 4 rets)
  0010  SETTABLE  R1[K1('text')] = R2
  0011  RETURN    return R0..R-1
; ---------- proto14 [GetToggleRectTrans] ----------
  ; fn ?  line 170-172 np=1 va=0 ms=2 code=4 consts=2 upvals=0 protos=0
  ;   K[0]='m_buttonx1'
  ;   K[1]='transform'
  ;   locals: self(0-4)
  0000  GETTABLE  R1 = R0[K0('m_buttonx1')]
  0001  GETTABLE  R1 = R1[K1('transform')]
  0002  RETURN    return R1..R0
  0003  RETURN    return R0..R-1
; ---------- proto15 [GetCloseBtnTrans] ----------
  ; fn ?  line 174-176 np=1 va=0 ms=2 code=4 consts=2 upvals=0 protos=0
  ;   K[0]='m_closeBtnGo'
  ;   K[1]='transform'
  ;   locals: self(0-4)
  0000  GETTABLE  R1 = R0[K0('m_closeBtnGo')]
  0001  GETTABLE  R1 = R1[K1('transform')]
  0002  RETURN    return R1..R0
  0003  RETURN    return R0..R-1
