# RecipeCollectActivity_View_RecipeCollectActivityDiscoveriesButtonEffect_1892.luac
; fn @RecipeCollectActivityDiscoveriesButtonEffect.lua  line 0-0 np=0 va=1 ms=2 code=27 consts=9 upvals=1 protos=7
;   K[0]='RecipeCollectActivityDiscoveriesButtonEffect'
;   K[1]='__index'
;   K[2]='Init'
;   K[3]='OnDestroy'
;   K[4]='OnGameModeChanged'
;   K[5]='PlayAppearAnim'
;   K[6]='UpdatePerSecond'
;   K[7]='BeforeDestroy'
;   K[8]='OnHideFinish'
;   upvals: _ENV
0000  NEWTABLE  R0 = {} (0 items)
0001  SETTABUP  _ENV[K0('RecipeCollectActivityDiscoveriesButtonEffect')] = R0
0002  GETTABUP  R0 = _ENV[K0('RecipeCollectActivityDiscoveriesButtonEffect')]
0003  GETTABUP  R1 = _ENV[K0('RecipeCollectActivityDiscoveriesButtonEffect')]
0004  SETTABLE  R0[K1('__index')] = R1
0005  GETTABUP  R0 = _ENV[K0('RecipeCollectActivityDiscoveriesButtonEffect')]
0006  CLOSURE   R1 = closure proto0
0007  SETTABLE  R0[K2('Init')] = R1
0008  GETTABUP  R0 = _ENV[K0('RecipeCollectActivityDiscoveriesButtonEffect')]
0009  CLOSURE   R1 = closure proto1
0010  SETTABLE  R0[K3('OnDestroy')] = R1
0011  GETTABUP  R0 = _ENV[K0('RecipeCollectActivityDiscoveriesButtonEffect')]
0012  CLOSURE   R1 = closure proto2
0013  SETTABLE  R0[K4('OnGameModeChanged')] = R1
0014  GETTABUP  R0 = _ENV[K0('RecipeCollectActivityDiscoveriesButtonEffect')]
0015  CLOSURE   R1 = closure proto3
0016  SETTABLE  R0[K5('PlayAppearAnim')] = R1
0017  GETTABUP  R0 = _ENV[K0('RecipeCollectActivityDiscoveriesButtonEffect')]
0018  CLOSURE   R1 = closure proto4
0019  SETTABLE  R0[K6('UpdatePerSecond')] = R1
0020  GETTABUP  R0 = _ENV[K0('RecipeCollectActivityDiscoveriesButtonEffect')]
0021  CLOSURE   R1 = closure proto5
0022  SETTABLE  R0[K7('BeforeDestroy')] = R1
0023  GETTABUP  R0 = _ENV[K0('RecipeCollectActivityDiscoveriesButtonEffect')]
0024  CLOSURE   R1 = closure proto6
0025  SETTABLE  R0[K8('OnHideFinish')] = R1
0026  RETURN    return R0..R-1
; ---------- proto0 [Init] ----------
  ; fn ?  line 4-9 np=4 va=0 ms=8 code=13 consts=8 upvals=1 protos=0
  ;   K[0]='m_model'
  ;   K[1]='PlayAppearAnim'
  ;   K[2]='UpdatePerSecond'
  ;   K[3]='EventDispatcher'
  ;   K[4]='AddListener'
  ;   K[5]='EEventType'
  ;   K[6]='ChangeGameMode'
  ;   K[7]='OnGameModeChanged'
  ;   upvals: _ENV
  ;   locals: self(0-13), activityModel(0-13), entryLoader(0-13), identifier(0-13)
  0000  SETTABLE  R0[K0('m_model')] = R1
  0001  SELF      R5 = R0[K1('PlayAppearAnim')] (self)
  0002  CALL      R4 = call(R4, 0 args, 1 rets)
  0003  SELF      R5 = R0[K2('UpdatePerSecond')] (self)
  0004  CALL      R4 = call(R4, 0 args, 1 rets)
  0005  GETTABUP  R4 = _ENV[K3('EventDispatcher')]
  0006  GETTABLE  R4 = R4[K4('AddListener')]
  0007  GETTABUP  R5 = _ENV[K5('EEventType')]
  0008  GETTABLE  R5 = R5[K6('ChangeGameMode')]
  0009  MOVE      R6 = R0
  0010  GETTABLE  R7 = R0[K7('OnGameModeChanged')]
  0011  CALL      R4 = call(R4, 0 args, 3 rets)
  0012  RETURN    return R0..R-1
; ---------- proto1 [OnDestroy] ----------
  ; fn ?  line 11-13 np=1 va=0 ms=3 code=5 consts=2 upvals=1 protos=0
  ;   K[0]='EventDispatcher'
  ;   K[1]='RemoveTarget'
  ;   upvals: _ENV
  ;   locals: self(0-5)
  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  RETURN    return R0..R-1
; ---------- proto2 [OnGameModeChanged] ----------
  ; fn ?  line 15-22 np=1 va=0 ms=3 code=16 consts=8 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='SceneManager'
  ;   K[2]='GetGameMode'
  ;   K[3]='EGameMode'
  ;   K[4]='Main'
  ;   K[5]='PlayAppearAnim'
  ;   K[6]='m_bDestroying'
  ;   K[7]='OnHideFinish'
  ;   upvals: _ENV
  ;   locals: self(0-16)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('SceneManager')]
  0002  SELF      R2 = R1[K2('GetGameMode')] (self)
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  GETTABUP  R2 = _ENV[K3('EGameMode')]
  0005  GETTABLE  R2 = R2[K4('Main')]
  0006  EQ        if R0 eq R2   -> -130550
  0007  JMP       (jump)   -> 10
  0008  SELF      R2 = R0[K5('PlayAppearAnim')] (self)
  0009  CALL      R1 = call(R1, 0 args, 1 rets)
  0010  GETTABLE  R1 = R0[K6('m_bDestroying')]
  0011  TEST      if not R1 then   -> -131059
  0012  JMP       (jump)   -> 15
  0013  SELF      R2 = R0[K7('OnHideFinish')] (self)
  0014  CALL      R1 = call(R1, 0 args, 1 rets)
  0015  RETURN    return R0..R-1
; ---------- proto3 [PlayAppearAnim] ----------
  ; fn ?  line 24-27 np=1 va=0 ms=4 code=6 consts=5 upvals=0 protos=0
  ;   K[0]='m_bPlayingAnim'
  ;   K[1]=true
  ;   K[2]='m_animator'
  ;   K[3]='SetTrigger'
  ;   K[4]='Appear'
  ;   locals: self(0-6)
  0000  SETTABLE  R0[K0('m_bPlayingAnim')] = K1(true)
  0001  GETTABLE  R1 = R0[K2('m_animator')]
  0002  SELF      R2 = R1[K3('SetTrigger')] (self)
  0003  LOADK     R3 = K4 'Appear'
  0004  CALL      R1 = call(R1, 0 args, 2 rets)
  0005  RETURN    return R0..R-1
; ---------- proto4 [UpdatePerSecond] ----------
  ; fn ?  line 29-41 np=1 va=0 ms=9 code=40 consts=15 upvals=1 protos=0
  ;   K[0]='m_model'
  ;   K[1]=nil
  ;   K[2]='GetNextStateTime'
  ;   K[3]='IsActivityOpen'
  ;   K[4]='GM'
  ;   K[5]='GameModel'
  ;   K[6]='GetServerTime'
  ;   K[7]='m_countDownText'
  ;   K[8]='text'
  ;   K[9]='TimeUtil'
  ;   K[10]='ParseTimeDescription'
  ;   K[11]=2
  ;   K[12]='GameTextModel'
  ;   K[13]='GetText'
  ;   K[14]='countdown_finished'
  ;   upvals: _ENV
  ;   locals: self(0-40), nextTime(7-40), delta(22-31)
  0000  GETTABLE  R1 = R0[K0('m_model')]
  0001  EQ        if R0 eq K1(nil)   -> -130300
  0002  JMP       (jump)   -> 4
  0003  RETURN    return R0..R-1
  0004  GETTABLE  R1 = R0[K0('m_model')]
  0005  SELF      R2 = R1[K2('GetNextStateTime')] (self)
  0006  CALL      R1 = call(R1, 1 args, 1 rets)
  0007  EQ        if R1 eq K1(nil)   -> -130294
  0008  JMP       (jump)   -> 32
  0009  GETTABLE  R2 = R0[K0('m_model')]
  0010  SELF      R3 = R2[K3('IsActivityOpen')] (self)
  0011  CALL      R2 = call(R2, 1 args, 1 rets)
  0012  TEST      if not R2 then   -> -131058
  0013  JMP       (jump)   -> 32
  0014  GETTABLE  R2 = R0[K0('m_model')]
  0015  SELF      R3 = R2[K2('GetNextStateTime')] (self)
  0016  CALL      R2 = call(R2, 1 args, 1 rets)
  0017  GETTABUP  R3 = _ENV[K4('GM')]
  0018  GETTABLE  R3 = R3[K5('GameModel')]
  0019  SELF      R4 = R3[K6('GetServerTime')] (self)
  0020  CALL      R3 = call(R3, 1 args, 1 rets)
  0021  SUB       R2 = R3 sub R2
  0022  GETTABLE  R3 = R0[K7('m_countDownText')]
  0023  GETTABUP  R4 = _ENV[K9('TimeUtil')]
  0024  GETTABLE  R4 = R4[K10('ParseTimeDescription')]
  0025  MOVE      R5 = R0
  0026  LOADK     R6 = K11 2
  0027  LOADBOOL  R7 = false
  0028  LOADBOOL  R8 = false
  0029  CALL      R4 = call(R4, 1 args, 4 rets)
  0030  SETTABLE  R3[K8('text')] = R4
  0031  JMP       (jump)   -> 39
  0032  GETTABLE  R2 = R0[K7('m_countDownText')]
  0033  GETTABUP  R3 = _ENV[K4('GM')]
  0034  GETTABLE  R3 = R3[K12('GameTextModel')]
  0035  SELF      R4 = R3[K13('GetText')] (self)
  0036  LOADK     R5 = K14 'countdown_finished'
  0037  CALL      R3 = call(R3, 1 args, 2 rets)
  0038  SETTABLE  R2[K8('text')] = R3
  0039  RETURN    return R0..R-1
; ---------- proto5 [BeforeDestroy] ----------
  ; fn ?  line 44-54 np=2 va=0 ms=3 code=13 consts=4 upvals=0 protos=0
  ;   K[0]='m_bDestroying'
  ;   K[1]='m_bPlayingAnim'
  ;   K[2]=true
  ;   K[3]='m_destroyCallback'
  ;   locals: self(0-13), destroyCallback(0-13)
  0000  GETTABLE  R2 = R0[K0('m_bDestroying')]
  0001  TEST      if not R2 then   -> -131069
  0002  JMP       (jump)   -> 4
  0003  RETURN    return R0..R-1
  0004  GETTABLE  R2 = R0[K1('m_bPlayingAnim')]
  0005  TEST      if not R2 then   -> -131064
  0006  JMP       (jump)   -> 10
  0007  MOVE      R2 = R0
  0008  CALL      R2 = call(R2, 0 args, 0 rets)
  0009  RETURN    return R0..R-1
  0010  SETTABLE  R0[K0('m_bDestroying')] = K2(true)
  0011  SETTABLE  R0[K3('m_destroyCallback')] = R1
  0012  RETURN    return R0..R-1
; ---------- proto6 [OnHideFinish] ----------
  ; fn ?  line 57-64 np=1 va=0 ms=3 code=9 consts=4 upvals=0 protos=0
  ;   K[0]='m_bPlayingAnim'
  ;   K[1]=false
  ;   K[2]='m_destroyCallback'
  ;   K[3]=nil
  ;   locals: self(0-9), destroyCallback(5-8)
  0000  SETTABLE  R0[K0('m_bPlayingAnim')] = K1(false)
  0001  GETTABLE  R1 = R0[K2('m_destroyCallback')]
  0002  EQ        if R1 eq K3(nil)   -> -130297
  0003  JMP       (jump)   -> 8
  0004  GETTABLE  R1 = R0[K2('m_destroyCallback')]
  0005  SETTABLE  R0[K2('m_destroyCallback')] = K3(nil)
  0006  MOVE      R2 = R0
  0007  CALL      R2 = call(R2, 0 args, 0 rets)
  0008  RETURN    return R0..R-1
