summaryrefslogtreecommitdiff
path: root/Library/Artifacts/96/96635cff2d3f721bfaf2a99a1d5d918d
blob: 8807f73cf66d9ac987c97cdd5dba852cc89ad100 (plain)
ofshex dumpascii
0000 00 00 0f 81 00 00 97 c4 00 00 00 15 00 00 10 00 00 00 00 00 32 30 31 39 2e 33 2e 36 66 31 00 fe ....................2019.3.6f1..
0020 ff ff ff 01 02 00 00 00 0b 04 00 00 00 ff ff 66 9a 86 21 eb 14 35 98 39 dd 34 1d 51 0e c1 f3 42 ...............f..!..5.9.4.Q...B
0040 00 00 00 ed 00 00 00 02 00 00 00 00 00 00 00 37 00 00 80 ff ff ff ff 00 00 00 00 00 80 00 00 00 ...............7................
0060 00 00 00 00 00 00 00 01 00 01 00 a6 03 00 80 b2 01 00 80 04 00 00 00 01 00 00 00 01 00 00 00 00 ................................
0080 00 00 00 00 00 00 00 01 00 01 00 0d 00 00 00 45 04 00 80 0c 00 00 00 02 00 00 00 01 00 00 00 00 ...............E................
00a0 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 23 00 00 00 04 00 00 00 03 00 00 00 01 00 80 00 00 ...............#................
00c0 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 2c 00 00 00 08 00 00 00 04 00 00 00 01 00 80 00 00 ...............,................
00e0 00 00 00 00 00 00 00 01 00 01 00 35 00 00 00 61 04 00 80 0c 00 00 00 05 00 00 00 01 00 00 00 00 ...........5...a................
0100 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 23 00 00 00 04 00 00 00 06 00 00 00 01 00 80 00 00 ...............#................
0120 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 2c 00 00 00 08 00 00 00 07 00 00 00 01 00 80 00 00 ...............,................
0140 00 00 00 00 00 00 00 01 00 01 00 86 02 00 80 72 04 00 80 0c 00 00 00 08 00 00 00 01 00 00 00 00 ...............r................
0160 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 23 00 00 00 04 00 00 00 09 00 00 00 01 00 80 00 00 ...............#................
0180 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 2c 00 00 00 08 00 00 00 0a 00 00 00 01 00 80 00 00 ...............,................
01a0 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 ab 01 00 80 ff ff ff ff 0b 00 00 00 01 80 08 00 00 ...........H....................
01c0 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 0c 00 00 00 01 40 08 00 00 ...........1...1............@...
01e0 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 0d 00 00 00 01 00 08 00 00 ................................
0200 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a 00 00 80 01 00 00 00 0e 00 00 00 01 00 08 00 00 ...........Q...j................
0220 00 00 00 00 00 00 00 01 00 01 00 f1 00 00 80 4a 00 00 00 ff ff ff ff 0f 00 00 00 00 c0 00 00 00 ...............J................
0240 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 10 00 00 00 00 80 00 00 00 ...........1...1................
0260 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 11 00 00 00 00 00 00 00 00 ................................
0280 00 00 00 00 00 00 00 01 00 03 00 1f 02 00 80 6a 00 00 80 ff ff ff ff 12 00 00 00 00 80 00 00 00 ...............j................
02a0 00 00 00 00 00 00 00 01 00 04 00 5c 00 00 00 9b 00 00 80 ff ff ff ff 13 00 00 00 00 80 00 00 00 ...........\....................
02c0 00 00 00 00 00 00 00 01 00 05 00 48 03 00 80 72 00 00 00 ff ff ff ff 14 00 00 00 00 80 00 00 00 ...........H...r................
02e0 00 00 00 00 00 00 00 01 00 06 01 31 00 00 80 31 00 00 80 ff ff ff ff 15 00 00 00 01 40 00 00 00 ...........1...1............@...
0300 00 00 00 00 00 00 00 01 00 07 00 de 00 00 80 1b 03 00 80 04 00 00 00 16 00 00 00 01 00 00 00 00 ................................
0320 00 00 00 00 00 00 00 01 00 07 00 51 00 00 80 6a 00 00 80 01 00 00 00 17 00 00 00 01 00 00 00 00 ...........Q...j................
0340 00 00 00 00 00 00 00 01 00 05 00 48 03 00 80 77 00 00 00 ff ff ff ff 18 00 00 00 00 80 00 00 00 ...........H...w................
0360 00 00 00 00 00 00 00 01 00 06 01 31 00 00 80 31 00 00 80 ff ff ff ff 19 00 00 00 01 40 00 00 00 ...........1...1............@...
0380 00 00 00 00 00 00 00 01 00 07 00 de 00 00 80 1b 03 00 80 04 00 00 00 1a 00 00 00 01 00 00 00 00 ................................
03a0 00 00 00 00 00 00 00 01 00 07 00 51 00 00 80 6a 00 00 80 01 00 00 00 1b 00 00 00 01 00 00 00 00 ...........Q...j................
03c0 00 00 00 00 00 00 00 01 00 05 00 48 03 00 80 80 00 00 00 ff ff ff ff 1c 00 00 00 00 80 00 00 00 ...........H....................
03e0 00 00 00 00 00 00 00 01 00 06 01 31 00 00 80 31 00 00 80 ff ff ff ff 1d 00 00 00 01 40 00 00 00 ...........1...1............@...
0400 00 00 00 00 00 00 00 01 00 07 00 de 00 00 80 1b 03 00 80 04 00 00 00 1e 00 00 00 01 00 00 00 00 ................................
0420 00 00 00 00 00 00 00 01 00 07 00 51 00 00 80 6a 00 00 80 01 00 00 00 1f 00 00 00 01 00 00 00 00 ...........Q...j................
0440 00 00 00 00 00 00 00 01 00 04 00 79 02 00 80 0a 03 00 80 0c 00 00 00 20 00 00 00 00 00 00 00 00 ...........y....................
0460 00 00 00 00 00 00 00 01 00 05 00 de 00 00 80 23 00 00 00 04 00 00 00 21 00 00 00 01 00 80 00 00 ...............#.......!........
0480 00 00 00 00 00 00 00 01 00 05 00 2e 03 00 80 2c 00 00 00 08 00 00 00 22 00 00 00 01 00 80 00 00 ...............,......."........
04a0 00 00 00 00 00 00 00 01 00 01 00 11 03 00 80 85 00 00 00 ff ff ff ff 23 00 00 00 01 40 08 00 00 .......................#....@...
04c0 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 24 00 00 00 01 00 08 00 00 ...........1...1.......$........
04e0 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 25 00 00 00 01 00 08 00 00 .......................%........
0500 00 00 00 00 00 00 00 01 00 03 00 2e 03 00 80 6a 00 00 80 08 00 00 00 26 00 00 00 01 00 08 00 00 ...............j.......&........
0520 00 00 00 00 00 00 00 01 00 01 00 d5 03 00 80 93 00 00 00 ff ff ff ff 27 00 00 00 00 80 00 00 00 .......................'........
0540 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 28 00 00 00 00 c0 00 00 00 ...........1...1.......(........
0560 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 29 00 00 00 00 00 00 00 00 .......................)........
0580 00 00 00 00 00 00 00 01 00 03 00 1f 02 00 80 6a 00 00 80 ff ff ff ff 2a 00 00 00 00 80 00 00 00 ...............j.......*........
05a0 00 00 00 00 00 00 00 01 00 04 00 48 03 00 80 9b 00 00 80 ff ff ff ff 2b 00 00 00 00 80 00 00 00 ...........H...........+........
05c0 00 00 00 00 00 00 00 01 00 05 01 31 00 00 80 31 00 00 80 ff ff ff ff 2c 00 00 00 01 40 00 00 00 ...........1...1.......,....@...
05e0 00 00 00 00 00 00 00 01 00 06 00 de 00 00 80 1b 03 00 80 04 00 00 00 2d 00 00 00 01 00 00 00 00 .......................-........
0600 00 00 00 00 00 00 00 01 00 06 00 51 00 00 80 6a 00 00 80 01 00 00 00 2e 00 00 00 01 00 00 00 00 ...........Q...j................
0620 00 00 00 00 00 00 00 01 00 04 00 79 02 00 80 0a 03 00 80 0c 00 00 00 2f 00 00 00 00 00 00 00 00 ...........y.........../........
0640 00 00 00 00 00 00 00 01 00 05 00 de 00 00 80 23 00 00 00 04 00 00 00 30 00 00 00 01 00 80 00 00 ...............#.......0........
0660 00 00 00 00 00 00 00 01 00 05 00 2e 03 00 80 2c 00 00 00 08 00 00 00 31 00 00 00 01 00 80 00 00 ...............,.......1........
0680 00 00 00 00 00 00 00 01 00 01 00 20 03 00 80 a7 00 00 00 02 00 00 00 32 00 00 00 00 40 00 00 00 .......................2....@...
06a0 00 00 00 00 00 00 00 01 00 01 00 be 02 00 80 b6 00 00 00 0c 00 00 00 33 00 00 00 00 40 00 00 00 .......................3....@...
06c0 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 23 00 00 00 04 00 00 00 34 00 00 00 01 00 80 00 00 ...............#.......4........
06e0 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 2c 00 00 00 08 00 00 00 35 00 00 00 01 00 80 00 00 ...............,.......5........
0700 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 bb 00 00 00 ff ff ff ff 36 00 00 00 01 80 00 00 00 ...........H...........6........
0720 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 37 00 00 00 01 40 00 00 00 ...........1...1.......7....@...
0740 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 38 00 00 00 01 00 00 00 00 .......................8........
0760 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a 00 00 80 01 00 00 00 39 00 00 00 01 00 00 00 00 ...........Q...j.......9........
0780 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 c6 00 00 00 ff ff ff ff 3a 00 00 00 01 80 00 00 00 ...........H...........:........
07a0 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 3b 00 00 00 01 40 00 00 00 ...........1...1.......;....@...
07c0 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 3c 00 00 00 01 00 00 00 00 .......................<........
07e0 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a 00 00 80 01 00 00 00 3d 00 00 00 01 00 00 00 00 ...........Q...j.......=........
0800 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 d8 00 00 00 ff ff ff ff 3e 00 00 00 01 80 00 00 00 ...........H...........>........
0820 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 3f 00 00 00 01 40 00 00 00 ...........1...1.......?....@...
0840 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 40 00 00 00 01 00 00 00 00 .......................@........
0860 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a 00 00 80 01 00 00 00 41 00 00 00 01 00 00 00 00 ...........Q...j.......A........
0880 00 00 00 00 00 00 00 4d 6f 6e 6f 49 6d 70 6f 72 74 65 72 00 50 50 74 72 3c 45 64 69 74 6f 72 45 .......MonoImporter.PPtr<EditorE
08a0 78 74 65 6e 73 69 6f 6e 3e 00 6d 5f 46 69 6c 65 49 44 00 6d 5f 50 61 74 68 49 44 00 50 50 74 72 xtension>.m_FileID.m_PathID.PPtr
08c0 3c 50 72 65 66 61 62 49 6e 73 74 61 6e 63 65 3e 00 6d 5f 45 78 74 65 72 6e 61 6c 4f 62 6a 65 63 <PrefabInstance>.m_ExternalObjec
08e0 74 73 00 53 6f 75 72 63 65 41 73 73 65 74 49 64 65 6e 74 69 66 69 65 72 00 74 79 70 65 00 61 73 ts.SourceAssetIdentifier.type.as
0900 73 65 6d 62 6c 79 00 6e 61 6d 65 00 6d 5f 55 73 65 64 46 69 6c 65 49 44 73 00 6d 5f 44 65 66 61 sembly.name.m_UsedFileIDs.m_Defa
0920 75 6c 74 52 65 66 65 72 65 6e 63 65 73 00 65 78 65 63 75 74 69 6f 6e 4f 72 64 65 72 00 69 63 6f ultReferences.executionOrder.ico
0940 6e 00 6d 5f 55 73 65 72 44 61 74 61 00 6d 5f 41 73 73 65 74 42 75 6e 64 6c 65 4e 61 6d 65 00 6d n.m_UserData.m_AssetBundleName.m
0960 5f 41 73 73 65 74 42 75 6e 64 6c 65 56 61 72 69 61 6e 74 00 00 00 00 00 73 00 00 00 00 ff ff a3 _AssetBundleVariant.....s.......
0980 47 f1 d7 dc 8f 5a 35 36 a0 3a 21 40 69 c1 4a 2a 00 00 00 81 00 00 00 05 00 00 00 15 01 00 80 37 G....Z56.:!@i.J*...............7
09a0 00 00 80 ff ff ff ff 00 00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 01 00 01 00 a6 03 00 80 b2 ................................
09c0 01 00 80 04 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 00 00 00 00 45 ...............................E
09e0 04 00 80 0c 00 00 00 02 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 16 ................................
0a00 00 00 00 04 00 00 00 03 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 1f ................................
0a20 00 00 00 08 00 00 00 04 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 28 00 00 00 61 ...........................(...a
0a40 04 00 80 0c 00 00 00 05 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 16 ................................
0a60 00 00 00 04 00 00 00 06 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 1f ................................
0a80 00 00 00 08 00 00 00 07 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 86 02 00 80 72 ...............................r
0aa0 04 00 80 0c 00 00 00 08 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 16 ................................
0ac0 00 00 00 04 00 00 00 09 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 1f ................................
0ae0 00 00 00 08 00 00 00 0a 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 ab ...........................H....
0b00 01 00 80 ff ff ff ff 0b 00 00 00 01 80 08 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 ...........................1...1
0b20 00 00 80 ff ff ff ff 0c 00 00 00 01 40 08 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b ............@...................
0b40 03 00 80 04 00 00 00 0d 00 00 00 01 00 08 00 00 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a ...........................Q...j
0b60 00 00 80 01 00 00 00 0e 00 00 00 01 00 08 00 00 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 ea ...........................H....
0b80 01 00 80 ff ff ff ff 0f 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 ...........................1...1
0ba0 00 00 80 ff ff ff ff 10 00 00 00 01 40 00 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b ............@...................
0bc0 03 00 80 04 00 00 00 11 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a ...........................Q...j
0be0 00 00 80 01 00 00 00 12 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 f1 00 00 80 3d ...............................=
0c00 00 00 00 ff ff ff ff 13 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 ...........................1...1
0c20 00 00 80 ff ff ff ff 14 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b ................................
0c40 03 00 80 04 00 00 00 15 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 03 00 1f 02 00 80 6a ...............................j
0c60 00 00 80 ff ff ff ff 16 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 04 00 48 03 00 80 9b ...........................H....
0c80 00 00 80 ff ff ff ff 17 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 05 01 31 00 00 80 31 ...........................1...1
0ca0 00 00 80 ff ff ff ff 18 00 00 00 01 40 00 00 00 00 00 00 00 00 00 00 01 00 06 00 de 00 00 80 1b ............@...................
0cc0 03 00 80 04 00 00 00 19 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 06 00 51 00 00 80 6a ...........................Q...j
0ce0 00 00 80 01 00 00 00 1a 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 04 00 79 02 00 80 0a ...........................y....
0d00 03 00 80 0c 00 00 00 1b 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 05 00 de 00 00 80 16 ................................
0d20 00 00 00 04 00 00 00 1c 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 05 00 2e 03 00 80 1f ................................
0d40 00 00 00 08 00 00 00 1d 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 79 02 00 80 51 ...........................y...Q
0d60 00 00 00 0c 00 00 00 1e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 16 ................................
0d80 00 00 00 04 00 00 00 1f 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 1f ................................
0da0 00 00 00 08 00 00 00 20 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 de 00 00 80 58 ...............................X
0dc0 00 00 00 04 00 00 00 21 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 69 .......!...................H...i
0de0 00 00 00 ff ff ff ff 22 00 00 00 10 80 00 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 ......."...................1...1
0e00 00 00 80 ff ff ff ff 23 00 00 00 11 40 00 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b .......#....@...................
0e20 03 00 80 04 00 00 00 24 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a .......$...................Q...j
0e40 00 00 80 01 00 00 00 25 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 75 .......%...................H...u
0e60 00 00 00 ff ff ff ff 26 00 00 00 10 80 00 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 .......&...................1...1
0e80 00 00 80 ff ff ff ff 27 00 00 00 11 40 00 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b .......'....@...................
0ea0 03 00 80 04 00 00 00 28 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a .......(...................Q...j
0ec0 00 00 80 01 00 00 00 29 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 50 50 74 72 3c 45 64 69 74 .......)...............PPtr<Edit
0ee0 6f 72 45 78 74 65 6e 73 69 6f 6e 3e 00 6d 5f 46 69 6c 65 49 44 00 6d 5f 50 61 74 68 49 44 00 50 orExtension>.m_FileID.m_PathID.P
0f00 50 74 72 3c 50 72 65 66 61 62 49 6e 73 74 61 6e 63 65 3e 00 6d 5f 44 65 66 61 75 6c 74 52 65 66 Ptr<PrefabInstance>.m_DefaultRef
0f20 65 72 65 6e 63 65 73 00 6d 5f 49 63 6f 6e 00 6d 5f 45 78 65 63 75 74 69 6f 6e 4f 72 64 65 72 00 erences.m_Icon.m_ExecutionOrder.
0f40 6d 5f 43 6c 61 73 73 4e 61 6d 65 00 6d 5f 4e 61 6d 65 73 70 61 63 65 00 00 00 00 00 02 00 00 00 m_ClassName.m_Namespace.........
0f60 03 00 00 00 00 00 00 00 00 00 00 00 5c 00 00 00 00 00 00 00 e0 79 af 00 00 00 00 00 60 00 00 00 ............\........y......`...
0f80 64 87 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 d...............................
0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 e0 79 af 00 00 00 00 00 00 00 00 00 .....................y..........
1040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1080 00 00 00 00 00 00 00 00 0f 00 00 00 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 73 00 f7 86 00 00 ............TimelineActions.....
10a0 75 73 69 6e 67 20 53 79 73 74 65 6d 3b 0a 75 73 69 6e 67 20 53 79 73 74 65 6d 2e 43 6f 6c 6c 65 using.System;.using.System.Colle
10c0 63 74 69 6f 6e 73 2e 47 65 6e 65 72 69 63 3b 0a 75 73 69 6e 67 20 53 79 73 74 65 6d 2e 43 6f 6d ctions.Generic;.using.System.Com
10e0 70 6f 6e 65 6e 74 4d 6f 64 65 6c 3b 0a 75 73 69 6e 67 20 53 79 73 74 65 6d 2e 4c 69 6e 71 3b 0a ponentModel;.using.System.Linq;.
1100 75 73 69 6e 67 20 55 6e 69 74 79 45 64 69 74 6f 72 2e 53 68 6f 72 74 63 75 74 4d 61 6e 61 67 65 using.UnityEditor.ShortcutManage
1120 6d 65 6e 74 3b 0a 75 73 69 6e 67 20 55 6e 69 74 79 45 6e 67 69 6e 65 3b 0a 75 73 69 6e 67 20 55 ment;.using.UnityEngine;.using.U
1140 6e 69 74 79 45 6e 67 69 6e 65 2e 54 69 6d 65 6c 69 6e 65 3b 0a 75 73 69 6e 67 20 4d 65 6e 75 45 nityEngine.Timeline;.using.MenuE
1160 6e 74 72 79 50 61 69 72 20 3d 20 53 79 73 74 65 6d 2e 43 6f 6c 6c 65 63 74 69 6f 6e 73 2e 47 65 ntryPair.=.System.Collections.Ge
1180 6e 65 72 69 63 2e 4b 65 79 56 61 6c 75 65 50 61 69 72 3c 55 6e 69 74 79 45 6e 67 69 6e 65 2e 47 neric.KeyValuePair<UnityEngine.G
11a0 55 49 43 6f 6e 74 65 6e 74 2c 20 55 6e 69 74 79 45 64 69 74 6f 72 2e 54 69 6d 65 6c 69 6e 65 2e UIContent,.UnityEditor.Timeline.
11c0 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 3e 3b 0a 0a 6e 61 6d 65 73 70 61 63 65 20 55 6e 69 74 TimelineAction>;..namespace.Unit
11e0 79 45 64 69 74 6f 72 2e 54 69 6d 65 6c 69 6e 65 0a 7b 0a 20 20 20 20 5b 41 63 74 69 76 65 49 6e yEditor.Timeline.{.....[ActiveIn
1200 4d 6f 64 65 28 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 73 2e 44 65 66 61 75 6c 74 29 5d 0a 20 20 20 Mode(TimelineModes.Default)]....
1220 20 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 20 3a .abstract.class.TimelineAction.:
1240 20 4d 65 6e 75 49 74 65 6d 41 63 74 69 6f 6e 42 61 73 65 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 .MenuItemActionBase.....{.......
1260 20 20 70 75 62 6c 69 63 20 61 62 73 74 72 61 63 74 20 62 6f 6f 6c 20 45 78 65 63 75 74 65 28 57 ..public.abstract.bool.Execute(W
1280 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 70 75 62 6c indowState.state);..........publ
12a0 69 63 20 76 69 72 74 75 61 6c 20 4d 65 6e 75 41 63 74 69 6f 6e 44 69 73 70 6c 61 79 53 74 61 74 ic.virtual.MenuActionDisplayStat
12c0 65 20 47 65 74 44 69 73 70 6c 61 79 53 74 61 74 65 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 e.GetDisplayState(WindowState.st
12e0 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 ate).........{.............retur
1300 6e 20 4d 65 6e 75 41 63 74 69 6f 6e 44 69 73 70 6c 61 79 53 74 61 74 65 2e 56 69 73 69 62 6c 65 n.MenuActionDisplayState.Visible
1320 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 76 69 72 74 ;.........}..........public.virt
1340 75 61 6c 20 62 6f 6f 6c 20 49 73 43 68 65 63 6b 65 64 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 ual.bool.IsChecked(WindowState.s
1360 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 tate).........{.............retu
1380 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 72 6f rn.false;.........}..........pro
13a0 74 65 63 74 65 64 20 73 74 72 69 6e 67 20 47 65 74 44 69 73 70 6c 61 79 4e 61 6d 65 28 57 69 6e tected.string.GetDisplayName(Win
13c0 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 dowState.state).........{.......
13e0 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 65 6e 75 4e 61 6d 65 3b 0a 20 20 20 20 20 20 20 20 7d ......return.menuName;.........}
1400 0a 0a 20 20 20 20 20 20 20 20 62 6f 6f 6c 20 43 61 6e 45 78 65 63 75 74 65 28 57 69 6e 64 6f 77 ..........bool.CanExecute(Window
1420 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 State.state).........{..........
1440 20 20 20 72 65 74 75 72 6e 20 47 65 74 44 69 73 70 6c 61 79 53 74 61 74 65 28 73 74 61 74 65 29 ...return.GetDisplayState(state)
1460 20 3d 3d 20 4d 65 6e 75 41 63 74 69 6f 6e 44 69 73 70 6c 61 79 53 74 61 74 65 2e 56 69 73 69 62 .==.MenuActionDisplayState.Visib
1480 6c 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 le;.........}..........public.st
14a0 61 74 69 63 20 76 6f 69 64 20 49 6e 76 6f 6b 65 3c 54 3e 28 57 69 6e 64 6f 77 53 74 61 74 65 20 atic.void.Invoke<T>(WindowState.
14c0 73 74 61 74 65 29 20 77 68 65 72 65 20 54 20 3a 20 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 0a state).where.T.:.TimelineAction.
14e0 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 61 63 74 69 6f 6e ........{.............var.action
1500 20 3d 20 41 6c 6c 41 63 74 69 6f 6e 73 2e 46 69 72 73 74 4f 72 44 65 66 61 75 6c 74 28 78 20 3d .=.AllActions.FirstOrDefault(x.=
1520 3e 20 78 2e 47 65 74 54 79 70 65 28 29 20 3d 3d 20 74 79 70 65 6f 66 28 54 29 29 3b 0a 20 20 20 >.x.GetType().==.typeof(T));....
1540 20 20 20 20 20 20 20 20 20 69 66 20 28 61 63 74 69 6f 6e 20 21 3d 20 6e 75 6c 6c 20 26 26 20 61 .........if.(action.!=.null.&&.a
1560 63 74 69 6f 6e 2e 43 61 6e 45 78 65 63 75 74 65 28 73 74 61 74 65 29 29 0a 20 20 20 20 20 20 20 ction.CanExecute(state))........
1580 20 20 20 20 20 20 20 20 20 61 63 74 69 6f 6e 2e 45 78 65 63 75 74 65 28 73 74 61 74 65 29 3b 0a .........action.Execute(state);.
15a0 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 61 6e 20 69 6e 73 74 61 6e 63 ........}..........//.an.instanc
15c0 65 20 6f 66 20 61 6c 6c 20 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 e.of.all.TimelineActions........
15e0 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 72 65 61 64 6f 6e 6c 79 20 54 69 6d 65 6c 69 6e 65 .public.static.readonly.Timeline
1600 41 63 74 69 6f 6e 5b 5d 20 41 6c 6c 41 63 74 69 6f 6e 73 20 3d 20 47 65 74 41 63 74 69 6f 6e 73 Action[].AllActions.=.GetActions
1620 4f 66 54 79 70 65 28 74 79 70 65 6f 66 28 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 29 29 2e 53 OfType(typeof(TimelineAction)).S
1640 65 6c 65 63 74 28 78 20 3d 3e 20 28 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 29 78 2e 47 65 74 elect(x.=>.(TimelineAction)x.Get
1660 43 6f 6e 73 74 72 75 63 74 6f 72 73 28 29 5b 30 5d 2e 49 6e 76 6f 6b 65 28 6e 75 6c 6c 29 29 2e Constructors()[0].Invoke(null)).
1680 54 6f 41 72 72 61 79 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 61 6e 20 69 6e 73 74 61 6e ToArray();..........//.an.instan
16a0 63 65 20 6f 66 20 61 6c 6c 20 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 73 20 74 68 61 74 20 73 ce.of.all.TimelineActions.that.s
16c0 68 6f 75 6c 64 20 61 70 70 65 61 72 20 69 6e 20 61 20 72 65 67 75 6c 61 72 20 63 6f 6e 74 65 78 hould.appear.in.a.regular.contex
16e0 74 4d 65 6e 75 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 72 65 61 64 tMenu.........public.static.read
1700 6f 6e 6c 79 20 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 5b 5d 20 4d 65 6e 75 41 63 74 69 6f 6e only.TimelineAction[].MenuAction
1720 73 20 3d 20 41 6c 6c 41 63 74 69 6f 6e 73 2e 57 68 65 72 65 28 61 20 3d 3e 20 61 2e 73 68 6f 77 s.=.AllActions.Where(a.=>.a.show
1740 49 6e 4d 65 6e 75 20 26 26 20 21 28 61 20 69 73 20 4d 61 72 6b 65 72 48 65 61 64 65 72 41 63 74 InMenu.&&.!(a.is.MarkerHeaderAct
1760 69 6f 6e 29 29 2e 54 6f 41 72 72 61 79 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 ion)).ToArray();..........public
1780 20 73 74 61 74 69 63 20 76 6f 69 64 20 47 65 74 4d 65 6e 75 45 6e 74 72 69 65 73 28 49 45 6e 75 .static.void.GetMenuEntries(IEnu
17a0 6d 65 72 61 62 6c 65 3c 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 3e 20 61 63 74 69 6f 6e 73 2c merable<TimelineAction>.actions,
17c0 20 56 65 63 74 6f 72 32 3f 20 6d 6f 75 73 65 50 6f 73 2c 20 4c 69 73 74 3c 4d 65 6e 75 41 63 74 .Vector2?.mousePos,.List<MenuAct
17e0 69 6f 6e 49 74 65 6d 3e 20 69 74 65 6d 73 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 ionItem>.items).........{.......
1800 20 20 20 20 20 20 76 61 72 20 73 74 61 74 65 20 3d 20 54 69 6d 65 6c 69 6e 65 57 69 6e 64 6f 77 ......var.state.=.TimelineWindow
1820 2e 69 6e 73 74 61 6e 63 65 2e 73 74 61 74 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 .instance.state;.............var
1840 20 6d 6f 64 65 20 3d 20 54 69 6d 65 6c 69 6e 65 57 69 6e 64 6f 77 2e 69 6e 73 74 61 6e 63 65 2e .mode.=.TimelineWindow.instance.
1860 63 75 72 72 65 6e 74 4d 6f 64 65 2e 6d 6f 64 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 currentMode.mode;..............f
1880 6f 72 65 61 63 68 20 28 76 61 72 20 61 63 74 69 6f 6e 20 69 6e 20 61 63 74 69 6f 6e 73 29 0a 20 oreach.(var.action.in.actions)..
18a0 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 ...........{.................var
18c0 20 61 63 74 69 6f 6e 49 74 65 6d 20 3d 20 61 63 74 69 6f 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 .actionItem.=.action;...........
18e0 20 20 20 20 20 20 61 63 74 69 6f 6e 2e 6d 6f 75 73 65 50 6f 73 69 74 69 6f 6e 20 3d 20 6d 6f 75 ......action.mousePosition.=.mou
1900 73 65 50 6f 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 74 65 6d 73 2e 41 64 64 sePos;.................items.Add
1920 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 20 4d 65 6e 75 41 63 (.....................new.MenuAc
1940 74 69 6f 6e 49 74 65 6d 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b tionItem().....................{
1960 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 74 65 67 6f 72 .........................categor
1980 79 20 3d 20 20 61 63 74 69 6f 6e 2e 63 61 74 65 67 6f 72 79 2c 0a 20 20 20 20 20 20 20 20 20 20 y.=..action.category,...........
19a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 74 72 79 4e 61 6d 65 20 3d 20 61 63 74 69 6f 6e ..............entryName.=.action
19c0 2e 47 65 74 44 69 73 70 6c 61 79 4e 61 6d 65 28 73 74 61 74 65 29 2c 0a 20 20 20 20 20 20 20 20 .GetDisplayName(state),.........
19e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 68 6f 72 74 43 75 74 20 3d 20 61 63 74 69 6f ................shortCut.=.actio
1a00 6e 2e 73 68 6f 72 74 43 75 74 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n.shortCut,.....................
1a20 20 20 20 20 69 73 43 68 65 63 6b 65 64 20 3d 20 61 63 74 69 6f 6e 2e 49 73 43 68 65 63 6b 65 64 ....isChecked.=.action.IsChecked
1a40 28 73 74 61 74 65 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (state),........................
1a60 20 69 73 41 63 74 69 76 65 49 6e 4d 6f 64 65 20 3d 20 49 73 41 63 74 69 6f 6e 41 63 74 69 76 65 .isActiveInMode.=.IsActionActive
1a80 49 6e 4d 6f 64 65 28 61 63 74 69 6f 6e 2c 20 6d 6f 64 65 29 2c 0a 20 20 20 20 20 20 20 20 20 20 InMode(action,.mode),...........
1aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6f 72 69 74 79 20 3d 20 61 63 74 69 6f 6e 2e ..............priority.=.action.
1ac0 70 72 69 6f 72 69 74 79 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 priority,.......................
1ae0 20 20 73 74 61 74 65 20 3d 20 61 63 74 69 6f 6e 2e 47 65 74 44 69 73 70 6c 61 79 53 74 61 74 65 ..state.=.action.GetDisplayState
1b00 28 73 74 61 74 65 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (state),........................
1b20 20 63 61 6c 6c 62 61 63 6b 20 3d 20 28 29 20 3d 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .callback.=.().=>...............
1b40 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........{.....................
1b60 20 20 20 20 20 20 20 20 61 63 74 69 6f 6e 49 74 65 6d 2e 6d 6f 75 73 65 50 6f 73 69 74 69 6f 6e ........actionItem.mousePosition
1b80 20 3d 20 6d 6f 75 73 65 50 6f 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .=.mousePos;....................
1ba0 20 20 20 20 20 20 20 20 20 61 63 74 69 6f 6e 49 74 65 6d 2e 45 78 65 63 75 74 65 28 73 74 61 74 .........actionItem.Execute(stat
1bc0 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e);.............................
1be0 61 63 74 69 6f 6e 49 74 65 6d 2e 6d 6f 75 73 65 50 6f 73 69 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b actionItem.mousePosition.=.null;
1c00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 .........................}......
1c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............}................
1c40 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 69 6f 6e 2e 6d 6f 75 73 65 .);.................action.mouse
1c60 50 6f 73 69 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 Position.=.null;.............}..
1c80 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 .......}..........public.static.
1ca0 62 6f 6f 6c 20 48 61 6e 64 6c 65 53 68 6f 72 74 63 75 74 28 57 69 6e 64 6f 77 53 74 61 74 65 20 bool.HandleShortcut(WindowState.
1cc0 73 74 61 74 65 2c 20 45 76 65 6e 74 20 65 76 74 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 state,.Event.evt).........{.....
1ce0 20 20 20 20 20 20 20 20 69 66 20 28 45 64 69 74 6f 72 47 55 49 2e 49 73 45 64 69 74 69 6e 67 54 ........if.(EditorGUI.IsEditingT
1d00 65 78 74 46 69 65 6c 64 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 extField()).................retu
1d20 72 6e 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 rn.false;..............foreach.(
1d40 76 61 72 20 61 63 74 69 6f 6e 20 69 6e 20 41 6c 6c 41 63 74 69 6f 6e 73 29 0a 20 20 20 20 20 20 var.action.in.AllActions).......
1d60 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 61 74 74 72 ......{.................var.attr
1d80 20 3d 20 61 63 74 69 6f 6e 2e 47 65 74 54 79 70 65 28 29 2e 47 65 74 43 75 73 74 6f 6d 41 74 74 .=.action.GetType().GetCustomAtt
1da0 72 69 62 75 74 65 73 28 74 79 70 65 6f 66 28 53 68 6f 72 74 63 75 74 41 74 74 72 69 62 75 74 65 ributes(typeof(ShortcutAttribute
1dc0 29 2c 20 74 72 75 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 ),.true);..................forea
1de0 63 68 20 28 53 68 6f 72 74 63 75 74 41 74 74 72 69 62 75 74 65 20 73 68 6f 72 74 63 75 74 20 69 ch.(ShortcutAttribute.shortcut.i
1e00 6e 20 61 74 74 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 n.attr).................{.......
1e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 68 6f 72 74 63 75 74 2e 4d 61 74 63 68 ..............if.(shortcut.Match
1e40 65 73 45 76 65 6e 74 28 65 76 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 esEvent(evt))...................
1e60 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 ..{.........................if.(
1e80 73 5f 53 68 6f 77 41 63 74 69 6f 6e 54 72 69 67 67 65 72 65 64 42 79 53 68 6f 72 74 63 75 74 29 s_ShowActionTriggeredByShortcut)
1ea0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 .............................Deb
1ec0 75 67 2e 4c 6f 67 28 61 63 74 69 6f 6e 2e 47 65 74 54 79 70 65 28 29 2e 4e 61 6d 65 29 3b 0a 0a ug.Log(action.GetType().Name);..
1ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 49 73 41 ........................if.(!IsA
1f00 63 74 69 6f 6e 41 63 74 69 76 65 49 6e 4d 6f 64 65 28 61 63 74 69 6f 6e 2c 20 54 69 6d 65 6c 69 ctionActiveInMode(action,.Timeli
1f20 6e 65 57 69 6e 64 6f 77 2e 69 6e 73 74 61 6e 63 65 2e 63 75 72 72 65 6e 74 4d 6f 64 65 2e 6d 6f neWindow.instance.currentMode.mo
1f40 64 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 de))............................
1f60 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .return.false;..................
1f80 20 20 20 20 20 20 20 20 76 61 72 20 68 61 6e 64 6c 65 64 20 3d 20 61 63 74 69 6f 6e 2e 45 78 65 ........var.handled.=.action.Exe
1fa0 63 75 74 65 28 73 74 61 74 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 cute(state);....................
1fc0 20 20 20 20 20 69 66 20 28 68 61 6e 64 6c 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....if.(handled)...............
1fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 20 ..............return.true;......
2000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............}................
2020 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 .}.............}..............re
2040 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 turn.false;.........}..........p
2060 72 6f 74 65 63 74 65 64 20 73 74 61 74 69 63 20 62 6f 6f 6c 20 44 6f 49 6e 74 65 72 6e 61 6c 28 rotected.static.bool.DoInternal(
2080 54 79 70 65 20 74 2c 20 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 Type.t,.WindowState.state)......
20a0 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 61 63 74 69 6f 6e 20 3d 20 28 54 ...{.............var.action.=.(T
20c0 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 29 74 2e 47 65 74 43 6f 6e 73 74 72 75 63 74 6f 72 73 28 imelineAction)t.GetConstructors(
20e0 29 5b 30 5d 2e 49 6e 76 6f 6b 65 28 6e 75 6c 6c 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 )[0].Invoke(null);..............
2100 69 66 20 28 61 63 74 69 6f 6e 2e 43 61 6e 45 78 65 63 75 74 65 28 73 74 61 74 65 29 29 0a 20 20 if.(action.CanExecute(state))...
2120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 61 63 74 69 6f 6e 2e 45 78 65 63 ..............return.action.Exec
2140 75 74 65 28 73 74 61 74 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 ute(state);..............return.
2160 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 69 false;.........}.....}......//.i
2180 6e 64 69 63 61 74 65 73 20 74 68 65 20 61 63 74 69 6f 6e 20 6f 6e 6c 79 20 61 70 70 6c 69 65 73 ndicates.the.action.only.applies
21a0 20 74 6f 20 74 68 65 20 6d 61 72 6b 65 72 20 68 65 61 64 65 72 20 6d 65 6e 75 0a 20 20 20 20 61 .to.the.marker.header.menu.....a
21c0 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 4d 61 72 6b 65 72 48 65 61 64 65 72 41 63 74 69 6f 6e bstract.class.MarkerHeaderAction
21e0 20 3a 20 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 0a 20 20 20 20 7b 0a 20 20 20 20 7d 0a 0a 0a .:.TimelineAction.....{.....}...
2200 20 20 20 20 5b 4d 65 6e 75 45 6e 74 72 79 28 22 43 6f 70 79 22 2c 20 4d 65 6e 75 4f 72 64 65 72 ....[MenuEntry("Copy",.MenuOrder
2220 2e 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 2e 43 6f 70 79 29 5d 0a 20 20 20 20 5b 53 68 6f 72 .TimelineAction.Copy)].....[Shor
2240 74 63 75 74 28 22 4d 61 69 6e 20 4d 65 6e 75 2f 45 64 69 74 2f 43 6f 70 79 22 2c 20 45 76 65 6e tcut("Main.Menu/Edit/Copy",.Even
2260 74 43 6f 6d 6d 61 6e 64 4e 61 6d 65 73 2e 43 6f 70 79 29 5d 0a 20 20 20 20 63 6c 61 73 73 20 43 tCommandNames.Copy)].....class.C
2280 6f 70 79 41 63 74 69 6f 6e 20 3a 20 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 0a 20 20 20 20 7b opyAction.:.TimelineAction.....{
22a0 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 62 6f 6f 6c 20 44 6f 28 57 .........public.static.bool.Do(W
22c0 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 indowState.state).........{.....
22e0 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 6f 49 6e 74 65 72 6e 61 6c 28 74 79 70 65 6f 66 ........return.DoInternal(typeof
2300 28 43 6f 70 79 41 63 74 69 6f 6e 29 2c 20 73 74 61 74 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a (CopyAction),.state);.........}.
2320 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 4d 65 6e 75 41 63 74 .........public.override.MenuAct
2340 69 6f 6e 44 69 73 70 6c 61 79 53 74 61 74 65 20 47 65 74 44 69 73 70 6c 61 79 53 74 61 74 65 28 ionDisplayState.GetDisplayState(
2360 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 WindowState.state).........{....
2380 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 53 65 6c 65 63 74 69 6f 6e 4d 61 6e 61 67 65 72 .........return.SelectionManager
23a0 2e 43 6f 75 6e 74 28 29 20 3e 20 30 20 3f 20 4d 65 6e 75 41 63 74 69 6f 6e 44 69 73 70 6c 61 79 .Count().>.0.?.MenuActionDisplay
23c0 53 74 61 74 65 2e 56 69 73 69 62 6c 65 20 3a 20 4d 65 6e 75 41 63 74 69 6f 6e 44 69 73 70 6c 61 State.Visible.:.MenuActionDispla
23e0 79 53 74 61 74 65 2e 44 69 73 61 62 6c 65 64 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 yState.Disabled;.........}......
2400 20 20 20 20 70 75 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 62 6f 6f 6c 20 45 78 65 63 75 74 65 ....public.override.bool.Execute
2420 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 (WindowState.state).........{...
2440 20 20 20 20 20 20 20 20 20 20 54 69 6d 65 6c 69 6e 65 45 64 69 74 6f 72 2e 63 6c 69 70 62 6f 61 ..........TimelineEditor.clipboa
2460 72 64 2e 43 6c 65 61 72 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 6c 69 rd.Clear();..............var.cli
2480 70 73 20 3d 20 53 65 6c 65 63 74 69 6f 6e 4d 61 6e 61 67 65 72 2e 53 65 6c 65 63 74 65 64 43 6c ps.=.SelectionManager.SelectedCl
24a0 69 70 73 28 29 2e 54 6f 41 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 ips().ToArray();.............if.
24c0 28 63 6c 69 70 73 2e 4c 65 6e 67 74 68 20 3e 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b (clips.Length.>.0).............{
24e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 74 65 6d 41 63 74 69 6f 6e 3c 54 69 6d 65 .................ItemAction<Time
2500 6c 69 6e 65 43 6c 69 70 3e 2e 49 6e 76 6f 6b 65 3c 43 6f 70 79 43 6c 69 70 73 54 6f 43 6c 69 70 lineClip>.Invoke<CopyClipsToClip
2520 62 6f 61 72 64 3e 28 73 74 61 74 65 2c 20 63 6c 69 70 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 board>(state,.clips);...........
2540 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d 61 72 6b 65 72 73 20 3d 20 53 65 ..}.............var.markers.=.Se
2560 6c 65 63 74 69 6f 6e 4d 61 6e 61 67 65 72 2e 53 65 6c 65 63 74 65 64 4d 61 72 6b 65 72 73 28 29 lectionManager.SelectedMarkers()
2580 2e 54 6f 41 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 61 72 6b .ToArray();.............if.(mark
25a0 65 72 73 2e 4c 65 6e 67 74 68 20 3e 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 ers.Length.>.0).............{...
25c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 74 65 6d 41 63 74 69 6f 6e 3c 49 4d 61 72 6b 65 72 ..............ItemAction<IMarker
25e0 3e 2e 49 6e 76 6f 6b 65 3c 43 6f 70 79 4d 61 72 6b 65 72 73 54 6f 43 6c 69 70 62 6f 61 72 64 3e >.Invoke<CopyMarkersToClipboard>
2600 28 73 74 61 74 65 2c 20 6d 61 72 6b 65 72 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a (state,.markers);.............}.
2620 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 74 72 61 63 6b 73 20 3d 20 53 65 6c 65 63 74 69 ............var.tracks.=.Selecti
2640 6f 6e 4d 61 6e 61 67 65 72 2e 53 65 6c 65 63 74 65 64 54 72 61 63 6b 73 28 29 2e 54 6f 41 72 72 onManager.SelectedTracks().ToArr
2660 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 72 61 63 6b 73 2e 4c 65 6e ay();.............if.(tracks.Len
2680 67 74 68 20 3e 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 gth.>.0).............{..........
26a0 20 20 20 20 20 20 20 43 6f 70 79 54 72 61 63 6b 73 54 6f 43 6c 69 70 62 6f 61 72 64 2e 44 6f 28 .......CopyTracksToClipboard.Do(
26c0 73 74 61 74 65 2c 20 74 72 61 63 6b 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 state,.tracks);.............}...
26e0 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 ...........return.true;.........
2700 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 5b 4d 65 6e 75 45 6e 74 72 79 28 22 50 61 73 74 65 22 2c }.....}......[MenuEntry("Paste",
2720 20 4d 65 6e 75 4f 72 64 65 72 2e 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 2e 50 61 73 74 65 29 .MenuOrder.TimelineAction.Paste)
2740 5d 0a 20 20 20 20 5b 53 68 6f 72 74 63 75 74 28 22 4d 61 69 6e 20 4d 65 6e 75 2f 45 64 69 74 2f ].....[Shortcut("Main.Menu/Edit/
2760 50 61 73 74 65 22 2c 20 45 76 65 6e 74 43 6f 6d 6d 61 6e 64 4e 61 6d 65 73 2e 50 61 73 74 65 29 Paste",.EventCommandNames.Paste)
2780 5d 0a 20 20 20 20 63 6c 61 73 73 20 50 61 73 74 65 41 63 74 69 6f 6e 20 3a 20 54 69 6d 65 6c 69 ].....class.PasteAction.:.Timeli
27a0 6e 65 41 63 74 69 6f 6e 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 neAction.....{.........public.st
27c0 61 74 69 63 20 62 6f 6f 6c 20 44 6f 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a atic.bool.Do(WindowState.state).
27e0 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 6f 49 ........{.............return.DoI
2800 6e 74 65 72 6e 61 6c 28 74 79 70 65 6f 66 28 50 61 73 74 65 41 63 74 69 6f 6e 29 2c 20 73 74 61 nternal(typeof(PasteAction),.sta
2820 74 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 6f te);.........}..........public.o
2840 76 65 72 72 69 64 65 20 4d 65 6e 75 41 63 74 69 6f 6e 44 69 73 70 6c 61 79 53 74 61 74 65 20 47 verride.MenuActionDisplayState.G
2860 65 74 44 69 73 70 6c 61 79 53 74 61 74 65 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 etDisplayState(WindowState.state
2880 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 43 ).........{.............return.C
28a0 61 6e 50 61 73 74 65 28 73 74 61 74 65 29 20 3f 20 4d 65 6e 75 41 63 74 69 6f 6e 44 69 73 70 6c anPaste(state).?.MenuActionDispl
28c0 61 79 53 74 61 74 65 2e 56 69 73 69 62 6c 65 20 3a 20 4d 65 6e 75 41 63 74 69 6f 6e 44 69 73 70 ayState.Visible.:.MenuActionDisp
28e0 6c 61 79 53 74 61 74 65 2e 44 69 73 61 62 6c 65 64 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 layState.Disabled;.........}....
2900 20 20 20 20 20 20 70 75 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 62 6f 6f 6c 20 45 78 65 63 75 ......public.override.bool.Execu
2920 74 65 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a te(WindowState.state).........{.
2940 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 43 61 6e 50 61 73 74 65 28 73 74 61 74 65 29 ............if.(!CanPaste(state)
2960 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a ).................return.false;.
2980 0a 20 20 20 20 20 20 20 20 20 20 20 20 50 61 73 74 65 49 74 65 6d 73 28 73 74 61 74 65 2c 20 6d .............PasteItems(state,.m
29a0 6f 75 73 65 50 6f 73 69 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 50 61 73 74 65 ousePosition);.............Paste
29c0 54 72 61 63 6b 73 28 73 74 61 74 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 Tracks(state);..............stat
29e0 65 2e 52 65 66 72 65 73 68 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 6f 75 73 65 50 e.Refresh();..............mouseP
2a00 6f 73 69 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 osition.=.null;.............retu
2a20 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 62 6f 6f 6c rn.true;.........}..........bool
2a40 20 43 61 6e 50 61 73 74 65 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 .CanPaste(WindowState.state)....
2a60 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 6f 70 69 65 64 49 74 65 .....{.............var.copiedIte
2a80 6d 73 20 3d 20 54 69 6d 65 6c 69 6e 65 45 64 69 74 6f 72 2e 63 6c 69 70 62 6f 61 72 64 2e 47 65 ms.=.TimelineEditor.clipboard.Ge
2aa0 74 43 6f 70 69 65 64 49 74 65 6d 73 28 29 2e 54 6f 4c 69 73 74 28 29 3b 0a 0a 20 20 20 20 20 20 tCopiedItems().ToList();........
2ac0 20 20 20 20 20 20 69 66 20 28 21 63 6f 70 69 65 64 49 74 65 6d 73 2e 41 6e 79 28 29 29 0a 20 20 ......if.(!copiedItems.Any())...
2ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 54 69 6d 65 6c 69 6e 65 45 64 69 ..............return.TimelineEdi
2b00 74 6f 72 2e 63 6c 69 70 62 6f 61 72 64 2e 47 65 74 54 72 61 63 6b 73 28 29 2e 41 6e 79 28 29 3b tor.clipboard.GetTracks().Any();
2b20 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 43 61 6e 50 61 73 74 65 49 74 65 ..............return.CanPasteIte
2b40 6d 73 28 63 6f 70 69 65 64 49 74 65 6d 73 2c 20 73 74 61 74 65 2c 20 6d 6f 75 73 65 50 6f 73 69 ms(copiedItems,.state,.mousePosi
2b60 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 73 74 61 74 69 63 tion);.........}..........static
2b80 20 62 6f 6f 6c 20 43 61 6e 50 61 73 74 65 49 74 65 6d 73 28 49 43 6f 6c 6c 65 63 74 69 6f 6e 3c .bool.CanPasteItems(ICollection<
2ba0 49 74 65 6d 73 50 65 72 54 72 61 63 6b 3e 20 69 74 65 6d 73 47 72 6f 75 70 73 2c 20 57 69 6e 64 ItemsPerTrack>.itemsGroups,.Wind
2bc0 6f 77 53 74 61 74 65 20 73 74 61 74 65 2c 20 56 65 63 74 6f 72 32 3f 20 6d 6f 75 73 65 50 6f 73 owState.state,.Vector2?.mousePos
2be0 69 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 ition).........{.............var
2c00 20 68 61 73 49 74 65 6d 73 43 6f 70 69 65 64 46 72 6f 6d 4d 75 6c 74 69 70 6c 65 54 72 61 63 6b .hasItemsCopiedFromMultipleTrack
2c20 73 20 3d 20 69 74 65 6d 73 47 72 6f 75 70 73 2e 43 6f 75 6e 74 20 3e 20 31 3b 0a 20 20 20 20 20 s.=.itemsGroups.Count.>.1;......
2c40 20 20 20 20 20 20 20 76 61 72 20 61 6c 6c 49 74 65 6d 73 43 6f 70 69 65 64 46 72 6f 6d 43 75 72 .......var.allItemsCopiedFromCur
2c60 72 65 6e 74 41 73 73 65 74 20 3d 20 69 74 65 6d 73 47 72 6f 75 70 73 2e 41 6c 6c 28 78 20 3d 3e rentAsset.=.itemsGroups.All(x.=>
2c80 20 78 2e 74 61 72 67 65 74 54 72 61 63 6b 2e 74 69 6d 65 6c 69 6e 65 41 73 73 65 74 20 3d 3d 20 .x.targetTrack.timelineAsset.==.
2ca0 73 74 61 74 65 2e 65 64 69 74 53 65 71 75 65 6e 63 65 2e 61 73 73 65 74 29 3b 0a 20 20 20 20 20 state.editSequence.asset);......
2cc0 20 20 20 20 20 20 20 76 61 72 20 68 61 73 55 73 65 64 53 68 6f 72 74 63 75 74 20 3d 20 6d 6f 75 .......var.hasUsedShortcut.=.mou
2ce0 73 65 50 6f 73 69 74 69 6f 6e 20 3d 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 sePosition.==.null;.............
2d00 76 61 72 20 61 6e 79 53 6f 75 72 63 65 4c 6f 63 6b 65 64 20 3d 20 69 74 65 6d 73 47 72 6f 75 70 var.anySourceLocked.=.itemsGroup
2d20 73 2e 41 6e 79 28 78 20 3d 3e 20 78 2e 74 61 72 67 65 74 54 72 61 63 6b 20 21 3d 20 6e 75 6c 6c s.Any(x.=>.x.targetTrack.!=.null
2d40 20 26 26 20 78 2e 74 61 72 67 65 74 54 72 61 63 6b 2e 6c 6f 63 6b 65 64 49 6e 48 69 65 72 61 72 .&&.x.targetTrack.lockedInHierar
2d60 63 68 79 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 74 61 72 67 65 74 54 72 61 chy);..............var.targetTra
2d80 63 6b 20 3d 20 47 65 74 50 69 63 6b 65 64 54 72 61 63 6b 28 29 3b 0a 20 20 20 20 20 20 20 20 20 ck.=.GetPickedTrack();..........
2da0 20 20 20 69 66 20 28 74 61 72 67 65 74 54 72 61 63 6b 20 3d 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 ...if.(targetTrack.==.null).....
2dc0 20 20 20 20 20 20 20 20 20 20 20 20 74 61 72 67 65 74 54 72 61 63 6b 20 3d 20 53 65 6c 65 63 74 ............targetTrack.=.Select
2de0 69 6f 6e 4d 61 6e 61 67 65 72 2e 53 65 6c 65 63 74 65 64 54 72 61 63 6b 73 28 29 2e 46 69 72 73 ionManager.SelectedTracks().Firs
2e00 74 4f 72 44 65 66 61 75 6c 74 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 64 6f 20 tOrDefault();..............//do.
2e20 6e 6f 74 20 70 61 73 74 65 20 69 66 20 74 68 65 20 75 73 65 72 20 63 6f 70 69 65 64 20 69 74 65 not.paste.if.the.user.copied.ite
2e40 6d 73 20 66 72 6f 6d 20 61 6e 6f 74 68 65 72 20 74 69 6d 65 6c 69 6e 65 0a 20 20 20 20 20 20 20 ms.from.another.timeline........
2e60 20 20 20 20 20 2f 2f 69 66 20 74 68 65 20 63 6f 70 69 65 64 20 69 74 65 6d 73 20 63 6f 6d 65 73 .....//if.the.copied.items.comes
2e80 20 66 72 6f 6d 20 3e 20 31 20 74 72 61 63 6b 20 28 73 69 6e 63 65 20 77 65 20 64 6f 20 6e 6f 74 .from.>.1.track.(since.we.do.not
2ea0 20 6b 6e 6f 77 20 77 68 65 72 65 20 74 6f 20 70 61 73 74 65 20 74 68 65 20 63 6f 70 69 65 64 20 .know.where.to.paste.the.copied.
2ec0 69 74 65 6d 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 6f 72 20 69 66 20 61 20 6b 65 79 items).............//or.if.a.key
2ee0 62 6f 61 72 64 20 73 68 6f 72 74 63 75 74 20 77 61 73 20 75 73 65 64 20 28 73 69 6e 63 65 20 74 board.shortcut.was.used.(since.t
2f00 68 65 20 75 73 65 72 20 77 69 6c 6c 20 6e 6f 74 20 73 65 65 20 74 68 65 20 70 61 73 74 65 20 72 he.user.will.not.see.the.paste.r
2f20 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 61 6c 6c 49 74 65 6d 73 esult).............if.(!allItems
2f40 43 6f 70 69 65 64 46 72 6f 6d 43 75 72 72 65 6e 74 41 73 73 65 74 29 0a 20 20 20 20 20 20 20 20 CopiedFromCurrentAsset).........
2f60 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 69 73 53 65 6c 65 ....{.................var.isSele
2f80 63 74 65 64 54 72 61 63 6b 49 6e 43 75 72 72 65 6e 74 41 73 73 65 74 20 3d 20 74 61 72 67 65 74 ctedTrackInCurrentAsset.=.target
2fa0 54 72 61 63 6b 20 21 3d 20 6e 75 6c 6c 20 26 26 20 74 61 72 67 65 74 54 72 61 63 6b 2e 74 69 6d Track.!=.null.&&.targetTrack.tim
2fc0 65 6c 69 6e 65 41 73 73 65 74 20 3d 3d 20 73 74 61 74 65 2e 65 64 69 74 53 65 71 75 65 6e 63 65 elineAsset.==.state.editSequence
2fe0 2e 61 73 73 65 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 68 61 73 49 .asset;.................if.(hasI
3000 74 65 6d 73 43 6f 70 69 65 64 46 72 6f 6d 4d 75 6c 74 69 70 6c 65 54 72 61 63 6b 73 20 7c 7c 20 temsCopiedFromMultipleTracks.||.
3020 28 68 61 73 55 73 65 64 53 68 6f 72 74 63 75 74 20 26 26 20 21 69 73 53 65 6c 65 63 74 65 64 54 (hasUsedShortcut.&&.!isSelectedT
3040 72 61 63 6b 49 6e 43 75 72 72 65 6e 74 41 73 73 65 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 rackInCurrentAsset))............
3060 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 .........return.false;..........
3080 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 68 61 73 55 73 65 64 53 68 6f ...}..............if.(hasUsedSho
30a0 72 74 63 75 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 21 61 rtcut).................return.!a
30c0 6e 79 53 6f 75 72 63 65 4c 6f 63 6b 65 64 3b 20 2f 2f 20 63 6f 70 79 2f 70 61 73 74 65 20 74 6f nySourceLocked;.//.copy/paste.to
30e0 20 73 61 6d 65 20 74 72 61 63 6b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 68 61 73 .same.track..............if.(has
3100 49 74 65 6d 73 43 6f 70 69 65 64 46 72 6f 6d 4d 75 6c 74 69 70 6c 65 54 72 61 63 6b 73 29 0a 20 ItemsCopiedFromMultipleTracks)..
3120 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 64 ...........{.................//d
3140 6f 20 6e 6f 74 20 70 61 73 74 65 20 69 66 20 74 68 65 20 74 72 61 63 6b 20 77 68 69 63 68 20 72 o.not.paste.if.the.track.which.r
3160 65 63 65 69 76 65 64 20 74 68 65 20 70 61 73 74 65 20 61 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f eceived.the.paste.action.does.no
3180 74 20 63 6f 6e 74 61 69 6e 20 61 20 63 6f 70 69 65 64 20 63 6c 69 70 0a 20 20 20 20 20 20 20 20 t.contain.a.copied.clip.........
31a0 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 21 61 6e 79 53 6f 75 72 63 65 4c 6f 63 6b 65 64 20 ........return.!anySourceLocked.
31c0 26 26 20 69 74 65 6d 73 47 72 6f 75 70 73 2e 53 65 6c 65 63 74 28 78 20 3d 3e 20 78 2e 74 61 72 &&.itemsGroups.Select(x.=>.x.tar
31e0 67 65 74 54 72 61 63 6b 29 2e 43 6f 6e 74 61 69 6e 73 28 74 61 72 67 65 74 54 72 61 63 6b 29 3b getTrack).Contains(targetTrack);
3200 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 .............}..............var.
3220 63 6f 70 69 65 64 49 74 65 6d 73 20 3d 20 69 74 65 6d 73 47 72 6f 75 70 73 2e 53 65 6c 65 63 74 copiedItems.=.itemsGroups.Select
3240 4d 61 6e 79 28 69 20 3d 3e 20 69 2e 69 74 65 6d 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 Many(i.=>.i.items);.............
3260 72 65 74 75 72 6e 20 49 73 54 72 61 63 6b 56 61 6c 69 64 46 6f 72 49 74 65 6d 73 28 74 61 72 67 return.IsTrackValidForItems(targ
3280 65 74 54 72 61 63 6b 2c 20 63 6f 70 69 65 64 49 74 65 6d 73 29 3b 0a 20 20 20 20 20 20 20 20 7d etTrack,.copiedItems);.........}
32a0 0a 0a 20 20 20 20 20 20 20 20 73 74 61 74 69 63 20 76 6f 69 64 20 50 61 73 74 65 49 74 65 6d 73 ..........static.void.PasteItems
32c0 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 2c 20 56 65 63 74 6f 72 32 3f 20 6d 6f 75 (WindowState.state,.Vector2?.mou
32e0 73 65 50 6f 73 69 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 sePosition).........{...........
3300 20 20 76 61 72 20 63 6f 70 69 65 64 49 74 65 6d 73 20 3d 20 54 69 6d 65 6c 69 6e 65 45 64 69 74 ..var.copiedItems.=.TimelineEdit
3320 6f 72 2e 63 6c 69 70 62 6f 61 72 64 2e 47 65 74 43 6f 70 69 65 64 49 74 65 6d 73 28 29 2e 54 6f or.clipboard.GetCopiedItems().To
3340 4c 69 73 74 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6e 75 6d 62 65 72 4f 66 List();.............var.numberOf
3360 55 6e 69 71 75 65 50 61 72 65 6e 74 73 49 6e 43 6c 69 70 62 6f 61 72 64 20 3d 20 63 6f 70 69 65 UniqueParentsInClipboard.=.copie
3380 64 49 74 65 6d 73 2e 43 6f 75 6e 74 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 dItems.Count();..............if.
33a0 28 6e 75 6d 62 65 72 4f 66 55 6e 69 71 75 65 50 61 72 65 6e 74 73 49 6e 43 6c 69 70 62 6f 61 72 (numberOfUniqueParentsInClipboar
33c0 64 20 3d 3d 20 30 29 20 72 65 74 75 72 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 4c 69 73 74 d.==.0).return;.............List
33e0 3c 49 54 69 6d 65 6c 69 6e 65 49 74 65 6d 3e 20 6e 65 77 49 74 65 6d 73 3b 0a 0a 20 20 20 20 20 <ITimelineItem>.newItems;.......
3400 20 20 20 20 20 20 20 2f 2f 69 66 20 74 68 65 20 63 6f 70 69 65 64 20 69 74 65 6d 73 20 77 65 72 .......//if.the.copied.items.wer
3420 65 20 6f 6e 20 61 20 73 69 6e 67 6c 65 20 70 61 72 65 6e 74 2c 20 74 68 65 6e 20 75 73 65 20 74 e.on.a.single.parent,.then.use.t
3440 68 65 20 6d 6f 75 73 65 20 70 6f 73 69 74 69 6f 6e 20 74 6f 20 67 65 74 20 74 68 65 20 70 61 72 he.mouse.position.to.get.the.par
3460 65 6e 74 20 4f 52 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 70 61 72 65 6e 74 0a 20 20 20 20 20 ent.OR.the.original.parent......
3480 20 20 20 20 20 20 20 69 66 20 28 6e 75 6d 62 65 72 4f 66 55 6e 69 71 75 65 50 61 72 65 6e 74 73 .......if.(numberOfUniqueParents
34a0 49 6e 43 6c 69 70 62 6f 61 72 64 20 3d 3d 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a InClipboard.==.1).............{.
34c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 69 74 65 6d 73 47 72 6f 75 70 20 3d ................var.itemsGroup.=
34e0 20 63 6f 70 69 65 64 49 74 65 6d 73 2e 46 69 72 73 74 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 .copiedItems.First();...........
3500 20 20 20 20 20 20 54 72 61 63 6b 41 73 73 65 74 20 74 61 72 67 65 74 20 3d 20 6e 75 6c 6c 3b 0a ......TrackAsset.target.=.null;.
3520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 6f 75 73 65 50 6f 73 69 74 69 6f ................if.(mousePositio
3540 6e 2e 48 61 73 56 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n.HasValue).....................
3560 74 61 72 67 65 74 20 3d 20 47 65 74 50 69 63 6b 65 64 54 72 61 63 6b 28 29 3b 0a 20 20 20 20 20 target.=.GetPickedTrack();......
3580 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 61 72 67 65 74 20 3d 3d 20 6e 75 6c 6c 29 0a 20 ...........if.(target.==.null)..
35a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 61 72 67 65 74 20 3d 20 46 69 6e 64 ...................target.=.Find
35c0 53 75 69 74 61 62 6c 65 50 61 72 65 6e 74 46 6f 72 53 69 6e 67 6c 65 54 72 61 63 6b 50 61 73 74 SuitableParentForSingleTrackPast
35e0 65 57 69 74 68 6f 75 74 4d 6f 75 73 65 28 69 74 65 6d 73 47 72 6f 75 70 29 3b 0a 0a 20 20 20 20 eWithoutMouse(itemsGroup);......
3600 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 61 6e 64 69 64 61 74 65 54 69 6d 65 20 3d 20 ............var.candidateTime.=.
3620 54 69 6d 65 6c 69 6e 65 48 65 6c 70 65 72 73 2e 47 65 74 43 61 6e 64 69 64 61 74 65 54 69 6d 65 TimelineHelpers.GetCandidateTime
3640 28 73 74 61 74 65 2c 20 6d 6f 75 73 65 50 6f 73 69 74 69 6f 6e 2c 20 74 61 72 67 65 74 29 3b 0a (state,.mousePosition,.target);.
3660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 49 74 65 6d 73 20 3d 20 54 69 6d 65 6c ................newItems.=.Timel
3680 69 6e 65 48 65 6c 70 65 72 73 2e 44 75 70 6c 69 63 61 74 65 49 74 65 6d 73 55 73 69 6e 67 43 75 ineHelpers.DuplicateItemsUsingCu
36a0 72 72 65 6e 74 45 64 69 74 4d 6f 64 65 28 73 74 61 74 65 2c 20 54 69 6d 65 6c 69 6e 65 45 64 69 rrentEditMode(state,.TimelineEdi
36c0 74 6f 72 2e 63 6c 69 70 62 6f 61 72 64 2e 65 78 70 6f 73 65 64 50 72 6f 70 65 72 74 79 54 61 62 tor.clipboard.exposedPropertyTab
36e0 6c 65 2c 20 54 69 6d 65 6c 69 6e 65 45 64 69 74 6f 72 2e 69 6e 73 70 65 63 74 65 64 44 69 72 65 le,.TimelineEditor.inspectedDire
3700 63 74 6f 72 2c 20 69 74 65 6d 73 47 72 6f 75 70 2c 20 74 61 72 67 65 74 2c 20 63 61 6e 64 69 64 ctor,.itemsGroup,.target,.candid
3720 61 74 65 54 69 6d 65 2c 20 22 50 61 73 74 65 20 49 74 65 6d 73 22 29 2e 54 6f 4c 69 73 74 28 29 ateTime,."Paste.Items").ToList()
3740 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 69 66 ;.............}.............//if
3760 20 63 6f 70 69 65 64 20 69 74 65 6d 73 20 77 65 72 65 20 6f 6e 20 6d 75 6c 74 69 70 6c 65 20 70 .copied.items.were.on.multiple.p
3780 61 72 65 6e 74 73 2c 20 74 68 65 6e 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 70 61 72 arents,.then.the.destination.par
37a0 65 6e 74 73 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 61 73 20 74 68 65 20 6f 72 69 67 69 6e 61 ents.are.the.same.as.the.origina
37c0 6c 20 70 61 72 65 6e 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 l.parents.............else......
37e0 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 74 69 6d .......{.................var.tim
3800 65 20 3d 20 54 69 6d 65 6c 69 6e 65 48 65 6c 70 65 72 73 2e 47 65 74 43 61 6e 64 69 64 61 74 65 e.=.TimelineHelpers.GetCandidate
3820 54 69 6d 65 28 73 74 61 74 65 2c 20 6d 6f 75 73 65 50 6f 73 69 74 69 6f 6e 2c 20 63 6f 70 69 65 Time(state,.mousePosition,.copie
3840 64 49 74 65 6d 73 2e 53 65 6c 65 63 74 28 63 20 3d 3e 20 63 2e 74 61 72 67 65 74 54 72 61 63 6b dItems.Select(c.=>.c.targetTrack
3860 29 2e 54 6f 41 72 72 61 79 28 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 ).ToArray());.................ne
3880 77 49 74 65 6d 73 20 3d 20 54 69 6d 65 6c 69 6e 65 48 65 6c 70 65 72 73 2e 44 75 70 6c 69 63 61 wItems.=.TimelineHelpers.Duplica
38a0 74 65 49 74 65 6d 73 55 73 69 6e 67 43 75 72 72 65 6e 74 45 64 69 74 4d 6f 64 65 28 73 74 61 74 teItemsUsingCurrentEditMode(stat
38c0 65 2c 20 54 69 6d 65 6c 69 6e 65 45 64 69 74 6f 72 2e 63 6c 69 70 62 6f 61 72 64 2e 65 78 70 6f e,.TimelineEditor.clipboard.expo
38e0 73 65 64 50 72 6f 70 65 72 74 79 54 61 62 6c 65 2c 20 54 69 6d 65 6c 69 6e 65 45 64 69 74 6f 72 sedPropertyTable,.TimelineEditor
3900 2e 69 6e 73 70 65 63 74 65 64 44 69 72 65 63 74 6f 72 2c 20 63 6f 70 69 65 64 49 74 65 6d 73 2c .inspectedDirector,.copiedItems,
3920 20 74 69 6d 65 2c 20 22 50 61 73 74 65 20 49 74 65 6d 73 22 29 2e 54 6f 4c 69 73 74 28 29 3b 0a .time,."Paste.Items").ToList();.
3940 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 69 6d 65 6c ............}..............Timel
3960 69 6e 65 48 65 6c 70 65 72 73 2e 46 72 61 6d 65 49 74 65 6d 73 28 73 74 61 74 65 2c 20 6e 65 77 ineHelpers.FrameItems(state,.new
3980 49 74 65 6d 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 53 65 6c 65 63 74 69 6f 6e 4d 61 6e Items);.............SelectionMan
39a0 61 67 65 72 2e 52 65 6d 6f 76 65 54 69 6d 65 6c 69 6e 65 53 65 6c 65 63 74 69 6f 6e 28 29 3b 0a ager.RemoveTimelineSelection();.
39c0 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 76 61 72 20 69 74 65 6d 20 69 6e ............foreach.(var.item.in
39e0 20 6e 65 77 49 74 65 6d 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 .newItems).............{........
3a00 20 20 20 20 20 20 20 20 20 53 65 6c 65 63 74 69 6f 6e 4d 61 6e 61 67 65 72 2e 41 64 64 28 69 74 .........SelectionManager.Add(it
3a20 65 6d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 em);.............}.........}....
3a40 20 20 20 20 20 20 73 74 61 74 69 63 20 54 72 61 63 6b 41 73 73 65 74 20 46 69 6e 64 53 75 69 74 ......static.TrackAsset.FindSuit
3a60 61 62 6c 65 50 61 72 65 6e 74 46 6f 72 53 69 6e 67 6c 65 54 72 61 63 6b 50 61 73 74 65 57 69 74 ableParentForSingleTrackPasteWit
3a80 68 6f 75 74 4d 6f 75 73 65 28 49 74 65 6d 73 50 65 72 54 72 61 63 6b 20 69 74 65 6d 73 47 72 6f houtMouse(ItemsPerTrack.itemsGro
3aa0 75 70 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 67 72 up).........{.............var.gr
3ac0 6f 75 70 50 61 72 65 6e 74 20 3d 20 69 74 65 6d 73 47 72 6f 75 70 2e 74 61 72 67 65 74 54 72 61 oupParent.=.itemsGroup.targetTra
3ae0 63 6b 3b 20 2f 2f 73 65 74 20 61 20 6d 61 69 6e 20 70 61 72 65 6e 74 20 69 6e 20 74 68 65 20 63 ck;.//set.a.main.parent.in.the.c
3b00 6c 69 70 62 6f 61 72 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 73 65 6c 65 63 74 65 lipboard.............var.selecte
3b20 64 54 72 61 63 6b 73 20 3d 20 53 65 6c 65 63 74 69 6f 6e 4d 61 6e 61 67 65 72 2e 53 65 6c 65 63 dTracks.=.SelectionManager.Selec
3b40 74 65 64 54 72 61 63 6b 73 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 65 tedTracks();..............if.(se
3b60 6c 65 63 74 65 64 54 72 61 63 6b 73 2e 43 6f 6e 74 61 69 6e 73 28 67 72 6f 75 70 50 61 72 65 6e lectedTracks.Contains(groupParen
3b80 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t)).............{...............
3ba0 20 20 72 65 74 75 72 6e 20 67 72 6f 75 70 50 61 72 65 6e 74 3b 0a 20 20 20 20 20 20 20 20 20 20 ..return.groupParent;...........
3bc0 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 66 69 6e 64 20 61 20 73 65 6c 65 63 74 ..}..............//find.a.select
3be0 65 64 20 74 72 61 63 6b 20 73 75 69 74 61 62 6c 65 20 66 6f 72 20 61 6c 6c 20 69 74 65 6d 73 0a ed.track.suitable.for.all.items.
3c00 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 69 74 65 6d 73 54 6f 50 61 73 74 65 20 3d 20 69 ............var.itemsToPaste.=.i
3c20 74 65 6d 73 47 72 6f 75 70 2e 69 74 65 6d 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 temsGroup.items;.............var
3c40 20 63 6f 6d 70 61 74 69 62 6c 65 54 72 61 63 6b 20 3d 20 73 65 6c 65 63 74 65 64 54 72 61 63 6b .compatibleTrack.=.selectedTrack
3c60 73 2e 46 69 72 73 74 4f 72 44 65 66 61 75 6c 74 28 74 20 3d 3e 20 49 73 54 72 61 63 6b 56 61 6c s.FirstOrDefault(t.=>.IsTrackVal
3c80 69 64 46 6f 72 49 74 65 6d 73 28 74 2c 20 69 74 65 6d 73 54 6f 50 61 73 74 65 29 29 3b 0a 20 20 idForItems(t,.itemsToPaste));...
3ca0 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 63 6f 6d 70 61 74 69 62 6c 65 54 72 61 63 6b ..........return.compatibleTrack
3cc0 20 21 3d 20 6e 75 6c 6c 20 3f 20 63 6f 6d 70 61 74 69 62 6c 65 54 72 61 63 6b 20 3a 20 67 72 6f .!=.null.?.compatibleTrack.:.gro
3ce0 75 70 50 61 72 65 6e 74 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 73 74 61 upParent;.........}..........sta
3d00 74 69 63 20 62 6f 6f 6c 20 49 73 54 72 61 63 6b 56 61 6c 69 64 46 6f 72 49 74 65 6d 73 28 54 72 tic.bool.IsTrackValidForItems(Tr
3d20 61 63 6b 41 73 73 65 74 20 74 72 61 63 6b 2c 20 49 45 6e 75 6d 65 72 61 62 6c 65 3c 49 54 69 6d ackAsset.track,.IEnumerable<ITim
3d40 65 6c 69 6e 65 49 74 65 6d 3e 20 69 74 65 6d 73 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 elineItem>.items).........{.....
3d60 20 20 20 20 20 20 20 20 69 66 20 28 74 72 61 63 6b 20 3d 3d 20 6e 75 6c 6c 20 7c 7c 20 74 72 61 ........if.(track.==.null.||.tra
3d80 63 6b 2e 6c 6f 63 6b 65 64 49 6e 48 69 65 72 61 72 63 68 79 29 20 72 65 74 75 72 6e 20 66 61 6c ck.lockedInHierarchy).return.fal
3da0 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 69 74 65 6d 73 2e 41 6c 6c se;.............return.items.All
3dc0 28 69 20 3d 3e 20 69 2e 49 73 43 6f 6d 70 61 74 69 62 6c 65 57 69 74 68 54 72 61 63 6b 28 74 72 (i.=>.i.IsCompatibleWithTrack(tr
3de0 61 63 6b 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 73 74 61 74 69 63 ack));.........}..........static
3e00 20 54 72 61 63 6b 41 73 73 65 74 20 47 65 74 50 69 63 6b 65 64 54 72 61 63 6b 28 29 0a 20 20 20 .TrackAsset.GetPickedTrack()....
3e20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 72 6f 77 47 55 49 20 3d 20 .....{.............var.rowGUI.=.
3e40 50 69 63 6b 65 72 55 74 69 6c 73 2e 70 69 63 6b 65 64 45 6c 65 6d 65 6e 74 73 2e 4f 66 54 79 70 PickerUtils.pickedElements.OfTyp
3e60 65 3c 49 52 6f 77 47 55 49 3e 28 29 2e 46 69 72 73 74 4f 72 44 65 66 61 75 6c 74 28 29 3b 0a 20 e<IRowGUI>().FirstOrDefault();..
3e80 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 72 6f 77 47 55 49 20 21 3d 20 6e 75 6c 6c 29 0a 20 ...........if.(rowGUI.!=.null)..
3ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 72 6f 77 47 55 49 2e 61 73 73 ...............return.rowGUI.ass
3ec0 65 74 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 20 20 et;..............return.null;...
3ee0 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 73 74 61 74 69 63 20 76 6f 69 64 20 50 61 73 ......}..........static.void.Pas
3f00 74 65 54 72 61 63 6b 73 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 teTracks(WindowState.state).....
3f20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 74 72 61 63 6b 44 61 74 61 20 ....{.............var.trackData.
3f40 3d 20 54 69 6d 65 6c 69 6e 65 45 64 69 74 6f 72 2e 63 6c 69 70 62 6f 61 72 64 2e 47 65 74 54 72 =.TimelineEditor.clipboard.GetTr
3f60 61 63 6b 73 28 29 2e 54 6f 4c 69 73 74 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 acks().ToList();.............if.
3f80 28 74 72 61 63 6b 44 61 74 61 2e 41 6e 79 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a (trackData.Any()).............{.
3fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 6c 65 63 74 69 6f 6e 4d 61 6e 61 67 65 72 ................SelectionManager
3fc0 2e 52 65 6d 6f 76 65 54 69 6d 65 6c 69 6e 65 53 65 6c 65 63 74 69 6f 6e 28 29 3b 0a 20 20 20 20 .RemoveTimelineSelection();.....
3fe0 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 ........}..............foreach.(
4000 76 61 72 20 74 72 61 63 6b 20 69 6e 20 74 72 61 63 6b 44 61 74 61 29 0a 20 20 20 20 20 20 20 20 var.track.in.trackData).........
4020 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6e 65 77 54 72 61 ....{.................var.newTra
4040 63 6b 20 3d 20 74 72 61 63 6b 2e 69 74 65 6d 2e 44 75 70 6c 69 63 61 74 65 28 54 69 6d 65 6c 69 ck.=.track.item.Duplicate(Timeli
4060 6e 65 45 64 69 74 6f 72 2e 63 6c 69 70 62 6f 61 72 64 2e 65 78 70 6f 73 65 64 50 72 6f 70 65 72 neEditor.clipboard.exposedProper
4080 74 79 54 61 62 6c 65 2c 20 54 69 6d 65 6c 69 6e 65 45 64 69 74 6f 72 2e 69 6e 73 70 65 63 74 65 tyTable,.TimelineEditor.inspecte
40a0 64 44 69 72 65 63 74 6f 72 2c 20 54 69 6d 65 6c 69 6e 65 45 64 69 74 6f 72 2e 69 6e 73 70 65 63 dDirector,.TimelineEditor.inspec
40c0 74 65 64 41 73 73 65 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 6c 65 63 tedAsset);.................Selec
40e0 74 69 6f 6e 4d 61 6e 61 67 65 72 2e 41 64 64 28 6e 65 77 54 72 61 63 6b 29 3b 0a 20 20 20 20 20 tionManager.Add(newTrack);......
4100 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 76 61 72 20 63 68 69 6c 64 54 72 61 ...........foreach.(var.childTra
4120 63 6b 20 69 6e 20 6e 65 77 54 72 61 63 6b 2e 47 65 74 46 6c 61 74 74 65 6e 65 64 43 68 69 6c 64 ck.in.newTrack.GetFlattenedChild
4140 54 72 61 63 6b 73 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 Tracks()).................{.....
4160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 6c 65 63 74 69 6f 6e 4d 61 6e 61 67 65 72 ................SelectionManager
4180 2e 41 64 64 28 63 68 69 6c 64 54 72 61 63 6b 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .Add(childTrack);...............
41a0 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 72 61 63 6b 2e 70 ..}..................if.(track.p
41c0 61 72 65 6e 74 20 21 3d 20 6e 75 6c 6c 20 26 26 20 74 72 61 63 6b 2e 70 61 72 65 6e 74 2e 74 69 arent.!=.null.&&.track.parent.ti
41e0 6d 65 6c 69 6e 65 41 73 73 65 74 20 3d 3d 20 73 74 61 74 65 2e 65 64 69 74 53 65 71 75 65 6e 63 melineAsset.==.state.editSequenc
4200 65 2e 61 73 73 65 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 e.asset).................{......
4220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 72 61 63 6b 45 78 74 65 6e 73 69 6f 6e 73 2e 52 ...............TrackExtensions.R
4240 65 70 61 72 65 6e 74 54 72 61 63 6b 73 28 6e 65 77 20 4c 69 73 74 3c 54 72 61 63 6b 41 73 73 65 eparentTracks(new.List<TrackAsse
4260 74 3e 20 7b 20 6e 65 77 54 72 61 63 6b 20 7d 2c 20 74 72 61 63 6b 2e 70 61 72 65 6e 74 2c 20 74 t>.{.newTrack.},.track.parent,.t
4280 72 61 63 6b 2e 69 74 65 6d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 rack.item);.................}...
42a0 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 ..........}.........}.....}.....
42c0 20 5b 4d 65 6e 75 45 6e 74 72 79 28 22 44 75 70 6c 69 63 61 74 65 22 2c 20 4d 65 6e 75 4f 72 64 .[MenuEntry("Duplicate",.MenuOrd
42e0 65 72 2e 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 2e 44 75 70 6c 69 63 61 74 65 29 5d 0a 20 20 er.TimelineAction.Duplicate)]...
4300 20 20 5b 53 68 6f 72 74 63 75 74 28 22 4d 61 69 6e 20 4d 65 6e 75 2f 45 64 69 74 2f 44 75 70 6c ..[Shortcut("Main.Menu/Edit/Dupl
4320 69 63 61 74 65 22 2c 20 45 76 65 6e 74 43 6f 6d 6d 61 6e 64 4e 61 6d 65 73 2e 44 75 70 6c 69 63 icate",.EventCommandNames.Duplic
4340 61 74 65 29 5d 0a 20 20 20 20 63 6c 61 73 73 20 44 75 70 6c 69 63 61 74 65 41 63 74 69 6f 6e 20 ate)].....class.DuplicateAction.
4360 3a 20 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 :.TimelineAction.....{.........p
4380 75 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 62 6f 6f 6c 20 45 78 65 63 75 74 65 28 57 69 6e 64 ublic.override.bool.Execute(Wind
43a0 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 owState.state).........{........
43c0 20 20 20 20 20 72 65 74 75 72 6e 20 45 78 65 63 75 74 65 28 73 74 61 74 65 2c 20 28 69 74 65 6d .....return.Execute(state,.(item
43e0 31 2c 20 69 74 65 6d 32 29 20 3d 3e 20 49 74 65 6d 73 55 74 69 6c 73 2e 54 69 6d 65 47 61 70 42 1,.item2).=>.ItemsUtils.TimeGapB
4400 65 74 77 65 65 6e 49 74 65 6d 73 28 69 74 65 6d 31 2c 20 69 74 65 6d 32 2c 20 73 74 61 74 65 29 etweenItems(item1,.item2,.state)
4420 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 62 );.........}..........internal.b
4440 6f 6f 6c 20 45 78 65 63 75 74 65 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 2c 20 46 ool.Execute(WindowState.state,.F
4460 75 6e 63 3c 49 54 69 6d 65 6c 69 6e 65 49 74 65 6d 2c 20 49 54 69 6d 65 6c 69 6e 65 49 74 65 6d unc<ITimelineItem,.ITimelineItem
4480 2c 20 64 6f 75 62 6c 65 3e 20 67 61 70 42 65 74 77 65 65 6e 49 74 65 6d 73 29 0a 20 20 20 20 20 ,.double>.gapBetweenItems)......
44a0 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 73 65 6c 65 63 74 65 64 49 74 65 ...{.............var.selectedIte
44c0 6d 73 20 3d 20 53 65 6c 65 63 74 69 6f 6e 4d 61 6e 61 67 65 72 2e 53 65 6c 65 63 74 65 64 49 74 ms.=.SelectionManager.SelectedIt
44e0 65 6d 73 28 29 2e 54 6f 49 74 65 6d 73 50 65 72 54 72 61 63 6b 28 29 2e 54 6f 4c 69 73 74 28 29 ems().ToItemsPerTrack().ToList()
4500 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 65 6c 65 63 74 65 64 49 74 65 6d 73 2e ;.............if.(selectedItems.
4520 41 6e 79 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 Any()).............{............
4540 20 20 20 20 20 76 61 72 20 72 65 71 75 65 73 74 65 64 54 69 6d 65 20 3d 20 43 61 6c 63 75 6c 61 .....var.requestedTime.=.Calcula
4560 74 65 44 75 70 6c 69 63 61 74 65 54 69 6d 65 28 73 65 6c 65 63 74 65 64 49 74 65 6d 73 2c 20 67 teDuplicateTime(selectedItems,.g
4580 61 70 42 65 74 77 65 65 6e 49 74 65 6d 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 apBetweenItems);................
45a0 20 76 61 72 20 64 75 70 6c 69 63 61 74 65 64 49 74 65 6d 73 20 3d 20 54 69 6d 65 6c 69 6e 65 48 .var.duplicatedItems.=.TimelineH
45c0 65 6c 70 65 72 73 2e 44 75 70 6c 69 63 61 74 65 49 74 65 6d 73 55 73 69 6e 67 43 75 72 72 65 6e elpers.DuplicateItemsUsingCurren
45e0 74 45 64 69 74 4d 6f 64 65 28 73 74 61 74 65 2c 20 54 69 6d 65 6c 69 6e 65 45 64 69 74 6f 72 2e tEditMode(state,.TimelineEditor.
4600 69 6e 73 70 65 63 74 65 64 44 69 72 65 63 74 6f 72 2c 20 54 69 6d 65 6c 69 6e 65 45 64 69 74 6f inspectedDirector,.TimelineEdito
4620 72 2e 69 6e 73 70 65 63 74 65 64 44 69 72 65 63 74 6f 72 2c 20 73 65 6c 65 63 74 65 64 49 74 65 r.inspectedDirector,.selectedIte
4640 6d 73 2c 20 72 65 71 75 65 73 74 65 64 54 69 6d 65 2c 20 22 44 75 70 6c 69 63 61 74 65 20 49 74 ms,.requestedTime,."Duplicate.It
4660 65 6d 73 22 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 69 6d 65 6c 69 6e 65 ems");..................Timeline
4680 48 65 6c 70 65 72 73 2e 46 72 61 6d 65 49 74 65 6d 73 28 73 74 61 74 65 2c 20 64 75 70 6c 69 63 Helpers.FrameItems(state,.duplic
46a0 61 74 65 64 49 74 65 6d 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 6c 65 atedItems);.................Sele
46c0 63 74 69 6f 6e 4d 61 6e 61 67 65 72 2e 52 65 6d 6f 76 65 54 69 6d 65 6c 69 6e 65 53 65 6c 65 63 ctionManager.RemoveTimelineSelec
46e0 74 69 6f 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 tion();.................foreach.
4700 28 76 61 72 20 69 74 65 6d 20 69 6e 20 64 75 70 6c 69 63 61 74 65 64 49 74 65 6d 73 29 0a 20 20 (var.item.in.duplicatedItems)...
4720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 6c 65 63 74 69 6f 6e 4d 61 6e 61 67 ..................SelectionManag
4740 65 72 2e 41 64 64 28 69 74 65 6d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 er.Add(item);.............}.....
4760 20 20 20 20 20 20 20 20 20 76 61 72 20 74 72 61 63 6b 73 20 3d 20 53 65 6c 65 63 74 69 6f 6e 4d .........var.tracks.=.SelectionM
4780 61 6e 61 67 65 72 2e 53 65 6c 65 63 74 65 64 54 72 61 63 6b 73 28 29 2e 54 6f 41 72 72 61 79 28 anager.SelectedTracks().ToArray(
47a0 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 72 61 63 6b 73 2e 4c 65 6e 67 74 68 );.............if.(tracks.Length
47c0 20 3e 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 72 61 63 6b 41 63 74 69 6f .>.0).................TrackActio
47e0 6e 2e 49 6e 76 6f 6b 65 3c 44 75 70 6c 69 63 61 74 65 54 72 61 63 6b 73 3e 28 73 74 61 74 65 2c n.Invoke<DuplicateTracks>(state,
4800 20 74 72 61 63 6b 73 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 2e 52 65 66 .tracks);..............state.Ref
4820 72 65 73 68 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b resh();.............return.true;
4840 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 73 74 61 74 69 63 20 64 6f 75 62 6c .........}..........static.doubl
4860 65 20 43 61 6c 63 75 6c 61 74 65 44 75 70 6c 69 63 61 74 65 54 69 6d 65 28 49 45 6e 75 6d 65 72 e.CalculateDuplicateTime(IEnumer
4880 61 62 6c 65 3c 49 74 65 6d 73 50 65 72 54 72 61 63 6b 3e 20 64 75 70 6c 69 63 61 74 65 64 49 74 able<ItemsPerTrack>.duplicatedIt
48a0 65 6d 73 2c 20 46 75 6e 63 3c 49 54 69 6d 65 6c 69 6e 65 49 74 65 6d 2c 20 49 54 69 6d 65 6c 69 ems,.Func<ITimelineItem,.ITimeli
48c0 6e 65 49 74 65 6d 2c 20 64 6f 75 62 6c 65 3e 20 67 61 70 42 65 74 77 65 65 6e 49 74 65 6d 73 29 neItem,.double>.gapBetweenItems)
48e0 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 46 69 6e 64 20 74 68 .........{.............//Find.th
4900 65 20 65 6e 64 20 74 69 6d 65 20 6f 66 20 74 68 65 20 72 69 67 68 74 6d 6f 73 74 20 69 74 65 6d e.end.time.of.the.rightmost.item
4920 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 69 74 65 6d 73 4f 6e 54 72 61 63 6b 73 20 3d .............var.itemsOnTracks.=
4940 20 64 75 70 6c 69 63 61 74 65 64 49 74 65 6d 73 2e 53 65 6c 65 63 74 4d 61 6e 79 28 69 20 3d 3e .duplicatedItems.SelectMany(i.=>
4960 20 69 2e 74 61 72 67 65 74 54 72 61 63 6b 2e 47 65 74 49 74 65 6d 73 28 29 29 2e 54 6f 4c 69 73 .i.targetTrack.GetItems()).ToLis
4980 74 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 74 69 6d 65 20 3d 20 69 74 65 6d t();.............var.time.=.item
49a0 73 4f 6e 54 72 61 63 6b 73 2e 4d 61 78 28 69 20 3d 3e 20 69 2e 65 6e 64 29 3b 0a 0a 20 20 20 20 sOnTracks.Max(i.=>.i.end);......
49c0 20 20 20 20 20 20 20 20 2f 2f 46 72 6f 6d 20 61 6c 6c 20 74 68 65 20 64 75 70 6c 69 63 61 74 65 ........//From.all.the.duplicate
49e0 64 20 69 74 65 6d 73 2c 20 73 65 6c 65 63 74 20 74 68 65 20 6c 65 66 74 6d 6f 73 74 20 69 74 65 d.items,.select.the.leftmost.ite
4a00 6d 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 66 69 72 73 74 44 75 70 6c 69 63 61 74 ms.............var.firstDuplicat
4a20 65 64 49 74 65 6d 73 20 3d 20 64 75 70 6c 69 63 61 74 65 64 49 74 65 6d 73 2e 53 65 6c 65 63 74 edItems.=.duplicatedItems.Select
4a40 28 69 20 3d 3e 20 69 2e 6c 65 66 74 4d 6f 73 74 49 74 65 6d 29 3b 0a 20 20 20 20 20 20 20 20 20 (i.=>.i.leftMostItem);..........
4a60 20 20 20 76 61 72 20 6c 65 66 74 4d 6f 73 74 44 75 70 6c 69 63 61 74 65 64 49 74 65 6d 73 20 3d ...var.leftMostDuplicatedItems.=
4a80 20 66 69 72 73 74 44 75 70 6c 69 63 61 74 65 64 49 74 65 6d 73 2e 4f 72 64 65 72 42 79 28 69 20 .firstDuplicatedItems.OrderBy(i.
4aa0 3d 3e 20 69 2e 73 74 61 72 74 29 2e 47 72 6f 75 70 42 79 28 69 20 3d 3e 20 69 2e 73 74 61 72 74 =>.i.start).GroupBy(i.=>.i.start
4ac0 29 2e 46 69 72 73 74 4f 72 44 65 66 61 75 6c 74 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ).FirstOrDefault();.............
4ae0 69 66 20 28 6c 65 66 74 4d 6f 73 74 44 75 70 6c 69 63 61 74 65 64 49 74 65 6d 73 20 3d 3d 20 6e if.(leftMostDuplicatedItems.==.n
4b00 75 6c 6c 29 20 72 65 74 75 72 6e 20 30 2e 30 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f ull).return.0.0;..............fo
4b20 72 65 61 63 68 20 28 76 61 72 20 6c 65 66 74 4d 6f 73 74 49 74 65 6d 20 69 6e 20 6c 65 66 74 4d reach.(var.leftMostItem.in.leftM
4b40 6f 73 74 44 75 70 6c 69 63 61 74 65 64 49 74 65 6d 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ostDuplicatedItems).............
4b60 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 73 69 62 6c 69 6e 67 73 20 3d {.................var.siblings.=
4b80 20 6c 65 66 74 4d 6f 73 74 49 74 65 6d 2e 70 61 72 65 6e 74 54 72 61 63 6b 2e 47 65 74 49 74 65 .leftMostItem.parentTrack.GetIte
4ba0 6d 73 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 72 69 67 68 74 4d ms();.................var.rightM
4bc0 6f 73 74 53 69 62 6c 69 6e 67 73 20 3d 20 73 69 62 6c 69 6e 67 73 2e 4f 72 64 65 72 42 79 44 65 ostSiblings.=.siblings.OrderByDe
4be0 73 63 65 6e 64 69 6e 67 28 69 20 3d 3e 20 69 2e 65 6e 64 29 2e 47 72 6f 75 70 42 79 28 69 20 3d scending(i.=>.i.end).GroupBy(i.=
4c00 3e 20 69 2e 65 6e 64 29 2e 46 69 72 73 74 4f 72 44 65 66 61 75 6c 74 28 29 3b 0a 20 20 20 20 20 >.i.end).FirstOrDefault();......
4c20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 72 69 67 68 74 4d 6f 73 74 53 69 62 6c 69 6e 67 73 ...........if.(rightMostSiblings
4c40 20 3d 3d 20 6e 75 6c 6c 29 20 63 6f 6e 74 69 6e 75 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 .==.null).continue;.............
4c60 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 76 61 72 20 73 69 62 6c 69 6e 67 20 69 6e 20 72 69 67 .....foreach.(var.sibling.in.rig
4c80 68 74 4d 6f 73 74 53 69 62 6c 69 6e 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 htMostSiblings).................
4ca0 20 20 20 20 74 69 6d 65 20 3d 20 4d 61 74 68 2e 4d 61 78 28 74 69 6d 65 2c 20 73 69 62 6c 69 6e ....time.=.Math.Max(time,.siblin
4cc0 67 2e 65 6e 64 20 2b 20 67 61 70 42 65 74 77 65 65 6e 49 74 65 6d 73 28 6c 65 66 74 4d 6f 73 74 g.end.+.gapBetweenItems(leftMost
4ce0 49 74 65 6d 2c 20 73 69 62 6c 69 6e 67 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a Item,.sibling));.............}..
4d00 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 69 6d 65 3b 0a 20 20 20 20 20 20 20 ............return.time;........
4d20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 5b 4d 65 6e 75 45 6e 74 72 79 28 22 44 65 6c 65 74 65 .}.....}......[MenuEntry("Delete
4d40 22 2c 20 4d 65 6e 75 4f 72 64 65 72 2e 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 2e 44 65 6c 65 ",.MenuOrder.TimelineAction.Dele
4d60 74 65 29 5d 0a 20 20 20 20 5b 53 68 6f 72 74 63 75 74 28 22 4d 61 69 6e 20 4d 65 6e 75 2f 45 64 te)].....[Shortcut("Main.Menu/Ed
4d80 69 74 2f 44 65 6c 65 74 65 22 2c 20 45 76 65 6e 74 43 6f 6d 6d 61 6e 64 4e 61 6d 65 73 2e 44 65 it/Delete",.EventCommandNames.De
4da0 6c 65 74 65 29 5d 0a 20 20 20 20 5b 53 68 6f 72 74 63 75 74 50 6c 61 74 66 6f 72 6d 4f 76 65 72 lete)].....[ShortcutPlatformOver
4dc0 72 69 64 65 28 52 75 6e 74 69 6d 65 50 6c 61 74 66 6f 72 6d 2e 4f 53 58 45 64 69 74 6f 72 2c 20 ride(RuntimePlatform.OSXEditor,.
4de0 4b 65 79 43 6f 64 65 2e 42 61 63 6b 73 70 61 63 65 2c 20 53 68 6f 72 74 63 75 74 4d 6f 64 69 66 KeyCode.Backspace,.ShortcutModif
4e00 69 65 72 73 2e 41 63 74 69 6f 6e 29 5d 0a 20 20 20 20 5b 41 63 74 69 76 65 49 6e 4d 6f 64 65 28 iers.Action)].....[ActiveInMode(
4e20 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 73 2e 44 65 66 61 75 6c 74 29 5d 0a 20 20 20 20 63 6c 61 73 TimelineModes.Default)].....clas
4e40 73 20 44 65 6c 65 74 65 41 63 74 69 6f 6e 20 3a 20 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 0a s.DeleteAction.:.TimelineAction.
4e60 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 4d 65 ....{.........public.override.Me
4e80 6e 75 41 63 74 69 6f 6e 44 69 73 70 6c 61 79 53 74 61 74 65 20 47 65 74 44 69 73 70 6c 61 79 53 nuActionDisplayState.GetDisplayS
4ea0 74 61 74 65 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 tate(WindowState.state).........
4ec0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 43 61 6e 44 65 6c 65 74 65 28 73 {.............return.CanDelete(s
4ee0 74 61 74 65 29 20 3f 20 4d 65 6e 75 41 63 74 69 6f 6e 44 69 73 70 6c 61 79 53 74 61 74 65 2e 56 tate).?.MenuActionDisplayState.V
4f00 69 73 69 62 6c 65 20 3a 20 4d 65 6e 75 41 63 74 69 6f 6e 44 69 73 70 6c 61 79 53 74 61 74 65 2e isible.:.MenuActionDisplayState.
4f20 44 69 73 61 62 6c 65 64 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 73 74 61 Disabled;.........}..........sta
4f40 74 69 63 20 62 6f 6f 6c 20 43 61 6e 44 65 6c 65 74 65 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 tic.bool.CanDelete(WindowState.s
4f60 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 tate).........{.............if.(
4f80 73 74 61 74 65 2e 65 64 69 74 53 65 71 75 65 6e 63 65 2e 69 73 52 65 61 64 4f 6e 6c 79 29 0a 20 state.editSequence.isReadOnly)..
4fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 ...............return.false;....
4fc0 20 20 20 20 20 20 20 20 20 2f 2f 20 41 6c 6c 28 29 20 72 65 74 75 72 6e 73 20 74 72 75 65 20 77 .........//.All().returns.true.w
4fe0 68 65 6e 20 65 6d 70 74 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 53 65 6c hen.empty.............return.Sel
5000 65 63 74 69 6f 6e 4d 61 6e 61 67 65 72 2e 53 65 6c 65 63 74 65 64 54 72 61 63 6b 73 28 29 2e 41 ectionManager.SelectedTracks().A
5020 6c 6c 28 78 20 3d 3e 20 21 78 2e 6c 6f 63 6b 65 64 49 6e 48 69 65 72 61 72 63 68 79 29 20 26 26 ll(x.=>.!x.lockedInHierarchy).&&
5040 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 6c 65 63 74 69 6f 6e 4d 61 6e 61 67 65 .................SelectionManage
5060 72 2e 53 65 6c 65 63 74 65 64 49 74 65 6d 73 28 29 2e 41 6c 6c 28 78 20 3d 3e 20 78 2e 70 61 72 r.SelectedItems().All(x.=>.x.par
5080 65 6e 74 54 72 61 63 6b 20 3d 3d 20 6e 75 6c 6c 20 7c 7c 20 21 78 2e 70 61 72 65 6e 74 54 72 61 entTrack.==.null.||.!x.parentTra
50a0 63 6b 2e 6c 6f 63 6b 65 64 49 6e 48 69 65 72 61 72 63 68 79 29 3b 0a 20 20 20 20 20 20 20 20 7d ck.lockedInHierarchy);.........}
50c0 0a 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 62 6f 6f 6c 20 45 ..........public.override.bool.E
50e0 78 65 63 75 74 65 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 xecute(WindowState.state).......
5100 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 53 65 6c 65 63 74 69 6f 6e 4d 61 6e ..{.............if.(SelectionMan
5120 61 67 65 72 2e 47 65 74 43 75 72 72 65 6e 74 49 6e 6c 69 6e 65 45 64 69 74 6f 72 43 75 72 76 65 ager.GetCurrentInlineEditorCurve
5140 28 29 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 ().!=.null).................retu
5160 72 6e 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 43 61 6e 44 rn.false;..............if.(!CanD
5180 65 6c 65 74 65 28 73 74 61 74 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 elete(state)).................re
51a0 74 75 72 6e 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 73 65 6c turn.false;..............var.sel
51c0 65 63 74 65 64 49 74 65 6d 73 20 3d 20 53 65 6c 65 63 74 69 6f 6e 4d 61 6e 61 67 65 72 2e 53 65 ectedItems.=.SelectionManager.Se
51e0 6c 65 63 74 65 64 49 74 65 6d 73 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 6c 65 74 lectedItems();.............Delet
5200 65 49 74 65 6d 73 28 73 65 6c 65 63 74 65 64 49 74 65 6d 73 29 3b 0a 0a 20 20 20 20 20 20 20 20 eItems(selectedItems);..........
5220 20 20 20 20 76 61 72 20 74 72 61 63 6b 73 20 3d 20 53 65 6c 65 63 74 69 6f 6e 4d 61 6e 61 67 65 ....var.tracks.=.SelectionManage
5240 72 2e 53 65 6c 65 63 74 65 64 54 72 61 63 6b 73 28 29 2e 54 6f 41 72 72 61 79 28 29 3b 0a 20 20 r.SelectedTracks().ToArray();...
5260 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 72 61 63 6b 73 2e 41 6e 79 28 29 29 0a 20 20 20 20 ..........if.(tracks.Any()).....
5280 20 20 20 20 20 20 20 20 20 20 20 20 54 72 61 63 6b 41 63 74 69 6f 6e 2e 49 6e 76 6f 6b 65 3c 44 ............TrackAction.Invoke<D
52a0 65 6c 65 74 65 54 72 61 63 6b 73 3e 28 73 74 61 74 65 2c 20 74 72 61 63 6b 73 29 3b 0a 0a 20 20 eleteTracks>(state,.tracks);....
52c0 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 2e 52 65 66 72 65 73 68 28 29 3b 0a 20 20 20 20 20 ..........state.Refresh();......
52e0 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 65 63 74 65 64 49 74 65 6d 73 2e 41 6e 79 28 .......return.selectedItems.Any(
5300 29 20 7c 7c 20 20 74 72 61 63 6b 73 2e 4c 65 6e 67 74 68 20 3e 20 30 3b 0a 20 20 20 20 20 20 20 ).||..tracks.Length.>.0;........
5320 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 73 74 61 74 69 63 20 76 6f 69 64 .}..........internal.static.void
5340 20 44 65 6c 65 74 65 49 74 65 6d 73 28 49 45 6e 75 6d 65 72 61 62 6c 65 3c 49 54 69 6d 65 6c 69 .DeleteItems(IEnumerable<ITimeli
5360 6e 65 49 74 65 6d 3e 20 69 74 65 6d 73 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 neItem>.items).........{........
5380 20 20 20 20 20 76 61 72 20 74 72 61 63 6b 73 20 3d 20 69 74 65 6d 73 2e 47 72 6f 75 70 42 79 28 .....var.tracks.=.items.GroupBy(
53a0 63 20 3d 3e 20 63 2e 70 61 72 65 6e 74 54 72 61 63 6b 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 c.=>.c.parentTrack);............
53c0 20 20 66 6f 72 65 61 63 68 20 28 76 61 72 20 74 72 61 63 6b 20 69 6e 20 74 72 61 63 6b 73 29 0a ..foreach.(var.track.in.tracks).
53e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 69 6d 65 6c 69 6e 65 55 6e 64 6f 2e 50 75 73 ................TimelineUndo.Pus
5400 68 55 6e 64 6f 28 74 72 61 63 6b 2e 4b 65 79 2c 20 22 44 65 6c 65 74 65 20 49 74 65 6d 73 22 29 hUndo(track.Key,."Delete.Items")
5420 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 69 6d 65 6c 69 6e 65 41 6e 69 6d 61 74 69 6f 6e ;..............TimelineAnimation
5440 55 74 69 6c 69 74 69 65 73 2e 55 6e 6c 69 6e 6b 41 6e 69 6d 61 74 69 6f 6e 57 69 6e 64 6f 77 46 Utilities.UnlinkAnimationWindowF
5460 72 6f 6d 43 6c 69 70 73 28 69 74 65 6d 73 2e 4f 66 54 79 70 65 3c 43 6c 69 70 49 74 65 6d 3e 28 romClips(items.OfType<ClipItem>(
5480 29 2e 53 65 6c 65 63 74 28 69 20 3d 3e 20 69 2e 63 6c 69 70 29 29 3b 0a 0a 20 20 20 20 20 20 20 ).Select(i.=>.i.clip));.........
54a0 20 20 20 20 20 45 64 69 74 4d 6f 64 65 2e 50 72 65 70 61 72 65 49 74 65 6d 73 44 65 6c 65 74 65 .....EditMode.PrepareItemsDelete
54c0 28 49 74 65 6d 73 55 74 69 6c 73 2e 54 6f 49 74 65 6d 73 50 65 72 54 72 61 63 6b 28 69 74 65 6d (ItemsUtils.ToItemsPerTrack(item
54e0 73 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 45 64 69 74 4d 6f 64 65 55 74 69 6c 73 2e 44 s));.............EditModeUtils.D
5500 65 6c 65 74 65 28 69 74 65 6d 73 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 53 65 6c 65 63 elete(items);..............Selec
5520 74 69 6f 6e 4d 61 6e 61 67 65 72 2e 52 65 6d 6f 76 65 41 6c 6c 43 6c 69 70 73 28 29 3b 0a 20 20 tionManager.RemoveAllClips();...
5540 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 5b 4d 65 6e 75 45 6e 74 72 79 28 22 4d ......}.....}......[MenuEntry("M
5560 61 74 63 68 20 43 6f 6e 74 65 6e 74 22 2c 20 4d 65 6e 75 4f 72 64 65 72 2e 54 69 6d 65 6c 69 6e atch.Content",.MenuOrder.Timelin
5580 65 41 63 74 69 6f 6e 2e 4d 61 74 63 68 43 6f 6e 74 65 6e 74 29 5d 0a 20 20 20 20 5b 53 68 6f 72 eAction.MatchContent)].....[Shor
55a0 74 63 75 74 28 53 68 6f 72 74 63 75 74 73 2e 54 69 6d 65 6c 69 6e 65 2e 6d 61 74 63 68 43 6f 6e tcut(Shortcuts.Timeline.matchCon
55c0 74 65 6e 74 29 5d 0a 20 20 20 20 63 6c 61 73 73 20 4d 61 74 63 68 43 6f 6e 74 65 6e 74 20 3a 20 tent)].....class.MatchContent.:.
55e0 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 75 62 TimelineAction.....{.........pub
5600 6c 69 63 20 6f 76 65 72 72 69 64 65 20 4d 65 6e 75 41 63 74 69 6f 6e 44 69 73 70 6c 61 79 53 74 lic.override.MenuActionDisplaySt
5620 61 74 65 20 47 65 74 44 69 73 70 6c 61 79 53 74 61 74 65 28 57 69 6e 64 6f 77 53 74 61 74 65 20 ate.GetDisplayState(WindowState.
5640 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 state).........{.............var
5660 20 63 6c 69 70 73 20 3d 20 53 65 6c 65 63 74 69 6f 6e 4d 61 6e 61 67 65 72 2e 53 65 6c 65 63 74 .clips.=.SelectionManager.Select
5680 65 64 43 6c 69 70 73 28 29 2e 54 6f 41 72 72 61 79 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 edClips().ToArray();............
56a0 20 20 69 66 20 28 21 63 6c 69 70 73 2e 41 6e 79 28 29 20 7c 7c 20 53 65 6c 65 63 74 69 6f 6e 4d ..if.(!clips.Any().||.SelectionM
56c0 61 6e 61 67 65 72 2e 47 65 74 43 75 72 72 65 6e 74 49 6e 6c 69 6e 65 45 64 69 74 6f 72 43 75 72 anager.GetCurrentInlineEditorCur
56e0 76 65 28 29 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 ve().!=.null).................re
5700 74 75 72 6e 20 4d 65 6e 75 41 63 74 69 6f 6e 44 69 73 70 6c 61 79 53 74 61 74 65 2e 48 69 64 64 turn.MenuActionDisplayState.Hidd
5720 65 6e 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 63 6c 69 70 73 2e 41 6e en;..............return.clips.An
5740 79 28 54 69 6d 65 6c 69 6e 65 48 65 6c 70 65 72 73 2e 48 61 73 55 73 61 62 6c 65 41 73 73 65 74 y(TimelineHelpers.HasUsableAsset
5760 44 75 72 61 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3f 20 4d 65 6e 75 Duration).................?.Menu
5780 41 63 74 69 6f 6e 44 69 73 70 6c 61 79 53 74 61 74 65 2e 56 69 73 69 62 6c 65 0a 20 20 20 20 20 ActionDisplayState.Visible......
57a0 20 20 20 20 20 20 20 20 20 20 20 3a 20 4d 65 6e 75 41 63 74 69 6f 6e 44 69 73 70 6c 61 79 53 74 ...........:.MenuActionDisplaySt
57c0 61 74 65 2e 44 69 73 61 62 6c 65 64 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 ate.Disabled;.........}.........
57e0 20 70 75 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 62 6f 6f 6c 20 45 78 65 63 75 74 65 28 57 69 .public.override.bool.Execute(Wi
5800 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 ndowState.state).........{......
5820 20 20 20 20 20 20 20 69 66 20 28 53 65 6c 65 63 74 69 6f 6e 4d 61 6e 61 67 65 72 2e 47 65 74 43 .......if.(SelectionManager.GetC
5840 75 72 72 65 6e 74 49 6e 6c 69 6e 65 45 64 69 74 6f 72 43 75 72 76 65 28 29 20 21 3d 20 6e 75 6c urrentInlineEditorCurve().!=.nul
5860 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b l).................return.false;
5880 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 6c 69 70 73 20 3d 20 53 65 6c 65 63 74 ..............var.clips.=.Select
58a0 69 6f 6e 4d 61 6e 61 67 65 72 2e 53 65 6c 65 63 74 65 64 43 6c 69 70 73 28 29 2e 54 6f 41 72 72 ionManager.SelectedClips().ToArr
58c0 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 63 6c 69 70 73 2e 4c ay();.............return.clips.L
58e0 65 6e 67 74 68 20 3e 20 30 20 26 26 20 43 6c 69 70 4d 6f 64 69 66 69 65 72 2e 4d 61 74 63 68 43 ength.>.0.&&.ClipModifier.MatchC
5900 6f 6e 74 65 6e 74 28 63 6c 69 70 73 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a ontent(clips);.........}.....}..
5920 20 20 20 20 5b 53 68 6f 72 74 63 75 74 28 53 68 6f 72 74 63 75 74 73 2e 54 69 6d 65 6c 69 6e 65 ....[Shortcut(Shortcuts.Timeline
5940 2e 70 6c 61 79 29 5d 0a 20 20 20 20 5b 41 63 74 69 76 65 49 6e 4d 6f 64 65 28 54 69 6d 65 6c 69 .play)].....[ActiveInMode(Timeli
5960 6e 65 4d 6f 64 65 73 2e 44 65 66 61 75 6c 74 20 7c 20 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 73 2e neModes.Default.|.TimelineModes.
5980 52 65 61 64 4f 6e 6c 79 29 5d 0a 20 20 20 20 63 6c 61 73 73 20 50 6c 61 79 54 69 6d 65 6c 69 6e ReadOnly)].....class.PlayTimelin
59a0 65 41 63 74 69 6f 6e 20 3a 20 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 0a 20 20 20 20 7b 0a 20 eAction.:.TimelineAction.....{..
59c0 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 62 6f 6f 6c 20 45 78 65 63 .......public.override.bool.Exec
59e0 75 74 65 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b ute(WindowState.state).........{
5a00 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 75 72 72 65 6e 74 53 74 61 74 65 20 3d 20 .............var.currentState.=.
5a20 73 74 61 74 65 2e 70 6c 61 79 69 6e 67 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 state.playing;.............state
5a40 2e 53 65 74 50 6c 61 79 69 6e 67 28 21 63 75 72 72 65 6e 74 53 74 61 74 65 29 3b 0a 20 20 20 20 .SetPlaying(!currentState);.....
5a60 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 ........return.true;.........}..
5a80 20 20 20 7d 0a 0a 20 20 20 20 5b 41 63 74 69 76 65 49 6e 4d 6f 64 65 28 54 69 6d 65 6c 69 6e 65 ...}......[ActiveInMode(Timeline
5aa0 4d 6f 64 65 73 2e 44 65 66 61 75 6c 74 20 7c 20 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 73 2e 52 65 Modes.Default.|.TimelineModes.Re
5ac0 61 64 4f 6e 6c 79 29 5d 0a 20 20 20 20 63 6c 61 73 73 20 53 65 6c 65 63 74 41 6c 6c 41 63 74 69 adOnly)].....class.SelectAllActi
5ae0 6f 6e 20 3a 20 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 on.:.TimelineAction.....{.......
5b00 20 20 70 75 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 62 6f 6f 6c 20 45 78 65 63 75 74 65 28 57 ..public.override.bool.Execute(W
5b20 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 indowState.state).........{.....
5b40 20 20 20 20 20 20 20 20 2f 2f 20 6f 74 68 65 72 77 69 73 65 20 73 65 6c 65 63 74 20 61 6c 6c 20 ........//.otherwise.select.all.
5b60 74 72 61 63 6b 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 53 65 6c 65 63 74 69 6f 6e 4d 61 6e tracks..............SelectionMan
5b80 61 67 65 72 2e 43 6c 65 61 72 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 2e ager.Clear();.............state.
5ba0 47 65 74 57 69 6e 64 6f 77 28 29 2e 61 6c 6c 54 72 61 63 6b 73 2e 46 6f 72 45 61 63 68 28 78 20 GetWindow().allTracks.ForEach(x.
5bc0 3d 3e 20 53 65 6c 65 63 74 69 6f 6e 4d 61 6e 61 67 65 72 2e 41 64 64 28 78 2e 74 72 61 63 6b 29 =>.SelectionManager.Add(x.track)
5be0 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 );..............return.true;....
5c00 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 5b 53 68 6f 72 74 63 75 74 28 53 68 6f 72 .....}.....}......[Shortcut(Shor
5c20 74 63 75 74 73 2e 54 69 6d 65 6c 69 6e 65 2e 70 72 65 76 69 6f 75 73 46 72 61 6d 65 29 5d 0a 20 tcuts.Timeline.previousFrame)]..
5c40 20 20 20 5b 41 63 74 69 76 65 49 6e 4d 6f 64 65 28 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 73 2e 44 ...[ActiveInMode(TimelineModes.D
5c60 65 66 61 75 6c 74 20 7c 20 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 73 2e 52 65 61 64 4f 6e 6c 79 29 efault.|.TimelineModes.ReadOnly)
5c80 5d 0a 20 20 20 20 63 6c 61 73 73 20 50 72 65 76 69 6f 75 73 46 72 61 6d 65 41 63 74 69 6f 6e 20 ].....class.PreviousFrameAction.
5ca0 3a 20 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 :.TimelineAction.....{.........p
5cc0 75 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 62 6f 6f 6c 20 45 78 65 63 75 74 65 28 57 69 6e 64 ublic.override.bool.Execute(Wind
5ce0 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 owState.state).........{........
5d00 20 20 20 20 20 73 74 61 74 65 2e 65 64 69 74 53 65 71 75 65 6e 63 65 2e 66 72 61 6d 65 2d 2d 3b .....state.editSequence.frame--;
5d20 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 20 20 .............return.true;.......
5d40 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 5b 53 68 6f 72 74 63 75 74 28 53 68 6f 72 74 63 75 ..}.....}......[Shortcut(Shortcu
5d60 74 73 2e 54 69 6d 65 6c 69 6e 65 2e 6e 65 78 74 46 72 61 6d 65 29 5d 0a 20 20 20 20 5b 41 63 74 ts.Timeline.nextFrame)].....[Act
5d80 69 76 65 49 6e 4d 6f 64 65 28 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 73 2e 44 65 66 61 75 6c 74 20 iveInMode(TimelineModes.Default.
5da0 7c 20 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 73 2e 52 65 61 64 4f 6e 6c 79 29 5d 0a 20 20 20 20 63 |.TimelineModes.ReadOnly)].....c
5dc0 6c 61 73 73 20 4e 65 78 74 46 72 61 6d 65 41 63 74 69 6f 6e 20 3a 20 54 69 6d 65 6c 69 6e 65 41 lass.NextFrameAction.:.TimelineA
5de0 63 74 69 6f 6e 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 6f 76 65 72 72 ction.....{.........public.overr
5e00 69 64 65 20 62 6f 6f 6c 20 45 78 65 63 75 74 65 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 ide.bool.Execute(WindowState.sta
5e20 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 2e te).........{.............state.
5e40 65 64 69 74 53 65 71 75 65 6e 63 65 2e 66 72 61 6d 65 2b 2b 3b 0a 20 20 20 20 20 20 20 20 20 20 editSequence.frame++;...........
5e60 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a ..return.true;.........}.....}..
5e80 20 20 20 20 5b 53 68 6f 72 74 63 75 74 28 53 68 6f 72 74 63 75 74 73 2e 54 69 6d 65 6c 69 6e 65 ....[Shortcut(Shortcuts.Timeline
5ea0 2e 66 72 61 6d 65 41 6c 6c 29 5d 0a 20 20 20 20 5b 41 63 74 69 76 65 49 6e 4d 6f 64 65 28 54 69 .frameAll)].....[ActiveInMode(Ti
5ec0 6d 65 6c 69 6e 65 4d 6f 64 65 73 2e 44 65 66 61 75 6c 74 20 7c 20 54 69 6d 65 6c 69 6e 65 4d 6f melineModes.Default.|.TimelineMo
5ee0 64 65 73 2e 52 65 61 64 4f 6e 6c 79 29 5d 0a 20 20 20 20 63 6c 61 73 73 20 46 72 61 6d 65 41 6c des.ReadOnly)].....class.FrameAl
5f00 6c 41 63 74 69 6f 6e 20 3a 20 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 0a 20 20 20 20 7b 0a 20 lAction.:.TimelineAction.....{..
5f20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 62 6f 6f 6c 20 45 78 65 63 .......public.override.bool.Exec
5f40 75 74 65 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b ute(WindowState.state).........{
5f60 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 69 6e 6c 69 6e 65 43 75 72 76 65 45 64 69 74 .............var.inlineCurveEdit
5f80 6f 72 20 3d 20 53 65 6c 65 63 74 69 6f 6e 4d 61 6e 61 67 65 72 2e 47 65 74 43 75 72 72 65 6e 74 or.=.SelectionManager.GetCurrent
5fa0 49 6e 6c 69 6e 65 45 64 69 74 6f 72 43 75 72 76 65 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 InlineEditorCurve();............
5fc0 20 69 66 20 28 69 6e 6c 69 6e 65 43 75 72 76 65 45 64 69 74 6f 72 20 21 3d 20 6e 75 6c 6c 20 26 .if.(inlineCurveEditor.!=.null.&
5fe0 26 20 69 6e 6c 69 6e 65 43 75 72 76 65 45 64 69 74 6f 72 2e 69 6e 6c 69 6e 65 43 75 72 76 65 73 &.inlineCurveEditor.inlineCurves
6000 53 65 6c 65 63 74 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 Selected).............{.........
6020 20 20 20 20 20 20 20 20 46 72 61 6d 65 53 65 6c 65 63 74 65 64 41 63 74 69 6f 6e 2e 46 72 61 6d ........FrameSelectedAction.Fram
6040 65 49 6e 6c 69 6e 65 43 75 72 76 65 73 28 69 6e 6c 69 6e 65 43 75 72 76 65 45 64 69 74 6f 72 2c eInlineCurves(inlineCurveEditor,
6060 20 73 74 61 74 65 2c 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .state,.false);.................
6080 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 return.true;.............}......
60a0 20 20 20 20 20 20 20 20 69 66 20 28 73 74 61 74 65 2e 49 73 45 64 69 74 69 6e 67 41 53 75 62 49 ........if.(state.IsEditingASubI
60c0 74 65 6d 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 tem()).................return.fa
60e0 6c 73 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 77 20 3d 20 73 74 61 74 65 2e lse;..............var.w.=.state.
6100 47 65 74 57 69 6e 64 6f 77 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 77 20 3d GetWindow();.............if.(w.=
6120 3d 20 6e 75 6c 6c 20 7c 7c 20 77 2e 74 72 65 65 56 69 65 77 20 3d 3d 20 6e 75 6c 6c 29 0a 20 20 =.null.||.w.treeView.==.null)...
6140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 0a 20 20 20 ..............return.false;.....
6160 20 20 20 20 20 20 20 20 20 76 61 72 20 76 69 73 69 62 6c 65 54 72 61 63 6b 73 20 3d 20 77 2e 74 .........var.visibleTracks.=.w.t
6180 72 65 65 56 69 65 77 2e 76 69 73 69 62 6c 65 54 72 61 63 6b 73 2e 54 6f 4c 69 73 74 28 29 3b 0a reeView.visibleTracks.ToList();.
61a0 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 74 61 74 65 2e 65 64 69 74 53 65 71 75 65 6e ............if.(state.editSequen
61c0 63 65 2e 61 73 73 65 74 20 21 3d 20 6e 75 6c 6c 20 26 26 20 73 74 61 74 65 2e 65 64 69 74 53 65 ce.asset.!=.null.&&.state.editSe
61e0 71 75 65 6e 63 65 2e 61 73 73 65 74 2e 6d 61 72 6b 65 72 54 72 61 63 6b 20 21 3d 20 6e 75 6c 6c quence.asset.markerTrack.!=.null
6200 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 69 73 69 62 6c 65 54 72 61 63 6b 73 2e ).................visibleTracks.
6220 41 64 64 28 73 74 61 74 65 2e 65 64 69 74 53 65 71 75 65 6e 63 65 2e 61 73 73 65 74 2e 6d 61 72 Add(state.editSequence.asset.mar
6240 6b 65 72 54 72 61 63 6b 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 76 69 73 69 kerTrack);..............if.(visi
6260 62 6c 65 54 72 61 63 6b 73 2e 43 6f 75 6e 74 20 3d 3d 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 bleTracks.Count.==.0)...........
6280 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 ......return.false;.............
62a0 20 76 61 72 20 73 74 61 72 74 54 69 6d 65 20 3d 20 66 6c 6f 61 74 2e 4d 61 78 56 61 6c 75 65 3b .var.startTime.=.float.MaxValue;
62c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 65 6e 64 54 69 6d 65 20 3d 20 66 6c 6f 61 74 .............var.endTime.=.float
62e0 2e 4d 69 6e 56 61 6c 75 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 .MinValue;..............foreach.
6300 28 76 61 72 20 74 20 69 6e 20 76 69 73 69 62 6c 65 54 72 61 63 6b 73 29 0a 20 20 20 20 20 20 20 (var.t.in.visibleTracks)........
6320 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 20 3d 3d 20 .....{.................if.(t.==.
6340 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e null).....................contin
6360 75 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 74 72 61 63 ue;..................double.trac
6380 6b 53 74 61 72 74 2c 20 74 72 61 63 6b 45 6e 64 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 kStart,.trackEnd;...............
63a0 20 20 74 2e 47 65 74 49 74 65 6d 52 61 6e 67 65 28 6f 75 74 20 74 72 61 63 6b 53 74 61 72 74 2c ..t.GetItemRange(out.trackStart,
63c0 20 6f 75 74 20 74 72 61 63 6b 45 6e 64 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .out.trackEnd);.................
63e0 73 74 61 72 74 54 69 6d 65 20 3d 20 4d 61 74 68 66 2e 4d 69 6e 28 73 74 61 72 74 54 69 6d 65 2c startTime.=.Mathf.Min(startTime,
6400 20 28 66 6c 6f 61 74 29 74 72 61 63 6b 53 74 61 72 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 .(float)trackStart);............
6420 20 20 20 20 20 65 6e 64 54 69 6d 65 20 3d 20 4d 61 74 68 66 2e 4d 61 78 28 65 6e 64 54 69 6d 65 .....endTime.=.Mathf.Max(endTime
6440 2c 20 28 66 6c 6f 61 74 29 28 74 72 61 63 6b 45 6e 64 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 ,.(float)(trackEnd));...........
6460 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 74 61 72 74 54 69 6d 65 20 21 ..}..............if.(startTime.!
6480 3d 20 66 6c 6f 61 74 2e 4d 69 6e 56 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a =.float.MinValue).............{.
64a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 72 61 6d 65 53 65 6c 65 63 74 65 64 41 63 74 ................FrameSelectedAct
64c0 69 6f 6e 2e 46 72 61 6d 65 52 61 6e 67 65 28 73 74 61 72 74 54 69 6d 65 2c 20 65 6e 64 54 69 6d ion.FrameRange(startTime,.endTim
64e0 65 2c 20 73 74 61 74 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 e,.state);.................retur
6500 6e 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 n.true;.............}...........
6520 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d ...return.false;.........}.....}
6540 0a 0a 20 20 20 20 5b 41 63 74 69 76 65 49 6e 4d 6f 64 65 28 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 ......[ActiveInMode(TimelineMode
6560 73 2e 44 65 66 61 75 6c 74 20 7c 20 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 73 2e 52 65 61 64 4f 6e s.Default.|.TimelineModes.ReadOn
6580 6c 79 29 5d 0a 20 20 20 20 63 6c 61 73 73 20 46 72 61 6d 65 53 65 6c 65 63 74 65 64 41 63 74 69 ly)].....class.FrameSelectedActi
65a0 6f 6e 20 3a 20 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 on.:.TimelineAction.....{.......
65c0 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 46 72 61 6d 65 52 61 6e 67 65 28 ..public.static.void.FrameRange(
65e0 66 6c 6f 61 74 20 73 74 61 72 74 54 69 6d 65 2c 20 66 6c 6f 61 74 20 65 6e 64 54 69 6d 65 2c 20 float.startTime,.float.endTime,.
6600 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 WindowState.state).........{....
6620 20 20 20 20 20 20 20 20 20 69 66 20 28 73 74 61 72 74 54 69 6d 65 20 3e 20 65 6e 64 54 69 6d 65 .........if.(startTime.>.endTime
6640 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).............{.................
6660 72 65 74 75 72 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 return;.............}...........
6680 20 20 20 76 61 72 20 68 61 6c 66 44 75 72 61 74 69 6f 6e 20 3d 20 65 6e 64 54 69 6d 65 20 2d 20 ...var.halfDuration.=.endTime.-.
66a0 4d 61 74 68 2e 4d 61 78 28 30 2e 30 66 2c 20 73 74 61 72 74 54 69 6d 65 29 3b 0a 0a 20 20 20 20 Math.Max(0.0f,.startTime);......
66c0 20 20 20 20 20 20 20 20 69 66 20 28 68 61 6c 66 44 75 72 61 74 69 6f 6e 20 3e 20 30 2e 30 66 29 ........if.(halfDuration.>.0.0f)
66e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 .............{.................s
6700 74 61 74 65 2e 53 65 74 54 69 6d 65 41 72 65 61 53 68 6f 77 6e 52 61 6e 67 65 28 4d 61 74 68 66 tate.SetTimeAreaShownRange(Mathf
6720 2e 4d 61 78 28 2d 31 30 2e 30 66 2c 20 73 74 61 72 74 54 69 6d 65 20 2d 20 28 68 61 6c 66 44 75 .Max(-10.0f,.startTime.-.(halfDu
6740 72 61 74 69 6f 6e 20 2a 20 30 2e 31 66 29 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ration.*.0.1f)),................
6760 20 20 20 20 20 65 6e 64 54 69 6d 65 20 2b 20 28 68 61 6c 66 44 75 72 61 74 69 6f 6e 20 2a 20 30 .....endTime.+.(halfDuration.*.0
6780 2e 31 66 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 .1f));.............}............
67a0 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 .else.............{.............
67c0 20 20 20 20 2f 2f 20 73 74 61 72 74 20 3d 3d 20 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 ....//.start.==.end.............
67e0 20 20 20 20 2f 2f 20 6b 65 65 70 20 74 68 65 20 7a 6f 6f 6d 20 6c 65 76 65 6c 20 63 6f 6e 73 74 ....//.keep.the.zoom.level.const
6800 61 6e 74 2c 20 6f 6e 6c 79 20 70 61 6e 20 74 68 65 20 74 69 6d 65 20 61 72 65 61 20 74 6f 20 63 ant,.only.pan.the.time.area.to.c
6820 65 6e 74 65 72 20 74 68 65 20 69 74 65 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 enter.the.item.................v
6840 61 72 20 63 75 72 72 65 6e 74 52 61 6e 67 65 20 3d 20 73 74 61 74 65 2e 74 69 6d 65 41 72 65 61 ar.currentRange.=.state.timeArea
6860 53 68 6f 77 6e 52 61 6e 67 65 2e 79 20 2d 20 73 74 61 74 65 2e 74 69 6d 65 41 72 65 61 53 68 6f ShownRange.y.-.state.timeAreaSho
6880 77 6e 52 61 6e 67 65 2e 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 wnRange.x;.................state
68a0 2e 53 65 74 54 69 6d 65 41 72 65 61 53 68 6f 77 6e 52 61 6e 67 65 28 73 74 61 72 74 54 69 6d 65 .SetTimeAreaShownRange(startTime
68c0 20 2d 20 63 75 72 72 65 6e 74 52 61 6e 67 65 20 2f 20 32 2c 20 73 74 61 72 74 54 69 6d 65 20 2b .-.currentRange./.2,.startTime.+
68e0 20 63 75 72 72 65 6e 74 52 61 6e 67 65 20 2f 20 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 .currentRange./.2);.............
6900 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 69 6d 65 6c 69 6e 65 5a 6f 6f 6d 4d 61 6e 69 70 }..............TimelineZoomManip
6920 75 6c 61 74 6f 72 2e 49 6e 76 61 6c 69 64 61 74 65 57 68 65 65 6c 5a 6f 6f 6d 28 29 3b 0a 20 20 ulator.InvalidateWheelZoom();...
6940 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 2e 45 76 61 6c 75 61 74 65 28 29 3b 0a 20 20 20 20 ..........state.Evaluate();.....
6960 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 62 ....}..........public.override.b
6980 6f 6f 6c 20 45 78 65 63 75 74 65 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 ool.Execute(WindowState.state)..
69a0 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 69 6e 6c 69 6e 65 43 .......{.............var.inlineC
69c0 75 72 76 65 45 64 69 74 6f 72 20 3d 20 53 65 6c 65 63 74 69 6f 6e 4d 61 6e 61 67 65 72 2e 47 65 urveEditor.=.SelectionManager.Ge
69e0 74 43 75 72 72 65 6e 74 49 6e 6c 69 6e 65 45 64 69 74 6f 72 43 75 72 76 65 28 29 3b 0a 20 20 20 tCurrentInlineEditorCurve();....
6a00 20 20 20 20 20 20 20 20 20 69 66 20 28 69 6e 6c 69 6e 65 43 75 72 76 65 45 64 69 74 6f 72 20 21 .........if.(inlineCurveEditor.!
6a20 3d 20 6e 75 6c 6c 20 26 26 20 69 6e 6c 69 6e 65 43 75 72 76 65 45 64 69 74 6f 72 2e 69 6e 6c 69 =.null.&&.inlineCurveEditor.inli
6a40 6e 65 43 75 72 76 65 73 53 65 6c 65 63 74 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a neCurvesSelected).............{.
6a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 72 61 6d 65 49 6e 6c 69 6e 65 43 75 72 76 65 ................FrameInlineCurve
6a80 73 28 69 6e 6c 69 6e 65 43 75 72 76 65 45 64 69 74 6f 72 2c 20 73 74 61 74 65 2c 20 74 72 75 65 s(inlineCurveEditor,.state,.true
6aa0 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a );.................return.true;.
6ac0 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 ............}..............if.(s
6ae0 74 61 74 65 2e 49 73 45 64 69 74 69 6e 67 41 53 75 62 49 74 65 6d 28 29 29 0a 20 20 20 20 20 20 tate.IsEditingASubItem()).......
6b00 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 20 20 20 ..........return.false;.........
6b20 20 20 20 20 20 69 66 20 28 53 65 6c 65 63 74 69 6f 6e 4d 61 6e 61 67 65 72 2e 43 6f 75 6e 74 28 .....if.(SelectionManager.Count(
6b40 29 20 3d 3d 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 ).==.0).................return.f
6b60 61 6c 73 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 73 74 61 72 74 54 69 6d 65 alse;..............var.startTime
6b80 20 3d 20 66 6c 6f 61 74 2e 4d 61 78 56 61 6c 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 .=.float.MaxValue;.............v
6ba0 61 72 20 65 6e 64 54 69 6d 65 20 3d 20 66 6c 6f 61 74 2e 4d 69 6e 56 61 6c 75 65 3b 0a 0a 20 20 ar.endTime.=.float.MinValue;....
6bc0 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 6c 69 70 73 20 3d 20 53 65 6c 65 63 74 69 6f 6e 4d ..........var.clips.=.SelectionM
6be0 61 6e 61 67 65 72 2e 53 65 6c 65 63 74 65 64 43 6c 69 70 47 55 49 28 29 3b 0a 20 20 20 20 20 20 anager.SelectedClipGUI();.......
6c00 20 20 20 20 20 20 76 61 72 20 6d 61 72 6b 65 72 73 20 3d 20 53 65 6c 65 63 74 69 6f 6e 4d 61 6e ......var.markers.=.SelectionMan
6c20 61 67 65 72 2e 53 65 6c 65 63 74 65 64 4d 61 72 6b 65 72 73 28 29 3b 0a 20 20 20 20 20 20 20 20 ager.SelectedMarkers();.........
6c40 20 20 20 20 69 66 20 28 21 63 6c 69 70 73 2e 41 6e 79 28 29 20 26 26 20 21 6d 61 72 6b 65 72 73 ....if.(!clips.Any().&&.!markers
6c60 2e 41 6e 79 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 .Any()).................return.f
6c80 61 6c 73 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 76 61 72 20 alse;..............foreach.(var.
6ca0 63 20 69 6e 20 63 6c 69 70 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 c.in.clips).............{.......
6cc0 20 20 20 20 20 20 20 20 20 20 73 74 61 72 74 54 69 6d 65 20 3d 20 4d 61 74 68 66 2e 4d 69 6e 28 ..........startTime.=.Mathf.Min(
6ce0 73 74 61 72 74 54 69 6d 65 2c 20 28 66 6c 6f 61 74 29 63 2e 63 6c 69 70 2e 73 74 61 72 74 29 3b startTime,.(float)c.clip.start);
6d00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 64 54 69 6d 65 20 3d 20 4d 61 74 68 66 .................endTime.=.Mathf
6d20 2e 4d 61 78 28 65 6e 64 54 69 6d 65 2c 20 28 66 6c 6f 61 74 29 63 2e 63 6c 69 70 2e 65 6e 64 29 .Max(endTime,.(float)c.clip.end)
6d40 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 2e 63 6c 69 70 43 75 72 76 ;.................if.(c.clipCurv
6d60 65 45 64 69 74 6f 72 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 eEditor.!=.null)................
6d80 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 2e 63 6c 69 70 43 75 72 .{.....................c.clipCur
6da0 76 65 45 64 69 74 6f 72 2e 46 72 61 6d 65 43 6c 69 70 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 veEditor.FrameClip();...........
6dc0 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 ......}.............}...........
6de0 20 20 20 66 6f 72 65 61 63 68 20 28 76 61 72 20 6d 61 72 6b 65 72 20 69 6e 20 6d 61 72 6b 65 72 ...foreach.(var.marker.in.marker
6e00 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s).............{................
6e20 20 73 74 61 72 74 54 69 6d 65 20 3d 20 4d 61 74 68 66 2e 4d 69 6e 28 73 74 61 72 74 54 69 6d 65 .startTime.=.Mathf.Min(startTime
6e40 2c 20 28 66 6c 6f 61 74 29 6d 61 72 6b 65 72 2e 74 69 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 20 ,.(float)marker.time);..........
6e60 20 20 20 20 20 20 20 65 6e 64 54 69 6d 65 20 3d 20 4d 61 74 68 66 2e 4d 61 78 28 65 6e 64 54 69 .......endTime.=.Mathf.Max(endTi
6e80 6d 65 2c 20 28 66 6c 6f 61 74 29 6d 61 72 6b 65 72 2e 74 69 6d 65 29 3b 0a 20 20 20 20 20 20 20 me,.(float)marker.time);........
6ea0 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 46 72 61 6d 65 52 61 6e 67 65 28 73 .....}..............FrameRange(s
6ec0 74 61 72 74 54 69 6d 65 2c 20 65 6e 64 54 69 6d 65 2c 20 73 74 61 74 65 29 3b 0a 0a 20 20 20 20 tartTime,.endTime,.state);......
6ee0 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a ........return.true;.........}..
6f00 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 46 72 61 6d 65 ........public.static.void.Frame
6f20 49 6e 6c 69 6e 65 43 75 72 76 65 73 28 49 43 6c 69 70 43 75 72 76 65 45 64 69 74 6f 72 4f 77 6e InlineCurves(IClipCurveEditorOwn
6f40 65 72 20 63 75 72 76 65 45 64 69 74 6f 72 4f 77 6e 65 72 2c 20 57 69 6e 64 6f 77 53 74 61 74 65 er.curveEditorOwner,.WindowState
6f60 20 73 74 61 74 65 2c 20 62 6f 6f 6c 20 73 65 6c 65 63 74 69 6f 6e 4f 6e 6c 79 29 0a 20 20 20 20 .state,.bool.selectionOnly).....
6f80 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 75 72 76 65 45 64 69 74 6f ....{.............var.curveEdito
6fa0 72 20 3d 20 63 75 72 76 65 45 64 69 74 6f 72 4f 77 6e 65 72 2e 63 6c 69 70 43 75 72 76 65 45 64 r.=.curveEditorOwner.clipCurveEd
6fc0 69 74 6f 72 2e 63 75 72 76 65 45 64 69 74 6f 72 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 itor.curveEditor;.............va
6fe0 72 20 66 72 61 6d 65 42 6f 75 6e 64 73 20 3d 20 73 65 6c 65 63 74 69 6f 6e 4f 6e 6c 79 20 3f 20 r.frameBounds.=.selectionOnly.?.
7000 63 75 72 76 65 45 64 69 74 6f 72 2e 47 65 74 53 65 6c 65 63 74 69 6f 6e 42 6f 75 6e 64 73 28 29 curveEditor.GetSelectionBounds()
7020 20 3a 20 63 75 72 76 65 45 64 69 74 6f 72 2e 47 65 74 43 6c 69 70 42 6f 75 6e 64 73 28 29 3b 0a .:.curveEditor.GetClipBounds();.
7040 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 6c 69 70 47 55 49 20 3d 20 63 75 72 76 65 .............var.clipGUI.=.curve
7060 45 64 69 74 6f 72 4f 77 6e 65 72 20 61 73 20 54 69 6d 65 6c 69 6e 65 43 6c 69 70 47 55 49 3b 0a EditorOwner.as.TimelineClipGUI;.
7080 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 61 72 65 61 4f 66 66 73 65 74 20 3d 20 30 2e 30 ............var.areaOffset.=.0.0
70a0 66 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 6c 69 70 47 55 49 20 21 3d 20 6e f;..............if.(clipGUI.!=.n
70c0 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ull).............{..............
70e0 20 20 20 61 72 65 61 4f 66 66 73 65 74 20 3d 20 28 66 6c 6f 61 74 29 4d 61 74 68 2e 4d 61 78 28 ...areaOffset.=.(float)Math.Max(
7100 30 2e 30 2c 20 63 6c 69 70 47 55 49 2e 63 6c 69 70 2e 46 72 6f 6d 4c 6f 63 61 6c 54 69 6d 65 55 0.0,.clipGUI.clip.FromLocalTimeU
7120 6e 62 6f 75 6e 64 28 30 2e 30 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 nbound(0.0));..................v
7140 61 72 20 74 69 6d 65 53 63 61 6c 65 20 3d 20 28 66 6c 6f 61 74 29 63 6c 69 70 47 55 49 2e 63 6c ar.timeScale.=.(float)clipGUI.cl
7160 69 70 2e 74 69 6d 65 53 63 61 6c 65 3b 20 20 2f 2f 20 4e 6f 74 65 3a 20 54 68 65 20 67 65 74 74 ip.timeScale;..//.Note:.The.gett
7180 65 72 20 66 6f 72 20 63 6c 69 70 2e 74 69 6d 65 53 63 61 6c 65 20 69 73 20 67 75 61 72 61 6e 74 er.for.clip.timeScale.is.guarant
71a0 65 65 64 20 74 6f 20 6e 65 76 65 72 20 62 65 20 7a 65 72 6f 2e 0a 0a 20 20 20 20 20 20 20 20 20 eed.to.never.be.zero............
71c0 20 20 20 20 20 20 20 2f 2f 20 41 70 70 6c 79 20 73 63 61 6c 69 6e 67 0a 20 20 20 20 20 20 20 20 .......//.Apply.scaling.........
71e0 20 20 20 20 20 20 20 20 76 61 72 20 6e 65 77 4d 69 6e 20 3d 20 66 72 61 6d 65 42 6f 75 6e 64 73 ........var.newMin.=.frameBounds
7200 2e 6d 69 6e 2e 78 20 2f 20 74 69 6d 65 53 63 61 6c 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 .min.x./.timeScale;.............
7220 20 20 20 20 76 61 72 20 6e 65 77 4d 61 78 20 3d 20 28 66 72 61 6d 65 42 6f 75 6e 64 73 2e 6d 61 ....var.newMax.=.(frameBounds.ma
7240 78 2e 78 20 2d 20 66 72 61 6d 65 42 6f 75 6e 64 73 2e 6d 69 6e 2e 78 29 20 2f 20 74 69 6d 65 53 x.x.-.frameBounds.min.x)./.timeS
7260 63 61 6c 65 20 2b 20 6e 65 77 4d 69 6e 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 cale.+.newMin;..................
7280 66 72 61 6d 65 42 6f 75 6e 64 73 2e 53 65 74 4d 69 6e 4d 61 78 28 0a 20 20 20 20 20 20 20 20 20 frameBounds.SetMinMax(..........
72a0 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 20 56 65 63 74 6f 72 33 28 6e 65 77 4d 69 6e 2c 20 66 ...........new.Vector3(newMin,.f
72c0 72 61 6d 65 42 6f 75 6e 64 73 2e 6d 69 6e 2e 79 2c 20 66 72 61 6d 65 42 6f 75 6e 64 73 2e 6d 69 rameBounds.min.y,.frameBounds.mi
72e0 6e 2e 7a 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 20 56 65 n.z),.....................new.Ve
7300 63 74 6f 72 33 28 6e 65 77 4d 61 78 2c 20 66 72 61 6d 65 42 6f 75 6e 64 73 2e 6d 61 78 2e 79 2c ctor3(newMax,.frameBounds.max.y,
7320 20 66 72 61 6d 65 42 6f 75 6e 64 73 2e 6d 61 78 2e 7a 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 .frameBounds.max.z));...........
7340 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 76 65 45 64 69 74 6f 72 2e 46 72 61 ..}..............curveEditor.Fra
7360 6d 65 28 66 72 61 6d 65 42 6f 75 6e 64 73 2c 20 74 72 75 65 2c 20 74 72 75 65 29 3b 0a 0a 20 20 me(frameBounds,.true,.true);....
7380 20 20 20 20 20 20 20 20 20 20 76 61 72 20 61 72 65 61 20 3d 20 63 75 72 76 65 45 64 69 74 6f 72 ..........var.area.=.curveEditor
73a0 2e 73 68 6f 77 6e 41 72 65 61 49 6e 73 69 64 65 4d 61 72 67 69 6e 73 3b 0a 20 20 20 20 20 20 20 .shownAreaInsideMargins;........
73c0 20 20 20 20 20 61 72 65 61 2e 78 20 2b 3d 20 61 72 65 61 4f 66 66 73 65 74 3b 0a 0a 20 20 20 20 .....area.x.+=.areaOffset;......
73e0 20 20 20 20 20 20 20 20 76 61 72 20 63 75 72 76 65 53 74 61 72 74 20 3d 20 63 75 72 76 65 45 64 ........var.curveStart.=.curveEd
7400 69 74 6f 72 4f 77 6e 65 72 2e 63 6c 69 70 43 75 72 76 65 45 64 69 74 6f 72 2e 64 61 74 61 53 6f itorOwner.clipCurveEditor.dataSo
7420 75 72 63 65 2e 73 74 61 72 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 46 72 61 6d 65 52 61 6e urce.start;.............FrameRan
7440 67 65 28 63 75 72 76 65 53 74 61 72 74 20 2b 20 66 72 61 6d 65 42 6f 75 6e 64 73 2e 6d 69 6e 2e ge(curveStart.+.frameBounds.min.
7460 78 2c 20 63 75 72 76 65 53 74 61 72 74 20 2b 20 66 72 61 6d 65 42 6f 75 6e 64 73 2e 6d 61 78 2e x,.curveStart.+.frameBounds.max.
7480 78 2c 20 73 74 61 74 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 x,.state);.........}.....}......
74a0 5b 53 68 6f 72 74 63 75 74 28 53 68 6f 72 74 63 75 74 73 2e 54 69 6d 65 6c 69 6e 65 2e 70 72 65 [Shortcut(Shortcuts.Timeline.pre
74c0 76 69 6f 75 73 4b 65 79 29 5d 0a 20 20 20 20 5b 41 63 74 69 76 65 49 6e 4d 6f 64 65 28 54 69 6d viousKey)].....[ActiveInMode(Tim
74e0 65 6c 69 6e 65 4d 6f 64 65 73 2e 44 65 66 61 75 6c 74 20 7c 20 54 69 6d 65 6c 69 6e 65 4d 6f 64 elineModes.Default.|.TimelineMod
7500 65 73 2e 52 65 61 64 4f 6e 6c 79 29 5d 0a 20 20 20 20 63 6c 61 73 73 20 50 72 65 76 4b 65 79 41 es.ReadOnly)].....class.PrevKeyA
7520 63 74 69 6f 6e 20 3a 20 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 0a 20 20 20 20 7b 0a 20 20 20 ction.:.TimelineAction.....{....
7540 20 20 20 20 20 70 75 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 62 6f 6f 6c 20 45 78 65 63 75 74 .....public.override.bool.Execut
7560 65 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 e(WindowState.state).........{..
7580 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6b 65 79 54 72 61 76 65 72 73 65 72 20 3d 20 6e 65 ...........var.keyTraverser.=.ne
75a0 77 20 55 74 69 6c 69 74 69 65 73 2e 4b 65 79 54 72 61 76 65 72 73 65 72 28 73 74 61 74 65 2e 65 w.Utilities.KeyTraverser(state.e
75c0 64 69 74 53 65 71 75 65 6e 63 65 2e 61 73 73 65 74 2c 20 30 2e 30 31 66 20 2f 20 73 74 61 74 65 ditSequence.asset,.0.01f./.state
75e0 2e 72 65 66 65 72 65 6e 63 65 53 65 71 75 65 6e 63 65 2e 66 72 61 6d 65 52 61 74 65 29 3b 0a 20 .referenceSequence.frameRate);..
7600 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 74 69 6d 65 20 3d 20 6b 65 79 54 72 61 76 65 72 73 ...........var.time.=.keyTravers
7620 65 72 2e 47 65 74 50 72 65 76 4b 65 79 28 28 66 6c 6f 61 74 29 73 74 61 74 65 2e 65 64 69 74 53 er.GetPrevKey((float)state.editS
7640 65 71 75 65 6e 63 65 2e 74 69 6d 65 2c 20 73 74 61 74 65 2e 64 69 72 74 79 53 74 61 6d 70 29 3b equence.time,.state.dirtyStamp);
7660 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 69 6d 65 20 21 3d 20 73 74 61 74 65 2e 65 .............if.(time.!=.state.e
7680 64 69 74 53 65 71 75 65 6e 63 65 2e 74 69 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a ditSequence.time).............{.
76a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 2e 65 64 69 74 53 65 71 75 65 6e ................state.editSequen
76c0 63 65 2e 74 69 6d 65 20 3d 20 74 69 6d 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 ce.time.=.time;.............}...
76e0 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 ...........return.true;.........
7700 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 5b 53 68 6f 72 74 63 75 74 28 53 68 6f 72 74 63 75 74 73 }.....}......[Shortcut(Shortcuts
7720 2e 54 69 6d 65 6c 69 6e 65 2e 6e 65 78 74 4b 65 79 29 5d 0a 20 20 20 20 5b 41 63 74 69 76 65 49 .Timeline.nextKey)].....[ActiveI
7740 6e 4d 6f 64 65 28 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 73 2e 44 65 66 61 75 6c 74 20 7c 20 54 69 nMode(TimelineModes.Default.|.Ti
7760 6d 65 6c 69 6e 65 4d 6f 64 65 73 2e 52 65 61 64 4f 6e 6c 79 29 5d 0a 20 20 20 20 63 6c 61 73 73 melineModes.ReadOnly)].....class
7780 20 4e 65 78 74 4b 65 79 41 63 74 69 6f 6e 20 3a 20 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 0a .NextKeyAction.:.TimelineAction.
77a0 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 62 6f ....{.........public.override.bo
77c0 6f 6c 20 45 78 65 63 75 74 65 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 ol.Execute(WindowState.state)...
77e0 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6b 65 79 54 72 61 76 65 ......{.............var.keyTrave
7800 72 73 65 72 20 3d 20 6e 65 77 20 55 74 69 6c 69 74 69 65 73 2e 4b 65 79 54 72 61 76 65 72 73 65 rser.=.new.Utilities.KeyTraverse
7820 72 28 73 74 61 74 65 2e 65 64 69 74 53 65 71 75 65 6e 63 65 2e 61 73 73 65 74 2c 20 30 2e 30 31 r(state.editSequence.asset,.0.01
7840 66 20 2f 20 73 74 61 74 65 2e 72 65 66 65 72 65 6e 63 65 53 65 71 75 65 6e 63 65 2e 66 72 61 6d f./.state.referenceSequence.fram
7860 65 52 61 74 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 74 69 6d 65 20 3d 20 6b eRate);.............var.time.=.k
7880 65 79 54 72 61 76 65 72 73 65 72 2e 47 65 74 4e 65 78 74 4b 65 79 28 28 66 6c 6f 61 74 29 73 74 eyTraverser.GetNextKey((float)st
78a0 61 74 65 2e 65 64 69 74 53 65 71 75 65 6e 63 65 2e 74 69 6d 65 2c 20 73 74 61 74 65 2e 64 69 72 ate.editSequence.time,.state.dir
78c0 74 79 53 74 61 6d 70 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 69 6d 65 20 21 tyStamp);.............if.(time.!
78e0 3d 20 73 74 61 74 65 2e 65 64 69 74 53 65 71 75 65 6e 63 65 2e 74 69 6d 65 29 0a 20 20 20 20 20 =.state.editSequence.time)......
7900 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 2e 65 .......{.................state.e
7920 64 69 74 53 65 71 75 65 6e 63 65 2e 74 69 6d 65 20 3d 20 74 69 6d 65 3b 0a 20 20 20 20 20 20 20 ditSequence.time.=.time;........
7940 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b .....}..............return.true;
7960 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 5b 53 68 6f 72 74 63 75 74 28 .........}.....}......[Shortcut(
7980 53 68 6f 72 74 63 75 74 73 2e 54 69 6d 65 6c 69 6e 65 2e 67 6f 54 6f 53 74 61 72 74 29 5d 0a 20 Shortcuts.Timeline.goToStart)]..
79a0 20 20 20 5b 41 63 74 69 76 65 49 6e 4d 6f 64 65 28 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 73 2e 44 ...[ActiveInMode(TimelineModes.D
79c0 65 66 61 75 6c 74 20 7c 20 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 73 2e 52 65 61 64 4f 6e 6c 79 29 efault.|.TimelineModes.ReadOnly)
79e0 5d 0a 20 20 20 20 63 6c 61 73 73 20 47 6f 74 6f 53 74 61 72 74 41 63 74 69 6f 6e 20 3a 20 54 69 ].....class.GotoStartAction.:.Ti
7a00 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 melineAction.....{.........publi
7a20 63 20 6f 76 65 72 72 69 64 65 20 62 6f 6f 6c 20 45 78 65 63 75 74 65 28 57 69 6e 64 6f 77 53 74 c.override.bool.Execute(WindowSt
7a40 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ate.state).........{............
7a60 20 73 74 61 74 65 2e 65 64 69 74 53 65 71 75 65 6e 63 65 2e 74 69 6d 65 20 3d 20 30 2e 30 66 3b .state.editSequence.time.=.0.0f;
7a80 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 2e 45 6e 73 75 72 65 50 6c 61 79 48 65 61 .............state.EnsurePlayHea
7aa0 64 49 73 56 69 73 69 62 6c 65 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 dIsVisible();..............retur
7ac0 6e 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 5b 53 68 n.true;.........}.....}......[Sh
7ae0 6f 72 74 63 75 74 28 53 68 6f 72 74 63 75 74 73 2e 54 69 6d 65 6c 69 6e 65 2e 67 6f 54 6f 45 6e ortcut(Shortcuts.Timeline.goToEn
7b00 64 29 5d 0a 20 20 20 20 5b 41 63 74 69 76 65 49 6e 4d 6f 64 65 28 54 69 6d 65 6c 69 6e 65 4d 6f d)].....[ActiveInMode(TimelineMo
7b20 64 65 73 2e 44 65 66 61 75 6c 74 20 7c 20 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 73 2e 52 65 61 64 des.Default.|.TimelineModes.Read
7b40 4f 6e 6c 79 29 5d 0a 20 20 20 20 63 6c 61 73 73 20 47 6f 74 6f 45 6e 64 41 63 74 69 6f 6e 20 3a Only)].....class.GotoEndAction.:
7b60 20 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 75 .TimelineAction.....{.........pu
7b80 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 62 6f 6f 6c 20 45 78 65 63 75 74 65 28 57 69 6e 64 6f blic.override.bool.Execute(Windo
7ba0 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 wState.state).........{.........
7bc0 20 20 20 20 73 74 61 74 65 2e 65 64 69 74 53 65 71 75 65 6e 63 65 2e 74 69 6d 65 20 3d 20 73 74 ....state.editSequence.time.=.st
7be0 61 74 65 2e 65 64 69 74 53 65 71 75 65 6e 63 65 2e 64 75 72 61 74 69 6f 6e 3b 0a 20 20 20 20 20 ate.editSequence.duration;......
7c00 20 20 20 20 20 20 20 73 74 61 74 65 2e 45 6e 73 75 72 65 50 6c 61 79 48 65 61 64 49 73 56 69 73 .......state.EnsurePlayHeadIsVis
7c20 69 62 6c 65 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 ible();..............return.true
7c40 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 5b 53 68 6f 72 74 63 75 74 ;.........}.....}......[Shortcut
7c60 28 53 68 6f 72 74 63 75 74 73 2e 54 69 6d 65 6c 69 6e 65 2e 7a 6f 6f 6d 49 6e 29 5d 0a 20 20 20 (Shortcuts.Timeline.zoomIn)]....
7c80 20 5b 41 63 74 69 76 65 49 6e 4d 6f 64 65 28 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 73 2e 44 65 66 .[ActiveInMode(TimelineModes.Def
7ca0 61 75 6c 74 20 7c 20 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 73 2e 52 65 61 64 4f 6e 6c 79 29 5d 0a ault.|.TimelineModes.ReadOnly)].
7cc0 20 20 20 20 63 6c 61 73 73 20 5a 6f 6f 6d 49 6e 20 3a 20 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f ....class.ZoomIn.:.TimelineActio
7ce0 6e 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 n.....{.........public.override.
7d00 62 6f 6f 6c 20 45 78 65 63 75 74 65 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a bool.Execute(WindowState.state).
7d20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 69 6d 65 6c 69 6e 65 5a 6f ........{.............TimelineZo
7d40 6f 6d 4d 61 6e 69 70 75 6c 61 74 6f 72 2e 49 6e 73 74 61 6e 63 65 2e 44 6f 5a 6f 6f 6d 28 31 2e omManipulator.Instance.DoZoom(1.
7d60 31 35 66 2c 20 73 74 61 74 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 15f,.state);.............return.
7d80 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 5b 53 68 6f 72 true;.........}.....}......[Shor
7da0 74 63 75 74 28 53 68 6f 72 74 63 75 74 73 2e 54 69 6d 65 6c 69 6e 65 2e 7a 6f 6f 6d 4f 75 74 29 tcut(Shortcuts.Timeline.zoomOut)
7dc0 5d 0a 20 20 20 20 5b 41 63 74 69 76 65 49 6e 4d 6f 64 65 28 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 ].....[ActiveInMode(TimelineMode
7de0 73 2e 44 65 66 61 75 6c 74 20 7c 20 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 73 2e 52 65 61 64 4f 6e s.Default.|.TimelineModes.ReadOn
7e00 6c 79 29 5d 0a 20 20 20 20 63 6c 61 73 73 20 5a 6f 6f 6d 4f 75 74 20 3a 20 54 69 6d 65 6c 69 6e ly)].....class.ZoomOut.:.Timelin
7e20 65 41 63 74 69 6f 6e 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 6f 76 65 eAction.....{.........public.ove
7e40 72 72 69 64 65 20 62 6f 6f 6c 20 45 78 65 63 75 74 65 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 rride.bool.Execute(WindowState.s
7e60 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 69 6d 65 tate).........{.............Time
7e80 6c 69 6e 65 5a 6f 6f 6d 4d 61 6e 69 70 75 6c 61 74 6f 72 2e 49 6e 73 74 61 6e 63 65 2e 44 6f 5a lineZoomManipulator.Instance.DoZ
7ea0 6f 6f 6d 28 30 2e 38 35 66 2c 20 73 74 61 74 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 oom(0.85f,.state);.............r
7ec0 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 eturn.true;.........}.....}.....
7ee0 20 5b 53 68 6f 72 74 63 75 74 28 53 68 6f 72 74 63 75 74 73 2e 54 69 6d 65 6c 69 6e 65 2e 63 6f .[Shortcut(Shortcuts.Timeline.co
7f00 6c 6c 61 70 73 65 47 72 6f 75 70 29 5d 0a 20 20 20 20 5b 41 63 74 69 76 65 49 6e 4d 6f 64 65 28 llapseGroup)].....[ActiveInMode(
7f20 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 73 2e 44 65 66 61 75 6c 74 20 7c 20 54 69 6d 65 6c 69 6e 65 TimelineModes.Default.|.Timeline
7f40 4d 6f 64 65 73 2e 52 65 61 64 4f 6e 6c 79 29 5d 0a 20 20 20 20 63 6c 61 73 73 20 43 6f 6c 6c 61 Modes.ReadOnly)].....class.Colla
7f60 70 73 65 47 72 6f 75 70 20 3a 20 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 0a 20 20 20 20 7b 0a pseGroup.:.TimelineAction.....{.
7f80 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 62 6f 6f 6c 20 45 78 65 ........public.override.bool.Exe
7fa0 63 75 74 65 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 cute(WindowState.state).........
7fc0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4b 65 79 62 6f 61 72 64 4e 61 76 {.............return.KeyboardNav
7fe0 69 67 61 74 69 6f 6e 2e 43 6f 6c 6c 61 70 73 65 47 72 6f 75 70 28 73 74 61 74 65 29 3b 0a 20 20 igation.CollapseGroup(state);...
8000 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 5b 53 68 6f 72 74 63 75 74 28 53 68 6f ......}.....}......[Shortcut(Sho
8020 72 74 63 75 74 73 2e 54 69 6d 65 6c 69 6e 65 2e 75 6e 43 6f 6c 6c 61 70 73 65 47 72 6f 75 70 29 rtcuts.Timeline.unCollapseGroup)
8040 5d 0a 20 20 20 20 5b 41 63 74 69 76 65 49 6e 4d 6f 64 65 28 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 ].....[ActiveInMode(TimelineMode
8060 73 2e 44 65 66 61 75 6c 74 20 7c 20 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 73 2e 52 65 61 64 4f 6e s.Default.|.TimelineModes.ReadOn
8080 6c 79 29 5d 0a 20 20 20 20 63 6c 61 73 73 20 55 6e 43 6f 6c 6c 61 70 73 65 47 72 6f 75 70 20 3a ly)].....class.UnCollapseGroup.:
80a0 20 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 75 .TimelineAction.....{.........pu
80c0 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 62 6f 6f 6c 20 45 78 65 63 75 74 65 28 57 69 6e 64 6f blic.override.bool.Execute(Windo
80e0 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 wState.state).........{.........
8100 20 20 20 20 72 65 74 75 72 6e 20 4b 65 79 62 6f 61 72 64 4e 61 76 69 67 61 74 69 6f 6e 2e 55 6e ....return.KeyboardNavigation.Un
8120 43 6f 6c 6c 61 70 73 65 47 72 6f 75 70 28 73 74 61 74 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a CollapseGroup(state);.........}.
8140 20 20 20 20 7d 0a 0a 20 20 20 20 5b 53 68 6f 72 74 63 75 74 28 53 68 6f 72 74 63 75 74 73 2e 54 ....}......[Shortcut(Shortcuts.T
8160 69 6d 65 6c 69 6e 65 2e 73 65 6c 65 63 74 4c 65 66 74 49 74 65 6d 29 5d 0a 20 20 20 20 5b 41 63 imeline.selectLeftItem)].....[Ac
8180 74 69 76 65 49 6e 4d 6f 64 65 28 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 73 2e 44 65 66 61 75 6c 74 tiveInMode(TimelineModes.Default
81a0 20 7c 20 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 73 2e 52 65 61 64 4f 6e 6c 79 29 5d 0a 20 20 20 20 .|.TimelineModes.ReadOnly)].....
81c0 63 6c 61 73 73 20 53 65 6c 65 63 74 4c 65 66 74 43 6c 69 70 20 3a 20 54 69 6d 65 6c 69 6e 65 41 class.SelectLeftClip.:.TimelineA
81e0 63 74 69 6f 6e 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 6f 76 65 72 72 ction.....{.........public.overr
8200 69 64 65 20 62 6f 6f 6c 20 45 78 65 63 75 74 65 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 ide.bool.Execute(WindowState.sta
8220 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 53 77 69 te).........{.............//.Swi
8240 74 63 68 65 73 20 74 6f 20 74 72 61 63 6b 20 68 65 61 64 65 72 20 69 66 20 6e 6f 20 6c 65 66 74 tches.to.track.header.if.no.left
8260 20 74 72 61 63 6b 20 65 78 69 73 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e .track.exists.............return
8280 20 4b 65 79 62 6f 61 72 64 4e 61 76 69 67 61 74 69 6f 6e 2e 53 65 6c 65 63 74 4c 65 66 74 49 74 .KeyboardNavigation.SelectLeftIt
82a0 65 6d 28 73 74 61 74 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 em(state);.........}.....}......
82c0 5b 53 68 6f 72 74 63 75 74 28 53 68 6f 72 74 63 75 74 73 2e 54 69 6d 65 6c 69 6e 65 2e 73 65 6c [Shortcut(Shortcuts.Timeline.sel
82e0 65 63 74 52 69 67 68 74 49 74 65 6d 29 5d 0a 20 20 20 20 5b 41 63 74 69 76 65 49 6e 4d 6f 64 65 ectRightItem)].....[ActiveInMode
8300 28 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 73 2e 44 65 66 61 75 6c 74 20 7c 20 54 69 6d 65 6c 69 6e (TimelineModes.Default.|.Timelin
8320 65 4d 6f 64 65 73 2e 52 65 61 64 4f 6e 6c 79 29 5d 0a 20 20 20 20 63 6c 61 73 73 20 53 65 6c 65 eModes.ReadOnly)].....class.Sele
8340 63 74 52 69 67 68 74 43 6c 69 70 20 3a 20 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 0a 20 20 20 ctRightClip.:.TimelineAction....
8360 20 7b 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 62 6f 6f 6c 20 .{.........public.override.bool.
8380 45 78 65 63 75 74 65 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 Execute(WindowState.state)......
83a0 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4b 65 79 62 6f 61 72 64 ...{.............return.Keyboard
83c0 4e 61 76 69 67 61 74 69 6f 6e 2e 53 65 6c 65 63 74 52 69 67 68 74 49 74 65 6d 28 73 74 61 74 65 Navigation.SelectRightItem(state
83e0 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 5b 53 68 6f 72 74 63 75 );.........}.....}......[Shortcu
8400 74 28 53 68 6f 72 74 63 75 74 73 2e 54 69 6d 65 6c 69 6e 65 2e 73 65 6c 65 63 74 55 70 49 74 65 t(Shortcuts.Timeline.selectUpIte
8420 6d 29 5d 0a 20 20 20 20 5b 41 63 74 69 76 65 49 6e 4d 6f 64 65 28 54 69 6d 65 6c 69 6e 65 4d 6f m)].....[ActiveInMode(TimelineMo
8440 64 65 73 2e 44 65 66 61 75 6c 74 20 7c 20 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 73 2e 52 65 61 64 des.Default.|.TimelineModes.Read
8460 4f 6e 6c 79 29 5d 0a 20 20 20 20 63 6c 61 73 73 20 53 65 6c 65 63 74 55 70 43 6c 69 70 20 3a 20 Only)].....class.SelectUpClip.:.
8480 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 75 62 TimelineAction.....{.........pub
84a0 6c 69 63 20 6f 76 65 72 72 69 64 65 20 62 6f 6f 6c 20 45 78 65 63 75 74 65 28 57 69 6e 64 6f 77 lic.override.bool.Execute(Window
84c0 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 State.state).........{..........
84e0 20 20 20 72 65 74 75 72 6e 20 4b 65 79 62 6f 61 72 64 4e 61 76 69 67 61 74 69 6f 6e 2e 53 65 6c ...return.KeyboardNavigation.Sel
8500 65 63 74 55 70 49 74 65 6d 28 73 74 61 74 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 ectUpItem(state);.........}.....
8520 7d 0a 0a 20 20 20 20 5b 53 68 6f 72 74 63 75 74 28 53 68 6f 72 74 63 75 74 73 2e 54 69 6d 65 6c }......[Shortcut(Shortcuts.Timel
8540 69 6e 65 2e 73 65 6c 65 63 74 55 70 54 72 61 63 6b 29 5d 0a 20 20 20 20 5b 41 63 74 69 76 65 49 ine.selectUpTrack)].....[ActiveI
8560 6e 4d 6f 64 65 28 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 73 2e 44 65 66 61 75 6c 74 20 7c 20 54 69 nMode(TimelineModes.Default.|.Ti
8580 6d 65 6c 69 6e 65 4d 6f 64 65 73 2e 52 65 61 64 4f 6e 6c 79 29 5d 0a 20 20 20 20 63 6c 61 73 73 melineModes.ReadOnly)].....class
85a0 20 53 65 6c 65 63 74 55 70 54 72 61 63 6b 20 3a 20 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 0a .SelectUpTrack.:.TimelineAction.
85c0 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 62 6f ....{.........public.override.bo
85e0 6f 6c 20 45 78 65 63 75 74 65 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 ol.Execute(WindowState.state)...
8600 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4b 65 79 62 6f ......{.............return.Keybo
8620 61 72 64 4e 61 76 69 67 61 74 69 6f 6e 2e 53 65 6c 65 63 74 55 70 54 72 61 63 6b 28 29 3b 0a 20 ardNavigation.SelectUpTrack();..
8640 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 5b 53 68 6f 72 74 63 75 74 28 53 68 .......}.....}......[Shortcut(Sh
8660 6f 72 74 63 75 74 73 2e 54 69 6d 65 6c 69 6e 65 2e 73 65 6c 65 63 74 44 6f 77 6e 49 74 65 6d 29 ortcuts.Timeline.selectDownItem)
8680 5d 0a 20 20 20 20 5b 41 63 74 69 76 65 49 6e 4d 6f 64 65 28 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 ].....[ActiveInMode(TimelineMode
86a0 73 2e 44 65 66 61 75 6c 74 20 7c 20 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 73 2e 52 65 61 64 4f 6e s.Default.|.TimelineModes.ReadOn
86c0 6c 79 29 5d 0a 20 20 20 20 63 6c 61 73 73 20 53 65 6c 65 63 74 44 6f 77 6e 43 6c 69 70 20 3a 20 ly)].....class.SelectDownClip.:.
86e0 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 75 62 TimelineAction.....{.........pub
8700 6c 69 63 20 6f 76 65 72 72 69 64 65 20 62 6f 6f 6c 20 45 78 65 63 75 74 65 28 57 69 6e 64 6f 77 lic.override.bool.Execute(Window
8720 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 State.state).........{..........
8740 20 20 20 72 65 74 75 72 6e 20 4b 65 79 62 6f 61 72 64 4e 61 76 69 67 61 74 69 6f 6e 2e 53 65 6c ...return.KeyboardNavigation.Sel
8760 65 63 74 44 6f 77 6e 49 74 65 6d 28 73 74 61 74 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 ectDownItem(state);.........}...
8780 20 20 7d 0a 0a 20 20 20 20 5b 53 68 6f 72 74 63 75 74 28 53 68 6f 72 74 63 75 74 73 2e 54 69 6d ..}......[Shortcut(Shortcuts.Tim
87a0 65 6c 69 6e 65 2e 73 65 6c 65 63 74 44 6f 77 6e 54 72 61 63 6b 29 5d 0a 20 20 20 20 5b 41 63 74 eline.selectDownTrack)].....[Act
87c0 69 76 65 49 6e 4d 6f 64 65 28 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 73 2e 44 65 66 61 75 6c 74 20 iveInMode(TimelineModes.Default.
87e0 7c 20 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 73 2e 52 65 61 64 4f 6e 6c 79 29 5d 0a 20 20 20 20 63 |.TimelineModes.ReadOnly)].....c
8800 6c 61 73 73 20 53 65 6c 65 63 74 44 6f 77 6e 54 72 61 63 6b 20 3a 20 54 69 6d 65 6c 69 6e 65 41 lass.SelectDownTrack.:.TimelineA
8820 63 74 69 6f 6e 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 6f 76 65 72 72 ction.....{.........public.overr
8840 69 64 65 20 62 6f 6f 6c 20 45 78 65 63 75 74 65 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 ide.bool.Execute(WindowState.sta
8860 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 4b te).........{.............if.(!K
8880 65 79 62 6f 61 72 64 4e 61 76 69 67 61 74 69 6f 6e 2e 43 6c 69 70 41 72 65 61 41 63 74 69 76 65 eyboardNavigation.ClipAreaActive
88a0 28 29 20 26 26 20 21 4b 65 79 62 6f 61 72 64 4e 61 76 69 67 61 74 69 6f 6e 2e 54 72 61 63 6b 48 ().&&.!KeyboardNavigation.TrackH
88c0 65 61 64 41 63 74 69 76 65 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 eadActive()).................ret
88e0 75 72 6e 20 4b 65 79 62 6f 61 72 64 4e 61 76 69 67 61 74 69 6f 6e 2e 46 6f 63 75 73 46 69 72 73 urn.KeyboardNavigation.FocusFirs
8900 74 56 69 73 69 62 6c 65 49 74 65 6d 28 73 74 61 74 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 tVisibleItem(state);............
8920 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4b 65 79 .else.................return.Key
8940 62 6f 61 72 64 4e 61 76 69 67 61 74 69 6f 6e 2e 53 65 6c 65 63 74 44 6f 77 6e 54 72 61 63 6b 28 boardNavigation.SelectDownTrack(
8960 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 5b 53 68 6f 72 74 63 75 );.........}.....}......[Shortcu
8980 74 28 53 68 6f 72 74 63 75 74 73 2e 54 69 6d 65 6c 69 6e 65 2e 6d 75 6c 74 69 53 65 6c 65 63 74 t(Shortcuts.Timeline.multiSelect
89a0 4c 65 66 74 29 5d 0a 20 20 20 20 5b 41 63 74 69 76 65 49 6e 4d 6f 64 65 28 54 69 6d 65 6c 69 6e Left)].....[ActiveInMode(Timelin
89c0 65 4d 6f 64 65 73 2e 44 65 66 61 75 6c 74 20 7c 20 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 73 2e 52 eModes.Default.|.TimelineModes.R
89e0 65 61 64 4f 6e 6c 79 29 5d 0a 20 20 20 20 63 6c 61 73 73 20 4d 75 6c 74 69 73 65 6c 65 63 74 4c eadOnly)].....class.MultiselectL
8a00 65 66 74 43 6c 69 70 20 3a 20 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 0a 20 20 20 20 7b 0a 20 eftClip.:.TimelineAction.....{..
8a20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 62 6f 6f 6c 20 45 78 65 63 .......public.override.bool.Exec
8a40 75 74 65 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b ute(WindowState.state).........{
8a60 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4b 65 79 62 6f 61 72 64 4e 61 76 69 .............return.KeyboardNavi
8a80 67 61 74 69 6f 6e 2e 53 65 6c 65 63 74 4c 65 66 74 49 74 65 6d 28 73 74 61 74 65 2c 20 74 72 75 gation.SelectLeftItem(state,.tru
8aa0 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 5b 53 68 6f 72 74 63 e);.........}.....}......[Shortc
8ac0 75 74 28 53 68 6f 72 74 63 75 74 73 2e 54 69 6d 65 6c 69 6e 65 2e 6d 75 6c 74 69 53 65 6c 65 63 ut(Shortcuts.Timeline.multiSelec
8ae0 74 52 69 67 68 74 29 5d 0a 20 20 20 20 5b 41 63 74 69 76 65 49 6e 4d 6f 64 65 28 54 69 6d 65 6c tRight)].....[ActiveInMode(Timel
8b00 69 6e 65 4d 6f 64 65 73 2e 44 65 66 61 75 6c 74 20 7c 20 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 73 ineModes.Default.|.TimelineModes
8b20 2e 52 65 61 64 4f 6e 6c 79 29 5d 0a 20 20 20 20 63 6c 61 73 73 20 4d 75 6c 74 69 73 65 6c 65 63 .ReadOnly)].....class.Multiselec
8b40 74 52 69 67 68 74 43 6c 69 70 20 3a 20 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 0a 20 20 20 20 tRightClip.:.TimelineAction.....
8b60 7b 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 62 6f 6f 6c 20 45 {.........public.override.bool.E
8b80 78 65 63 75 74 65 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 xecute(WindowState.state).......
8ba0 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4b 65 79 62 6f 61 72 64 4e ..{.............return.KeyboardN
8bc0 61 76 69 67 61 74 69 6f 6e 2e 53 65 6c 65 63 74 52 69 67 68 74 49 74 65 6d 28 73 74 61 74 65 2c avigation.SelectRightItem(state,
8be0 20 74 72 75 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 5b 53 68 .true);.........}.....}......[Sh
8c00 6f 72 74 63 75 74 28 53 68 6f 72 74 63 75 74 73 2e 54 69 6d 65 6c 69 6e 65 2e 6d 75 6c 74 69 53 ortcut(Shortcuts.Timeline.multiS
8c20 65 6c 65 63 74 55 70 29 5d 0a 20 20 20 20 5b 41 63 74 69 76 65 49 6e 4d 6f 64 65 28 54 69 6d 65 electUp)].....[ActiveInMode(Time
8c40 6c 69 6e 65 4d 6f 64 65 73 2e 44 65 66 61 75 6c 74 20 7c 20 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 lineModes.Default.|.TimelineMode
8c60 73 2e 52 65 61 64 4f 6e 6c 79 29 5d 0a 20 20 20 20 63 6c 61 73 73 20 4d 75 6c 74 69 73 65 6c 65 s.ReadOnly)].....class.Multisele
8c80 63 74 55 70 54 72 61 63 6b 20 3a 20 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 0a 20 20 20 20 7b ctUpTrack.:.TimelineAction.....{
8ca0 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 62 6f 6f 6c 20 45 78 .........public.override.bool.Ex
8cc0 65 63 75 74 65 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 ecute(WindowState.state)........
8ce0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4b 65 79 62 6f 61 72 64 4e 61 .{.............return.KeyboardNa
8d00 76 69 67 61 74 69 6f 6e 2e 53 65 6c 65 63 74 55 70 54 72 61 63 6b 28 74 72 75 65 29 3b 0a 20 20 vigation.SelectUpTrack(true);...
8d20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 5b 53 68 6f 72 74 63 75 74 28 53 68 6f ......}.....}......[Shortcut(Sho
8d40 72 74 63 75 74 73 2e 54 69 6d 65 6c 69 6e 65 2e 6d 75 6c 74 69 53 65 6c 65 63 74 44 6f 77 6e 29 rtcuts.Timeline.multiSelectDown)
8d60 5d 0a 20 20 20 20 5b 41 63 74 69 76 65 49 6e 4d 6f 64 65 28 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 ].....[ActiveInMode(TimelineMode
8d80 73 2e 44 65 66 61 75 6c 74 20 7c 20 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 73 2e 52 65 61 64 4f 6e s.Default.|.TimelineModes.ReadOn
8da0 6c 79 29 5d 0a 20 20 20 20 63 6c 61 73 73 20 4d 75 6c 74 69 73 65 6c 65 63 74 44 6f 77 6e 54 72 ly)].....class.MultiselectDownTr
8dc0 61 63 6b 20 3a 20 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 0a 20 20 20 20 7b 0a 20 20 20 20 20 ack.:.TimelineAction.....{......
8de0 20 20 20 70 75 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 62 6f 6f 6c 20 45 78 65 63 75 74 65 28 ...public.override.bool.Execute(
8e00 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 WindowState.state).........{....
8e20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4b 65 79 62 6f 61 72 64 4e 61 76 69 67 61 74 69 .........return.KeyboardNavigati
8e40 6f 6e 2e 53 65 6c 65 63 74 44 6f 77 6e 54 72 61 63 6b 28 74 72 75 65 29 3b 0a 20 20 20 20 20 20 on.SelectDownTrack(true);.......
8e60 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 5b 53 68 6f 72 74 63 75 74 28 53 68 6f 72 74 63 75 ..}.....}......[Shortcut(Shortcu
8e80 74 73 2e 54 69 6d 65 6c 69 6e 65 2e 74 6f 67 67 6c 65 43 6c 69 70 54 72 61 63 6b 41 72 65 61 29 ts.Timeline.toggleClipTrackArea)
8ea0 5d 0a 20 20 20 20 5b 41 63 74 69 76 65 49 6e 4d 6f 64 65 28 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 ].....[ActiveInMode(TimelineMode
8ec0 73 2e 44 65 66 61 75 6c 74 20 7c 20 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 73 2e 52 65 61 64 4f 6e s.Default.|.TimelineModes.ReadOn
8ee0 6c 79 29 5d 0a 20 20 20 20 63 6c 61 73 73 20 54 6f 67 67 6c 65 43 6c 69 70 54 72 61 63 6b 41 72 ly)].....class.ToggleClipTrackAr
8f00 65 61 20 3a 20 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 ea.:.TimelineAction.....{.......
8f20 20 20 70 75 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 62 6f 6f 6c 20 45 78 65 63 75 74 65 28 57 ..public.override.bool.Execute(W
8f40 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 indowState.state).........{.....
8f60 20 20 20 20 20 20 20 20 69 66 20 28 4b 65 79 62 6f 61 72 64 4e 61 76 69 67 61 74 69 6f 6e 2e 54 ........if.(KeyboardNavigation.T
8f80 72 61 63 6b 48 65 61 64 41 63 74 69 76 65 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rackHeadActive())...............
8fa0 20 20 72 65 74 75 72 6e 20 4b 65 79 62 6f 61 72 64 4e 61 76 69 67 61 74 69 6f 6e 2e 46 6f 63 75 ..return.KeyboardNavigation.Focu
8fc0 73 46 69 72 73 74 56 69 73 69 62 6c 65 49 74 65 6d 28 73 74 61 74 65 2c 20 53 65 6c 65 63 74 69 sFirstVisibleItem(state,.Selecti
8fe0 6f 6e 4d 61 6e 61 67 65 72 2e 53 65 6c 65 63 74 65 64 54 72 61 63 6b 73 28 29 29 3b 0a 0a 20 20 onManager.SelectedTracks());....
9000 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 4b 65 79 62 6f 61 72 64 4e 61 76 69 67 61 74 69 6f ..........if.(!KeyboardNavigatio
9020 6e 2e 43 6c 69 70 41 72 65 61 41 63 74 69 76 65 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 n.ClipAreaActive()).............
9040 20 20 20 20 72 65 74 75 72 6e 20 4b 65 79 62 6f 61 72 64 4e 61 76 69 67 61 74 69 6f 6e 2e 46 6f ....return.KeyboardNavigation.Fo
9060 63 75 73 46 69 72 73 74 56 69 73 69 62 6c 65 49 74 65 6d 28 73 74 61 74 65 29 3b 0a 0a 20 20 20 cusFirstVisibleItem(state);.....
9080 20 20 20 20 20 20 20 20 20 76 61 72 20 69 74 65 6d 20 3d 20 4b 65 79 62 6f 61 72 64 4e 61 76 69 .........var.item.=.KeyboardNavi
90a0 67 61 74 69 6f 6e 2e 47 65 74 56 69 73 69 62 6c 65 53 65 6c 65 63 74 65 64 49 74 65 6d 73 28 29 gation.GetVisibleSelectedItems()
90c0 2e 4c 61 73 74 4f 72 44 65 66 61 75 6c 74 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 .LastOrDefault();.............if
90e0 20 28 69 74 65 6d 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(item.!=.null).................
9100 53 65 6c 65 63 74 69 6f 6e 4d 61 6e 61 67 65 72 2e 53 65 6c 65 63 74 4f 6e 6c 79 28 69 74 65 6d SelectionManager.SelectOnly(item
9120 2e 70 61 72 65 6e 74 54 72 61 63 6b 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 .parentTrack);.............retur
9140 6e 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 5b 4d 65 n.true;.........}.....}......[Me
9160 6e 75 45 6e 74 72 79 28 22 4d 75 74 65 22 2c 20 4d 65 6e 75 4f 72 64 65 72 2e 54 72 61 63 6b 41 nuEntry("Mute",.MenuOrder.TrackA
9180 63 74 69 6f 6e 2e 4d 75 74 65 54 72 61 63 6b 29 5d 0a 20 20 20 20 63 6c 61 73 73 20 54 6f 67 67 ction.MuteTrack)].....class.Togg
91a0 6c 65 4d 75 74 65 4d 61 72 6b 65 72 73 4f 6e 54 69 6d 65 6c 69 6e 65 20 3a 20 4d 61 72 6b 65 72 leMuteMarkersOnTimeline.:.Marker
91c0 48 65 61 64 65 72 41 63 74 69 6f 6e 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 HeaderAction.....{.........publi
91e0 63 20 6f 76 65 72 72 69 64 65 20 62 6f 6f 6c 20 49 73 43 68 65 63 6b 65 64 28 57 69 6e 64 6f 77 c.override.bool.IsChecked(Window
9200 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 State.state).........{..........
9220 20 20 20 72 65 74 75 72 6e 20 49 73 4d 61 72 6b 65 72 54 72 61 63 6b 56 61 6c 69 64 28 73 74 61 ...return.IsMarkerTrackValid(sta
9240 74 65 29 20 26 26 20 73 74 61 74 65 2e 65 64 69 74 53 65 71 75 65 6e 63 65 2e 61 73 73 65 74 2e te).&&.state.editSequence.asset.
9260 6d 61 72 6b 65 72 54 72 61 63 6b 2e 6d 75 74 65 64 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 markerTrack.muted;.........}....
9280 20 20 20 20 20 20 70 75 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 62 6f 6f 6c 20 45 78 65 63 75 ......public.override.bool.Execu
92a0 74 65 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a te(WindowState.state).........{.
92c0 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 74 61 74 65 2e 73 68 6f 77 4d 61 72 6b 65 72 ............if.(state.showMarker
92e0 48 65 61 64 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 6f 67 67 6c 65 4d 75 Header).................ToggleMu
9300 74 65 28 73 74 61 74 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 te(state);.............return.tr
9320 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 73 74 61 74 69 63 20 76 6f ue;.........}..........static.vo
9340 69 64 20 54 6f 67 67 6c 65 4d 75 74 65 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 id.ToggleMute(WindowState.state)
9360 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 74 69 6d 65 6c .........{.............var.timel
9380 69 6e 65 20 3d 20 73 74 61 74 65 2e 65 64 69 74 53 65 71 75 65 6e 63 65 2e 61 73 73 65 74 3b 0a ine.=.state.editSequence.asset;.
93a0 20 20 20 20 20 20 20 20 20 20 20 20 74 69 6d 65 6c 69 6e 65 2e 43 72 65 61 74 65 4d 61 72 6b 65 ............timeline.CreateMarke
93c0 72 54 72 61 63 6b 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 69 6d 65 6c 69 6e 65 55 rTrack();..............TimelineU
93e0 6e 64 6f 2e 50 75 73 68 55 6e 64 6f 28 74 69 6d 65 6c 69 6e 65 2e 6d 61 72 6b 65 72 54 72 61 63 ndo.PushUndo(timeline.markerTrac
9400 6b 2c 20 22 54 6f 67 67 6c 65 20 4d 75 74 65 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 k,."Toggle.Mute");.............t
9420 69 6d 65 6c 69 6e 65 2e 6d 61 72 6b 65 72 54 72 61 63 6b 2e 6d 75 74 65 64 20 3d 20 21 74 69 6d imeline.markerTrack.muted.=.!tim
9440 65 6c 69 6e 65 2e 6d 61 72 6b 65 72 54 72 61 63 6b 2e 6d 75 74 65 64 3b 0a 20 20 20 20 20 20 20 eline.markerTrack.muted;........
9460 20 7d 0a 0a 20 20 20 20 20 20 20 20 73 74 61 74 69 63 20 62 6f 6f 6c 20 49 73 4d 61 72 6b 65 72 .}..........static.bool.IsMarker
9480 54 72 61 63 6b 56 61 6c 69 64 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 TrackValid(WindowState.state)...
94a0 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 74 69 6d 65 6c 69 6e 65 ......{.............var.timeline
94c0 20 3d 20 73 74 61 74 65 2e 65 64 69 74 53 65 71 75 65 6e 63 65 2e 61 73 73 65 74 3b 0a 20 20 20 .=.state.editSequence.asset;....
94e0 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 69 6d 65 6c 69 6e 65 20 21 3d 20 6e 75 6c 6c .........return.timeline.!=.null
9500 20 26 26 20 74 69 6d 65 6c 69 6e 65 2e 6d 61 72 6b 65 72 54 72 61 63 6b 20 21 3d 20 6e 75 6c 6c .&&.timeline.markerTrack.!=.null
9520 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 5b 4d 65 6e 75 45 6e 74 72 ;.........}.....}......[MenuEntr
9540 79 28 22 53 68 6f 77 20 4d 61 72 6b 65 72 73 22 2c 20 4d 65 6e 75 4f 72 64 65 72 2e 54 72 61 63 y("Show.Markers",.MenuOrder.Trac
9560 6b 41 63 74 69 6f 6e 2e 53 68 6f 77 48 69 64 65 4d 61 72 6b 65 72 73 29 5d 0a 20 20 20 20 5b 41 kAction.ShowHideMarkers)].....[A
9580 63 74 69 76 65 49 6e 4d 6f 64 65 28 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 73 2e 44 65 66 61 75 6c ctiveInMode(TimelineModes.Defaul
95a0 74 20 7c 20 54 69 6d 65 6c 69 6e 65 4d 6f 64 65 73 2e 52 65 61 64 4f 6e 6c 79 29 5d 0a 20 20 20 t.|.TimelineModes.ReadOnly)]....
95c0 20 63 6c 61 73 73 20 54 6f 67 67 6c 65 53 68 6f 77 4d 61 72 6b 65 72 73 4f 6e 54 69 6d 65 6c 69 .class.ToggleShowMarkersOnTimeli
95e0 6e 65 20 3a 20 4d 61 72 6b 65 72 48 65 61 64 65 72 41 63 74 69 6f 6e 0a 20 20 20 20 7b 0a 20 20 ne.:.MarkerHeaderAction.....{...
9600 20 20 20 20 20 20 70 75 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 62 6f 6f 6c 20 49 73 43 68 65 ......public.override.bool.IsChe
9620 63 6b 65 64 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 cked(WindowState.state).........
9640 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 74 61 74 65 2e 73 68 6f 77 4d {.............return.state.showM
9660 61 72 6b 65 72 48 65 61 64 65 72 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 arkerHeader;.........}..........
9680 70 75 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 62 6f 6f 6c 20 45 78 65 63 75 74 65 28 57 69 6e public.override.bool.Execute(Win
96a0 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 dowState.state).........{.......
96c0 20 20 20 20 20 20 54 6f 67 67 6c 65 53 68 6f 77 28 73 74 61 74 65 29 3b 0a 20 20 20 20 20 20 20 ......ToggleShow(state);........
96e0 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 .....return.true;.........}.....
9700 20 20 20 20 20 73 74 61 74 69 63 20 76 6f 69 64 20 54 6f 67 67 6c 65 53 68 6f 77 28 57 69 6e 64 .....static.void.ToggleShow(Wind
9720 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 owState.state).........{........
9740 20 20 20 20 20 73 74 61 74 65 2e 47 65 74 57 69 6e 64 6f 77 28 29 2e 53 65 74 53 68 6f 77 4d 61 .....state.GetWindow().SetShowMa
9760 72 6b 65 72 48 65 61 64 65 72 28 21 73 74 61 74 65 2e 73 68 6f 77 4d 61 72 6b 65 72 48 65 61 64 rkerHeader(!state.showMarkerHead
9780 65 72 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 7d 0a 00 00 00 00 00 00 00 00 00 er);.........}.....}.}..........
97a0 00 00 00 00 00 00 00 00 00 00 00 00 0f 00 00 00 54 69 6d 65 6c 69 6e 65 41 63 74 69 6f 6e 73 00 ................TimelineActions.
97c0 00 00 00 00 ....