# UI_UIFramework_TipManager_264.luac
; fn @TipManager.lua  line 0-0 np=0 va=1 ms=3 code=37 consts=13 upvals=1 protos=10
;   K[0]='TipManager'
;   K[1]='__index'
;   K[2]='Create'
;   K[3]='TipManager'
;   K[4]='_Init'
;   K[5]='Destroy'
;   K[6]='RegisterTip'
;   K[7]='UnregisterTip'
;   K[8]='_DispatchTipEvent'
;   K[9]='_OnOpenView'
;   K[10]='_OnViewWillClosed'
;   K[11]='OpenTip'
;   K[12]='HideTip'
;   upvals: _ENV
;   locals: Loading(6-37)
0000  NEWTABLE  R0 = {} (0 items)
0001  SETTABUP  _ENV[K0('TipManager')] = R0
0002  GETTABUP  R0 = _ENV[K0('TipManager')]
0003  GETTABUP  R1 = _ENV[K0('TipManager')]
0004  SETTABLE  R0[K1('__index')] = R1
0005  NEWTABLE  R0 = {} (0 items)
0006  GETTABUP  R1 = _ENV[K0('TipManager')]
0007  CLOSURE   R2 = closure proto0
0008  SETTABLE  R1[K2('Create')] = R2
0009  GETTABUP  R1 = _ENV[K3('TipManager')]
0010  CLOSURE   R2 = closure proto1
0011  SETTABLE  R1[K4('_Init')] = R2
0012  GETTABUP  R1 = _ENV[K3('TipManager')]
0013  CLOSURE   R2 = closure proto2
0014  SETTABLE  R1[K5('Destroy')] = R2
0015  GETTABUP  R1 = _ENV[K3('TipManager')]
0016  CLOSURE   R2 = closure proto3
0017  SETTABLE  R1[K6('RegisterTip')] = R2
0018  GETTABUP  R1 = _ENV[K3('TipManager')]
0019  CLOSURE   R2 = closure proto4
0020  SETTABLE  R1[K7('UnregisterTip')] = R2
0021  GETTABUP  R1 = _ENV[K3('TipManager')]
0022  CLOSURE   R2 = closure proto5
0023  SETTABLE  R1[K8('_DispatchTipEvent')] = R2
0024  GETTABUP  R1 = _ENV[K3('TipManager')]
0025  CLOSURE   R2 = closure proto6
0026  SETTABLE  R1[K9('_OnOpenView')] = R2
0027  GETTABUP  R1 = _ENV[K3('TipManager')]
0028  CLOSURE   R2 = closure proto7
0029  SETTABLE  R1[K10('_OnViewWillClosed')] = R2
0030  GETTABUP  R1 = _ENV[K3('TipManager')]
0031  CLOSURE   R2 = closure proto8
0032  SETTABLE  R1[K11('OpenTip')] = R2
0033  GETTABUP  R1 = _ENV[K3('TipManager')]
0034  CLOSURE   R2 = closure proto9
0035  SETTABLE  R1[K12('HideTip')] = R2
0036  RETURN    return R0..R-1
; ---------- proto0 [Create] ----------
  ; fn ?  line 9-14 np=0 va=0 ms=3 code=8 consts=3 upvals=1 protos=0
  ;   K[0]='setmetatable'
  ;   K[1]='TipManager'
  ;   K[2]='_Init'
  ;   upvals: _ENV
  ;   locals: instance(4-8)
  0000  GETTABUP  R0 = _ENV[K0('setmetatable')]
  0001  NEWTABLE  R1 = {} (0 items)
  0002  GETTABUP  R2 = _ENV[K1('TipManager')]
  0003  CALL      R0 = call(R0, 1 args, 2 rets)
  0004  SELF      R2 = R0[K2('_Init')] (self)
  0005  CALL      R1 = call(R1, 0 args, 1 rets)
  0006  RETURN    return R0..R-1
  0007  RETURN    return R0..R-1
; ---------- proto1 [_Init] ----------
  ; fn ?  line 16-22 np=1 va=0 ms=5 code=19 consts=9 upvals=1 protos=0
  ;   K[0]='m_tips'
  ;   K[1]='m_mapCaller2Tip'
  ;   K[2]='EventDispatcher'
  ;   K[3]='AddListener'
  ;   K[4]='EEventType'
  ;   K[5]='OpenView'
  ;   K[6]='_OnOpenView'
  ;   K[7]='OnViewWillClose'
  ;   K[8]='_OnViewWillClosed'
  ;   upvals: _ENV
  ;   locals: self(0-19)
  0000  NEWTABLE  R1 = {} (0 items)
  0001  SETTABLE  R0[K0('m_tips')] = R1
  0002  NEWTABLE  R1 = {} (0 items)
  0003  SETTABLE  R0[K1('m_mapCaller2Tip')] = R1
  0004  GETTABUP  R1 = _ENV[K2('EventDispatcher')]
  0005  GETTABLE  R1 = R1[K3('AddListener')]
  0006  GETTABUP  R2 = _ENV[K4('EEventType')]
  0007  GETTABLE  R2 = R2[K5('OpenView')]
  0008  MOVE      R3 = R0
  0009  GETTABLE  R4 = R0[K6('_OnOpenView')]
  0010  CALL      R1 = call(R1, 0 args, 3 rets)
  0011  GETTABUP  R1 = _ENV[K2('EventDispatcher')]
  0012  GETTABLE  R1 = R1[K3('AddListener')]
  0013  GETTABUP  R2 = _ENV[K4('EEventType')]
  0014  GETTABLE  R2 = R2[K7('OnViewWillClose')]
  0015  MOVE      R3 = R0
  0016  GETTABLE  R4 = R0[K8('_OnViewWillClosed')]
  0017  CALL      R1 = call(R1, 0 args, 3 rets)
  0018  RETURN    return R0..R-1
; ---------- proto2 [Destroy] ----------
  ; fn ?  line 24-26 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
; ---------- proto3 [RegisterTip] ----------
  ; fn ?  line 29-34 np=2 va=0 ms=6 code=20 consts=10 upvals=1 protos=0
  ;   K[0]='GameConfig'
  ;   K[1]='IsTestMode'
  ;   K[2]='m_tips'
  ;   K[3]=nil
  ;   K[4]='Log'
  ;   K[5]='Error'
  ;   K[6]='[TipManager] 重复注册BaseTip气泡：'
  ;   K[7]='tostring'
  ;   K[8]='gameObject'
  ;   K[9]=true
  ;   upvals: _ENV
  ;   locals: self(0-20), tip(0-20)
  0000  GETTABUP  R2 = _ENV[K0('GameConfig')]
  0001  GETTABLE  R2 = R2[K1('IsTestMode')]
  0002  CALL      R2 = call(R2, 1 args, 0 rets)
  0003  TEST      if not R2 then   -> -131067
  0004  JMP       (jump)   -> 17
  0005  GETTABLE  R2 = R0[K2('m_tips')]
  0006  GETTABLE  R2 = R2[R1]
  0007  EQ        if R1 eq K3(nil)   -> -129780
  0008  JMP       (jump)   -> 17
  0009  GETTABUP  R2 = _ENV[K4('Log')]
  0010  GETTABLE  R2 = R2[K5('Error')]
  0011  LOADK     R3 = K6 '[TipManager] 重复注册BaseTip气泡：'
  0012  GETTABUP  R4 = _ENV[K7('tostring')]
  0013  GETTABLE  R5 = R1[K8('gameObject')]
  0014  CALL      R4 = call(R4, 1 args, 1 rets)
  0015  CONCAT    R3 = concat(R3..R3)
  0016  CALL      R2 = call(R2, 0 args, 1 rets)
  0017  GETTABLE  R2 = R0[K2('m_tips')]
  0018  SETTABLE  R2[R1] = K9(true)
  0019  RETURN    return R0..R-1
; ---------- proto4 [UnregisterTip] ----------
  ; fn ?  line 37-42 np=2 va=0 ms=6 code=20 consts=9 upvals=1 protos=0
  ;   K[0]='GameConfig'
  ;   K[1]='IsTestMode'
  ;   K[2]='m_tips'
  ;   K[3]=nil
  ;   K[4]='Log'
  ;   K[5]='Error'
  ;   K[6]='[TipManager] 尝试取消注册BaseTip气泡，但不在列表中：'
  ;   K[7]='tostring'
  ;   K[8]='gameObject'
  ;   upvals: _ENV
  ;   locals: self(0-20), tip(0-20)
  0000  GETTABUP  R2 = _ENV[K0('GameConfig')]
  0001  GETTABLE  R2 = R2[K1('IsTestMode')]
  0002  CALL      R2 = call(R2, 1 args, 0 rets)
  0003  TEST      if not R2 then   -> -131067
  0004  JMP       (jump)   -> 17
  0005  GETTABLE  R2 = R0[K2('m_tips')]
  0006  GETTABLE  R2 = R2[R1]
  0007  EQ        if R0 eq K3(nil)   -> -129780
  0008  JMP       (jump)   -> 17
  0009  GETTABUP  R2 = _ENV[K4('Log')]
  0010  GETTABLE  R2 = R2[K5('Error')]
  0011  LOADK     R3 = K6 '[TipManager] 尝试取消注册BaseTip气泡，但不在列表中：'
  0012  GETTABUP  R4 = _ENV[K7('tostring')]
  0013  GETTABLE  R5 = R1[K8('gameObject')]
  0014  CALL      R4 = call(R4, 1 args, 1 rets)
  0015  CONCAT    R3 = concat(R3..R3)
  0016  CALL      R2 = call(R2, 0 args, 1 rets)
  0017  GETTABLE  R2 = R0[K2('m_tips')]
  0018  SETTABLE  R2[R1] = K3(nil)
  0019  RETURN    return R0..R-1
; ---------- proto5 [_DispatchTipEvent] ----------
  ; fn ?  line 45-53 np=2 va=0 ms=9 code=18 consts=5 upvals=1 protos=0
  ;   K[0]='Table'
  ;   K[1]='ShallowCopy'
  ;   K[2]='m_tips'
  ;   K[3]='pairs'
  ;   K[4]=nil
  ;   upvals: _ENV
  ;   locals: self(0-18), funcDispatch(0-18), tips(4-18), (for generator)(7-17), (for state)(7-17), (for control)(7-17), tip(8-15)
  0000  GETTABUP  R2 = _ENV[K0('Table')]
  0001  GETTABLE  R2 = R2[K1('ShallowCopy')]
  0002  GETTABLE  R3 = R0[K2('m_tips')]
  0003  CALL      R2 = call(R2, 1 args, 1 rets)
  0004  GETTABUP  R3 = _ENV[K3('pairs')]
  0005  MOVE      R4 = R0
  0006  CALL      R3 = call(R3, 3 args, 1 rets)
  0007  JMP       (jump)   -> 15
  0008  GETTABLE  R7 = R0[K2('m_tips')]
  0009  GETTABLE  R7 = R7[R6]
  0010  EQ        if R1 eq K4(nil)   -> -127216
  0011  JMP       (jump)   -> 15
  0012  MOVE      R7 = R0
  0013  MOVE      R8 = R0
  0014  CALL      R7 = call(R7, 0 args, 1 rets)
  0015  TFORCALL  tforcall R3
  0016  TFORLOOP  tforloop R5(sBx=-9)   -> 8
  0017  RETURN    return R0..R-1
; ---------- proto6 [_OnOpenView] ----------
  ; fn ?  line 55-62 np=1 va=0 ms=4 code=4 consts=1 upvals=0 protos=1
  ;   K[0]='_DispatchTipEvent'
  ;   locals: self(0-4)
  0000  SELF      R2 = R0[K0('_DispatchTipEvent')] (self)
  0001  CLOSURE   R3 = closure proto0
  0002  CALL      R1 = call(R1, 0 args, 2 rets)
  0003  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 58-60 np=1 va=0 ms=3 code=3 consts=1 upvals=0 protos=0
    ;   K[0]='OnOpenView'
    ;   locals: tip(0-3)
    0000  SELF      R2 = R0[K0('OnOpenView')] (self)
    0001  CALL      R1 = call(R1, 0 args, 1 rets)
    0002  RETURN    return R0..R-1
; ---------- proto7 [_OnViewWillClosed] ----------
  ; fn ?  line 64-71 np=1 va=0 ms=4 code=4 consts=1 upvals=0 protos=1
  ;   K[0]='_DispatchTipEvent'
  ;   locals: self(0-4)
  0000  SELF      R2 = R0[K0('_DispatchTipEvent')] (self)
  0001  CLOSURE   R3 = closure proto0
  0002  CALL      R1 = call(R1, 0 args, 2 rets)
  0003  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 67-69 np=1 va=0 ms=3 code=3 consts=1 upvals=0 protos=0
    ;   K[0]='OnViewWillClosed'
    ;   locals: tip(0-3)
    0000  SELF      R2 = R0[K0('OnViewWillClosed')] (self)
    0001  CALL      R1 = call(R1, 0 args, 1 rets)
    0002  RETURN    return R0..R-1
; ---------- proto8 [OpenTip] ----------
  ; fn ?  line 77-117 np=4 va=1 ms=12 code=62 consts=19 upvals=2 protos=1
  ;   K[0]=nil
  ;   K[1]='Log'
  ;   K[2]='Error'
  ;   K[3]='[TipManager] caller不得为空，请检查气泡加载逻辑：'
  ;   K[4]='tostring'
  ;   K[5]='m_mapCaller2Tip'
  ;   K[6]='Show'
  ;   K[7]='GM'
  ;   K[8]='UIManager'
  ;   K[9]='GetOpenedTopView'
  ;   K[10]='GetContentRect'
  ;   K[11]='table'
  ;   K[12]='pack'
  ;   K[13]='ResourceLoader'
  ;   K[14]='LoadPrefab'
  ;   K[15]='DataResource'
  ;   K[16]='UIPrefabConfig'
  ;   K[17]='GetConfig'
  ;   K[18]='V3Zero'
  ;   upvals: _ENV, Loading
  ;   locals: self(0-62), caller(0-62), prefabName(0-62), rootTransform(0-62), topView(34-62), args(48-62)
  0000  EQ        if R0 eq K0(nil)   -> -130302
  0001  JMP       (jump)   -> 11
  0002  GETTABUP  R4 = _ENV[K1('Log')]
  0003  GETTABLE  R4 = R4[K2('Error')]
  0004  LOADK     R5 = K3 '[TipManager] caller不得为空，请检查气泡加载逻辑：'
  0005  GETTABUP  R6 = _ENV[K4('tostring')]
  0006  MOVE      R7 = R0
  0007  CALL      R6 = call(R6, 1 args, 1 rets)
  0008  CONCAT    R5 = concat(R5..R5)
  0009  CALL      R4 = call(R4, 0 args, 1 rets)
  0010  RETURN    return R0..R-1
  0011  GETTABLE  R4 = R0[K5('m_mapCaller2Tip')]
  0012  GETTABLE  R4 = R4[R1]
  0013  GETUPVAL  R5 = _ENV
  0014  EQ        if R0 eq R5   -> -129003
  0015  JMP       (jump)   -> 17
  0016  RETURN    return R0..R-1
  0017  GETTABLE  R4 = R0[K5('m_mapCaller2Tip')]
  0018  GETTABLE  R4 = R4[R1]
  0019  EQ        if R1 eq K0(nil)   -> -128747
  0020  JMP       (jump)   -> 27
  0021  GETTABLE  R4 = R0[K5('m_mapCaller2Tip')]
  0022  GETTABLE  R4 = R4[R1]
  0023  SELF      R5 = R4[K6('Show')] (self)
  0024  VARARG    R6 = vararg(0)
  0025  CALL      R4 = call(R4, 0 args, -1 rets)
  0026  RETURN    return R0..R-1
  0027  GETTABLE  R4 = R0[K5('m_mapCaller2Tip')]
  0028  GETUPVAL  R5 = _ENV
  0029  SETTABLE  R4[R1] = R5
  0030  GETTABUP  R4 = _ENV[K7('GM')]
  0031  GETTABLE  R4 = R4[K8('UIManager')]
  0032  SELF      R5 = R4[K9('GetOpenedTopView')] (self)
  0033  CALL      R4 = call(R4, 1 args, 1 rets)
  0034  EQ        if R0 eq K0(nil)   -> -129244
  0035  JMP       (jump)   -> 44
  0036  EQ        if R1 eq K0(nil)   -> -128730
  0037  JMP       (jump)   -> 44
  0038  GETTABLE  R5 = R4[K10('GetContentRect')]
  0039  TEST      if not R5 then   -> -131031
  0040  JMP       (jump)   -> 44
  0041  SELF      R6 = R4[K10('GetContentRect')] (self)
  0042  CALL      R5 = call(R5, 1 args, 1 rets)
  0043  MOVE      R3 = R0
  0044  GETTABUP  R5 = _ENV[K11('table')]
  0045  GETTABLE  R5 = R5[K12('pack')]
  0046  VARARG    R6 = vararg(0)
  0047  CALL      R5 = call(R5, 1 args, -1 rets)
  0048  GETTABUP  R6 = _ENV[K7('GM')]
  0049  GETTABLE  R6 = R6[K13('ResourceLoader')]
  0050  SELF      R7 = R6[K14('LoadPrefab')] (self)
  0051  GETTABUP  R8 = _ENV[K7('GM')]
  0052  GETTABLE  R8 = R8[K15('DataResource')]
  0053  GETTABLE  R8 = R8[K16('UIPrefabConfig')]
  0054  SELF      R9 = R8[K17('GetConfig')] (self)
  0055  MOVE      R10 = R0
  0056  CALL      R8 = call(R8, 1 args, 2 rets)
  0057  MOVE      R9 = R0
  0058  GETTABUP  R10 = _ENV[K18('V3Zero')]
  0059  CLOSURE   R11 = closure proto0
  0060  CALL      R6 = call(R6, 0 args, 5 rets)
  0061  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 100-116 np=1 va=0 ms=8 code=36 consts=13 upvals=5 protos=1
    ;   K[0]=nil
    ;   K[1]='IsNull'
    ;   K[2]='m_mapCaller2Tip'
    ;   K[3]='Recycle'
    ;   K[4]='GetLuaTable'
    ;   K[5]='eTipHideType'
    ;   K[6]='ETipHideType'
    ;   K[7]='Show'
    ;   K[8]='table'
    ;   K[9]='unpack'
    ;   K[10]=1
    ;   K[11]='n'
    ;   K[12]='AddOnHide'
    ;   upvals: self, caller, Loading, _ENV, args
    ;   locals: go(0-36), tip(18-35)
    0000  EQ        if R1 eq K0(nil)   -> -130814
    0001  JMP       (jump)   -> 35
    0002  SELF      R2 = R0[K1('IsNull')] (self)
    0003  CALL      R1 = call(R1, 1 args, 1 rets)
    0004  TEST      if not R1 then   -> -131065
    0005  JMP       (jump)   -> 35
    0006  GETTABUP  R1 = self[K2('m_mapCaller2Tip')]
    0007  GETUPVAL  R2 = self
    0008  GETTABLE  R1 = R1[R2]
    0009  GETUPVAL  R2 = self
    0010  EQ        if R1 eq R2   -> -130546
    0011  JMP       (jump)   -> 16
    0012  GETTABUP  R1 = _ENV[K3('Recycle')]
    0013  MOVE      R2 = R0
    0014  CALL      R1 = call(R1, 0 args, 1 rets)
    0015  RETURN    return R0..R-1
    0016  SELF      R2 = R0[K4('GetLuaTable')] (self)
    0017  CALL      R1 = call(R1, 1 args, 1 rets)
    0018  GETTABUP  R2 = self[K2('m_mapCaller2Tip')]
    0019  GETUPVAL  R3 = self
    0020  SETTABLE  R2[R3] = R1
    0021  GETTABUP  R2 = _ENV[K6('ETipHideType')]
    0022  GETTABLE  R2 = R2[K3('Recycle')]
    0023  SETTABLE  R1[K5('eTipHideType')] = R2
    0024  SELF      R3 = R1[K7('Show')] (self)
    0025  GETTABUP  R4 = _ENV[K8('table')]
    0026  GETTABLE  R4 = R4[K9('unpack')]
    0027  GETUPVAL  R5 = self
    0028  LOADK     R6 = K10 1
    0029  GETTABUP  R7 = args[K11('n')]
    0030  CALL      R4 = call(R4, -1 args, 3 rets)
    0031  CALL      R2 = call(R2, 0 args, -1 rets)
    0032  SELF      R3 = R1[K12('AddOnHide')] (self)
    0033  CLOSURE   R4 = closure proto0
    0034  CALL      R2 = call(R2, 0 args, 2 rets)
    0035  RETURN    return R0..R-1
    ; ---------- proto0 [] ----------
      ; fn ?  line 112-114 np=0 va=0 ms=2 code=4 consts=2 upvals=2 protos=0
      ;   K[0]='m_mapCaller2Tip'
      ;   K[1]=nil
      ;   upvals: self, caller
      0000  GETTABUP  R0 = self[K0('m_mapCaller2Tip')]
      0001  GETUPVAL  R1 = self
      0002  SETTABLE  R0[R1] = K1(nil)
      0003  RETURN    return R0..R-1
; ---------- proto9 [HideTip] ----------
  ; fn ?  line 125-131 np=6 va=0 ms=11 code=20 consts=3 upvals=1 protos=0
  ;   K[0]='m_mapCaller2Tip'
  ;   K[1]=nil
  ;   K[2]='Hide'
  ;   upvals: Loading
  ;   locals: self(0-20), caller(0-20), prefabName(0-20), bIgnoreAnim(0-20), delay(0-20), callback(0-20)
  0000  GETTABLE  R6 = R0[K0('m_mapCaller2Tip')]
  0001  GETTABLE  R6 = R6[R1]
  0002  GETUPVAL  R7 = Loading
  0003  EQ        if R0 eq R7   -> -127988
  0004  JMP       (jump)   -> 8
  0005  GETTABLE  R6 = R0[K0('m_mapCaller2Tip')]
  0006  SETTABLE  R6[R1] = K1(nil)
  0007  JMP       (jump)   -> 19
  0008  GETTABLE  R6 = R0[K0('m_mapCaller2Tip')]
  0009  GETTABLE  R6 = R6[R1]
  0010  EQ        if R1 eq K1(nil)   -> -127731
  0011  JMP       (jump)   -> 19
  0012  GETTABLE  R6 = R0[K0('m_mapCaller2Tip')]
  0013  GETTABLE  R6 = R6[R1]
  0014  SELF      R7 = R6[K2('Hide')] (self)
  0015  MOVE      R8 = R0
  0016  MOVE      R9 = R0
  0017  MOVE      R10 = R0
  0018  CALL      R6 = call(R6, 0 args, 4 rets)
  0019  RETURN    return R0..R-1
