# UI_UIFramework_PrefabCache_247.luac
; fn @PrefabCache.lua  line 0-0 np=0 va=1 ms=7 code=32 consts=14 upvals=1 protos=4
;   K[0]='PrefabCache'
;   K[1]='__index'
;   K[2]='UIPrefabConfigName'
;   K[3]='BadgeInnerRewardItem'
;   K[4]='AlbumPackInnerRewardItem'
;   K[5]='PdInventoryInnerRewardItem'
;   K[6]='LimitAlbumPackInnerRewardItem'
;   K[7]='FrameInnerRewardItem'
;   K[8]='AlbumCardInnerRewardItem'
;   K[9]='Awake'
;   K[10]='PrefabCache'
;   K[11]='OnSceneViewLoaded'
;   K[12]='IsPrefabCached'
;   K[13]='GetCache'
;   upvals: _ENV
;   locals: arrCacheList(19-32)
0000  NEWTABLE  R0 = {} (0 items)
0001  SETTABUP  _ENV[K0('PrefabCache')] = R0
0002  GETTABUP  R0 = _ENV[K0('PrefabCache')]
0003  GETTABUP  R1 = _ENV[K0('PrefabCache')]
0004  SETTABLE  R0[K1('__index')] = R1
0005  NEWTABLE  R0 = {} (6 items)
0006  GETTABUP  R1 = _ENV[K2('UIPrefabConfigName')]
0007  GETTABLE  R1 = R1[K3('BadgeInnerRewardItem')]
0008  GETTABUP  R2 = _ENV[K2('UIPrefabConfigName')]
0009  GETTABLE  R2 = R2[K4('AlbumPackInnerRewardItem')]
0010  GETTABUP  R3 = _ENV[K2('UIPrefabConfigName')]
0011  GETTABLE  R3 = R3[K5('PdInventoryInnerRewardItem')]
0012  GETTABUP  R4 = _ENV[K2('UIPrefabConfigName')]
0013  GETTABLE  R4 = R4[K6('LimitAlbumPackInnerRewardItem')]
0014  GETTABUP  R5 = _ENV[K2('UIPrefabConfigName')]
0015  GETTABLE  R5 = R5[K7('FrameInnerRewardItem')]
0016  GETTABUP  R6 = _ENV[K2('UIPrefabConfigName')]
0017  GETTABLE  R6 = R6[K8('AlbumCardInnerRewardItem')]
0018  SETLIST   setlist R0[B=1,C=6]
0019  GETTABUP  R1 = _ENV[K0('PrefabCache')]
0020  CLOSURE   R2 = closure proto0
0021  SETTABLE  R1[K9('Awake')] = R2
0022  GETTABUP  R1 = _ENV[K10('PrefabCache')]
0023  CLOSURE   R2 = closure proto1
0024  SETTABLE  R1[K11('OnSceneViewLoaded')] = R2
0025  GETTABUP  R1 = _ENV[K10('PrefabCache')]
0026  CLOSURE   R2 = closure proto2
0027  SETTABLE  R1[K12('IsPrefabCached')] = R2
0028  GETTABUP  R1 = _ENV[K10('PrefabCache')]
0029  CLOSURE   R2 = closure proto3
0030  SETTABLE  R1[K13('GetCache')] = R2
0031  RETURN    return R0..R-1
; ---------- proto0 [Awake] ----------
  ; fn ?  line 21-32 np=1 va=0 ms=13 code=31 consts=12 upvals=2 protos=1
  ;   K[0]='GM'
  ;   K[1]='AddSingleton'
  ;   K[2]='PrefabCache'
  ;   K[3]='m_cacheMap'
  ;   K[4]='ipairs'
  ;   K[5]='DataResource'
  ;   K[6]='UIPrefabConfig'
  ;   K[7]='GetConfig'
  ;   K[8]='ResourceLoader'
  ;   K[9]='LoadPrefab'
  ;   K[10]='m_cacheRoot'
  ;   K[11]='V3Zero'
  ;   upvals: _ENV, arrCacheList
  ;   locals: self(0-31), resConfig(8-31), (for generator)(11-30), (for state)(11-30), (for control)(11-30), _(12-28), prefabName(12-28)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  SELF      R2 = R1[K1('AddSingleton')] (self)
  0002  LOADK     R3 = K2 'PrefabCache'
  0003  MOVE      R4 = R0
  0004  CALL      R1 = call(R1, 0 args, 3 rets)
  0005  NEWTABLE  R1 = {} (0 items)
  0006  SETTABLE  R0[K3('m_cacheMap')] = R1
  0007  LOADNIL   R1..R1 = nil
  0008  GETTABUP  R2 = _ENV[K4('ipairs')]
  0009  GETUPVAL  R3 = _ENV
  0010  CALL      R2 = call(R2, 3 args, 1 rets)
  0011  JMP       (jump)   -> 28
  0012  GETTABUP  R7 = _ENV[K0('GM')]
  0013  GETTABLE  R7 = R7[K5('DataResource')]
  0014  GETTABLE  R7 = R7[K6('UIPrefabConfig')]
  0015  SELF      R8 = R7[K7('GetConfig')] (self)
  0016  MOVE      R9 = R0
  0017  CALL      R7 = call(R7, 1 args, 2 rets)
  0018  MOVE      R1 = R0
  0019  GETTABUP  R7 = _ENV[K0('GM')]
  0020  GETTABLE  R7 = R7[K8('ResourceLoader')]
  0021  SELF      R8 = R7[K9('LoadPrefab')] (self)
  0022  MOVE      R9 = R0
  0023  GETTABLE  R10 = R0[K10('m_cacheRoot')]
  0024  GETTABUP  R11 = _ENV[K11('V3Zero')]
  0025  CLOSURE   R12 = closure proto0
  0026  CALL      R7 = call(R7, 0 args, 5 rets)
  0027  JMP       (jump)   -> 28
  0028  TFORCALL  tforcall R2
  0029  TFORLOOP  tforloop R4(sBx=-18)   -> 12
  0030  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 28-30 np=1 va=0 ms=3 code=4 consts=1 upvals=2 protos=0
    ;   K[0]='m_cacheMap'
    ;   upvals: self, prefabName
    ;   locals: go(0-4)
    0000  GETTABUP  R1 = self[K0('m_cacheMap')]
    0001  GETUPVAL  R2 = self
    0002  SETTABLE  R1[R2] = R0
    0003  RETURN    return R0..R-1
; ---------- proto1 [OnSceneViewLoaded] ----------
  ; fn ?  line 34-45 np=1 va=0 ms=10 code=29 consts=9 upvals=2 protos=0
  ;   K[0]='ipairs'
  ;   K[1]='IsPrefabCached'
  ;   K[2]=1
  ;   K[3]='Log'
  ;   K[4]='Error'
  ;   K[5]='PrefabCache 缓存失败：'
  ;   K[6]='table'
  ;   K[7]='concat'
  ;   K[8]=','
  ;   upvals: _ENV, arrCacheList
  ;   locals: self(0-29), arrCacheFailed(1-29), (for generator)(4-15), (for state)(4-15), (for control)(4-15), _(5-13), prefabName(5-13)
  0000  NEWTABLE  R1 = {} (0 items)
  0001  GETTABUP  R2 = _ENV[K0('ipairs')]
  0002  GETUPVAL  R3 = _ENV
  0003  CALL      R2 = call(R2, 3 args, 1 rets)
  0004  JMP       (jump)   -> 13
  0005  SELF      R8 = R0[K1('IsPrefabCached')] (self)
  0006  MOVE      R9 = R0
  0007  CALL      R7 = call(R7, 1 args, 2 rets)
  0008  TEST      if not R7 then   -> -131061
  0009  JMP       (jump)   -> 13
  0010  LEN       R7 = len R0
  0011  ADD       R7 = K2(1) add R7
  0012  SETTABLE  R1[R7] = R6
  0013  TFORCALL  tforcall R2
  0014  TFORLOOP  tforloop R4(sBx=-10)   -> 5
  0015  GETTABLE  R2 = R1[K2(1)]
  0016  TEST      if not R2 then   -> -131054
  0017  JMP       (jump)   -> 28
  0018  GETTABUP  R2 = _ENV[K3('Log')]
  0019  GETTABLE  R2 = R2[K4('Error')]
  0020  LOADK     R3 = K5 'PrefabCache 缓存失败：'
  0021  GETTABUP  R4 = _ENV[K6('table')]
  0022  GETTABLE  R4 = R4[K7('concat')]
  0023  MOVE      R5 = R0
  0024  LOADK     R6 = K8 ','
  0025  CALL      R4 = call(R4, 1 args, 2 rets)
  0026  CONCAT    R3 = concat(R3..R3)
  0027  CALL      R2 = call(R2, 0 args, 1 rets)
  0028  RETURN    return R0..R-1
; ---------- proto2 [IsPrefabCached] ----------
  ; fn ?  line 47-49 np=2 va=0 ms=3 code=11 consts=2 upvals=0 protos=0
  ;   K[0]='m_cacheMap'
  ;   K[1]=nil
  ;   locals: self(0-11), prefabName(0-11)
  0000  GETTABLE  R2 = R0[K0('m_cacheMap')]
  0001  TEST      if not R2 then   -> -131069
  0002  JMP       (jump)   -> 9
  0003  GETTABLE  R2 = R0[K0('m_cacheMap')]
  0004  GETTABLE  R2 = R2[R1]
  0005  EQ        if R0 eq K1(nil)   -> -129784
  0006  JMP       (jump)   -> 8
  0007  LOADBOOL  R2 = false
  0008  LOADBOOL  R2 = true
  0009  RETURN    return R2..R1
  0010  RETURN    return R0..R-1
; ---------- proto3 [GetCache] ----------
  ; fn ?  line 51-53 np=2 va=0 ms=3 code=7 consts=1 upvals=0 protos=0
  ;   K[0]='m_cacheMap'
  ;   locals: self(0-7), prefabName(0-7)
  0000  GETTABLE  R2 = R0[K0('m_cacheMap')]
  0001  TEST      if not R2 then   -> -131069
  0002  JMP       (jump)   -> 5
  0003  GETTABLE  R2 = R0[K0('m_cacheMap')]
  0004  GETTABLE  R2 = R2[R1]
  0005  RETURN    return R2..R1
  0006  RETURN    return R0..R-1
