# UI_Window_Shop_ShopCellItem_500.luac
; fn @ShopCellItem.lua  line 0-0 np=0 va=1 ms=4 code=38 consts=15 upvals=1 protos=7
;   K[0]='ShopCellItem'
;   K[1]='setmetatable'
;   K[2]='BaseShopCell'
;   K[3]='__index'
;   K[4]='UIUtil'
;   K[5]='ConvertHexColor2CSColor'
;   K[6]='067461'
;   K[7]='8B4E26'
;   K[8]='UpdateContent'
;   K[9]='UpdateSortingOrder'
;   K[10]='OnClose'
;   K[11]='OnDetailClick'
;   K[12]='GetFreeBtnGo'
;   K[13]='GetLeftCount'
;   K[14]='GetDetailButton'
;   upvals: _ENV
;   locals: textColorOnGreenBg(12-38), textColorOnNormalBg(16-38)
0000  GETTABUP  R0 = _ENV[K1('setmetatable')]
0001  NEWTABLE  R1 = {} (0 items)
0002  GETTABUP  R2 = _ENV[K2('BaseShopCell')]
0003  CALL      R0 = call(R0, 1 args, 2 rets)
0004  SETTABUP  _ENV[K0('ShopCellItem')] = R0
0005  GETTABUP  R0 = _ENV[K0('ShopCellItem')]
0006  GETTABUP  R1 = _ENV[K0('ShopCellItem')]
0007  SETTABLE  R0[K3('__index')] = R1
0008  GETTABUP  R0 = _ENV[K4('UIUtil')]
0009  GETTABLE  R0 = R0[K5('ConvertHexColor2CSColor')]
0010  LOADK     R1 = K6 '067461'
0011  CALL      R0 = call(R0, 1 args, 1 rets)
0012  GETTABUP  R1 = _ENV[K4('UIUtil')]
0013  GETTABLE  R1 = R1[K5('ConvertHexColor2CSColor')]
0014  LOADK     R2 = K7 '8B4E26'
0015  CALL      R1 = call(R1, 1 args, 1 rets)
0016  GETTABUP  R2 = _ENV[K0('ShopCellItem')]
0017  CLOSURE   R3 = closure proto0
0018  SETTABLE  R2[K8('UpdateContent')] = R3
0019  GETTABUP  R2 = _ENV[K0('ShopCellItem')]
0020  CLOSURE   R3 = closure proto1
0021  SETTABLE  R2[K9('UpdateSortingOrder')] = R3
0022  GETTABUP  R2 = _ENV[K0('ShopCellItem')]
0023  CLOSURE   R3 = closure proto2
0024  SETTABLE  R2[K10('OnClose')] = R3
0025  GETTABUP  R2 = _ENV[K0('ShopCellItem')]
0026  CLOSURE   R3 = closure proto3
0027  SETTABLE  R2[K11('OnDetailClick')] = R3
0028  GETTABUP  R2 = _ENV[K0('ShopCellItem')]
0029  CLOSURE   R3 = closure proto4
0030  SETTABLE  R2[K12('GetFreeBtnGo')] = R3
0031  GETTABUP  R2 = _ENV[K0('ShopCellItem')]
0032  CLOSURE   R3 = closure proto5
0033  SETTABLE  R2[K13('GetLeftCount')] = R3
0034  GETTABUP  R2 = _ENV[K0('ShopCellItem')]
0035  CLOSURE   R3 = closure proto6
0036  SETTABLE  R2[K14('GetDetailButton')] = R3
0037  RETURN    return R0..R-1
; ---------- proto0 [UpdateContent] ----------
  ; fn ?  line 15-71 np=2 va=0 ms=8 code=188 consts=51 upvals=3 protos=1
  ;   K[0]='BaseShopCell'
  ;   K[1]='UpdateContent'
  ;   K[2]='m_itemCode'
  ;   K[3]='Code'
  ;   K[4]='m_iconImg'
  ;   K[5]='gameObject'
  ;   K[6]='SetActive'
  ;   K[7]='GM'
  ;   K[8]='ItemDataModel'
  ;   K[9]='GetSpriteName'
  ;   K[10]='SpriteUtil'
  ;   K[11]='SetImage'
  ;   K[12]='Count'
  ;   K[13]=0
  ;   K[14]='m_iconImg'
  ;   K[15]='DOFade'
  ;   K[16]=1
  ;   K[17]=0.4
  ;   K[18]='m_buttonGo'
  ;   K[19]='SetActive'
  ;   K[20]='m_outofStockGo'
  ;   K[21]='m_effectGo'
  ;   K[22]='m_descText'
  ;   K[23]='gameObject'
  ;   K[24]='color'
  ;   K[25]='bShowBgGreen'
  ;   K[26]='m_bgGreenGo'
  ;   K[27]=nil
  ;   K[28]='m_bgNormalGo'
  ;   K[29]='text'
  ;   K[30]='GameTextModel'
  ;   K[31]='GetText'
  ;   K[32]='shop_item_left_tip'
  ;   K[33]='IsNumber'
  ;   K[34]='Price'
  ;   K[35]='Log'
  ;   K[36]='Error'
  ;   K[37]='tostring'
  ;   K[38]=' 没有价格！'
  ;   K[39]='m_propertyButton'
  ;   K[40]='m_freeButton'
  ;   K[41]='Init'
  ;   K[42]='gem'
  ;   K[43]='m_callback'
  ;   K[44]='m_redTagGo'
  ;   K[45]='RedTag'
  ;   K[46]='IsString'
  ;   K[47]='m_redTagText'
  ;   K[48]='m_purpleTagGo'
  ;   K[49]='PurpleTag'
  ;   K[50]='m_purpleTagText'
  ;   upvals: _ENV, textColorOnGreenBg, textColorOnNormalBg
  ;   locals: self(0-188), data(0-188), spriteName(21-28), hasStock(33-188)
  0000  GETTABUP  R2 = _ENV[K0('BaseShopCell')]
  0001  GETTABLE  R2 = R2[K1('UpdateContent')]
  0002  MOVE      R3 = R0
  0003  MOVE      R4 = R0
  0004  CALL      R2 = call(R2, 0 args, 2 rets)
  0005  GETTABLE  R2 = R0[K2('m_itemCode')]
  0006  GETTABLE  R3 = R1[K3('Code')]
  0007  EQ        if R1 eq R3   -> -130036
  0008  JMP       (jump)   -> 28
  0009  GETTABLE  R2 = R1[K3('Code')]
  0010  SETTABLE  R0[K2('m_itemCode')] = R2
  0011  GETTABLE  R2 = R0[K4('m_iconImg')]
  0012  GETTABLE  R2 = R2[K5('gameObject')]
  0013  SELF      R3 = R2[K6('SetActive')] (self)
  0014  LOADBOOL  R4 = false
  0015  CALL      R2 = call(R2, 0 args, 2 rets)
  0016  GETTABUP  R2 = _ENV[K7('GM')]
  0017  GETTABLE  R2 = R2[K8('ItemDataModel')]
  0018  SELF      R3 = R2[K9('GetSpriteName')] (self)
  0019  GETTABLE  R4 = R1[K3('Code')]
  0020  CALL      R2 = call(R2, 1 args, 2 rets)
  0021  GETTABUP  R3 = _ENV[K10('SpriteUtil')]
  0022  GETTABLE  R3 = R3[K11('SetImage')]
  0023  GETTABLE  R4 = R0[K4('m_iconImg')]
  0024  MOVE      R5 = R0
  0025  LOADBOOL  R6 = true
  0026  CLOSURE   R7 = closure proto0
  0027  CALL      R3 = call(R3, 0 args, 4 rets)
  0028  GETTABLE  R2 = R1[K12('Count')]
  0029  LT        if R1 lt R2   -> 6689
  0030  JMP       (jump)   -> 32
  0031  LOADBOOL  R2 = false
  0032  LOADBOOL  R2 = true
  0033  GETTABLE  R3 = R0[K14('m_iconImg')]
  0034  SELF      R4 = R3[K15('DOFade')] (self)
  0035  TEST      if not R2 then   -> -131035
  0036  JMP       (jump)   -> 40
  0037  LOADK     R5 = K16 1
  0038  TEST      if not R5 then   -> -131031
  0039  JMP       (jump)   -> 41
  0040  LOADK     R5 = K17 0.4
  0041  LOADK     R6 = K13 0
  0042  CALL      R3 = call(R3, 0 args, 3 rets)
  0043  GETTABLE  R3 = R0[K18('m_buttonGo')]
  0044  SELF      R4 = R3[K19('SetActive')] (self)
  0045  MOVE      R5 = R0
  0046  CALL      R3 = call(R3, 0 args, 2 rets)
  0047  GETTABLE  R3 = R0[K20('m_outofStockGo')]
  0048  SELF      R4 = R3[K19('SetActive')] (self)
  0049  NOT       R5 = not R0
  0050  CALL      R3 = call(R3, 0 args, 2 rets)
  0051  GETTABLE  R3 = R0[K21('m_effectGo')]
  0052  SELF      R4 = R3[K19('SetActive')] (self)
  0053  MOVE      R5 = R0
  0054  CALL      R3 = call(R3, 0 args, 2 rets)
  0055  GETTABLE  R3 = R0[K22('m_descText')]
  0056  GETTABLE  R3 = R3[K23('gameObject')]
  0057  SELF      R4 = R3[K19('SetActive')] (self)
  0058  MOVE      R5 = R0
  0059  CALL      R3 = call(R3, 0 args, 2 rets)
  0060  GETTABLE  R3 = R0[K22('m_descText')]
  0061  GETTABLE  R4 = R1[K25('bShowBgGreen')]
  0062  TEST      if not R4 then   -> -131008
  0063  JMP       (jump)   -> 67
  0064  GETUPVAL  R4 = _ENV
  0065  TEST      if not R4 then   -> -131004
  0066  JMP       (jump)   -> 68
  0067  GETUPVAL  R4 = _ENV
  0068  SETTABLE  R3[K24('color')] = R4
  0069  GETTABLE  R3 = R0[K26('m_bgGreenGo')]
  0070  EQ        if R1 eq K27(nil)   -> -129181
  0071  JMP       (jump)   -> 81
  0072  GETTABLE  R3 = R0[K26('m_bgGreenGo')]
  0073  SELF      R4 = R3[K19('SetActive')] (self)
  0074  GETTABLE  R5 = R1[K25('bShowBgGreen')]
  0075  CALL      R3 = call(R3, 0 args, 2 rets)
  0076  GETTABLE  R3 = R0[K28('m_bgNormalGo')]
  0077  SELF      R4 = R3[K19('SetActive')] (self)
  0078  GETTABLE  R5 = R1[K25('bShowBgGreen')]
  0079  NOT       R5 = not R0
  0080  CALL      R3 = call(R3, 0 args, 2 rets)
  0081  TEST      if not R2 then   -> -130989
  0082  JMP       (jump)   -> 179
  0083  GETTABLE  R3 = R0[K22('m_descText')]
  0084  GETTABUP  R4 = _ENV[K7('GM')]
  0085  GETTABLE  R4 = R4[K30('GameTextModel')]
  0086  SELF      R5 = R4[K31('GetText')] (self)
  0087  LOADK     R6 = K32 'shop_item_left_tip'
  0088  GETTABLE  R7 = R1[K12('Count')]
  0089  CALL      R4 = call(R4, 1 args, 3 rets)
  0090  SETTABLE  R3[K29('text')] = R4
  0091  GETTABUP  R3 = _ENV[K33('IsNumber')]
  0092  GETTABLE  R4 = R1[K34('Price')]
  0093  CALL      R3 = call(R3, 1 args, 1 rets)
  0094  TEST      if not R3 then   -> -130975
  0095  JMP       (jump)   -> 105
  0096  GETTABUP  R3 = _ENV[K35('Log')]
  0097  GETTABLE  R3 = R3[K36('Error')]
  0098  GETTABUP  R4 = _ENV[K37('tostring')]
  0099  GETTABLE  R5 = R1[K3('Code')]
  0100  CALL      R4 = call(R4, 1 args, 1 rets)
  0101  LOADK     R5 = K38 ' 没有价格！'
  0102  CONCAT    R4 = concat(R4..R4)
  0103  CALL      R3 = call(R3, 0 args, 1 rets)
  0104  SETTABLE  R1[K34('Price')] = K13(0)
  0105  GETTABLE  R3 = R0[K39('m_propertyButton')]
  0106  GETTABLE  R3 = R3[K23('gameObject')]
  0107  SELF      R4 = R3[K19('SetActive')] (self)
  0108  GETTABLE  R5 = R1[K34('Price')]
  0109  LT        if R1 lt R5   -> 6772
  0110  JMP       (jump)   -> 112
  0111  LOADBOOL  R5 = false
  0112  LOADBOOL  R5 = true
  0113  CALL      R3 = call(R3, 0 args, 2 rets)
  0114  GETTABLE  R3 = R0[K40('m_freeButton')]
  0115  GETTABLE  R3 = R3[K23('gameObject')]
  0116  SELF      R4 = R3[K19('SetActive')] (self)
  0117  GETTABLE  R5 = R1[K34('Price')]
  0118  EQ        if R1 eq K13(0)   -> -128123
  0119  JMP       (jump)   -> 121
  0120  LOADBOOL  R5 = false
  0121  LOADBOOL  R5 = true
  0122  CALL      R3 = call(R3, 0 args, 2 rets)
  0123  GETTABLE  R3 = R1[K34('Price')]
  0124  LT        if R0 lt R3   -> 6785
  0125  JMP       (jump)   -> 133
  0126  GETTABLE  R3 = R0[K39('m_propertyButton')]
  0127  SELF      R4 = R3[K41('Init')] (self)
  0128  LOADK     R5 = K42 'gem'
  0129  GETTABLE  R6 = R1[K34('Price')]
  0130  GETTABLE  R7 = R0[K43('m_callback')]
  0131  CALL      R3 = call(R3, 0 args, 4 rets)
  0132  JMP       (jump)   -> 138
  0133  GETTABLE  R3 = R0[K40('m_freeButton')]
  0134  SELF      R4 = R3[K41('Init')] (self)
  0135  LOADNIL   R5..R5 = nil
  0136  GETTABLE  R6 = R0[K43('m_callback')]
  0137  CALL      R3 = call(R3, 0 args, 3 rets)
  0138  GETTABLE  R3 = R0[K44('m_redTagGo')]
  0139  SELF      R4 = R3[K19('SetActive')] (self)
  0140  GETTABLE  R5 = R1[K45('RedTag')]
  0141  EQ        if R0 eq K27(nil)   -> -128086
  0142  JMP       (jump)   -> 144
  0143  LOADBOOL  R5 = false
  0144  LOADBOOL  R5 = true
  0145  CALL      R3 = call(R3, 0 args, 2 rets)
  0146  GETTABUP  R3 = _ENV[K46('IsString')]
  0147  GETTABLE  R4 = R1[K45('RedTag')]
  0148  CALL      R3 = call(R3, 1 args, 1 rets)
  0149  TEST      if not R3 then   -> -130921
  0150  JMP       (jump)   -> 158
  0151  GETTABLE  R3 = R0[K47('m_redTagText')]
  0152  GETTABUP  R4 = _ENV[K7('GM')]
  0153  GETTABLE  R4 = R4[K30('GameTextModel')]
  0154  SELF      R5 = R4[K31('GetText')] (self)
  0155  GETTABLE  R6 = R1[K45('RedTag')]
  0156  CALL      R4 = call(R4, 1 args, 2 rets)
  0157  SETTABLE  R3[K29('text')] = R4
  0158  GETTABLE  R3 = R0[K48('m_purpleTagGo')]
  0159  SELF      R4 = R3[K19('SetActive')] (self)
  0160  GETTABLE  R5 = R1[K49('PurpleTag')]
  0161  EQ        if R0 eq K27(nil)   -> -128066
  0162  JMP       (jump)   -> 164
  0163  LOADBOOL  R5 = false
  0164  LOADBOOL  R5 = true
  0165  CALL      R3 = call(R3, 0 args, 2 rets)
  0166  GETTABUP  R3 = _ENV[K46('IsString')]
  0167  GETTABLE  R4 = R1[K49('PurpleTag')]
  0168  CALL      R3 = call(R3, 1 args, 1 rets)
  0169  TEST      if not R3 then   -> -130901
  0170  JMP       (jump)   -> 187
  0171  GETTABLE  R3 = R0[K50('m_purpleTagText')]
  0172  GETTABUP  R4 = _ENV[K7('GM')]
  0173  GETTABLE  R4 = R4[K30('GameTextModel')]
  0174  SELF      R5 = R4[K31('GetText')] (self)
  0175  GETTABLE  R6 = R1[K49('PurpleTag')]
  0176  CALL      R4 = call(R4, 1 args, 2 rets)
  0177  SETTABLE  R3[K29('text')] = R4
  0178  JMP       (jump)   -> 187
  0179  GETTABLE  R3 = R0[K44('m_redTagGo')]
  0180  SELF      R4 = R3[K19('SetActive')] (self)
  0181  LOADBOOL  R5 = false
  0182  CALL      R3 = call(R3, 0 args, 2 rets)
  0183  GETTABLE  R3 = R0[K48('m_purpleTagGo')]
  0184  SELF      R4 = R3[K19('SetActive')] (self)
  0185  LOADBOOL  R5 = false
  0186  CALL      R3 = call(R3, 0 args, 2 rets)
  0187  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 23-25 np=0 va=0 ms=3 code=6 consts=3 upvals=1 protos=0
    ;   K[0]='m_iconImg'
    ;   K[1]='gameObject'
    ;   K[2]='SetActive'
    ;   upvals: self
    0000  GETTABUP  R0 = self[K0('m_iconImg')]
    0001  GETTABLE  R0 = R0[K1('gameObject')]
    0002  SELF      R1 = R0[K2('SetActive')] (self)
    0003  LOADBOOL  R2 = true
    0004  CALL      R0 = call(R0, 0 args, 2 rets)
    0005  RETURN    return R0..R-1
; ---------- proto1 [UpdateSortingOrder] ----------
  ; fn ?  line 73-75 np=2 va=0 ms=5 code=6 consts=4 upvals=1 protos=0
  ;   K[0]='UIUtil'
  ;   K[1]='UpdateSortingOrder'
  ;   K[2]='m_effectGo'
  ;   K[3]=1
  ;   upvals: _ENV
  ;   locals: self(0-6), sortingOrder(0-6)
  0000  GETTABUP  R2 = _ENV[K0('UIUtil')]
  0001  GETTABLE  R2 = R2[K1('UpdateSortingOrder')]
  0002  GETTABLE  R3 = R0[K2('m_effectGo')]
  0003  ADD       R4 = K3(1) add R1
  0004  CALL      R2 = call(R2, 0 args, 2 rets)
  0005  RETURN    return R0..R-1
; ---------- proto2 [OnClose] ----------
  ; fn ?  line 77-79 np=1 va=0 ms=4 code=5 consts=2 upvals=0 protos=0
  ;   K[0]='m_effectGo'
  ;   K[1]='SetActive'
  ;   locals: self(0-5)
  0000  GETTABLE  R1 = R0[K0('m_effectGo')]
  0001  SELF      R2 = R1[K1('SetActive')] (self)
  0002  LOADBOOL  R3 = false
  0003  CALL      R1 = call(R1, 0 args, 2 rets)
  0004  RETURN    return R0..R-1
; ---------- proto3 [OnDetailClick] ----------
  ; fn ?  line 81-83 np=1 va=0 ms=5 code=9 consts=7 upvals=1 protos=0
  ;   K[0]='ItemDetailWindow'
  ;   K[1]='Open'
  ;   K[2]='m_itemCode'
  ;   K[3]='ItemDetailWindowMode'
  ;   K[4]='Normal'
  ;   K[5]='EItemDetailWindowRefer'
  ;   K[6]='Shop'
  ;   upvals: _ENV
  ;   locals: self(0-9)
  0000  GETTABUP  R1 = _ENV[K0('ItemDetailWindow')]
  0001  GETTABLE  R1 = R1[K1('Open')]
  0002  GETTABLE  R2 = R0[K2('m_itemCode')]
  0003  GETTABUP  R3 = _ENV[K3('ItemDetailWindowMode')]
  0004  GETTABLE  R3 = R3[K4('Normal')]
  0005  GETTABUP  R4 = _ENV[K5('EItemDetailWindowRefer')]
  0006  GETTABLE  R4 = R4[K6('Shop')]
  0007  CALL      R1 = call(R1, 0 args, 3 rets)
  0008  RETURN    return R0..R-1
; ---------- proto4 [GetFreeBtnGo] ----------
  ; fn ?  line 86-88 np=1 va=0 ms=2 code=4 consts=2 upvals=0 protos=0
  ;   K[0]='m_freeButton'
  ;   K[1]='gameObject'
  ;   locals: self(0-4)
  0000  GETTABLE  R1 = R0[K0('m_freeButton')]
  0001  GETTABLE  R1 = R1[K1('gameObject')]
  0002  RETURN    return R1..R0
  0003  RETURN    return R0..R-1
; ---------- proto5 [GetLeftCount] ----------
  ; fn ?  line 90-92 np=1 va=0 ms=2 code=7 consts=3 upvals=0 protos=0
  ;   K[0]='m_data'
  ;   K[1]='Count'
  ;   K[2]=0
  ;   locals: self(0-7)
  0000  GETTABLE  R1 = R0[K0('m_data')]
  0001  GETTABLE  R1 = R1[K1('Count')]
  0002  TEST      if not R1 then   -> -131067
  0003  JMP       (jump)   -> 5
  0004  LOADK     R1 = K2 0
  0005  RETURN    return R1..R0
  0006  RETURN    return R0..R-1
; ---------- proto6 [GetDetailButton] ----------
  ; fn ?  line 94-96 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_detailBtn'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_detailBtn')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
