# Model_Timeline_TimelineExecuter_218.luac
; fn @TimelineExecuter.lua  line 0-0 np=0 va=1 ms=4 code=63 consts=13 upvals=1 protos=12
;   K[0]='TimelineExecuter'
;   K[1]='ETimelineAction'
;   K[2]='SlotActions'
;   K[3]='ExecuteFunc'
;   K[4]='StopFunc'
;   K[5]='SlotAnimator'
;   K[6]='SlotSpines'
;   K[7]='Plot'
;   K[8]='CameraMove'
;   K[9]='RoleAction'
;   K[10]='ConstructionAudio'
;   K[11]='Cover'
;   K[12]='CoverNode'
;   upvals: _ENV
0000  NEWTABLE  R0 = {} (0 items)
0001  GETTABUP  R1 = _ENV[K1('ETimelineAction')]
0002  GETTABLE  R1 = R1[K2('SlotActions')]
0003  NEWTABLE  R2 = {} (0 items)
0004  CLOSURE   R3 = closure proto0
0005  SETTABLE  R2[K3('ExecuteFunc')] = R3
0006  CLOSURE   R3 = closure proto1
0007  SETTABLE  R2[K4('StopFunc')] = R3
0008  SETTABLE  R0[R1] = R2
0009  GETTABUP  R1 = _ENV[K1('ETimelineAction')]
0010  GETTABLE  R1 = R1[K5('SlotAnimator')]
0011  NEWTABLE  R2 = {} (0 items)
0012  CLOSURE   R3 = closure proto2
0013  SETTABLE  R2[K3('ExecuteFunc')] = R3
0014  CLOSURE   R3 = closure proto3
0015  SETTABLE  R2[K4('StopFunc')] = R3
0016  SETTABLE  R0[R1] = R2
0017  GETTABUP  R1 = _ENV[K1('ETimelineAction')]
0018  GETTABLE  R1 = R1[K6('SlotSpines')]
0019  NEWTABLE  R2 = {} (0 items)
0020  CLOSURE   R3 = closure proto4
0021  SETTABLE  R2[K3('ExecuteFunc')] = R3
0022  CLOSURE   R3 = closure proto5
0023  SETTABLE  R2[K4('StopFunc')] = R3
0024  SETTABLE  R0[R1] = R2
0025  GETTABUP  R1 = _ENV[K1('ETimelineAction')]
0026  GETTABLE  R1 = R1[K7('Plot')]
0027  NEWTABLE  R2 = {} (0 items)
0028  CLOSURE   R3 = closure proto6
0029  SETTABLE  R2[K3('ExecuteFunc')] = R3
0030  SETTABLE  R0[R1] = R2
0031  GETTABUP  R1 = _ENV[K1('ETimelineAction')]
0032  GETTABLE  R1 = R1[K8('CameraMove')]
0033  NEWTABLE  R2 = {} (0 items)
0034  CLOSURE   R3 = closure proto7
0035  SETTABLE  R2[K3('ExecuteFunc')] = R3
0036  SETTABLE  R0[R1] = R2
0037  GETTABUP  R1 = _ENV[K1('ETimelineAction')]
0038  GETTABLE  R1 = R1[K9('RoleAction')]
0039  NEWTABLE  R2 = {} (0 items)
0040  CLOSURE   R3 = closure proto8
0041  SETTABLE  R2[K3('ExecuteFunc')] = R3
0042  SETTABLE  R0[R1] = R2
0043  GETTABUP  R1 = _ENV[K1('ETimelineAction')]
0044  GETTABLE  R1 = R1[K10('ConstructionAudio')]
0045  NEWTABLE  R2 = {} (0 items)
0046  CLOSURE   R3 = closure proto9
0047  SETTABLE  R2[K3('ExecuteFunc')] = R3
0048  SETTABLE  R0[R1] = R2
0049  GETTABUP  R1 = _ENV[K1('ETimelineAction')]
0050  GETTABLE  R1 = R1[K11('Cover')]
0051  NEWTABLE  R2 = {} (0 items)
0052  CLOSURE   R3 = closure proto10
0053  SETTABLE  R2[K3('ExecuteFunc')] = R3
0054  SETTABLE  R0[R1] = R2
0055  GETTABUP  R1 = _ENV[K1('ETimelineAction')]
0056  GETTABLE  R1 = R1[K12('CoverNode')]
0057  NEWTABLE  R2 = {} (0 items)
0058  CLOSURE   R3 = closure proto11
0059  SETTABLE  R2[K3('ExecuteFunc')] = R3
0060  SETTABLE  R0[R1] = R2
0061  SETTABUP  _ENV[K0('TimelineExecuter')] = R0
0062  RETURN    return R0..R-1
; ---------- proto0 [ExecuteFunc] ----------
  ; fn ?  line 6-87 np=3 va=0 ms=24 code=121 consts=34 upvals=1 protos=6
  ;   K[0]='GM'
  ;   K[1]='ChapterManager'
  ;   K[2]='GetActiveRoomView'
  ;   K[3]='slotId'
  ;   K[4]='GetFinalState'
  ;   K[5]='arrSlotActions'
  ;   K[6]=0
  ;   K[7]='changeDelay'
  ;   K[8]='DelayExecuteFuncInView'
  ;   K[9]='ipairs'
  ;   K[10]='arrSlotActions'
  ;   K[11]='eSlotAnimationType'
  ;   K[12]='ESlotAnimationType'
  ;   K[13]='Trans'
  ;   K[14]='PlayTransAnimation'
  ;   K[15]='animationConfig'
  ;   K[16]='delay'
  ;   K[17]='Effect'
  ;   K[18]='PlayEffectOnSlot'
  ;   K[19]='Place'
  ;   K[20]='PlayPlaceAnimation'
  ;   K[21]='CameraShake'
  ;   K[22]='ShakeCamera'
  ;   K[23]='duration'
  ;   K[24]='Window'
  ;   K[25]='UIPrefabConfigName'
  ;   K[26]='HasConfig'
  ;   K[27]='UIManager'
  ;   K[28]='OpenView'
  ;   K[29]='Log'
  ;   K[30]='Error'
  ;   K[31]='slotAction 尝试打开的弹窗不存在：'
  ;   K[32]='tostring'
  ;   K[33]='，请资源策划检查！'
  ;   upvals: _ENV
  ;   locals: timelineData(0-121), stepData(0-121), onFinish(0-121), roomView(4-121), slotId(5-121), state(8-121), hasChanged(9-121), changeAfterAnimation(10-121), totalCount(12-121), finishedCount(13-121), changeState(14-121), funcOnAnimationEnd(25-121), (for generator)(28-109), (for state)(28-109), (for control)(28-109), _(29-107), actionData(29-107)
  0000  GETTABUP  R3 = _ENV[K0('GM')]
  0001  GETTABLE  R3 = R3[K1('ChapterManager')]
  0002  SELF      R4 = R3[K2('GetActiveRoomView')] (self)
  0003  CALL      R3 = call(R3, 1 args, 1 rets)
  0004  GETTABLE  R4 = R1[K3('slotId')]
  0005  SELF      R6 = R1[K4('GetFinalState')] (self)
  0006  MOVE      R7 = R0
  0007  CALL      R5 = call(R5, 1 args, 2 rets)
  0008  LOADBOOL  R6 = false
  0009  LOADBOOL  R7 = false
  0010  GETTABLE  R8 = R1[K5('arrSlotActions')]
  0011  LEN       R8 = len R0
  0012  LOADK     R9 = K6 0
  0013  CLOSURE   R10 = closure proto0
  0014  GETTABLE  R11 = R1[K7('changeDelay')]
  0015  LT        if R0 lt R11   -> 3100
  0016  JMP       (jump)   -> 23
  0017  GETTABUP  R11 = _ENV[K8('DelayExecuteFuncInView')]
  0018  CLOSURE   R12 = closure proto1
  0019  GETTABLE  R13 = R1[K7('changeDelay')]
  0020  MOVE      R14 = R0
  0021  CALL      R11 = call(R11, 0 args, 3 rets)
  0022  JMP       (jump)   -> 24
  0023  LOADBOOL  R7 = true
  0024  CLOSURE   R11 = closure proto2
  0025  GETTABUP  R12 = _ENV[K9('ipairs')]
  0026  GETTABLE  R13 = R1[K10('arrSlotActions')]
  0027  CALL      R12 = call(R12, 3 args, 1 rets)
  0028  JMP       (jump)   -> 107
  0029  GETTABLE  R17 = R16[K11('eSlotAnimationType')]
  0030  GETTABUP  R18 = _ENV[K12('ESlotAnimationType')]
  0031  GETTABLE  R18 = R18[K13('Trans')]
  0032  EQ        if R0 eq R18   -> -122316
  0033  JMP       (jump)   -> 41
  0034  SELF      R18 = R3[K14('PlayTransAnimation')] (self)
  0035  MOVE      R19 = R0
  0036  GETTABLE  R20 = R16[K15('animationConfig')]
  0037  CLOSURE   R21 = closure proto3
  0038  GETTABLE  R22 = R16[K16('delay')]
  0039  CALL      R17 = call(R17, 0 args, 5 rets)
  0040  JMP       (jump)   -> 107
  0041  GETTABLE  R17 = R16[K11('eSlotAnimationType')]
  0042  GETTABUP  R18 = _ENV[K12('ESlotAnimationType')]
  0043  GETTABLE  R18 = R18[K17('Effect')]
  0044  EQ        if R0 eq R18   -> -122304
  0045  JMP       (jump)   -> 53
  0046  SELF      R18 = R3[K18('PlayEffectOnSlot')] (self)
  0047  MOVE      R19 = R0
  0048  GETTABLE  R20 = R16[K15('animationConfig')]
  0049  CLOSURE   R21 = closure proto4
  0050  GETTABLE  R22 = R16[K16('delay')]
  0051  CALL      R17 = call(R17, 0 args, 5 rets)
  0052  JMP       (jump)   -> 107
  0053  GETTABLE  R17 = R16[K11('eSlotAnimationType')]
  0054  GETTABUP  R18 = _ENV[K12('ESlotAnimationType')]
  0055  GETTABLE  R18 = R18[K19('Place')]
  0056  EQ        if R0 eq R18   -> -122292
  0057  JMP       (jump)   -> 66
  0058  SELF      R18 = R3[K20('PlayPlaceAnimation')] (self)
  0059  MOVE      R19 = R0
  0060  GETTABLE  R20 = R16[K15('animationConfig')]
  0061  MOVE      R21 = R0
  0062  CLOSURE   R22 = closure proto5
  0063  GETTABLE  R23 = R16[K16('delay')]
  0064  CALL      R17 = call(R17, 0 args, 6 rets)
  0065  JMP       (jump)   -> 107
  0066  GETTABLE  R17 = R16[K11('eSlotAnimationType')]
  0067  GETTABUP  R18 = _ENV[K12('ESlotAnimationType')]
  0068  GETTABLE  R18 = R18[K21('CameraShake')]
  0069  EQ        if R0 eq R18   -> -122279
  0070  JMP       (jump)   -> 78
  0071  SELF      R18 = R3[K22('ShakeCamera')] (self)
  0072  GETTABLE  R19 = R16[K15('animationConfig')]
  0073  GETTABLE  R20 = R16[K16('delay')]
  0074  GETTABLE  R21 = R16[K23('duration')]
  0075  MOVE      R22 = R0
  0076  CALL      R17 = call(R17, 0 args, 5 rets)
  0077  JMP       (jump)   -> 107
  0078  GETTABLE  R17 = R16[K11('eSlotAnimationType')]
  0079  GETTABUP  R18 = _ENV[K12('ESlotAnimationType')]
  0080  GETTABLE  R18 = R18[K24('Window')]
  0081  EQ        if R0 eq R18   -> -122267
  0082  JMP       (jump)   -> 107
  0083  GETTABUP  R17 = _ENV[K25('UIPrefabConfigName')]
  0084  GETTABLE  R17 = R17[K26('HasConfig')]
  0085  GETTABLE  R18 = R16[K15('animationConfig')]
  0086  CALL      R17 = call(R17, 1 args, 1 rets)
  0087  TEST      if not R17 then   -> -130983
  0088  JMP       (jump)   -> 96
  0089  GETTABUP  R17 = _ENV[K0('GM')]
  0090  GETTABLE  R17 = R17[K27('UIManager')]
  0091  SELF      R18 = R17[K28('OpenView')] (self)
  0092  GETTABLE  R19 = R16[K15('animationConfig')]
  0093  MOVE      R20 = R0
  0094  CALL      R17 = call(R17, 0 args, 3 rets)
  0095  JMP       (jump)   -> 107
  0096  GETTABUP  R17 = _ENV[K29('Log')]
  0097  GETTABLE  R17 = R17[K30('Error')]
  0098  LOADK     R18 = K31 'slotAction 尝试打开的弹窗不存在：'
  0099  GETTABUP  R19 = _ENV[K32('tostring')]
  0100  GETTABLE  R20 = R16[K15('animationConfig')]
  0101  CALL      R19 = call(R19, 1 args, 1 rets)
  0102  LOADK     R20 = K33 '，请资源策划检查！'
  0103  CONCAT    R18 = concat(R18..R18)
  0104  CALL      R17 = call(R17, 0 args, 1 rets)
  0105  MOVE      R17 = R0
  0106  CALL      R17 = call(R17, 0 args, 0 rets)
  0107  TFORCALL  tforcall R12
  0108  TFORLOOP  tforloop R14(sBx=-80)   -> 29
  0109  EQ        if R0 eq K6(0)   -> -126603
  0110  JMP       (jump)   -> 120
  0111  TEST      if not R7 then   -> -130959
  0112  JMP       (jump)   -> 120
  0113  TEST      if not R2 then   -> -130957
  0114  JMP       (jump)   -> 120
  0115  MOVE      R12 = R0
  0116  CALL      R12 = call(R12, 0 args, 0 rets)
  0117  MOVE      R12 = R0
  0118  MOVE      R13 = R0
  0119  CALL      R12 = call(R12, 0 args, 1 rets)
  0120  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 17-25 np=0 va=0 ms=9 code=18 consts=6 upvals=5 protos=0
    ;   K[0]='ipairs'
    ;   K[1]='arrSlotActions'
    ;   K[2]='eSlotAnimationType'
    ;   K[3]='ESlotAnimationType'
    ;   K[4]='Effect'
    ;   K[5]='SetSlotState'
    ;   upvals: _ENV, stepData, roomView, slotId, state
    ;   locals: (for generator)(3-17), (for state)(3-17), (for control)(3-17), _(4-15), slotAction(4-15)
    0000  GETTABUP  R0 = _ENV[K0('ipairs')]
    0001  GETTABUP  R1 = stepData[K1('arrSlotActions')]
    0002  CALL      R0 = call(R0, 3 args, 1 rets)
    0003  JMP       (jump)   -> 15
    0004  GETTABLE  R5 = R4[K2('eSlotAnimationType')]
    0005  GETTABUP  R6 = _ENV[K3('ESlotAnimationType')]
    0006  GETTABLE  R6 = R6[K4('Effect')]
    0007  EQ        if R1 eq R6   -> -128497
    0008  JMP       (jump)   -> 15
    0009  GETUPVAL  R5 = _ENV
    0010  SELF      R6 = R5[K5('SetSlotState')] (self)
    0011  GETUPVAL  R7 = _ENV
    0012  GETUPVAL  R8 = _ENV
    0013  CALL      R5 = call(R5, 0 args, 3 rets)
    0014  JMP       (jump)   -> 17
    0015  TFORCALL  tforcall R0
    0016  TFORLOOP  tforloop R2(sBx=-13)   -> 4
    0017  RETURN    return R0..R-1
  ; ---------- proto1 [] ----------
    ; fn ?  line 29-35 np=0 va=0 ms=2 code=15 consts=0 upvals=6 protos=0
    ;   upvals: hasChanged, changeState, finishedCount, totalCount, onFinish, stepData
    0000  LOADBOOL  R0 = true
    0001  SETUPVAL  hasChanged = R0
    0002  GETUPVAL  R0 = hasChanged
    0003  CALL      R0 = call(R0, 0 args, 0 rets)
    0004  GETUPVAL  R0 = hasChanged
    0005  GETUPVAL  R1 = hasChanged
    0006  LE        if R0 le R0   -> -130552
    0007  JMP       (jump)   -> 14
    0008  GETUPVAL  R0 = hasChanged
    0009  TEST      if not R0 then   -> -131061
    0010  JMP       (jump)   -> 14
    0011  GETUPVAL  R0 = hasChanged
    0012  GETUPVAL  R1 = hasChanged
    0013  CALL      R0 = call(R0, 0 args, 1 rets)
    0014  RETURN    return R0..R-1
  ; ---------- proto2 [] ----------
    ; fn ?  line 42-55 np=0 va=0 ms=2 code=29 consts=1 upvals=7 protos=0
    ;   K[0]=1
    ;   upvals: finishedCount, totalCount, changeAfterAnimation, changeState, onFinish, stepData, hasChanged
    0000  GETUPVAL  R0 = finishedCount
    0001  ADD       R0 = K0(1) add R0
    0002  SETUPVAL  finishedCount = R0
    0003  GETUPVAL  R0 = finishedCount
    0004  GETUPVAL  R1 = finishedCount
    0005  LE        if R0 le R0   -> -130553
    0006  JMP       (jump)   -> 28
    0007  GETUPVAL  R0 = finishedCount
    0008  TEST      if not R0 then   -> -131062
    0009  JMP       (jump)   -> 19
    0010  GETUPVAL  R0 = finishedCount
    0011  CALL      R0 = call(R0, 0 args, 0 rets)
    0012  GETUPVAL  R0 = finishedCount
    0013  TEST      if not R0 then   -> -131057
    0014  JMP       (jump)   -> 28
    0015  GETUPVAL  R0 = finishedCount
    0016  GETUPVAL  R1 = finishedCount
    0017  CALL      R0 = call(R0, 0 args, 1 rets)
    0018  JMP       (jump)   -> 28
    0019  GETUPVAL  R0 = finishedCount
    0020  TEST      if not R0 then   -> -131050
    0021  JMP       (jump)   -> 28
    0022  GETUPVAL  R0 = finishedCount
    0023  TEST      if not R0 then   -> -131047
    0024  JMP       (jump)   -> 28
    0025  GETUPVAL  R0 = finishedCount
    0026  GETUPVAL  R1 = finishedCount
    0027  CALL      R0 = call(R0, 0 args, 1 rets)
    0028  RETURN    return R0..R-1
  ; ---------- proto3 [] ----------
    ; fn ?  line 60-62 np=0 va=0 ms=2 code=3 consts=0 upvals=1 protos=0
    ;   upvals: funcOnAnimationEnd
    0000  GETUPVAL  R0 = funcOnAnimationEnd
    0001  CALL      R0 = call(R0, 0 args, 0 rets)
    0002  RETURN    return R0..R-1
  ; ---------- proto4 [] ----------
    ; fn ?  line 64-66 np=0 va=0 ms=2 code=3 consts=0 upvals=1 protos=0
    ;   upvals: funcOnAnimationEnd
    0000  GETUPVAL  R0 = funcOnAnimationEnd
    0001  CALL      R0 = call(R0, 0 args, 0 rets)
    0002  RETURN    return R0..R-1
  ; ---------- proto5 [] ----------
    ; fn ?  line 68-70 np=0 va=0 ms=2 code=3 consts=0 upvals=1 protos=0
    ;   upvals: funcOnAnimationEnd
    0000  GETUPVAL  R0 = funcOnAnimationEnd
    0001  CALL      R0 = call(R0, 0 args, 0 rets)
    0002  RETURN    return R0..R-1
; ---------- proto1 [StopFunc] ----------
  ; fn ?  line 88-98 np=3 va=0 ms=10 code=22 consts=8 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='ChapterManager'
  ;   K[2]='GetActiveRoomView'
  ;   K[3]='Scheduler'
  ;   K[4]='UnscheduleTarget'
  ;   K[5]='slotId'
  ;   K[6]='GetFinalState'
  ;   K[7]='SetSlotState'
  ;   upvals: _ENV
  ;   locals: timelineData(0-22), stepData(0-22), onFinish(0-22), roomView(4-22), slotId(9-22), state(12-22)
  0000  GETTABUP  R3 = _ENV[K0('GM')]
  0001  GETTABLE  R3 = R3[K1('ChapterManager')]
  0002  SELF      R4 = R3[K2('GetActiveRoomView')] (self)
  0003  CALL      R3 = call(R3, 1 args, 1 rets)
  0004  GETTABUP  R4 = _ENV[K3('Scheduler')]
  0005  GETTABLE  R4 = R4[K4('UnscheduleTarget')]
  0006  MOVE      R5 = R0
  0007  CALL      R4 = call(R4, 0 args, 1 rets)
  0008  GETTABLE  R4 = R1[K5('slotId')]
  0009  SELF      R6 = R1[K6('GetFinalState')] (self)
  0010  MOVE      R7 = R0
  0011  CALL      R5 = call(R5, 1 args, 2 rets)
  0012  SELF      R7 = R3[K7('SetSlotState')] (self)
  0013  MOVE      R8 = R0
  0014  MOVE      R9 = R0
  0015  CALL      R6 = call(R6, 0 args, 3 rets)
  0016  TEST      if not R2 then   -> -131054
  0017  JMP       (jump)   -> 21
  0018  MOVE      R6 = R0
  0019  MOVE      R7 = R0
  0020  CALL      R6 = call(R6, 0 args, 1 rets)
  0021  RETURN    return R0..R-1
; ---------- proto2 [ExecuteFunc] ----------
  ; fn ?  line 101-106 np=3 va=0 ms=12 code=15 consts=7 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='ChapterManager'
  ;   K[2]='GetActiveRoomView'
  ;   K[3]='slotId'
  ;   K[4]='GetFinalState'
  ;   K[5]='PlayAnimator'
  ;   K[6]='delay'
  ;   upvals: _ENV
  ;   locals: timelineData(0-15), stepData(0-15), onFinish(0-15), roomView(4-15), slotId(5-15), state(8-15)
  0000  GETTABUP  R3 = _ENV[K0('GM')]
  0001  GETTABLE  R3 = R3[K1('ChapterManager')]
  0002  SELF      R4 = R3[K2('GetActiveRoomView')] (self)
  0003  CALL      R3 = call(R3, 1 args, 1 rets)
  0004  GETTABLE  R4 = R1[K3('slotId')]
  0005  SELF      R6 = R1[K4('GetFinalState')] (self)
  0006  MOVE      R7 = R0
  0007  CALL      R5 = call(R5, 1 args, 2 rets)
  0008  SELF      R7 = R3[K5('PlayAnimator')] (self)
  0009  MOVE      R8 = R0
  0010  MOVE      R9 = R0
  0011  MOVE      R10 = R0
  0012  GETTABLE  R11 = R1[K6('delay')]
  0013  CALL      R6 = call(R6, 0 args, 5 rets)
  0014  RETURN    return R0..R-1
; ---------- proto3 [StopFunc] ----------
  ; fn ?  line 107-117 np=3 va=0 ms=10 code=22 consts=8 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='ChapterManager'
  ;   K[2]='GetActiveRoomView'
  ;   K[3]='Scheduler'
  ;   K[4]='UnscheduleTarget'
  ;   K[5]='slotId'
  ;   K[6]='GetFinalState'
  ;   K[7]='SetSlotState'
  ;   upvals: _ENV
  ;   locals: timelineData(0-22), stepData(0-22), onFinish(0-22), roomView(4-22), slotId(9-22), state(12-22)
  0000  GETTABUP  R3 = _ENV[K0('GM')]
  0001  GETTABLE  R3 = R3[K1('ChapterManager')]
  0002  SELF      R4 = R3[K2('GetActiveRoomView')] (self)
  0003  CALL      R3 = call(R3, 1 args, 1 rets)
  0004  GETTABUP  R4 = _ENV[K3('Scheduler')]
  0005  GETTABLE  R4 = R4[K4('UnscheduleTarget')]
  0006  MOVE      R5 = R0
  0007  CALL      R4 = call(R4, 0 args, 1 rets)
  0008  GETTABLE  R4 = R1[K5('slotId')]
  0009  SELF      R6 = R1[K6('GetFinalState')] (self)
  0010  MOVE      R7 = R0
  0011  CALL      R5 = call(R5, 1 args, 2 rets)
  0012  SELF      R7 = R3[K7('SetSlotState')] (self)
  0013  MOVE      R8 = R0
  0014  MOVE      R9 = R0
  0015  CALL      R6 = call(R6, 0 args, 3 rets)
  0016  TEST      if not R2 then   -> -131054
  0017  JMP       (jump)   -> 21
  0018  MOVE      R6 = R0
  0019  MOVE      R7 = R0
  0020  CALL      R6 = call(R6, 0 args, 1 rets)
  0021  RETURN    return R0..R-1
; ---------- proto4 [ExecuteFunc] ----------
  ; fn ?  line 120-147 np=3 va=0 ms=21 code=36 consts=12 upvals=1 protos=1
  ;   K[0]='GM'
  ;   K[1]='ChapterManager'
  ;   K[2]='GetActiveRoomView'
  ;   K[3]='slotId'
  ;   K[4]='GetFinalState'
  ;   K[5]='arrSlotActions'
  ;   K[6]=0
  ;   K[7]='ipairs'
  ;   K[8]='PlaySpineAnimation'
  ;   K[9]='state'
  ;   K[10]='animationName'
  ;   K[11]='delay'
  ;   upvals: _ENV
  ;   locals: timelineData(0-36), stepData(0-36), onFinish(0-36), roomView(4-36), slotId(5-36), state(8-36), totalCount(10-36), finishedCount(11-36), funcOnAnimationEnd(12-36), (for generator)(15-28), (for state)(15-28), (for control)(15-28), _(16-26), actionData(16-26)
  0000  GETTABUP  R3 = _ENV[K0('GM')]
  0001  GETTABLE  R3 = R3[K1('ChapterManager')]
  0002  SELF      R4 = R3[K2('GetActiveRoomView')] (self)
  0003  CALL      R3 = call(R3, 1 args, 1 rets)
  0004  GETTABLE  R4 = R1[K3('slotId')]
  0005  SELF      R6 = R1[K4('GetFinalState')] (self)
  0006  MOVE      R7 = R0
  0007  CALL      R5 = call(R5, 1 args, 2 rets)
  0008  GETTABLE  R6 = R1[K5('arrSlotActions')]
  0009  LEN       R6 = len R0
  0010  LOADK     R7 = K6 0
  0011  CLOSURE   R8 = closure proto0
  0012  GETTABUP  R9 = _ENV[K7('ipairs')]
  0013  GETTABLE  R10 = R1[K5('arrSlotActions')]
  0014  CALL      R9 = call(R9, 3 args, 1 rets)
  0015  JMP       (jump)   -> 26
  0016  SELF      R15 = R3[K8('PlaySpineAnimation')] (self)
  0017  MOVE      R16 = R0
  0018  GETTABLE  R17 = R13[K9('state')]
  0019  TEST      if not R17 then   -> -131050
  0020  JMP       (jump)   -> 22
  0021  MOVE      R17 = R0
  0022  GETTABLE  R18 = R13[K10('animationName')]
  0023  MOVE      R19 = R0
  0024  GETTABLE  R20 = R13[K11('delay')]
  0025  CALL      R14 = call(R14, 0 args, 6 rets)
  0026  TFORCALL  tforcall R9
  0027  TFORLOOP  tforloop R11(sBx=-12)   -> 16
  0028  EQ        if R0 eq K6(0)   -> -127708
  0029  JMP       (jump)   -> 35
  0030  TEST      if not R2 then   -> -131040
  0031  JMP       (jump)   -> 35
  0032  MOVE      R9 = R0
  0033  MOVE      R10 = R0
  0034  CALL      R9 = call(R9, 0 args, 1 rets)
  0035  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 130-137 np=0 va=0 ms=2 code=14 consts=1 upvals=4 protos=0
    ;   K[0]=1
    ;   upvals: finishedCount, totalCount, onFinish, stepData
    0000  GETUPVAL  R0 = finishedCount
    0001  ADD       R0 = K0(1) add R0
    0002  SETUPVAL  finishedCount = R0
    0003  GETUPVAL  R0 = finishedCount
    0004  GETUPVAL  R1 = finishedCount
    0005  LE        if R0 le R0   -> -130553
    0006  JMP       (jump)   -> 13
    0007  GETUPVAL  R0 = finishedCount
    0008  TEST      if not R0 then   -> -131062
    0009  JMP       (jump)   -> 13
    0010  GETUPVAL  R0 = finishedCount
    0011  GETUPVAL  R1 = finishedCount
    0012  CALL      R0 = call(R0, 0 args, 1 rets)
    0013  RETURN    return R0..R-1
; ---------- proto5 [StopFunc] ----------
  ; fn ?  line 148-157 np=3 va=0 ms=10 code=20 consts=7 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='ChapterManager'
  ;   K[2]='GetActiveRoomView'
  ;   K[3]='slotId'
  ;   K[4]='GetFinalState'
  ;   K[5]='GetSlotView'
  ;   K[6]='SpeedUpSpine'
  ;   upvals: _ENV
  ;   locals: timelineData(0-20), stepData(0-20), onFinish(0-20), roomView(4-20), slotId(5-20), state(8-20), slotView(11-20)
  0000  GETTABUP  R3 = _ENV[K0('GM')]
  0001  GETTABLE  R3 = R3[K1('ChapterManager')]
  0002  SELF      R4 = R3[K2('GetActiveRoomView')] (self)
  0003  CALL      R3 = call(R3, 1 args, 1 rets)
  0004  GETTABLE  R4 = R1[K3('slotId')]
  0005  SELF      R6 = R1[K4('GetFinalState')] (self)
  0006  MOVE      R7 = R0
  0007  CALL      R5 = call(R5, 1 args, 2 rets)
  0008  SELF      R7 = R3[K5('GetSlotView')] (self)
  0009  MOVE      R8 = R0
  0010  CALL      R6 = call(R6, 1 args, 2 rets)
  0011  SELF      R8 = R6[K6('SpeedUpSpine')] (self)
  0012  MOVE      R9 = R0
  0013  CALL      R7 = call(R7, 0 args, 2 rets)
  0014  TEST      if not R2 then   -> -131056
  0015  JMP       (jump)   -> 19
  0016  MOVE      R7 = R0
  0017  MOVE      R8 = R0
  0018  CALL      R7 = call(R7, 0 args, 1 rets)
  0019  RETURN    return R0..R-1
; ---------- proto6 [ExecuteFunc] ----------
  ; fn ?  line 160-176 np=3 va=0 ms=7 code=17 consts=6 upvals=1 protos=2
  ;   K[0]='delay'
  ;   K[1]=0
  ;   K[2]='GM'
  ;   K[3]='UIManager'
  ;   K[4]='SetEventLock'
  ;   K[5]='DelayExecuteFunc'
  ;   upvals: _ENV
  ;   locals: timelineData(0-17), stepData(0-17), onFinish(0-17), funcOpenStory(1-17)
  0000  CLOSURE   R3 = closure proto0
  0001  GETTABLE  R4 = R1[K0('delay')]
  0002  LT        if R0 lt R4   -> 520
  0003  JMP       (jump)   -> 14
  0004  GETTABUP  R4 = _ENV[K2('GM')]
  0005  GETTABLE  R4 = R4[K3('UIManager')]
  0006  SELF      R5 = R4[K4('SetEventLock')] (self)
  0007  LOADBOOL  R6 = true
  0008  CALL      R4 = call(R4, 0 args, 2 rets)
  0009  GETTABUP  R4 = _ENV[K5('DelayExecuteFunc')]
  0010  CLOSURE   R5 = closure proto1
  0011  GETTABLE  R6 = R1[K0('delay')]
  0012  CALL      R4 = call(R4, 0 args, 2 rets)
  0013  JMP       (jump)   -> 16
  0014  MOVE      R4 = R0
  0015  CALL      R4 = call(R4, 0 args, 0 rets)
  0016  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 161-165 np=0 va=0 ms=9 code=17 consts=8 upvals=4 protos=0
    ;   K[0]='storyId'
    ;   K[1]='chapterName'
    ;   K[2]=nil
    ;   K[3]='GM'
    ;   K[4]='UIManager'
    ;   K[5]='OpenView'
    ;   K[6]='UIPrefabConfigName'
    ;   K[7]='StoryWindow'
    ;   upvals: stepData, timelineData, _ENV, onFinish
    ;   locals: storyId(1-17), isSpecialStory(6-17)
    0000  GETTABUP  R0 = stepData[K0('storyId')]
    0001  GETTABUP  R1 = timelineData[K1('chapterName')]
    0002  EQ        if R1 eq K2(nil)   -> -130298
    0003  JMP       (jump)   -> 5
    0004  LOADBOOL  R1 = false
    0005  LOADBOOL  R1 = true
    0006  GETTABUP  R2 = _ENV[K3('GM')]
    0007  GETTABLE  R2 = R2[K4('UIManager')]
    0008  SELF      R3 = R2[K5('OpenView')] (self)
    0009  GETTABUP  R4 = _ENV[K6('UIPrefabConfigName')]
    0010  GETTABLE  R4 = R4[K7('StoryWindow')]
    0011  MOVE      R5 = R0
    0012  MOVE      R6 = R0
    0013  GETUPVAL  R7 = stepData
    0014  LOADBOOL  R8 = true
    0015  CALL      R2 = call(R2, 0 args, 6 rets)
    0016  RETURN    return R0..R-1
  ; ---------- proto1 [] ----------
    ; fn ?  line 169-172 np=0 va=0 ms=3 code=8 consts=3 upvals=2 protos=0
    ;   K[0]='GM'
    ;   K[1]='UIManager'
    ;   K[2]='SetEventLock'
    ;   upvals: _ENV, funcOpenStory
    0000  GETTABUP  R0 = _ENV[K0('GM')]
    0001  GETTABLE  R0 = R0[K1('UIManager')]
    0002  SELF      R1 = R0[K2('SetEventLock')] (self)
    0003  LOADBOOL  R2 = false
    0004  CALL      R0 = call(R0, 0 args, 2 rets)
    0005  GETUPVAL  R0 = _ENV
    0006  CALL      R0 = call(R0, 0 args, 0 rets)
    0007  RETURN    return R0..R-1
; ---------- proto7 [ExecuteFunc] ----------
  ; fn ?  line 179-184 np=3 va=0 ms=8 code=10 consts=5 upvals=1 protos=1
  ;   K[0]='GM'
  ;   K[1]='ChapterManager'
  ;   K[2]='GetActiveRoomView'
  ;   K[3]='DelayExecuteFuncInView'
  ;   K[4]='delayTime'
  ;   upvals: _ENV
  ;   locals: timelineData(0-10), stepData(0-10), onFinish(0-10), roomView(4-10)
  0000  GETTABUP  R3 = _ENV[K0('GM')]
  0001  GETTABLE  R3 = R3[K1('ChapterManager')]
  0002  SELF      R4 = R3[K2('GetActiveRoomView')] (self)
  0003  CALL      R3 = call(R3, 1 args, 1 rets)
  0004  GETTABUP  R4 = _ENV[K3('DelayExecuteFuncInView')]
  0005  CLOSURE   R5 = closure proto0
  0006  GETTABLE  R6 = R1[K4('delayTime')]
  0007  MOVE      R7 = R0
  0008  CALL      R4 = call(R4, 0 args, 3 rets)
  0009  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 181-183 np=0 va=0 ms=6 code=8 consts=4 upvals=3 protos=0
    ;   K[0]='MoveCamera'
    ;   K[1]='pos'
    ;   K[2]='scale'
    ;   K[3]='duration'
    ;   upvals: roomView, stepData, onFinish
    0000  GETUPVAL  R0 = roomView
    0001  SELF      R1 = R0[K0('MoveCamera')] (self)
    0002  GETTABUP  R2 = stepData[K1('pos')]
    0003  GETTABUP  R3 = stepData[K2('scale')]
    0004  GETTABUP  R4 = stepData[K3('duration')]
    0005  GETUPVAL  R5 = roomView
    0006  CALL      R0 = call(R0, 0 args, 5 rets)
    0007  RETURN    return R0..R-1
; ---------- proto8 [ExecuteFunc] ----------
  ; fn ?  line 187-192 np=3 va=0 ms=8 code=10 consts=5 upvals=1 protos=1
  ;   K[0]='GM'
  ;   K[1]='ChapterManager'
  ;   K[2]='GetActiveRoomView'
  ;   K[3]='DelayExecuteFuncInView'
  ;   K[4]='delayTime'
  ;   upvals: _ENV
  ;   locals: timelineData(0-10), stepData(0-10), onFinish(0-10), roomView(4-10)
  0000  GETTABUP  R3 = _ENV[K0('GM')]
  0001  GETTABLE  R3 = R3[K1('ChapterManager')]
  0002  SELF      R4 = R3[K2('GetActiveRoomView')] (self)
  0003  CALL      R3 = call(R3, 1 args, 1 rets)
  0004  GETTABUP  R4 = _ENV[K3('DelayExecuteFuncInView')]
  0005  CLOSURE   R5 = closure proto0
  0006  GETTABLE  R6 = R1[K4('delayTime')]
  0007  MOVE      R7 = R0
  0008  CALL      R4 = call(R4, 0 args, 3 rets)
  0009  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 189-191 np=0 va=0 ms=7 code=9 consts=5 upvals=3 protos=0
    ;   K[0]='PlayRoleAnimaion'
    ;   K[1]='animationName'
    ;   K[2]='pos'
    ;   K[3]='bReverse'
    ;   K[4]='waitTime'
    ;   upvals: roomView, stepData, onFinish
    0000  GETUPVAL  R0 = roomView
    0001  SELF      R1 = R0[K0('PlayRoleAnimaion')] (self)
    0002  GETTABUP  R2 = stepData[K1('animationName')]
    0003  GETTABUP  R3 = stepData[K2('pos')]
    0004  GETTABUP  R4 = stepData[K3('bReverse')]
    0005  GETTABUP  R5 = stepData[K4('waitTime')]
    0006  GETUPVAL  R6 = roomView
    0007  CALL      R0 = call(R0, 0 args, 6 rets)
    0008  RETURN    return R0..R-1
; ---------- proto9 [ExecuteFunc] ----------
  ; fn ?  line 195-207 np=3 va=0 ms=13 code=21 consts=7 upvals=1 protos=1
  ;   K[0]='GM'
  ;   K[1]='ChapterManager'
  ;   K[2]='GetActiveRoomView'
  ;   K[3]='ipairs'
  ;   K[4]='arrAudioData'
  ;   K[5]='DelayExecuteFuncInView'
  ;   K[6]='delayTime'
  ;   upvals: _ENV
  ;   locals: timelineData(0-21), stepData(0-21), onFinish(0-21), roomView(4-21), (for generator)(7-16), (for state)(7-16), (for control)(7-16), _(8-14), audioData(8-14)
  0000  GETTABUP  R3 = _ENV[K0('GM')]
  0001  GETTABLE  R3 = R3[K1('ChapterManager')]
  0002  SELF      R4 = R3[K2('GetActiveRoomView')] (self)
  0003  CALL      R3 = call(R3, 1 args, 1 rets)
  0004  GETTABUP  R4 = _ENV[K3('ipairs')]
  0005  GETTABLE  R5 = R1[K4('arrAudioData')]
  0006  CALL      R4 = call(R4, 3 args, 1 rets)
  0007  JMP       (jump)   -> 14
  0008  GETTABUP  R9 = _ENV[K5('DelayExecuteFuncInView')]
  0009  CLOSURE   R10 = closure proto0
  0010  GETTABLE  R11 = R8[K6('delayTime')]
  0011  MOVE      R12 = R0
  0012  CALL      R9 = call(R9, 0 args, 3 rets)
  0013  JMP       (jump)   -> 14
  0014  TFORCALL  tforcall R4
  0015  TFORLOOP  tforloop R6(sBx=-8)   -> 8
  0016  TEST      if not R2 then   -> -131054
  0017  JMP       (jump)   -> 20
  0018  MOVE      R4 = R0
  0019  CALL      R4 = call(R4, 0 args, 0 rets)
  0020  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 199-201 np=0 va=0 ms=3 code=6 consts=4 upvals=2 protos=0
    ;   K[0]='GM'
    ;   K[1]='AudioModel'
    ;   K[2]='PlayEffect'
    ;   K[3]='audioName'
    ;   upvals: _ENV, audioData
    0000  GETTABUP  R0 = _ENV[K0('GM')]
    0001  GETTABLE  R0 = R0[K1('AudioModel')]
    0002  SELF      R1 = R0[K2('PlayEffect')] (self)
    0003  GETTABUP  R2 = audioData[K3('audioName')]
    0004  CALL      R0 = call(R0, 0 args, 2 rets)
    0005  RETURN    return R0..R-1
; ---------- proto10 [ExecuteFunc] ----------
  ; fn ?  line 210-218 np=3 va=0 ms=8 code=10 consts=5 upvals=1 protos=1
  ;   K[0]='GM'
  ;   K[1]='ChapterManager'
  ;   K[2]='GetActiveRoomView'
  ;   K[3]='DelayExecuteFuncInView'
  ;   K[4]='delayTime'
  ;   upvals: _ENV
  ;   locals: timelineData(0-10), stepData(0-10), onFinish(0-10), roomView(4-10)
  0000  GETTABUP  R3 = _ENV[K0('GM')]
  0001  GETTABLE  R3 = R3[K1('ChapterManager')]
  0002  SELF      R4 = R3[K2('GetActiveRoomView')] (self)
  0003  CALL      R3 = call(R3, 1 args, 1 rets)
  0004  GETTABUP  R4 = _ENV[K3('DelayExecuteFuncInView')]
  0005  CLOSURE   R5 = closure proto0
  0006  GETTABLE  R6 = R1[K4('delayTime')]
  0007  MOVE      R7 = R0
  0008  CALL      R4 = call(R4, 0 args, 3 rets)
  0009  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 212-217 np=0 va=0 ms=3 code=10 consts=2 upvals=3 protos=0
    ;   K[0]='CoverSlot'
    ;   K[1]='slotId'
    ;   upvals: roomView, stepData, onFinish
    0000  GETUPVAL  R0 = roomView
    0001  SELF      R1 = R0[K0('CoverSlot')] (self)
    0002  GETTABUP  R2 = stepData[K1('slotId')]
    0003  CALL      R0 = call(R0, 0 args, 2 rets)
    0004  GETUPVAL  R0 = roomView
    0005  TEST      if not R0 then   -> -131065
    0006  JMP       (jump)   -> 9
    0007  GETUPVAL  R0 = roomView
    0008  CALL      R0 = call(R0, 0 args, 0 rets)
    0009  RETURN    return R0..R-1
; ---------- proto11 [ExecuteFunc] ----------
  ; fn ?  line 221-232 np=3 va=0 ms=8 code=21 consts=8 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='ChapterManager'
  ;   K[2]='GetActiveRoomView'
  ;   K[3]='isHide'
  ;   K[4]='HideSlotNode'
  ;   K[5]='slotId'
  ;   K[6]='nodeIndex'
  ;   K[7]='CoverSlot'
  ;   upvals: _ENV
  ;   locals: timelineData(0-21), stepData(0-21), onFinish(0-21), roomView(4-21)
  0000  GETTABUP  R3 = _ENV[K0('GM')]
  0001  GETTABLE  R3 = R3[K1('ChapterManager')]
  0002  SELF      R4 = R3[K2('GetActiveRoomView')] (self)
  0003  CALL      R3 = call(R3, 1 args, 1 rets)
  0004  GETTABLE  R4 = R1[K3('isHide')]
  0005  TEST      if not R4 then   -> -131065
  0006  JMP       (jump)   -> 12
  0007  SELF      R5 = R3[K4('HideSlotNode')] (self)
  0008  GETTABLE  R6 = R1[K5('slotId')]
  0009  GETTABLE  R7 = R1[K6('nodeIndex')]
  0010  CALL      R4 = call(R4, 0 args, 3 rets)
  0011  JMP       (jump)   -> 16
  0012  SELF      R5 = R3[K7('CoverSlot')] (self)
  0013  GETTABLE  R6 = R1[K5('slotId')]
  0014  GETTABLE  R7 = R1[K6('nodeIndex')]
  0015  CALL      R4 = call(R4, 0 args, 3 rets)
  0016  TEST      if not R2 then   -> -131054
  0017  JMP       (jump)   -> 20
  0018  MOVE      R4 = R0
  0019  CALL      R4 = call(R4, 0 args, 0 rets)
  0020  RETURN    return R0..R-1
