# UI_Button_HudGeneralButton_279.luac
; fn @HudGeneralButton.lua  line 0-0 np=0 va=1 ms=3 code=56 consts=18 upvals=1 protos=13
;   K[0]='HudGeneralButton'
;   K[1]='setmetatable'
;   K[2]='HudBaseButton'
;   K[3]='__index'
;   K[4]='Awake'
;   K[5]='OnDestroy'
;   K[6]='OnGameModeChanged'
;   K[7]='UpdateDisplay'
;   K[8]='_NeedDisplay'
;   K[9]='_OnDisplay'
;   K[10]='ForceDisplay'
;   K[11]='IconScaleAnimation'
;   K[12]='PlayClickEffect'
;   K[13]='SetEnabled'
;   K[14]='RegisterFlyEndCallback'
;   K[15]='InvokeFlyEndCallback'
;   K[16]='HudCountDownButton'
;   K[17]='UpdatePerSecond'
;   upvals: _ENV
0000  GETTABUP  R0 = _ENV[K1('setmetatable')]
0001  NEWTABLE  R1 = {} (0 items)
0002  GETTABUP  R2 = _ENV[K2('HudBaseButton')]
0003  CALL      R0 = call(R0, 1 args, 2 rets)
0004  SETTABUP  _ENV[K0('HudGeneralButton')] = R0
0005  GETTABUP  R0 = _ENV[K0('HudGeneralButton')]
0006  GETTABUP  R1 = _ENV[K0('HudGeneralButton')]
0007  SETTABLE  R0[K3('__index')] = R1
0008  GETTABUP  R0 = _ENV[K0('HudGeneralButton')]
0009  CLOSURE   R1 = closure proto0
0010  SETTABLE  R0[K4('Awake')] = R1
0011  GETTABUP  R0 = _ENV[K0('HudGeneralButton')]
0012  CLOSURE   R1 = closure proto1
0013  SETTABLE  R0[K5('OnDestroy')] = R1
0014  GETTABUP  R0 = _ENV[K0('HudGeneralButton')]
0015  CLOSURE   R1 = closure proto2
0016  SETTABLE  R0[K6('OnGameModeChanged')] = R1
0017  GETTABUP  R0 = _ENV[K0('HudGeneralButton')]
0018  CLOSURE   R1 = closure proto3
0019  SETTABLE  R0[K7('UpdateDisplay')] = R1
0020  GETTABUP  R0 = _ENV[K0('HudGeneralButton')]
0021  CLOSURE   R1 = closure proto4
0022  SETTABLE  R0[K8('_NeedDisplay')] = R1
0023  GETTABUP  R0 = _ENV[K0('HudGeneralButton')]
0024  CLOSURE   R1 = closure proto5
0025  SETTABLE  R0[K9('_OnDisplay')] = R1
0026  GETTABUP  R0 = _ENV[K0('HudGeneralButton')]
0027  CLOSURE   R1 = closure proto6
0028  SETTABLE  R0[K10('ForceDisplay')] = R1
0029  GETTABUP  R0 = _ENV[K0('HudGeneralButton')]
0030  CLOSURE   R1 = closure proto7
0031  SETTABLE  R0[K11('IconScaleAnimation')] = R1
0032  GETTABUP  R0 = _ENV[K0('HudGeneralButton')]
0033  CLOSURE   R1 = closure proto8
0034  SETTABLE  R0[K12('PlayClickEffect')] = R1
0035  GETTABUP  R0 = _ENV[K0('HudGeneralButton')]
0036  CLOSURE   R1 = closure proto9
0037  SETTABLE  R0[K13('SetEnabled')] = R1
0038  GETTABUP  R0 = _ENV[K0('HudGeneralButton')]
0039  CLOSURE   R1 = closure proto10
0040  SETTABLE  R0[K14('RegisterFlyEndCallback')] = R1
0041  GETTABUP  R0 = _ENV[K0('HudGeneralButton')]
0042  CLOSURE   R1 = closure proto11
0043  SETTABLE  R0[K15('InvokeFlyEndCallback')] = R1
0044  GETTABUP  R0 = _ENV[K1('setmetatable')]
0045  NEWTABLE  R1 = {} (0 items)
0046  GETTABUP  R2 = _ENV[K0('HudGeneralButton')]
0047  CALL      R0 = call(R0, 1 args, 2 rets)
0048  SETTABUP  _ENV[K16('HudCountDownButton')] = R0
0049  GETTABUP  R0 = _ENV[K16('HudCountDownButton')]
0050  GETTABUP  R1 = _ENV[K16('HudCountDownButton')]
0051  SETTABLE  R0[K3('__index')] = R1
0052  GETTABUP  R0 = _ENV[K16('HudCountDownButton')]
0053  CLOSURE   R1 = closure proto12
0054  SETTABLE  R0[K17('UpdatePerSecond')] = R1
0055  RETURN    return R0..R-1
; ---------- proto0 [Awake] ----------
  ; fn ?  line 7-14 np=1 va=0 ms=5 code=18 consts=13 upvals=1 protos=0
  ;   K[0]='HudBaseButton'
  ;   K[1]='Awake'
  ;   K[2]='m_originScale'
  ;   K[3]='transform'
  ;   K[4]='localScale'
  ;   K[5]='m_bDisplay'
  ;   K[6]=true
  ;   K[7]='UpdateDisplay'
  ;   K[8]='EventDispatcher'
  ;   K[9]='AddListener'
  ;   K[10]='EEventType'
  ;   K[11]='ChangeGameMode'
  ;   K[12]='OnGameModeChanged'
  ;   upvals: _ENV
  ;   locals: self(0-18)
  0000  GETTABUP  R1 = _ENV[K0('HudBaseButton')]
  0001  GETTABLE  R1 = R1[K1('Awake')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  GETTABLE  R1 = R0[K3('transform')]
  0005  GETTABLE  R1 = R1[K4('localScale')]
  0006  SETTABLE  R0[K2('m_originScale')] = R1
  0007  SETTABLE  R0[K5('m_bDisplay')] = K6(true)
  0008  SELF      R2 = R0[K7('UpdateDisplay')] (self)
  0009  CALL      R1 = call(R1, 0 args, 1 rets)
  0010  GETTABUP  R1 = _ENV[K8('EventDispatcher')]
  0011  GETTABLE  R1 = R1[K9('AddListener')]
  0012  GETTABUP  R2 = _ENV[K10('EEventType')]
  0013  GETTABLE  R2 = R2[K11('ChangeGameMode')]
  0014  MOVE      R3 = R0
  0015  GETTABLE  R4 = R0[K12('OnGameModeChanged')]
  0016  CALL      R1 = call(R1, 0 args, 3 rets)
  0017  RETURN    return R0..R-1
; ---------- proto1 [OnDestroy] ----------
  ; fn ?  line 16-20 np=1 va=0 ms=4 code=13 consts=6 upvals=1 protos=0
  ;   K[0]='HudBaseButton'
  ;   K[1]='OnDestroy'
  ;   K[2]='transform'
  ;   K[3]='DOKill'
  ;   K[4]='EventDispatcher'
  ;   K[5]='RemoveTarget'
  ;   upvals: _ENV
  ;   locals: self(0-13)
  0000  GETTABUP  R1 = _ENV[K0('HudBaseButton')]
  0001  GETTABLE  R1 = R1[K1('OnDestroy')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  GETTABLE  R1 = R0[K2('transform')]
  0005  SELF      R2 = R1[K3('DOKill')] (self)
  0006  LOADBOOL  R3 = false
  0007  CALL      R1 = call(R1, 0 args, 2 rets)
  0008  GETTABUP  R1 = _ENV[K4('EventDispatcher')]
  0009  GETTABLE  R1 = R1[K5('RemoveTarget')]
  0010  MOVE      R2 = R0
  0011  CALL      R1 = call(R1, 0 args, 1 rets)
  0012  RETURN    return R0..R-1
; ---------- proto2 [OnGameModeChanged] ----------
  ; fn ?  line 22-24 np=1 va=0 ms=3 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='UpdateDisplay'
  ;   locals: self(0-3)
  0000  SELF      R2 = R0[K0('UpdateDisplay')] (self)
  0001  CALL      R1 = call(R1, 0 args, 1 rets)
  0002  RETURN    return R0..R-1
; ---------- proto3 [UpdateDisplay] ----------
  ; fn ?  line 26-46 np=1 va=0 ms=3 code=30 consts=13 upvals=1 protos=0
  ;   K[0]='_NeedDisplay'
  ;   K[1]='m_bDisplay'
  ;   K[2]=true
  ;   K[3]='_OnDisplay'
  ;   K[4]='transform'
  ;   K[5]='localScale'
  ;   K[6]='m_originScale'
  ;   K[7]=false
  ;   K[8]='m_seqScale'
  ;   K[9]='Kill'
  ;   K[10]=nil
  ;   K[11]='m_bScaled'
  ;   K[12]='V3Zero'
  ;   upvals: _ENV
  ;   locals: self(0-30)
  0000  SELF      R2 = R0[K0('_NeedDisplay')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  TEST      if not R1 then   -> -131068
  0003  JMP       (jump)   -> 14
  0004  GETTABLE  R1 = R0[K1('m_bDisplay')]
  0005  TEST      if not R1 then   -> -131064
  0006  JMP       (jump)   -> 29
  0007  SETTABLE  R0[K1('m_bDisplay')] = K2(true)
  0008  SELF      R2 = R0[K3('_OnDisplay')] (self)
  0009  CALL      R1 = call(R1, 0 args, 1 rets)
  0010  GETTABLE  R1 = R0[K4('transform')]
  0011  GETTABLE  R2 = R0[K6('m_originScale')]
  0012  SETTABLE  R1[K5('localScale')] = R2
  0013  JMP       (jump)   -> 29
  0014  GETTABLE  R1 = R0[K1('m_bDisplay')]
  0015  TEST      if not R1 then   -> -131055
  0016  JMP       (jump)   -> 29
  0017  SETTABLE  R0[K1('m_bDisplay')] = K7(false)
  0018  GETTABLE  R1 = R0[K8('m_seqScale')]
  0019  TEST      if not R1 then   -> -131051
  0020  JMP       (jump)   -> 26
  0021  GETTABLE  R1 = R0[K8('m_seqScale')]
  0022  SELF      R2 = R1[K9('Kill')] (self)
  0023  CALL      R1 = call(R1, 0 args, 1 rets)
  0024  SETTABLE  R0[K8('m_seqScale')] = K10(nil)
  0025  SETTABLE  R0[K11('m_bScaled')] = K7(false)
  0026  GETTABLE  R1 = R0[K4('transform')]
  0027  GETTABUP  R2 = _ENV[K12('V3Zero')]
  0028  SETTABLE  R1[K5('localScale')] = R2
  0029  RETURN    return R0..R-1
; ---------- proto4 [_NeedDisplay] ----------
  ; fn ?  line 48-58 np=1 va=0 ms=4 code=28 consts=7 upvals=1 protos=0
  ;   K[0]='m_strDisplayGameMode'
  ;   K[1]='all'
  ;   K[2]=nil
  ;   K[3]='EGameMode'
  ;   K[4]='GM'
  ;   K[5]='SceneManager'
  ;   K[6]='GetGameMode'
  ;   upvals: _ENV
  ;   locals: self(0-28)
  0000  GETTABLE  R1 = R0[K0('m_strDisplayGameMode')]
  0001  EQ        if R0 eq K1('all')   -> -130300
  0002  JMP       (jump)   -> 5
  0003  LOADBOOL  R1 = true
  0004  RETURN    return R1..R0
  0005  GETTABLE  R1 = R0[K0('m_strDisplayGameMode')]
  0006  EQ        if R1 eq K2(nil)   -> -130294
  0007  JMP       (jump)   -> 13
  0008  GETTABUP  R1 = _ENV[K3('EGameMode')]
  0009  GETTABLE  R2 = R0[K0('m_strDisplayGameMode')]
  0010  GETTABLE  R1 = R1[R2]
  0011  EQ        if R0 eq K2(nil)   -> -130289
  0012  JMP       (jump)   -> 15
  0013  LOADBOOL  R1 = false
  0014  RETURN    return R1..R0
  0015  GETTABUP  R1 = _ENV[K4('GM')]
  0016  GETTABLE  R1 = R1[K5('SceneManager')]
  0017  SELF      R2 = R1[K6('GetGameMode')] (self)
  0018  CALL      R1 = call(R1, 1 args, 1 rets)
  0019  GETTABUP  R2 = _ENV[K3('EGameMode')]
  0020  GETTABLE  R3 = R0[K0('m_strDisplayGameMode')]
  0021  GETTABLE  R2 = R2[R3]
  0022  EQ        if R1 eq R2   -> -130534
  0023  JMP       (jump)   -> 25
  0024  LOADBOOL  R1 = false
  0025  LOADBOOL  R1 = true
  0026  RETURN    return R1..R0
  0027  RETURN    return R0..R-1
; ---------- proto5 [_OnDisplay] ----------
  ; fn ?  line 60-62 np=1 va=0 ms=2 code=1 consts=0 upvals=0 protos=0
  ;   locals: self(0-1)
  0000  RETURN    return R0..R-1
; ---------- proto6 [ForceDisplay] ----------
  ; fn ?  line 64-68 np=1 va=0 ms=3 code=7 consts=6 upvals=0 protos=0
  ;   K[0]='m_bDisplay'
  ;   K[1]=true
  ;   K[2]='_OnDisplay'
  ;   K[3]='transform'
  ;   K[4]='localScale'
  ;   K[5]='m_originScale'
  ;   locals: self(0-7)
  0000  SETTABLE  R0[K0('m_bDisplay')] = K1(true)
  0001  SELF      R2 = R0[K2('_OnDisplay')] (self)
  0002  CALL      R1 = call(R1, 0 args, 1 rets)
  0003  GETTABLE  R1 = R0[K3('transform')]
  0004  GETTABLE  R2 = R0[K5('m_originScale')]
  0005  SETTABLE  R1[K4('localScale')] = R2
  0006  RETURN    return R0..R-1
; ---------- proto7 [IconScaleAnimation] ----------
  ; fn ?  line 70-75 np=2 va=0 ms=5 code=9 consts=3 upvals=1 protos=0
  ;   K[0]='m_bDisplay'
  ;   K[1]='HudBaseButton'
  ;   K[2]='IconScaleAnimation'
  ;   upvals: _ENV
  ;   locals: self(0-9), needEffect(0-9)
  0000  GETTABLE  R2 = R0[K0('m_bDisplay')]
  0001  TEST      if not R2 then   -> -131069
  0002  JMP       (jump)   -> 8
  0003  GETTABUP  R2 = _ENV[K1('HudBaseButton')]
  0004  GETTABLE  R2 = R2[K2('IconScaleAnimation')]
  0005  MOVE      R3 = R0
  0006  MOVE      R4 = R0
  0007  CALL      R2 = call(R2, 0 args, 2 rets)
  0008  RETURN    return R0..R-1
; ---------- proto8 [PlayClickEffect] ----------
  ; fn ?  line 77-81 np=1 va=0 ms=4 code=12 consts=7 upvals=1 protos=0
  ;   K[0]='string'
  ;   K[1]='len'
  ;   K[2]='m_strSoundEffectName'
  ;   K[3]=0
  ;   K[4]='GM'
  ;   K[5]='AudioModel'
  ;   K[6]='PlayEffect'
  ;   upvals: _ENV
  ;   locals: self(0-12)
  0000  GETTABUP  R1 = _ENV[K0('string')]
  0001  GETTABLE  R1 = R1[K1('len')]
  0002  GETTABLE  R2 = R0[K2('m_strSoundEffectName')]
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  LT        if R0 lt R1   -> 1543
  0005  JMP       (jump)   -> 11
  0006  GETTABUP  R1 = _ENV[K4('GM')]
  0007  GETTABLE  R1 = R1[K5('AudioModel')]
  0008  SELF      R2 = R1[K6('PlayEffect')] (self)
  0009  GETTABLE  R3 = R0[K2('m_strSoundEffectName')]
  0010  CALL      R1 = call(R1, 0 args, 2 rets)
  0011  RETURN    return R0..R-1
; ---------- proto9 [SetEnabled] ----------
  ; fn ?  line 83-85 np=2 va=0 ms=3 code=3 consts=2 upvals=0 protos=0
  ;   K[0]='m_button'
  ;   K[1]='interactable'
  ;   locals: self(0-3), enabled(0-3)
  0000  GETTABLE  R2 = R0[K0('m_button')]
  0001  SETTABLE  R2[K1('interactable')] = R1
  0002  RETURN    return R0..R-1
; ---------- proto10 [RegisterFlyEndCallback] ----------
  ; fn ?  line 87-89 np=2 va=0 ms=2 code=2 consts=1 upvals=0 protos=0
  ;   K[0]='m_flyEndCallback'
  ;   locals: self(0-2), callback(0-2)
  0000  SETTABLE  R0[K0('m_flyEndCallback')] = R1
  0001  RETURN    return R0..R-1
; ---------- proto11 [InvokeFlyEndCallback] ----------
  ; fn ?  line 91-95 np=1 va=0 ms=2 code=6 consts=2 upvals=0 protos=0
  ;   K[0]='m_flyEndCallback'
  ;   K[1]=nil
  ;   locals: self(0-6)
  0000  GETTABLE  R1 = R0[K0('m_flyEndCallback')]
  0001  EQ        if R1 eq K1(nil)   -> -130300
  0002  JMP       (jump)   -> 5
  0003  GETTABLE  R1 = R0[K0('m_flyEndCallback')]
  0004  CALL      R1 = call(R1, 0 args, 0 rets)
  0005  RETURN    return R0..R-1
; ---------- proto12 [UpdatePerSecond] ----------
  ; fn ?  line 101-105 np=1 va=0 ms=8 code=22 consts=13 upvals=1 protos=0
  ;   K[0]='m_finishTime'
  ;   K[1]=nil
  ;   K[2]='m_countDownText'
  ;   K[3]='text'
  ;   K[4]='TimeUtil'
  ;   K[5]='ParseTimeDescription'
  ;   K[6]='math'
  ;   K[7]='max'
  ;   K[8]=0
  ;   K[9]='GM'
  ;   K[10]='GameModel'
  ;   K[11]='GetServerTime'
  ;   K[12]=2
  ;   upvals: _ENV
  ;   locals: self(0-22)
  0000  GETTABLE  R1 = R0[K0('m_finishTime')]
  0001  EQ        if R1 eq K1(nil)   -> -130300
  0002  JMP       (jump)   -> 21
  0003  GETTABLE  R1 = R0[K2('m_countDownText')]
  0004  GETTABUP  R2 = _ENV[K4('TimeUtil')]
  0005  GETTABLE  R2 = R2[K5('ParseTimeDescription')]
  0006  GETTABUP  R3 = _ENV[K6('math')]
  0007  GETTABLE  R3 = R3[K7('max')]
  0008  LOADK     R4 = K8 0
  0009  GETTABLE  R5 = R0[K0('m_finishTime')]
  0010  GETTABUP  R6 = _ENV[K9('GM')]
  0011  GETTABLE  R6 = R6[K10('GameModel')]
  0012  SELF      R7 = R6[K11('GetServerTime')] (self)
  0013  CALL      R6 = call(R6, 1 args, 1 rets)
  0014  SUB       R5 = R6 sub R5
  0015  CALL      R3 = call(R3, 1 args, 2 rets)
  0016  LOADK     R4 = K12 2
  0017  LOADBOOL  R5 = false
  0018  LOADBOOL  R6 = false
  0019  CALL      R2 = call(R2, 1 args, 4 rets)
  0020  SETTABLE  R1[K3('text')] = R2
  0021  RETURN    return R0..R-1
