# UI_SceneView_SceneViewScrollControll_427.luac
; fn @SceneViewScrollControll.lua  line 0-0 np=0 va=1 ms=2 code=30 consts=10 upvals=1 protos=8
;   K[0]='SceneViewScrollControll'
;   K[1]='__index'
;   K[2]='Awake'
;   K[3]='OnDestroy'
;   K[4]='_OnChangeGameMode'
;   K[5]='LateUpdate'
;   K[6]='_EnableScroll'
;   K[7]='_DisableScroll'
;   K[8]='_UpdateTopBar'
;   K[9]='_OnScrollToButtonShow'
;   upvals: _ENV
0000  NEWTABLE  R0 = {} (0 items)
0001  SETTABUP  _ENV[K0('SceneViewScrollControll')] = R0
0002  GETTABUP  R0 = _ENV[K0('SceneViewScrollControll')]
0003  GETTABUP  R1 = _ENV[K0('SceneViewScrollControll')]
0004  SETTABLE  R0[K1('__index')] = R1
0005  GETTABUP  R0 = _ENV[K0('SceneViewScrollControll')]
0006  CLOSURE   R1 = closure proto0
0007  SETTABLE  R0[K2('Awake')] = R1
0008  GETTABUP  R0 = _ENV[K0('SceneViewScrollControll')]
0009  CLOSURE   R1 = closure proto1
0010  SETTABLE  R0[K3('OnDestroy')] = R1
0011  GETTABUP  R0 = _ENV[K0('SceneViewScrollControll')]
0012  CLOSURE   R1 = closure proto2
0013  SETTABLE  R0[K4('_OnChangeGameMode')] = R1
0014  GETTABUP  R0 = _ENV[K0('SceneViewScrollControll')]
0015  CLOSURE   R1 = closure proto3
0016  SETTABLE  R0[K5('LateUpdate')] = R1
0017  GETTABUP  R0 = _ENV[K0('SceneViewScrollControll')]
0018  CLOSURE   R1 = closure proto4
0019  SETTABLE  R0[K6('_EnableScroll')] = R1
0020  GETTABUP  R0 = _ENV[K0('SceneViewScrollControll')]
0021  CLOSURE   R1 = closure proto5
0022  SETTABLE  R0[K7('_DisableScroll')] = R1
0023  GETTABUP  R0 = _ENV[K0('SceneViewScrollControll')]
0024  CLOSURE   R1 = closure proto6
0025  SETTABLE  R0[K8('_UpdateTopBar')] = R1
0026  GETTABUP  R0 = _ENV[K0('SceneViewScrollControll')]
0027  CLOSURE   R1 = closure proto7
0028  SETTABLE  R0[K9('_OnScrollToButtonShow')] = R1
0029  RETURN    return R0..R-1
; ---------- proto0 [Awake] ----------
  ; fn ?  line 4-7 np=1 va=0 ms=5 code=15 consts=7 upvals=1 protos=0
  ;   K[0]='EventDispatcher'
  ;   K[1]='AddListener'
  ;   K[2]='EEventType'
  ;   K[3]='ChangeGameMode'
  ;   K[4]='_OnChangeGameMode'
  ;   K[5]='ScrollToButtonShow'
  ;   K[6]='_OnScrollToButtonShow'
  ;   upvals: _ENV
  ;   locals: self(0-15)
  0000  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0001  GETTABLE  R1 = R1[K1('AddListener')]
  0002  GETTABUP  R2 = _ENV[K2('EEventType')]
  0003  GETTABLE  R2 = R2[K3('ChangeGameMode')]
  0004  MOVE      R3 = R0
  0005  GETTABLE  R4 = R0[K4('_OnChangeGameMode')]
  0006  CALL      R1 = call(R1, 0 args, 3 rets)
  0007  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0008  GETTABLE  R1 = R1[K1('AddListener')]
  0009  GETTABUP  R2 = _ENV[K2('EEventType')]
  0010  GETTABLE  R2 = R2[K5('ScrollToButtonShow')]
  0011  MOVE      R3 = R0
  0012  GETTABLE  R4 = R0[K6('_OnScrollToButtonShow')]
  0013  CALL      R1 = call(R1, 0 args, 3 rets)
  0014  RETURN    return R0..R-1
; ---------- proto1 [OnDestroy] ----------
  ; fn ?  line 9-11 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 [_OnChangeGameMode] ----------
  ; fn ?  line 13-21 np=1 va=0 ms=4 code=20 consts=8 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='SceneManager'
  ;   K[2]='GetGameMode'
  ;   K[3]='EGameMode'
  ;   K[4]='Main'
  ;   K[5]='gameObject'
  ;   K[6]='SetActive'
  ;   K[7]='LateUpdate'
  ;   upvals: _ENV
  ;   locals: self(0-20)
  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 R1 eq R2   -> -130550
  0007  JMP       (jump)   -> 13
  0008  GETTABLE  R1 = R0[K5('gameObject')]
  0009  SELF      R2 = R1[K6('SetActive')] (self)
  0010  LOADBOOL  R3 = false
  0011  CALL      R1 = call(R1, 0 args, 2 rets)
  0012  JMP       (jump)   -> 19
  0013  GETTABLE  R1 = R0[K5('gameObject')]
  0014  SELF      R2 = R1[K6('SetActive')] (self)
  0015  LOADBOOL  R3 = true
  0016  CALL      R1 = call(R1, 0 args, 2 rets)
  0017  SELF      R2 = R0[K7('LateUpdate')] (self)
  0018  CALL      R1 = call(R1, 0 args, 1 rets)
  0019  RETURN    return R0..R-1
; ---------- proto3 [LateUpdate] ----------
  ; fn ?  line 23-33 np=1 va=0 ms=4 code=25 consts=12 upvals=1 protos=0
  ;   K[0]='LayoutRebuilder'
  ;   K[1]='ForceRebuildLayoutImmediate'
  ;   K[2]='m_contentTrans'
  ;   K[3]='rect'
  ;   K[4]='size'
  ;   K[5]='y'
  ;   K[6]='m_viewportTrans'
  ;   K[7]='m_contentLayoutGroup'
  ;   K[8]='spacing'
  ;   K[9]='_DisableScroll'
  ;   K[10]='_EnableScroll'
  ;   K[11]='_UpdateTopBar'
  ;   upvals: _ENV
  ;   locals: self(0-25)
  0000  GETTABUP  R1 = _ENV[K0('LayoutRebuilder')]
  0001  GETTABLE  R1 = R1[K1('ForceRebuildLayoutImmediate')]
  0002  GETTABLE  R2 = R0[K2('m_contentTrans')]
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  GETTABLE  R1 = R0[K2('m_contentTrans')]
  0005  GETTABLE  R1 = R1[K3('rect')]
  0006  GETTABLE  R1 = R1[K4('size')]
  0007  GETTABLE  R1 = R1[K5('y')]
  0008  GETTABLE  R2 = R0[K6('m_viewportTrans')]
  0009  GETTABLE  R2 = R2[K3('rect')]
  0010  GETTABLE  R2 = R2[K4('size')]
  0011  GETTABLE  R2 = R2[K5('y')]
  0012  GETTABLE  R3 = R0[K7('m_contentLayoutGroup')]
  0013  GETTABLE  R3 = R3[K8('spacing')]
  0014  ADD       R2 = R3 add R2
  0015  LE        if R0 le R2   -> -130541
  0016  JMP       (jump)   -> 20
  0017  SELF      R2 = R0[K9('_DisableScroll')] (self)
  0018  CALL      R1 = call(R1, 0 args, 1 rets)
  0019  JMP       (jump)   -> 24
  0020  SELF      R2 = R0[K10('_EnableScroll')] (self)
  0021  CALL      R1 = call(R1, 0 args, 1 rets)
  0022  SELF      R2 = R0[K11('_UpdateTopBar')] (self)
  0023  CALL      R1 = call(R1, 0 args, 1 rets)
  0024  RETURN    return R0..R-1
; ---------- proto4 [_EnableScroll] ----------
  ; fn ?  line 35-44 np=1 va=0 ms=4 code=16 consts=8 upvals=0 protos=0
  ;   K[0]='m_bEnabled'
  ;   K[1]=true
  ;   K[2]='m_scrollRect'
  ;   K[3]='enabled'
  ;   K[4]='m_mask'
  ;   K[5]='m_maskImg'
  ;   K[6]='m_bottomBarGo'
  ;   K[7]='SetActive'
  ;   locals: self(0-16)
  0000  GETTABLE  R1 = R0[K0('m_bEnabled')]
  0001  EQ        if R0 eq K1(true)   -> -130300
  0002  JMP       (jump)   -> 4
  0003  RETURN    return R0..R-1
  0004  SETTABLE  R0[K0('m_bEnabled')] = K1(true)
  0005  GETTABLE  R1 = R0[K2('m_scrollRect')]
  0006  SETTABLE  R1[K3('enabled')] = K1(true)
  0007  GETTABLE  R1 = R0[K4('m_mask')]
  0008  SETTABLE  R1[K3('enabled')] = K1(true)
  0009  GETTABLE  R1 = R0[K5('m_maskImg')]
  0010  SETTABLE  R1[K3('enabled')] = K1(true)
  0011  GETTABLE  R1 = R0[K6('m_bottomBarGo')]
  0012  SELF      R2 = R1[K7('SetActive')] (self)
  0013  LOADBOOL  R3 = true
  0014  CALL      R1 = call(R1, 0 args, 2 rets)
  0015  RETURN    return R0..R-1
; ---------- proto5 [_DisableScroll] ----------
  ; fn ?  line 46-57 np=1 va=0 ms=4 code=23 consts=12 upvals=1 protos=0
  ;   K[0]='m_bEnabled'
  ;   K[1]=false
  ;   K[2]='m_scrollRect'
  ;   K[3]='enabled'
  ;   K[4]='m_mask'
  ;   K[5]='m_maskImg'
  ;   K[6]='m_bottomBarGo'
  ;   K[7]='SetActive'
  ;   K[8]='m_topBarGo'
  ;   K[9]='m_contentTrans'
  ;   K[10]='anchoredPosition'
  ;   K[11]='V2Zero'
  ;   upvals: _ENV
  ;   locals: self(0-23)
  0000  GETTABLE  R1 = R0[K0('m_bEnabled')]
  0001  EQ        if R0 eq K1(false)   -> -130300
  0002  JMP       (jump)   -> 4
  0003  RETURN    return R0..R-1
  0004  SETTABLE  R0[K0('m_bEnabled')] = K1(false)
  0005  GETTABLE  R1 = R0[K2('m_scrollRect')]
  0006  SETTABLE  R1[K3('enabled')] = K1(false)
  0007  GETTABLE  R1 = R0[K4('m_mask')]
  0008  SETTABLE  R1[K3('enabled')] = K1(false)
  0009  GETTABLE  R1 = R0[K5('m_maskImg')]
  0010  SETTABLE  R1[K3('enabled')] = K1(false)
  0011  GETTABLE  R1 = R0[K6('m_bottomBarGo')]
  0012  SELF      R2 = R1[K7('SetActive')] (self)
  0013  LOADBOOL  R3 = false
  0014  CALL      R1 = call(R1, 0 args, 2 rets)
  0015  GETTABLE  R1 = R0[K8('m_topBarGo')]
  0016  SELF      R2 = R1[K7('SetActive')] (self)
  0017  LOADBOOL  R3 = false
  0018  CALL      R1 = call(R1, 0 args, 2 rets)
  0019  GETTABLE  R1 = R0[K9('m_contentTrans')]
  0020  GETTABUP  R2 = _ENV[K11('V2Zero')]
  0021  SETTABLE  R1[K10('anchoredPosition')] = R2
  0022  RETURN    return R0..R-1
; ---------- proto6 [_UpdateTopBar] ----------
  ; fn ?  line 59-69 np=1 va=0 ms=4 code=23 consts=7 upvals=0 protos=0
  ;   K[0]='m_contentTrans'
  ;   K[1]='anchoredPosition'
  ;   K[2]='y'
  ;   K[3]=25
  ;   K[4]='m_topBarGo'
  ;   K[5]='activeSelf'
  ;   K[6]='SetActive'
  ;   locals: self(0-23)
  0000  GETTABLE  R1 = R0[K0('m_contentTrans')]
  0001  GETTABLE  R1 = R1[K1('anchoredPosition')]
  0002  GETTABLE  R1 = R1[K2('y')]
  0003  LT        if R0 lt R1   -> 1542
  0004  JMP       (jump)   -> 14
  0005  GETTABLE  R1 = R0[K4('m_topBarGo')]
  0006  GETTABLE  R1 = R1[K5('activeSelf')]
  0007  TEST      if not R1 then   -> -131062
  0008  JMP       (jump)   -> 22
  0009  GETTABLE  R1 = R0[K4('m_topBarGo')]
  0010  SELF      R2 = R1[K6('SetActive')] (self)
  0011  LOADBOOL  R3 = true
  0012  CALL      R1 = call(R1, 0 args, 2 rets)
  0013  JMP       (jump)   -> 22
  0014  GETTABLE  R1 = R0[K4('m_topBarGo')]
  0015  GETTABLE  R1 = R1[K5('activeSelf')]
  0016  TEST      if not R1 then   -> -131054
  0017  JMP       (jump)   -> 22
  0018  GETTABLE  R1 = R0[K4('m_topBarGo')]
  0019  SELF      R2 = R1[K6('SetActive')] (self)
  0020  LOADBOOL  R3 = false
  0021  CALL      R1 = call(R1, 0 args, 2 rets)
  0022  RETURN    return R0..R-1
; ---------- proto7 [_OnScrollToButtonShow] ----------
  ; fn ?  line 71-113 np=2 va=0 ms=19 code=100 consts=27 upvals=1 protos=0
  ;   K[0]='m_bEnabled'
  ;   K[1]=false
  ;   K[2]='trans'
  ;   K[3]='LayoutRebuilder'
  ;   K[4]='ForceRebuildLayoutImmediate'
  ;   K[5]='m_contentTrans'
  ;   K[6]=nil
  ;   K[7]='parent'
  ;   K[8]='m_viewportTrans'
  ;   K[9]='rect'
  ;   K[10]='size'
  ;   K[11]='y'
  ;   K[12]='UIUtil'
  ;   K[13]='GetWorldRect'
  ;   K[14]='yMax'
  ;   K[15]='lossyScale'
  ;   K[16]='m_contentLayoutGroup'
  ;   K[17]='padding'
  ;   K[18]='top'
  ;   K[19]='yMin'
  ;   K[20]='bottom'
  ;   K[21]='anchoredPosition'
  ;   K[22]='math'
  ;   K[23]='max'
  ;   K[24]='min'
  ;   K[25]=0
  ;   K[26]='SetAnchoredPosition'
  ;   upvals: _ENV
  ;   locals: self(0-100), msg(0-100), trans(7-100), curTrans(15-100), found(27-100), viewHeight(34-100), contentRect(42-100), buttonRect(42-100), contentTop(43-100), scaleY(46-100), topHeight(53-100), bottomHeight(61-100), height(64-100), maxHeight(83-100)
  0000  GETTABLE  R2 = R0[K0('m_bEnabled')]
  0001  EQ        if R0 eq K1(false)   -> -129788
  0002  JMP       (jump)   -> 4
  0003  RETURN    return R0..R-1
  0004  TESTSET   if R0 then R2   -> -130554
  0005  JMP       (jump)   -> 7
  0006  GETTABLE  R2 = R1[K2('trans')]
  0007  TEST      if not R2 then   -> -131062
  0008  JMP       (jump)   -> 10
  0009  RETURN    return R0..R-1
  0010  GETTABUP  R3 = _ENV[K3('LayoutRebuilder')]
  0011  GETTABLE  R3 = R3[K4('ForceRebuildLayoutImmediate')]
  0012  GETTABLE  R4 = R0[K5('m_contentTrans')]
  0013  CALL      R3 = call(R3, 0 args, 1 rets)
  0014  MOVE      R3 = R0
  0015  EQ        if R1 eq K6(nil)   -> -129257
  0016  JMP       (jump)   -> 22
  0017  GETTABLE  R4 = R0[K5('m_contentTrans')]
  0018  EQ        if R1 eq R4   -> -129512
  0019  JMP       (jump)   -> 22
  0020  GETTABLE  R3 = R3[K7('parent')]
  0021  JMP       (jump)   -> 15
  0022  GETTABLE  R4 = R0[K5('m_contentTrans')]
  0023  EQ        if R1 eq R4   -> -129507
  0024  JMP       (jump)   -> 26
  0025  LOADBOOL  R4 = false
  0026  LOADBOOL  R4 = true
  0027  TEST      if not R4 then   -> -131042
  0028  JMP       (jump)   -> 30
  0029  RETURN    return R0..R-1
  0030  GETTABLE  R5 = R0[K8('m_viewportTrans')]
  0031  GETTABLE  R5 = R5[K9('rect')]
  0032  GETTABLE  R5 = R5[K10('size')]
  0033  GETTABLE  R5 = R5[K11('y')]
  0034  GETTABUP  R6 = _ENV[K12('UIUtil')]
  0035  GETTABLE  R6 = R6[K13('GetWorldRect')]
  0036  GETTABLE  R7 = R0[K5('m_contentTrans')]
  0037  CALL      R6 = call(R6, 1 args, 1 rets)
  0038  GETTABUP  R7 = _ENV[K12('UIUtil')]
  0039  GETTABLE  R7 = R7[K13('GetWorldRect')]
  0040  MOVE      R8 = R0
  0041  CALL      R7 = call(R7, 1 args, 1 rets)
  0042  GETTABLE  R8 = R6[K14('yMax')]
  0043  GETTABLE  R9 = R0[K5('m_contentTrans')]
  0044  GETTABLE  R9 = R9[K15('lossyScale')]
  0045  GETTABLE  R9 = R9[K11('y')]
  0046  GETTABLE  R10 = R7[K14('yMax')]
  0047  SUB       R10 = R10 sub R8
  0048  DIV       R10 = R9 div R10
  0049  GETTABLE  R11 = R0[K16('m_contentLayoutGroup')]
  0050  GETTABLE  R11 = R11[K17('padding')]
  0051  GETTABLE  R11 = R11[K18('top')]
  0052  SUB       R10 = R11 sub R10
  0053  GETTABLE  R11 = R7[K19('yMin')]
  0054  SUB       R11 = R11 sub R8
  0055  DIV       R11 = R9 div R11
  0056  GETTABLE  R12 = R0[K16('m_contentLayoutGroup')]
  0057  GETTABLE  R12 = R12[K17('padding')]
  0058  GETTABLE  R12 = R12[K20('bottom')]
  0059  ADD       R11 = R12 add R11
  0060  SUB       R11 = R5 sub R11
  0061  GETTABLE  R12 = R0[K5('m_contentTrans')]
  0062  GETTABLE  R12 = R12[K21('anchoredPosition')]
  0063  GETTABLE  R12 = R12[K11('y')]
  0064  GETTABUP  R13 = _ENV[K22('math')]
  0065  GETTABLE  R13 = R13[K23('max')]
  0066  MOVE      R14 = R0
  0067  GETTABUP  R15 = _ENV[K22('math')]
  0068  GETTABLE  R15 = R15[K24('min')]
  0069  MOVE      R16 = R0
  0070  MOVE      R17 = R0
  0071  CALL      R15 = call(R15, -1 args, 2 rets)
  0072  CALL      R13 = call(R13, 1 args, -1 rets)
  0073  MOVE      R12 = R0
  0074  GETTABUP  R13 = _ENV[K22('math')]
  0075  GETTABLE  R13 = R13[K23('max')]
  0076  LOADK     R14 = K25 0
  0077  GETTABLE  R15 = R0[K5('m_contentTrans')]
  0078  GETTABLE  R15 = R15[K9('rect')]
  0079  GETTABLE  R15 = R15[K10('size')]
  0080  GETTABLE  R15 = R15[K11('y')]
  0081  SUB       R15 = R5 sub R15
  0082  CALL      R13 = call(R13, 1 args, 2 rets)
  0083  GETTABUP  R14 = _ENV[K22('math')]
  0084  GETTABLE  R14 = R14[K23('max')]
  0085  LOADK     R15 = K25 0
  0086  GETTABUP  R16 = _ENV[K22('math')]
  0087  GETTABLE  R16 = R16[K24('min')]
  0088  MOVE      R17 = R0
  0089  MOVE      R18 = R0
  0090  CALL      R16 = call(R16, -1 args, 2 rets)
  0091  CALL      R14 = call(R14, 1 args, -1 rets)
  0092  MOVE      R12 = R0
  0093  GETTABUP  R14 = _ENV[K12('UIUtil')]
  0094  GETTABLE  R14 = R14[K26('SetAnchoredPosition')]
  0095  GETTABLE  R15 = R0[K5('m_contentTrans')]
  0096  LOADNIL   R16..R16 = nil
  0097  MOVE      R17 = R0
  0098  CALL      R14 = call(R14, 0 args, 3 rets)
  0099  RETURN    return R0..R-1
