# UI_Button_EnergyHudButton_284.luac
; fn @EnergyHudButton.lua  line 0-0 np=0 va=1 ms=3 code=42 consts=17 upvals=1 protos=10
;   K[0]='EnergyHudButton'
;   K[1]='setmetatable'
;   K[2]='HitAudio'
;   K[3]='AudioFileConfigName'
;   K[4]='SfxEnergyCrush'
;   K[5]='HudPropertyButton'
;   K[6]='__index'
;   K[7]='Awake'
;   K[8]='OnEnergyRestored'
;   K[9]='IconScaleAnimation'
;   K[10]='_CheckInfiniteState'
;   K[11]='UpdatePerSecond'
;   K[12]='OnClicked'
;   K[13]='_CheckPropertyType'
;   K[14]='_UpdatePropertyType'
;   K[15]='OnGameModeChanged'
;   K[16]='_UpdateContent'
;   upvals: _ENV
0000  GETTABUP  R0 = _ENV[K1('setmetatable')]
0001  NEWTABLE  R1 = {} (0 items)
0002  GETTABUP  R2 = _ENV[K3('AudioFileConfigName')]
0003  GETTABLE  R2 = R2[K4('SfxEnergyCrush')]
0004  SETTABLE  R1[K2('HitAudio')] = R2
0005  GETTABUP  R2 = _ENV[K5('HudPropertyButton')]
0006  CALL      R0 = call(R0, 1 args, 2 rets)
0007  SETTABUP  _ENV[K0('EnergyHudButton')] = R0
0008  GETTABUP  R0 = _ENV[K0('EnergyHudButton')]
0009  GETTABUP  R1 = _ENV[K0('EnergyHudButton')]
0010  SETTABLE  R0[K6('__index')] = R1
0011  GETTABUP  R0 = _ENV[K0('EnergyHudButton')]
0012  CLOSURE   R1 = closure proto0
0013  SETTABLE  R0[K7('Awake')] = R1
0014  GETTABUP  R0 = _ENV[K0('EnergyHudButton')]
0015  CLOSURE   R1 = closure proto1
0016  SETTABLE  R0[K8('OnEnergyRestored')] = R1
0017  GETTABUP  R0 = _ENV[K0('EnergyHudButton')]
0018  CLOSURE   R1 = closure proto2
0019  SETTABLE  R0[K9('IconScaleAnimation')] = R1
0020  GETTABUP  R0 = _ENV[K0('EnergyHudButton')]
0021  CLOSURE   R1 = closure proto3
0022  SETTABLE  R0[K10('_CheckInfiniteState')] = R1
0023  GETTABUP  R0 = _ENV[K0('EnergyHudButton')]
0024  CLOSURE   R1 = closure proto4
0025  SETTABLE  R0[K11('UpdatePerSecond')] = R1
0026  GETTABUP  R0 = _ENV[K0('EnergyHudButton')]
0027  CLOSURE   R1 = closure proto5
0028  SETTABLE  R0[K12('OnClicked')] = R1
0029  GETTABUP  R0 = _ENV[K0('EnergyHudButton')]
0030  CLOSURE   R1 = closure proto6
0031  SETTABLE  R0[K13('_CheckPropertyType')] = R1
0032  GETTABUP  R0 = _ENV[K0('EnergyHudButton')]
0033  CLOSURE   R1 = closure proto7
0034  SETTABLE  R0[K14('_UpdatePropertyType')] = R1
0035  GETTABUP  R0 = _ENV[K0('EnergyHudButton')]
0036  CLOSURE   R1 = closure proto8
0037  SETTABLE  R0[K15('OnGameModeChanged')] = R1
0038  GETTABUP  R0 = _ENV[K0('EnergyHudButton')]
0039  CLOSURE   R1 = closure proto9
0040  SETTABLE  R0[K16('_UpdateContent')] = R1
0041  RETURN    return R0..R-1
; ---------- proto0 [Awake] ----------
  ; fn ?  line 6-14 np=1 va=0 ms=5 code=22 consts=12 upvals=1 protos=0
  ;   K[0]='HudPropertyButton'
  ;   K[1]='Awake'
  ;   K[2]='Init'
  ;   K[3]='EPropertyType'
  ;   K[4]='Energy'
  ;   K[5]='EventDispatcher'
  ;   K[6]='AddListener'
  ;   K[7]='EEventType'
  ;   K[8]='EnergyRestored'
  ;   K[9]='OnEnergyRestored'
  ;   K[10]='_CheckInfiniteState'
  ;   K[11]='UpdatePerSecond'
  ;   upvals: _ENV
  ;   locals: self(0-22)
  0000  GETTABUP  R1 = _ENV[K0('HudPropertyButton')]
  0001  GETTABLE  R1 = R1[K1('Awake')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  GETTABUP  R1 = _ENV[K0('HudPropertyButton')]
  0005  GETTABLE  R1 = R1[K2('Init')]
  0006  MOVE      R2 = R0
  0007  GETTABUP  R3 = _ENV[K3('EPropertyType')]
  0008  GETTABLE  R3 = R3[K4('Energy')]
  0009  CALL      R1 = call(R1, 0 args, 2 rets)
  0010  GETTABUP  R1 = _ENV[K5('EventDispatcher')]
  0011  GETTABLE  R1 = R1[K6('AddListener')]
  0012  GETTABUP  R2 = _ENV[K7('EEventType')]
  0013  GETTABLE  R2 = R2[K8('EnergyRestored')]
  0014  MOVE      R3 = R0
  0015  GETTABLE  R4 = R0[K9('OnEnergyRestored')]
  0016  CALL      R1 = call(R1, 0 args, 3 rets)
  0017  SELF      R2 = R0[K10('_CheckInfiniteState')] (self)
  0018  CALL      R1 = call(R1, 0 args, 1 rets)
  0019  SELF      R2 = R0[K11('UpdatePerSecond')] (self)
  0020  CALL      R1 = call(R1, 0 args, 1 rets)
  0021  RETURN    return R0..R-1
; ---------- proto1 [OnEnergyRestored] ----------
  ; fn ?  line 16-23 np=2 va=0 ms=6 code=12 consts=5 upvals=0 protos=0
  ;   K[0]='type'
  ;   K[1]='ePropertyType'
  ;   K[2]='UpdateTextAnimation'
  ;   K[3]='count'
  ;   K[4]='UpdatePerSecond'
  ;   locals: self(0-12), msg(0-12)
  0000  GETTABLE  R2 = R1[K0('type')]
  0001  GETTABLE  R3 = R0[K1('ePropertyType')]
  0002  EQ        if R1 eq R3   -> -130041
  0003  JMP       (jump)   -> 5
  0004  RETURN    return R0..R-1
  0005  SELF      R3 = R0[K2('UpdateTextAnimation')] (self)
  0006  GETTABLE  R4 = R0[K1('ePropertyType')]
  0007  GETTABLE  R5 = R1[K3('count')]
  0008  CALL      R2 = call(R2, 0 args, 3 rets)
  0009  SELF      R3 = R0[K4('UpdatePerSecond')] (self)
  0010  CALL      R2 = call(R2, 0 args, 1 rets)
  0011  RETURN    return R0..R-1
; ---------- proto2 [IconScaleAnimation] ----------
  ; fn ?  line 25-29 np=3 va=0 ms=7 code=11 consts=4 upvals=1 protos=0
  ;   K[0]='HudPropertyButton'
  ;   K[1]='IconScaleAnimation'
  ;   K[2]='_CheckInfiniteState'
  ;   K[3]='UpdatePerSecond'
  ;   upvals: _ENV
  ;   locals: self(0-11), needEffect(0-11), checkType(0-11)
  0000  GETTABUP  R3 = _ENV[K0('HudPropertyButton')]
  0001  GETTABLE  R3 = R3[K1('IconScaleAnimation')]
  0002  MOVE      R4 = R0
  0003  MOVE      R5 = R0
  0004  MOVE      R6 = R0
  0005  CALL      R3 = call(R3, 0 args, 3 rets)
  0006  SELF      R4 = R0[K2('_CheckInfiniteState')] (self)
  0007  CALL      R3 = call(R3, 0 args, 1 rets)
  0008  SELF      R4 = R0[K3('UpdatePerSecond')] (self)
  0009  CALL      R3 = call(R3, 0 args, 1 rets)
  0010  RETURN    return R0..R-1
; ---------- proto3 [_CheckInfiniteState] ----------
  ; fn ?  line 31-47 np=1 va=0 ms=5 code=43 consts=15 upvals=1 protos=0
  ;   K[0]='EnergyModel'
  ;   K[1]='PropertyType2EnergyType'
  ;   K[2]='ePropertyType'
  ;   K[3]='GM'
  ;   K[4]='IsEnergyInfinite'
  ;   K[5]='m_isInfinite'
  ;   K[6]=true
  ;   K[7]='m_valueText'
  ;   K[8]='gameObject'
  ;   K[9]='SetActive'
  ;   K[10]='m_inifiteImgGo'
  ;   K[11]='m_countDownGo'
  ;   K[12]='_isShowCountDown'
  ;   K[13]='m_infiniteTime'
  ;   K[14]='GetEnergyInfiniteTime'
  ;   upvals: _ENV
  ;   locals: self(0-43), energyType(4-43)
  0000  GETTABUP  R1 = _ENV[K0('EnergyModel')]
  0001  GETTABLE  R1 = R1[K1('PropertyType2EnergyType')]
  0002  GETTABLE  R2 = R0[K2('ePropertyType')]
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  GETTABUP  R2 = _ENV[K3('GM')]
  0005  GETTABLE  R2 = R2[K0('EnergyModel')]
  0006  SELF      R3 = R2[K4('IsEnergyInfinite')] (self)
  0007  MOVE      R4 = R0
  0008  CALL      R2 = call(R2, 1 args, 2 rets)
  0009  TEST      if not R2 then   -> -131061
  0010  JMP       (jump)   -> 42
  0011  GETTABLE  R2 = R0[K5('m_isInfinite')]
  0012  TEST      if not R2 then   -> -131057
  0013  JMP       (jump)   -> 36
  0014  SETTABLE  R0[K5('m_isInfinite')] = K6(true)
  0015  GETTABLE  R2 = R0[K7('m_valueText')]
  0016  GETTABLE  R2 = R2[K8('gameObject')]
  0017  SELF      R3 = R2[K9('SetActive')] (self)
  0018  LOADBOOL  R4 = false
  0019  CALL      R2 = call(R2, 0 args, 2 rets)
  0020  GETTABLE  R2 = R0[K10('m_inifiteImgGo')]
  0021  SELF      R3 = R2[K9('SetActive')] (self)
  0022  LOADBOOL  R4 = true
  0023  CALL      R2 = call(R2, 0 args, 2 rets)
  0024  GETTABLE  R2 = R0[K11('m_countDownGo')]
  0025  SELF      R3 = R2[K9('SetActive')] (self)
  0026  LOADBOOL  R4 = true
  0027  CALL      R2 = call(R2, 0 args, 2 rets)
  0028  GETTABLE  R2 = R0[K12('_isShowCountDown')]
  0029  TEST      if not R2 then   -> -131040
  0030  JMP       (jump)   -> 36
  0031  SETTABLE  R0[K12('_isShowCountDown')] = K6(true)
  0032  GETTABLE  R2 = R0[K11('m_countDownGo')]
  0033  SELF      R3 = R2[K9('SetActive')] (self)
  0034  LOADBOOL  R4 = true
  0035  CALL      R2 = call(R2, 0 args, 2 rets)
  0036  GETTABUP  R2 = _ENV[K3('GM')]
  0037  GETTABLE  R2 = R2[K0('EnergyModel')]
  0038  SELF      R3 = R2[K14('GetEnergyInfiniteTime')] (self)
  0039  MOVE      R4 = R0
  0040  CALL      R2 = call(R2, 1 args, 2 rets)
  0041  SETTABLE  R0[K13('m_infiniteTime')] = R2
  0042  RETURN    return R0..R-1
; ---------- proto4 [UpdatePerSecond] ----------
  ; fn ?  line 49-79 np=1 va=0 ms=9 code=85 consts=27 upvals=1 protos=0
  ;   K[0]='EnergyModel'
  ;   K[1]='PropertyType2EnergyType'
  ;   K[2]='ePropertyType'
  ;   K[3]='GM'
  ;   K[4]='IsEnergyInfinite'
  ;   K[5]='m_isInfinite'
  ;   K[6]='m_infiniteTime'
  ;   K[7]='m_countDownText'
  ;   K[8]='text'
  ;   K[9]='TimeUtil'
  ;   K[10]='ToMSOrHMS'
  ;   K[11]='math'
  ;   K[12]='max'
  ;   K[13]=0
  ;   K[14]='GameModel'
  ;   K[15]='GetServerTime'
  ;   K[16]=false
  ;   K[17]='m_valueText'
  ;   K[18]='gameObject'
  ;   K[19]='SetActive'
  ;   K[20]='m_inifiteImgGo'
  ;   K[21]=nil
  ;   K[22]='IsEnergyFull'
  ;   K[23]='_isShowCountDown'
  ;   K[24]='m_countDownGo'
  ;   K[25]=true
  ;   K[26]='GetRestoreOneRestDuration'
  ;   upvals: _ENV
  ;   locals: self(0-85), energyType(4-85)
  0000  GETTABUP  R1 = _ENV[K0('EnergyModel')]
  0001  GETTABLE  R1 = R1[K1('PropertyType2EnergyType')]
  0002  GETTABLE  R2 = R0[K2('ePropertyType')]
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  GETTABUP  R2 = _ENV[K3('GM')]
  0005  GETTABLE  R2 = R2[K0('EnergyModel')]
  0006  SELF      R3 = R2[K4('IsEnergyInfinite')] (self)
  0007  MOVE      R4 = R0
  0008  CALL      R2 = call(R2, 1 args, 2 rets)
  0009  TEST      if not R2 then   -> -131061
  0010  JMP       (jump)   -> 36
  0011  GETTABLE  R2 = R0[K5('m_isInfinite')]
  0012  TEST      if not R2 then   -> -131058
  0013  JMP       (jump)   -> 84
  0014  GETTABLE  R2 = R0[K6('m_infiniteTime')]
  0015  TEST      if not R2 then   -> -131055
  0016  JMP       (jump)   -> 84
  0017  GETTABLE  R2 = R0[K7('m_countDownText')]
  0018  GETTABUP  R3 = _ENV[K9('TimeUtil')]
  0019  GETTABLE  R3 = R3[K10('ToMSOrHMS')]
  0020  GETTABUP  R4 = _ENV[K11('math')]
  0021  GETTABLE  R4 = R4[K12('max')]
  0022  LOADK     R5 = K13 0
  0023  GETTABLE  R6 = R0[K6('m_infiniteTime')]
  0024  TEST      if not R6 then   -> -131045
  0025  JMP       (jump)   -> 27
  0026  LOADK     R6 = K13 0
  0027  GETTABUP  R7 = _ENV[K3('GM')]
  0028  GETTABLE  R7 = R7[K14('GameModel')]
  0029  SELF      R8 = R7[K15('GetServerTime')] (self)
  0030  CALL      R7 = call(R7, 1 args, 1 rets)
  0031  SUB       R6 = R7 sub R6
  0032  CALL      R4 = call(R4, -1 args, 2 rets)
  0033  CALL      R3 = call(R3, 1 args, -1 rets)
  0034  SETTABLE  R2[K8('text')] = R3
  0035  JMP       (jump)   -> 84
  0036  GETTABLE  R2 = R0[K5('m_isInfinite')]
  0037  TEST      if not R2 then   -> -131033
  0038  JMP       (jump)   -> 50
  0039  SETTABLE  R0[K5('m_isInfinite')] = K16(false)
  0040  GETTABLE  R2 = R0[K17('m_valueText')]
  0041  GETTABLE  R2 = R2[K18('gameObject')]
  0042  SELF      R3 = R2[K19('SetActive')] (self)
  0043  LOADBOOL  R4 = true
  0044  CALL      R2 = call(R2, 0 args, 2 rets)
  0045  GETTABLE  R2 = R0[K20('m_inifiteImgGo')]
  0046  SELF      R3 = R2[K19('SetActive')] (self)
  0047  LOADBOOL  R4 = false
  0048  CALL      R2 = call(R2, 0 args, 2 rets)
  0049  SETTABLE  R0[K6('m_infiniteTime')] = K21(nil)
  0050  GETTABUP  R2 = _ENV[K3('GM')]
  0051  GETTABLE  R2 = R2[K0('EnergyModel')]
  0052  SELF      R3 = R2[K22('IsEnergyFull')] (self)
  0053  MOVE      R4 = R0
  0054  CALL      R2 = call(R2, 1 args, 2 rets)
  0055  TEST      if not R2 then   -> -131015
  0056  JMP       (jump)   -> 66
  0057  GETTABLE  R2 = R0[K23('_isShowCountDown')]
  0058  TEST      if not R2 then   -> -131012
  0059  JMP       (jump)   -> 84
  0060  SETTABLE  R0[K23('_isShowCountDown')] = K16(false)
  0061  GETTABLE  R2 = R0[K24('m_countDownGo')]
  0062  SELF      R3 = R2[K19('SetActive')] (self)
  0063  LOADBOOL  R4 = false
  0064  CALL      R2 = call(R2, 0 args, 2 rets)
  0065  JMP       (jump)   -> 84
  0066  GETTABLE  R2 = R0[K23('_isShowCountDown')]
  0067  TEST      if not R2 then   -> -131002
  0068  JMP       (jump)   -> 74
  0069  SETTABLE  R0[K23('_isShowCountDown')] = K25(true)
  0070  GETTABLE  R2 = R0[K24('m_countDownGo')]
  0071  SELF      R3 = R2[K19('SetActive')] (self)
  0072  LOADBOOL  R4 = true
  0073  CALL      R2 = call(R2, 0 args, 2 rets)
  0074  GETTABLE  R2 = R0[K7('m_countDownText')]
  0075  GETTABUP  R3 = _ENV[K9('TimeUtil')]
  0076  GETTABLE  R3 = R3[K10('ToMSOrHMS')]
  0077  GETTABUP  R4 = _ENV[K3('GM')]
  0078  GETTABLE  R4 = R4[K0('EnergyModel')]
  0079  SELF      R5 = R4[K26('GetRestoreOneRestDuration')] (self)
  0080  MOVE      R6 = R0
  0081  CALL      R4 = call(R4, -1 args, 2 rets)
  0082  CALL      R3 = call(R3, 1 args, -1 rets)
  0083  SETTABLE  R2[K8('text')] = R3
  0084  RETURN    return R0..R-1
; ---------- proto5 [OnClicked] ----------
  ; fn ?  line 81-85 np=1 va=0 ms=7 code=23 consts=11 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='UIManager'
  ;   K[2]='IsViewExisting'
  ;   K[3]='UIPrefabConfigName'
  ;   K[4]='ShopWindow'
  ;   K[5]='CloseView'
  ;   K[6]='ShopModel'
  ;   K[7]='OpenEnergyWindow'
  ;   K[8]='EnergyModel'
  ;   K[9]='PropertyType2EnergyType'
  ;   K[10]='ePropertyType'
  ;   upvals: _ENV
  ;   locals: self(0-23), inShopWindow(6-23)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('UIManager')]
  0002  SELF      R2 = R1[K2('IsViewExisting')] (self)
  0003  GETTABUP  R3 = _ENV[K3('UIPrefabConfigName')]
  0004  GETTABLE  R3 = R3[K4('ShopWindow')]
  0005  CALL      R1 = call(R1, 1 args, 2 rets)
  0006  GETTABUP  R2 = _ENV[K0('GM')]
  0007  GETTABLE  R2 = R2[K1('UIManager')]
  0008  SELF      R3 = R2[K5('CloseView')] (self)
  0009  GETTABUP  R4 = _ENV[K3('UIPrefabConfigName')]
  0010  GETTABLE  R4 = R4[K4('ShopWindow')]
  0011  CALL      R2 = call(R2, 0 args, 2 rets)
  0012  GETTABUP  R2 = _ENV[K0('GM')]
  0013  GETTABLE  R2 = R2[K6('ShopModel')]
  0014  SELF      R3 = R2[K7('OpenEnergyWindow')] (self)
  0015  GETTABUP  R4 = _ENV[K8('EnergyModel')]
  0016  GETTABLE  R4 = R4[K9('PropertyType2EnergyType')]
  0017  GETTABLE  R5 = R0[K10('ePropertyType')]
  0018  CALL      R4 = call(R4, 1 args, 1 rets)
  0019  LOADNIL   R5..R5 = nil
  0020  MOVE      R6 = R0
  0021  CALL      R2 = call(R2, 0 args, 4 rets)
  0022  RETURN    return R0..R-1
; ---------- proto6 [_CheckPropertyType] ----------
  ; fn ?  line 87-89 np=2 va=0 ms=5 code=17 consts=5 upvals=1 protos=0
  ;   K[0]='HudPropertyButton'
  ;   K[1]='_CheckPropertyType'
  ;   K[2]='EnergyModel'
  ;   K[3]='PropertyType2InfiniteEnergyType'
  ;   K[4]=nil
  ;   upvals: _ENV
  ;   locals: self(0-17), checkType(0-17)
  0000  GETTABUP  R2 = _ENV[K0('HudPropertyButton')]
  0001  GETTABLE  R2 = R2[K1('_CheckPropertyType')]
  0002  MOVE      R3 = R0
  0003  MOVE      R4 = R0
  0004  CALL      R2 = call(R2, 1 args, 2 rets)
  0005  TEST      if not R2 then   -> -131064
  0006  JMP       (jump)   -> 15
  0007  GETTABUP  R2 = _ENV[K2('EnergyModel')]
  0008  GETTABLE  R2 = R2[K3('PropertyType2InfiniteEnergyType')]
  0009  MOVE      R3 = R0
  0010  CALL      R2 = call(R2, 1 args, 1 rets)
  0011  EQ        if R0 eq K4(nil)   -> -129775
  0012  JMP       (jump)   -> 14
  0013  LOADBOOL  R2 = false
  0014  LOADBOOL  R2 = true
  0015  RETURN    return R2..R1
  0016  RETURN    return R0..R-1
; ---------- proto7 [_UpdatePropertyType] ----------
  ; fn ?  line 91-105 np=1 va=0 ms=5 code=23 consts=11 upvals=1 protos=0
  ;   K[0]='ePropertyType'
  ;   K[1]='EPropertyType'
  ;   K[2]='Energy'
  ;   K[3]='BoardViewHelper'
  ;   K[4]='GetActiveView'
  ;   K[5]=nil
  ;   K[6]='m_propertyTypeChanged'
  ;   K[7]=true
  ;   K[8]='_UpdateContent'
  ;   K[9]='_CheckInfiniteState'
  ;   K[10]='UpdatePerSecond'
  ;   upvals: _ENV
  ;   locals: self(0-23), formerPropertyType(1-23), curView(7-23)
  0000  GETTABLE  R1 = R0[K0('ePropertyType')]
  0001  GETTABUP  R2 = _ENV[K1('EPropertyType')]
  0002  GETTABLE  R2 = R2[K2('Energy')]
  0003  SETTABLE  R0[K0('ePropertyType')] = R2
  0004  GETTABUP  R2 = _ENV[K3('BoardViewHelper')]
  0005  GETTABLE  R2 = R2[K4('GetActiveView')]
  0006  CALL      R2 = call(R2, 1 args, 0 rets)
  0007  EQ        if R1 eq K5(nil)   -> -129778
  0008  JMP       (jump)   -> 12
  0009  GETTABUP  R3 = _ENV[K1('EPropertyType')]
  0010  GETTABLE  R3 = R3[K2('Energy')]
  0011  SETTABLE  R0[K0('ePropertyType')] = R3
  0012  GETTABLE  R3 = R0[K0('ePropertyType')]
  0013  EQ        if R1 eq R1   -> -129520
  0014  JMP       (jump)   -> 22
  0015  SETTABLE  R0[K6('m_propertyTypeChanged')] = K7(true)
  0016  SELF      R4 = R0[K8('_UpdateContent')] (self)
  0017  CALL      R3 = call(R3, 0 args, 1 rets)
  0018  SELF      R4 = R0[K9('_CheckInfiniteState')] (self)
  0019  CALL      R3 = call(R3, 0 args, 1 rets)
  0020  SELF      R4 = R0[K10('UpdatePerSecond')] (self)
  0021  CALL      R3 = call(R3, 0 args, 1 rets)
  0022  RETURN    return R0..R-1
; ---------- proto8 [OnGameModeChanged] ----------
  ; fn ?  line 107-115 np=1 va=0 ms=3 code=14 consts=7 upvals=1 protos=0
  ;   K[0]='HudPropertyButton'
  ;   K[1]='OnGameModeChanged'
  ;   K[2]='_UpdatePropertyType'
  ;   K[3]='m_propertyTypeChanged'
  ;   K[4]='m_propertyChangeEffect'
  ;   K[5]='Play'
  ;   K[6]=false
  ;   upvals: _ENV
  ;   locals: self(0-14)
  0000  GETTABUP  R1 = _ENV[K0('HudPropertyButton')]
  0001  GETTABLE  R1 = R1[K1('OnGameModeChanged')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  SELF      R2 = R0[K2('_UpdatePropertyType')] (self)
  0005  CALL      R1 = call(R1, 0 args, 1 rets)
  0006  GETTABLE  R1 = R0[K3('m_propertyTypeChanged')]
  0007  TEST      if not R1 then   -> -131063
  0008  JMP       (jump)   -> 12
  0009  GETTABLE  R1 = R0[K4('m_propertyChangeEffect')]
  0010  SELF      R2 = R1[K5('Play')] (self)
  0011  CALL      R1 = call(R1, 0 args, 1 rets)
  0012  SETTABLE  R0[K3('m_propertyTypeChanged')] = K6(false)
  0013  RETURN    return R0..R-1
; ---------- proto9 [_UpdateContent] ----------
  ; fn ?  line 117-121 np=1 va=0 ms=5 code=33 consts=13 upvals=1 protos=0
  ;   K[0]='SpriteUtil'
  ;   K[1]='SetImage'
  ;   K[2]='m_iconImg'
  ;   K[3]='ePropertyType'
  ;   K[4]='EPropertyType'
  ;   K[5]='EventEnergy'
  ;   K[6]='ImageFileConfigName'
  ;   K[7]='icon_energy_event'
  ;   K[8]='icon_energy'
  ;   K[9]='m_boardImg'
  ;   K[10]='hud_property_bg_event'
  ;   K[11]='hud_property_bg'
  ;   K[12]='SyncToModelValue'
  ;   upvals: _ENV
  ;   locals: self(0-33)
  0000  GETTABUP  R1 = _ENV[K0('SpriteUtil')]
  0001  GETTABLE  R1 = R1[K1('SetImage')]
  0002  GETTABLE  R2 = R0[K2('m_iconImg')]
  0003  GETTABLE  R3 = R0[K3('ePropertyType')]
  0004  GETTABUP  R4 = _ENV[K4('EPropertyType')]
  0005  GETTABLE  R4 = R4[K5('EventEnergy')]
  0006  EQ        if R0 eq R4   -> -129524
  0007  JMP       (jump)   -> 12
  0008  GETTABUP  R3 = _ENV[K6('ImageFileConfigName')]
  0009  GETTABLE  R3 = R3[K7('icon_energy_event')]
  0010  TEST      if not R3 then   -> -131059
  0011  JMP       (jump)   -> 14
  0012  GETTABUP  R3 = _ENV[K6('ImageFileConfigName')]
  0013  GETTABLE  R3 = R3[K8('icon_energy')]
  0014  CALL      R1 = call(R1, 0 args, 2 rets)
  0015  GETTABUP  R1 = _ENV[K0('SpriteUtil')]
  0016  GETTABLE  R1 = R1[K1('SetImage')]
  0017  GETTABLE  R2 = R0[K9('m_boardImg')]
  0018  GETTABLE  R3 = R0[K3('ePropertyType')]
  0019  GETTABUP  R4 = _ENV[K4('EPropertyType')]
  0020  GETTABLE  R4 = R4[K5('EventEnergy')]
  0021  EQ        if R0 eq R4   -> -129509
  0022  JMP       (jump)   -> 27
  0023  GETTABUP  R3 = _ENV[K6('ImageFileConfigName')]
  0024  GETTABLE  R3 = R3[K10('hud_property_bg_event')]
  0025  TEST      if not R3 then   -> -131044
  0026  JMP       (jump)   -> 29
  0027  GETTABUP  R3 = _ENV[K6('ImageFileConfigName')]
  0028  GETTABLE  R3 = R3[K11('hud_property_bg')]
  0029  CALL      R1 = call(R1, 0 args, 2 rets)
  0030  SELF      R2 = R0[K12('SyncToModelValue')] (self)
  0031  CALL      R1 = call(R1, 0 args, 1 rets)
  0032  RETURN    return R0..R-1
