summaryrefslogtreecommitdiff
path: root/Library/Artifacts/47/4779b50a5741e0237ceec3c54a69cc79
blob: 9484e6f639b3fd907ffc0c708d2f55df0d48dbc9 (plain)
ofshex dumpascii
0000 00 00 0f 81 00 00 58 50 00 00 00 15 00 00 10 00 00 00 00 00 32 30 31 39 2e 33 2e 36 66 31 00 fe ......XP............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 f0 47 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 .G..............................
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 0c 00 00 00 54 72 61 63 6b 41 63 74 69 6f 6e 73 8c 47 00 00 75 73 69 6e ............TrackActions.G..usin
10a0 67 20 53 79 73 74 65 6d 2e 43 6f 6c 6c 65 63 74 69 6f 6e 73 2e 47 65 6e 65 72 69 63 3b 0a 75 73 g.System.Collections.Generic;.us
10c0 69 6e 67 20 53 79 73 74 65 6d 2e 43 6f 6d 70 6f 6e 65 6e 74 4d 6f 64 65 6c 3b 0a 75 73 69 6e 67 ing.System.ComponentModel;.using
10e0 20 53 79 73 74 65 6d 2e 4c 69 6e 71 3b 0a 75 73 69 6e 67 20 4a 65 74 42 72 61 69 6e 73 2e 41 6e .System.Linq;.using.JetBrains.An
1100 6e 6f 74 61 74 69 6f 6e 73 3b 0a 75 73 69 6e 67 20 55 6e 69 74 79 45 6e 67 69 6e 65 3b 0a 75 73 notations;.using.UnityEngine;.us
1120 69 6e 67 20 55 6e 69 74 79 45 6e 67 69 6e 65 2e 54 69 6d 65 6c 69 6e 65 3b 0a 0a 6e 61 6d 65 73 ing.UnityEngine.Timeline;..names
1140 70 61 63 65 20 55 6e 69 74 79 45 64 69 74 6f 72 2e 54 69 6d 65 6c 69 6e 65 0a 7b 0a 20 20 20 20 pace.UnityEditor.Timeline.{.....
1160 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 61 [ActiveInMode(TimelineModes.Defa
1180 75 6c 74 29 5d 0a 20 20 20 20 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 54 72 61 63 6b 41 63 ult)].....abstract.class.TrackAc
11a0 74 69 6f 6e 20 3a 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 tion.:.MenuItemActionBase.....{.
11c0 20 20 20 20 20 20 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 ........public.abstract.bool.Exe
11e0 63 75 74 65 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 2c 20 54 72 61 63 6b 41 73 73 cute(WindowState.state,.TrackAss
1200 65 74 5b 5d 20 74 72 61 63 6b 73 29 3b 0a 0a 20 20 20 20 20 20 20 20 70 72 6f 74 65 63 74 65 64 et[].tracks);..........protected
1220 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 65 20 .virtual.MenuActionDisplayState.
1240 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 61 74 GetDisplayState(WindowState.stat
1260 65 2c 20 54 72 61 63 6b 41 73 73 65 74 5b 5d 20 74 72 61 63 6b 73 29 0a 20 20 20 20 20 20 20 20 e,.TrackAsset[].tracks).........
1280 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 61 63 6b 73 2e 4c 65 6e 67 {.............return.tracks.Leng
12a0 74 68 20 3e 20 30 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 th.>.0.?.MenuActionDisplayState.
12c0 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 79 53 74 61 74 65 Visible.:.MenuActionDisplayState
12e0 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 20 70 72 .Disabled;.........}..........pr
1300 6f 74 65 63 74 65 64 20 76 69 72 74 75 61 6c 20 62 6f 6f 6c 20 49 73 43 68 65 63 6b 65 64 28 57 otected.virtual.bool.IsChecked(W
1320 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 2c 20 54 72 61 63 6b 41 73 73 65 74 5b 5d 20 74 indowState.state,.TrackAsset[].t
1340 72 61 63 6b 73 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 racks).........{.............ret
1360 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 72 urn.false;.........}..........pr
1380 6f 74 65 63 74 65 64 20 76 69 72 74 75 61 6c 20 73 74 72 69 6e 67 20 47 65 74 44 69 73 70 6c 61 otected.virtual.string.GetDispla
13a0 79 4e 61 6d 65 28 54 72 61 63 6b 41 73 73 65 74 5b 5d 20 74 72 61 63 6b 73 29 0a 20 20 20 20 20 yName(TrackAsset[].tracks)......
13c0 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 65 6e 75 4e 61 6d 65 ...{.............return.menuName
13e0 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 61 74 ;.........}..........public.stat
1400 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 73 74 ic.void.Invoke<T>(WindowState.st
1420 61 74 65 2c 20 54 72 61 63 6b 41 73 73 65 74 5b 5d 20 74 72 61 63 6b 73 29 20 77 68 65 72 65 20 ate,.TrackAsset[].tracks).where.
1440 54 20 3a 20 54 72 61 63 6b 41 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 T.:.TrackAction.........{.......
1460 20 20 20 20 20 20 61 63 74 69 6f 6e 73 2e 46 69 72 73 74 28 78 20 3d 3e 20 78 2e 47 65 74 54 79 ......actions.First(x.=>.x.GetTy
1480 70 65 28 29 20 3d 3d 20 74 79 70 65 6f 66 28 54 29 29 2e 45 78 65 63 75 74 65 28 73 74 61 74 65 pe().==.typeof(T)).Execute(state
14a0 2c 20 74 72 61 63 6b 73 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 73 74 ,.tracks);.........}..........st
14c0 61 74 69 63 20 4c 69 73 74 3c 54 72 61 63 6b 41 63 74 69 6f 6e 3e 20 73 5f 41 63 74 69 6f 6e 43 atic.List<TrackAction>.s_ActionC
14e0 6c 61 73 73 65 73 3b 0a 0a 20 20 20 20 20 20 20 20 73 74 61 74 69 63 20 4c 69 73 74 3c 54 72 61 lasses;..........static.List<Tra
1500 63 6b 41 63 74 69 6f 6e 3e 20 61 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 ckAction>.actions.........{.....
1520 20 20 20 20 20 20 20 20 67 65 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 ........get.............{.......
1540 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 5f 41 63 74 69 6f 6e 43 6c 61 73 73 65 73 20 3d 3d ..........if.(s_ActionClasses.==
1560 20 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 73 5f 41 63 74 .null).....................s_Act
1580 69 6f 6e 43 6c 61 73 73 65 73 20 3d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ionClasses.=....................
15a0 20 20 20 20 20 47 65 74 41 63 74 69 6f 6e 73 4f 66 54 79 70 65 28 74 79 70 65 6f 66 28 54 72 61 .....GetActionsOfType(typeof(Tra
15c0 63 6b 41 63 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ckAction))......................
15e0 20 20 20 20 20 20 20 2e 53 65 6c 65 63 74 28 78 20 3d 3e 20 28 54 72 61 63 6b 41 63 74 69 6f 6e ........Select(x.=>.(TrackAction
1600 29 78 2e 47 65 74 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 )x.GetConstructors()[0].Invoke(n
1620 75 6c 6c 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 ull))...........................
1640 20 20 2e 4f 72 64 65 72 42 79 28 78 20 3d 3e 20 78 2e 70 72 69 6f 72 69 74 79 29 2e 54 68 65 6e ...OrderBy(x.=>.x.priority).Then
1660 42 79 28 78 20 3d 3e 20 78 2e 63 61 74 65 67 6f 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 By(x.=>.x.category).............
1680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 54 6f 4c 69 73 74 28 29 3b 0a 0a 20 20 20 20 .................ToList();......
16a0 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 5f 41 63 74 69 6f 6e 43 6c 61 73 73 ............return.s_ActionClass
16c0 65 73 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 20 es;.............}.........}.....
16e0 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 47 65 74 4d 65 6e 75 45 .....public.static.void.GetMenuE
1700 6e 74 72 69 65 73 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 ntries(WindowState.state,.Vector
1720 32 3f 20 6d 6f 75 73 65 50 6f 73 2c 20 54 72 61 63 6b 41 73 73 65 74 5b 5d 20 74 72 61 63 6b 73 2?.mousePos,.TrackAsset[].tracks
1740 2c 20 4c 69 73 74 3c 4d 65 6e 75 41 63 74 69 6f 6e 49 74 65 6d 3e 20 69 74 65 6d 73 29 0a 20 20 ,.List<MenuActionItem>.items)...
1760 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d 6f 64 65 20 3d 20 54 ......{.............var.mode.=.T
1780 69 6d 65 6c 69 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 imelineWindow.instance.currentMo
17a0 64 65 2e 6d 6f 64 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 76 61 de.mode;.............foreach.(va
17c0 72 20 61 63 74 69 6f 6e 20 69 6e 20 61 63 74 69 6f 6e 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 r.action.in.actions)............
17e0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 61 63 74 69 6f 6e 2e 73 .{.................if.(!action.s
1800 68 6f 77 49 6e 4d 65 6e 75 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 howInMenu).....................c
1820 6f 6e 74 69 6e 75 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 61 63 ontinue;..................var.ac
1840 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 20 20 20 tionItem.=.action;..............
1860 20 20 20 69 74 65 6d 73 2e 41 64 64 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...items.Add(...................
1880 20 20 6e 65 77 20 4d 65 6e 75 41 63 74 69 6f 6e 49 74 65 6d 28 29 0a 20 20 20 20 20 20 20 20 20 ..new.MenuActionItem()..........
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 20 20 20 ...........{....................
18c0 20 20 20 20 20 63 61 74 65 67 6f 72 79 20 3d 20 20 61 63 74 69 6f 6e 2e 63 61 74 65 67 6f 72 79 .....category.=..action.category
18e0 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 20 65 6e 74 72 79 4e ,.........................entryN
1900 61 6d 65 20 3d 20 61 63 74 69 6f 6e 2e 47 65 74 44 69 73 70 6c 61 79 4e 61 6d 65 28 74 72 61 63 ame.=.action.GetDisplayName(trac
1920 6b 73 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 20 73 68 6f ks),.........................sho
1940 72 74 43 75 74 20 3d 20 61 63 74 69 6f 6e 2e 73 68 6f 72 74 43 75 74 2c 0a 20 20 20 20 20 20 20 rtCut.=.action.shortCut,........
1960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 73 43 68 65 63 6b 65 64 20 3d 20 61 63 74 .................isChecked.=.act
1980 69 6f 6e 2e 49 73 43 68 65 63 6b 65 64 28 73 74 61 74 65 2c 20 74 72 61 63 6b 73 29 2c 0a 20 20 ion.IsChecked(state,.tracks),...
19a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 73 41 63 74 69 76 65 49 6e ......................isActiveIn
19c0 4d 6f 64 65 20 3d 20 49 73 41 63 74 69 6f 6e 41 63 74 69 76 65 49 6e 4d 6f 64 65 28 61 63 74 69 Mode.=.IsActionActiveInMode(acti
19e0 6f 6e 2c 20 6d 6f 64 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 on,.mode),......................
1a00 20 20 20 70 72 69 6f 72 69 74 79 20 3d 20 61 63 74 69 6f 6e 2e 70 72 69 6f 72 69 74 79 2c 0a 20 ...priority.=.action.priority,..
1a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 20 3d 20 61 .......................state.=.a
1a40 63 74 69 6f 6e 2e 47 65 74 44 69 73 70 6c 61 79 53 74 61 74 65 28 73 74 61 74 65 2c 20 74 72 61 ction.GetDisplayState(state,.tra
1a60 63 6b 73 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 20 63 61 cks),.........................ca
1a80 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 20 20 20 llback.=.().=>..................
1aa0 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 20 20 20 .......{........................
1ac0 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 20 3d 20 .....actionItem.mousePosition.=.
1ae0 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 20 20 20 mousePos;.......................
1b00 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 65 2c 20 ......actionItem.Execute(state,.
1b20 74 72 61 63 6b 73 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 tracks);........................
1b40 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 20 3d 20 .....actionItem.mousePosition.=.
1b60 6e 75 6c 6c 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 7d 0a null;.........................}.
1b80 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 20 20 20 20 20 ....................}...........
1ba0 20 20 20 20 20 20 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 ......);.............}.........}
1bc0 0a 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 48 61 6e ..........public.static.bool.Han
1be0 64 6c 65 53 68 6f 72 74 63 75 74 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 2c 20 45 dleShortcut(WindowState.state,.E
1c00 76 65 6e 74 20 65 76 74 2c 20 54 72 61 63 6b 41 73 73 65 74 5b 5d 20 74 72 61 63 6b 73 29 0a 20 vent.evt,.TrackAsset[].tracks)..
1c20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 76 61 .......{.............foreach.(va
1c40 72 20 61 63 74 69 6f 6e 20 69 6e 20 61 63 74 69 6f 6e 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 r.action.in.actions)............
1c60 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 20 3d 20 61 63 .{.................var.attr.=.ac
1c80 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 72 69 62 75 74 tion.GetType().GetCustomAttribut
1ca0 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 29 2c 20 74 72 es(typeof(ShortcutAttribute),.tr
1cc0 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 63 68 20 28 53 ue);..................foreach.(S
1ce0 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 6e 20 61 74 74 hortcutAttribute.shortcut.in.att
1d00 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 20 20 20 20 20 r).................{............
1d20 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 65 73 45 76 65 .........if.(shortcut.MatchesEve
1d40 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 20 20 7b 0a 20 nt(evt)).....................{..
1d60 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 73 5f 53 68 6f .......................if.(s_Sho
1d80 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 0a 20 20 20 20 wActionTriggeredByShortcut).....
1da0 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 75 67 2e 4c 6f ........................Debug.Lo
1dc0 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 20 20 20 20 20 g(action.GetType().Name);.......
1de0 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 63 74 69 6f 6e ...................if.(!IsAction
1e00 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 6e 65 57 69 6e ActiveInMode(action,.TimelineWin
1e20 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 64 65 29 29 0a dow.instance.currentMode.mode)).
1e40 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 72 65 74 75 ............................retu
1e60 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 20 20 20 20 20 rn.false;.......................
1e80 20 20 20 72 65 74 75 72 6e 20 61 63 74 69 6f 6e 2e 45 78 65 63 75 74 65 28 73 74 61 74 65 2c 20 ...return.action.Execute(state,.
1ea0 74 72 61 63 6b 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 tracks);.....................}..
1ec0 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 7d 0a 0a ...............}.............}..
1ee0 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 20 20 20 ............return.false;.......
1f00 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 46 6f 72 20 74 65 73 74 69 6e 67 0a 20 20 20 20 ..}..........//.For.testing.....
1f20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 4d 65 6e 75 41 63 74 69 6f 6e 44 69 73 70 6c 61 79 53 74 ....internal.MenuActionDisplaySt
1f40 61 74 65 20 49 6e 74 65 72 6e 61 6c 47 65 74 44 69 73 70 6c 61 79 53 74 61 74 65 28 57 69 6e 64 ate.InternalGetDisplayState(Wind
1f60 6f 77 53 74 61 74 65 20 73 74 61 74 65 2c 20 54 72 61 63 6b 41 73 73 65 74 5b 5d 20 74 72 61 63 owState.state,.TrackAsset[].trac
1f80 6b 73 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 ks).........{.............return
1fa0 20 47 65 74 44 69 73 70 6c 61 79 53 74 61 74 65 28 73 74 61 74 65 2c 20 74 72 61 63 6b 73 29 3b .GetDisplayState(state,.tracks);
1fc0 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 79 .........}.....}......[MenuEntry
1fe0 28 22 45 64 69 74 20 69 6e 20 41 6e 69 6d 61 74 69 6f 6e 20 57 69 6e 64 6f 77 22 2c 20 4d 65 6e ("Edit.in.Animation.Window",.Men
2000 75 4f 72 64 65 72 2e 54 72 61 63 6b 41 63 74 69 6f 6e 2e 45 64 69 74 49 6e 41 6e 69 6d 61 74 69 uOrder.TrackAction.EditInAnimati
2020 6f 6e 57 69 6e 64 6f 77 29 5d 0a 20 20 20 20 63 6c 61 73 73 20 45 64 69 74 54 72 61 63 6b 49 6e onWindow)].....class.EditTrackIn
2040 41 6e 69 6d 61 74 69 6f 6e 57 69 6e 64 6f 77 20 3a 20 54 72 61 63 6b 41 63 74 69 6f 6e 0a 20 20 AnimationWindow.:.TrackAction...
2060 20 20 7b 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 ..{.........public.static.bool.D
2080 6f 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 2c 20 54 72 61 63 6b 41 73 73 65 74 20 o(WindowState.state,.TrackAsset.
20a0 74 72 61 63 6b 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 6e 69 track).........{.............Ani
20c0 6d 61 74 69 6f 6e 43 6c 69 70 20 63 6c 69 70 54 6f 45 64 69 74 20 3d 20 6e 75 6c 6c 3b 0a 0a 20 mationClip.clipToEdit.=.null;...
20e0 20 20 20 20 20 20 20 20 20 20 20 41 6e 69 6d 61 74 69 6f 6e 54 72 61 63 6b 20 61 6e 69 6d 61 74 ...........AnimationTrack.animat
2100 69 6f 6e 54 72 61 63 6b 20 3d 20 74 72 61 63 6b 20 61 73 20 41 6e 69 6d 61 74 69 6f 6e 54 72 61 ionTrack.=.track.as.AnimationTra
2120 63 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 61 6e 69 6d 61 74 69 6f 6e 54 72 61 ck;.............if.(animationTra
2140 63 6b 20 21 3d 20 6e 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 ck.!=.null).............{.......
2160 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 61 6e 69 6d 61 74 69 6f 6e 54 72 61 63 6b 2e 43 61 ..........if.(!animationTrack.Ca
2180 6e 43 6f 6e 76 65 72 74 54 6f 43 6c 69 70 4d 6f 64 65 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 nConvertToClipMode())...........
21a0 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;.........
21c0 20 20 20 20 20 20 20 20 20 63 6c 69 70 54 6f 45 64 69 74 20 3d 20 61 6e 69 6d 61 74 69 6f 6e 54 .........clipToEdit.=.animationT
21e0 72 61 63 6b 2e 69 6e 66 69 6e 69 74 65 43 6c 69 70 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d rack.infiniteClip;.............}
2200 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 74 72 61 63 6b 2e 68 61 73 43 .............else.if.(track.hasC
2220 75 72 76 65 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 urves).............{............
2240 20 20 20 20 20 63 6c 69 70 54 6f 45 64 69 74 20 3d 20 74 72 61 63 6b 2e 63 75 72 76 65 73 3b 0a .....clipToEdit.=.track.curves;.
2260 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 63 ............}..............if.(c
2280 6c 69 70 54 6f 45 64 69 74 20 3d 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 lipToEdit.==.null)..............
22a0 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 20 76 61 ...return.false;..............va
22c0 72 20 67 61 6d 65 4f 62 6a 65 63 74 20 3d 20 73 74 61 74 65 2e 47 65 74 53 63 65 6e 65 52 65 66 r.gameObject.=.state.GetSceneRef
22e0 65 72 65 6e 63 65 28 74 72 61 63 6b 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 74 erence(track);.............var.t
2300 69 6d 65 43 6f 6e 74 72 6f 6c 6c 65 72 20 3d 20 54 69 6d 65 6c 69 6e 65 41 6e 69 6d 61 74 69 6f imeController.=.TimelineAnimatio
2320 6e 55 74 69 6c 69 74 69 65 73 2e 43 72 65 61 74 65 54 69 6d 65 43 6f 6e 74 72 6f 6c 6c 65 72 28 nUtilities.CreateTimeController(
2340 73 74 61 74 65 2c 20 43 72 65 61 74 65 54 69 6d 65 43 6f 6e 74 72 6f 6c 43 6c 69 70 44 61 74 61 state,.CreateTimeControlClipData
2360 28 74 72 61 63 6b 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 69 6d 65 6c 69 6e 65 41 6e (track));.............TimelineAn
2380 69 6d 61 74 69 6f 6e 55 74 69 6c 69 74 69 65 73 2e 45 64 69 74 41 6e 69 6d 61 74 69 6f 6e 43 6c imationUtilities.EditAnimationCl
23a0 69 70 57 69 74 68 54 69 6d 65 43 6f 6e 74 72 6f 6c 6c 65 72 28 63 6c 69 70 54 6f 45 64 69 74 2c ipWithTimeController(clipToEdit,
23c0 20 74 69 6d 65 43 6f 6e 74 72 6f 6c 6c 65 72 2c 20 67 61 6d 65 4f 62 6a 65 63 74 29 3b 0a 0a 20 .timeController,.gameObject);...
23e0 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;.........
2400 7d 0a 0a 20 20 20 20 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 6f 76 65 72 72 69 64 65 20 4d 65 }..........protected.override.Me
2420 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
2440 74 61 74 65 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 2c 20 54 72 61 63 6b 41 73 73 tate(WindowState.state,.TrackAss
2460 65 74 5b 5d 20 74 72 61 63 6b 73 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 et[].tracks).........{..........
2480 20 20 20 69 66 20 28 74 72 61 63 6b 73 2e 4c 65 6e 67 74 68 20 3d 3d 20 30 29 0a 20 20 20 20 20 ...if.(tracks.Length.==.0)......
24a0 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4d 65 6e 75 41 63 74 69 6f 6e 44 69 73 70 ...........return.MenuActionDisp
24c0 6c 61 79 53 74 61 74 65 2e 48 69 64 64 65 6e 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 layState.Hidden;..............if
24e0 20 28 74 72 61 63 6b 73 5b 30 5d 20 69 73 20 41 6e 69 6d 61 74 69 6f 6e 54 72 61 63 6b 29 0a 20 .(tracks[0].is.AnimationTrack)..
2500 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
2520 20 61 6e 69 6d 54 72 61 63 6b 20 3d 20 74 72 61 63 6b 73 5b 30 5d 20 61 73 20 41 6e 69 6d 61 74 .animTrack.=.tracks[0].as.Animat
2540 69 6f 6e 54 72 61 63 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 61 6e ionTrack;.................if.(an
2560 69 6d 54 72 61 63 6b 2e 43 61 6e 43 6f 6e 76 65 72 74 54 6f 43 6c 69 70 4d 6f 64 65 28 29 29 0a imTrack.CanConvertToClipMode()).
2580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4d 65 6e 75 41 ....................return.MenuA
25a0 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 3b 0a 20 20 20 20 20 ctionDisplayState.Visible;......
25c0 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 74 72 .......}.............else.if.(tr
25e0 61 63 6b 73 5b 30 5d 2e 68 61 73 43 75 72 76 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b acks[0].hasCurves).............{
2600 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4d 65 6e 75 41 63 74 69 .................return.MenuActi
2620 6f 6e 44 69 73 70 6c 61 79 53 74 61 74 65 2e 56 69 73 69 62 6c 65 3b 0a 20 20 20 20 20 20 20 20 onDisplayState.Visible;.........
2640 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 4d 65 6e 75 41 63 ....}..............return.MenuAc
2660 74 69 6f 6e 44 69 73 70 6c 61 79 53 74 61 74 65 2e 48 69 64 64 65 6e 3b 0a 20 20 20 20 20 20 20 tionDisplayState.Hidden;........
2680 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 6f 6f 6c .}..........public.override.bool
26a0 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 54 72 61 63 .Execute(WindowState.state,.Trac
26c0 6b 41 73 73 65 74 5b 5d 20 74 72 61 63 6b 73 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 kAsset[].tracks).........{......
26e0 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 6f 28 73 74 61 74 65 2c 20 74 72 61 63 6b 73 5b 30 .......return.Do(state,.tracks[0
2700 5d 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 20 54 69 ]);.........}..........static.Ti
2720 6d 65 6c 69 6e 65 57 69 6e 64 6f 77 54 69 6d 65 43 6f 6e 74 72 6f 6c 2e 43 6c 69 70 44 61 74 61 melineWindowTimeControl.ClipData
2740 20 43 72 65 61 74 65 54 69 6d 65 43 6f 6e 74 72 6f 6c 43 6c 69 70 44 61 74 61 28 54 72 61 63 6b .CreateTimeControlClipData(Track
2760 41 73 73 65 74 20 74 72 61 63 6b 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 Asset.track).........{..........
2780 20 20 20 76 61 72 20 64 61 74 61 20 3d 20 6e 65 77 20 54 69 6d 65 6c 69 6e 65 57 69 6e 64 6f 77 ...var.data.=.new.TimelineWindow
27a0 54 69 6d 65 43 6f 6e 74 72 6f 6c 2e 43 6c 69 70 44 61 74 61 28 29 3b 0a 20 20 20 20 20 20 20 20 TimeControl.ClipData();.........
27c0 20 20 20 20 64 61 74 61 2e 74 72 61 63 6b 20 3d 20 74 72 61 63 6b 3b 0a 20 20 20 20 20 20 20 20 ....data.track.=.track;.........
27e0 20 20 20 20 64 61 74 61 2e 73 74 61 72 74 20 3d 20 74 72 61 63 6b 2e 73 74 61 72 74 3b 0a 20 20 ....data.start.=.track.start;...
2800 20 20 20 20 20 20 20 20 20 20 64 61 74 61 2e 64 75 72 61 74 69 6f 6e 20 3d 20 74 72 61 63 6b 2e ..........data.duration.=.track.
2820 64 75 72 61 74 69 6f 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 64 61 74 duration;.............return.dat
2840 61 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 a;.........}.....}......[MenuEnt
2860 72 79 28 22 4c 6f 63 6b 20 73 65 6c 65 63 74 65 64 20 74 72 61 63 6b 20 6f 6e 6c 79 22 2c 20 4d ry("Lock.selected.track.only",.M
2880 65 6e 75 4f 72 64 65 72 2e 54 72 61 63 6b 41 63 74 69 6f 6e 2e 4c 6f 63 6b 53 65 6c 65 63 74 65 enuOrder.TrackAction.LockSelecte
28a0 64 29 5d 0a 20 20 20 20 63 6c 61 73 73 20 4c 6f 63 6b 53 65 6c 65 63 74 65 64 54 72 61 63 6b 20 d)].....class.LockSelectedTrack.
28c0 3a 20 54 72 61 63 6b 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 :.TrackAction.....{.........publ
28e0 69 63 20 73 74 61 74 69 63 20 72 65 61 64 6f 6e 6c 79 20 73 74 72 69 6e 67 20 4c 6f 63 6b 53 65 ic.static.readonly.string.LockSe
2900 6c 65 63 74 65 64 54 72 61 63 6b 4f 6e 6c 79 54 65 78 74 20 3d 20 4c 31 30 6e 2e 54 72 28 22 4c lectedTrackOnlyText.=.L10n.Tr("L
2920 6f 63 6b 20 73 65 6c 65 63 74 65 64 20 74 72 61 63 6b 20 6f 6e 6c 79 22 29 3b 0a 20 20 20 20 20 ock.selected.track.only");......
2940 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 72 65 61 64 6f 6e 6c 79 20 73 74 72 69 6e 67 ...public.static.readonly.string
2960 20 55 6e 6c 6f 63 6b 53 65 6c 65 63 74 65 64 54 72 61 63 6b 4f 6e 6c 79 54 65 78 74 20 3d 20 4c .UnlockSelectedTrackOnlyText.=.L
2980 31 30 6e 2e 54 72 28 22 55 6e 6c 6f 63 6b 20 73 65 6c 65 63 74 65 64 20 74 72 61 63 6b 20 6f 6e 10n.Tr("Unlock.selected.track.on
29a0 6c 79 22 29 3b 0a 0a 20 20 20 20 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 6f 76 65 72 72 69 64 ly");..........protected.overrid
29c0 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 65 74 44 69 73 70 e.MenuActionDisplayState.GetDisp
29e0 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 2c 20 54 72 61 63 layState(WindowState.state,.Trac
2a00 6b 41 73 73 65 74 5b 5d 20 74 72 61 63 6b 73 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 kAsset[].tracks).........{......
2a20 20 20 20 20 20 20 20 69 66 20 28 74 72 61 63 6b 73 2e 41 6e 79 28 74 72 61 63 6b 20 3d 3e 20 54 .......if.(tracks.Any(track.=>.T
2a40 69 6d 65 6c 69 6e 65 55 74 69 6c 69 74 79 2e 49 73 4c 6f 63 6b 65 64 46 72 6f 6d 47 72 6f 75 70 imelineUtility.IsLockedFromGroup
2a60 28 74 72 61 63 6b 29 20 7c 7c 20 74 72 61 63 6b 20 69 73 20 47 72 6f 75 70 54 72 61 63 6b 20 7c (track).||.track.is.GroupTrack.|
2a80 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 74 72 61 63 6b 2e 73 75 62 54 72 61 63 |.................!track.subTrac
2aa0 6b 73 4f 62 6a 65 63 74 73 2e 41 6e 79 28 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ksObjects.Any()))...............
2ac0 20 20 72 65 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 ..return.MenuActionDisplayState.
2ae0 48 69 64 64 65 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4d 65 6e 75 41 Hidden;.............return.MenuA
2b00 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 3b 0a 20 20 20 20 20 ctionDisplayState.Visible;......
2b20 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 6f ...}..........public.override.bo
2b40 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 54 72 ol.Execute(WindowState.state,.Tr
2b60 61 63 6b 41 73 73 65 74 5b 5d 20 74 72 61 63 6b 73 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 ackAsset[].tracks).........{....
2b80 20 20 20 20 20 20 20 20 20 69 66 20 28 21 74 72 61 63 6b 73 2e 41 6e 79 28 29 29 20 72 65 74 75 .........if.(!tracks.Any()).retu
2ba0 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 68 61 73 55 6e rn.false;..............var.hasUn
2bc0 6c 6f 63 6b 65 64 54 72 61 63 6b 73 20 3d 20 74 72 61 63 6b 73 2e 41 6e 79 28 78 20 3d 3e 20 21 lockedTracks.=.tracks.Any(x.=>.!
2be0 78 2e 6c 6f 63 6b 65 64 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 4c 6f 63 6b 28 73 74 61 74 x.locked);.............Lock(stat
2c00 65 2c 20 74 72 61 63 6b 73 2e 57 68 65 72 65 28 70 20 3d 3e 20 21 28 70 20 69 73 20 47 72 6f 75 e,.tracks.Where(p.=>.!(p.is.Grou
2c20 70 54 72 61 63 6b 29 29 2e 54 6f 41 72 72 61 79 28 29 2c 20 68 61 73 55 6e 6c 6f 63 6b 65 64 54 pTrack)).ToArray(),.hasUnlockedT
2c40 72 61 63 6b 73 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 racks);.............return.true;
2c60 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 6f 76 .........}..........protected.ov
2c80 65 72 72 69 64 65 20 73 74 72 69 6e 67 20 47 65 74 44 69 73 70 6c 61 79 4e 61 6d 65 28 54 72 61 erride.string.GetDisplayName(Tra
2ca0 63 6b 41 73 73 65 74 5b 5d 20 74 72 61 63 6b 73 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 ckAsset[].tracks).........{.....
2cc0 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 61 63 6b 73 2e 41 6c 6c 28 74 20 3d 3e 20 74 ........return.tracks.All(t.=>.t
2ce0 2e 6c 6f 63 6b 65 64 29 20 3f 20 55 6e 6c 6f 63 6b 53 65 6c 65 63 74 65 64 54 72 61 63 6b 4f 6e .locked).?.UnlockSelectedTrackOn
2d00 6c 79 54 65 78 74 20 3a 20 4c 6f 63 6b 53 65 6c 65 63 74 65 64 54 72 61 63 6b 4f 6e 6c 79 54 65 lyText.:.LockSelectedTrackOnlyTe
2d20 78 74 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 xt;.........}..........public.st
2d40 61 74 69 63 20 76 6f 69 64 20 4c 6f 63 6b 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 atic.void.Lock(WindowState.state
2d60 2c 20 54 72 61 63 6b 41 73 73 65 74 5b 5d 20 74 72 61 63 6b 73 2c 20 62 6f 6f 6c 20 73 68 6f 75 ,.TrackAsset[].tracks,.bool.shou
2d80 6c 64 6c 6f 63 6b 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 ldlock).........{.............if
2da0 20 28 74 72 61 63 6b 73 2e 4c 65 6e 67 74 68 20 3d 3d 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 .(tracks.Length.==.0)...........
2dc0 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 ......return;..............forea
2de0 63 68 20 28 76 61 72 20 74 72 61 63 6b 20 69 6e 20 74 72 61 63 6b 73 2e 57 68 65 72 65 28 74 20 ch.(var.track.in.tracks.Where(t.
2e00 3d 3e 20 21 54 69 6d 65 6c 69 6e 65 55 74 69 6c 69 74 79 2e 49 73 4c 6f 63 6b 65 64 46 72 6f 6d =>.!TimelineUtility.IsLockedFrom
2e20 47 72 6f 75 70 28 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 Group(t))).............{........
2e40 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 68 55 6e 64 6f 28 74 .........TimelineUndo.PushUndo(t
2e60 72 61 63 6b 2c 20 22 4c 6f 63 6b 20 54 72 61 63 6b 73 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 rack,."Lock.Tracks");...........
2e80 20 20 20 20 20 20 74 72 61 63 6b 2e 6c 6f 63 6b 65 64 20 3d 20 73 68 6f 75 6c 64 6c 6f 63 6b 3b ......track.locked.=.shouldlock;
2ea0 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 54 69 6d 65 6c .............}.............Timel
2ec0 69 6e 65 45 64 69 74 6f 72 2e 52 65 66 72 65 73 68 28 52 65 66 72 65 73 68 52 65 61 73 6f 6e 2e ineEditor.Refresh(RefreshReason.
2ee0 57 69 6e 64 6f 77 4e 65 65 64 73 52 65 64 72 61 77 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 WindowNeedsRedraw);.........}...
2f00 20 20 7d 0a 0a 20 20 20 20 5b 4d 65 6e 75 45 6e 74 72 79 28 22 4c 6f 63 6b 22 2c 20 4d 65 6e 75 ..}......[MenuEntry("Lock",.Menu
2f20 4f 72 64 65 72 2e 54 72 61 63 6b 41 63 74 69 6f 6e 2e 4c 6f 63 6b 54 72 61 63 6b 29 5d 0a 20 20 Order.TrackAction.LockTrack)]...
2f40 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 2e 74 ..[Shortcut(Shortcuts.Timeline.t
2f60 6f 67 67 6c 65 4c 6f 63 6b 29 5d 0a 20 20 20 20 63 6c 61 73 73 20 4c 6f 63 6b 54 72 61 63 6b 20 oggleLock)].....class.LockTrack.
2f80 3a 20 54 72 61 63 6b 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 :.TrackAction.....{.........publ
2fa0 69 63 20 73 74 61 74 69 63 20 72 65 61 64 6f 6e 6c 79 20 73 74 72 69 6e 67 20 55 6e 6c 6f 63 6b ic.static.readonly.string.Unlock
2fc0 54 65 78 74 20 3d 20 4c 31 30 6e 2e 54 72 28 22 55 6e 6c 6f 63 6b 22 29 3b 0a 0a 20 20 20 20 20 Text.=.L10n.Tr("Unlock");.......
2fe0 20 20 20 70 72 6f 74 65 63 74 65 64 20 6f 76 65 72 72 69 64 65 20 4d 65 6e 75 41 63 74 69 6f 6e ...protected.override.MenuAction
3000 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 57 69 6e DisplayState.GetDisplayState(Win
3020 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 2c 20 54 72 61 63 6b 41 73 73 65 74 5b 5d 20 74 72 61 dowState.state,.TrackAsset[].tra
3040 63 6b 73 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 6f 6c 20 cks).........{.............bool.
3060 68 61 73 55 6e 6c 6f 63 6b 61 62 6c 65 54 72 61 63 6b 73 20 3d 20 74 72 61 63 6b 73 2e 41 6e 79 hasUnlockableTracks.=.tracks.Any
3080 28 78 20 3d 3e 20 54 69 6d 65 6c 69 6e 65 55 74 69 6c 69 74 79 2e 49 73 4c 6f 63 6b 65 64 46 72 (x.=>.TimelineUtility.IsLockedFr
30a0 6f 6d 47 72 6f 75 70 28 78 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 68 61 73 omGroup(x));.............if.(has
30c0 55 6e 6c 6f 63 6b 61 62 6c 65 54 72 61 63 6b 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 UnlockableTracks)...............
30e0 20 20 72 65 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 ..return.MenuActionDisplayState.
3100 44 69 73 61 62 6c 65 64 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4d 65 6e Disabled;.............return.Men
3120 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 3b 0a 20 20 20 uActionDisplayState.Visible;....
3140 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 6f 76 65 72 72 69 .....}..........protected.overri
3160 64 65 20 73 74 72 69 6e 67 20 47 65 74 44 69 73 70 6c 61 79 4e 61 6d 65 28 54 72 61 63 6b 41 73 de.string.GetDisplayName(TrackAs
3180 73 65 74 5b 5d 20 74 72 61 63 6b 73 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 set[].tracks).........{.........
31a0 20 20 20 20 72 65 74 75 72 6e 20 74 72 61 63 6b 73 2e 41 6e 79 28 78 20 3d 3e 20 21 78 2e 6c 6f ....return.tracks.Any(x.=>.!x.lo
31c0 63 6b 65 64 29 20 3f 20 62 61 73 65 2e 47 65 74 44 69 73 70 6c 61 79 4e 61 6d 65 28 74 72 61 63 cked).?.base.GetDisplayName(trac
31e0 6b 73 29 20 3a 20 55 6e 6c 6f 63 6b 54 65 78 74 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 ks).:.UnlockText;.........}.....
3200 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
3220 65 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 2c 20 54 72 61 63 6b 41 73 73 65 74 5b e(WindowState.state,.TrackAsset[
3240 5d 20 74 72 61 63 6b 73 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ].tracks).........{.............
3260 69 66 20 28 21 74 72 61 63 6b 73 2e 41 6e 79 28 29 29 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b if.(!tracks.Any()).return.false;
3280 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 68 61 73 55 6e 6c 6f 63 6b 65 64 54 72 61 ..............var.hasUnlockedTra
32a0 63 6b 73 20 3d 20 74 72 61 63 6b 73 2e 41 6e 79 28 78 20 3d 3e 20 21 78 2e 6c 6f 63 6b 65 64 29 cks.=.tracks.Any(x.=>.!x.locked)
32c0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 53 65 74 4c 6f 63 6b 53 74 61 74 65 28 74 72 61 63 6b ;.............SetLockState(track
32e0 73 2c 20 68 61 73 55 6e 6c 6f 63 6b 65 64 54 72 61 63 6b 73 2c 20 73 74 61 74 65 29 3b 0a 20 20 s,.hasUnlockedTracks,.state);...
3300 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 7d ..........return.true;.........}
3320 0a 0a 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 53 65 74 ..........public.static.void.Set
3340 4c 6f 63 6b 53 74 61 74 65 28 54 72 61 63 6b 41 73 73 65 74 5b 5d 20 74 72 61 63 6b 73 2c 20 62 LockState(TrackAsset[].tracks,.b
3360 6f 6f 6c 20 73 68 6f 75 6c 64 4c 6f 63 6b 2c 20 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 ool.shouldLock,.WindowState.stat
3380 65 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 e.=.null).........{.............
33a0 69 66 20 28 74 72 61 63 6b 73 2e 4c 65 6e 67 74 68 20 3d 3d 20 30 29 0a 20 20 20 20 20 20 20 20 if.(tracks.Length.==.0).........
33c0 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 ........return;..............for
33e0 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 20 20 20 20 20 each.(var.track.in.tracks)......
3400 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 69 66 20 28 54 69 6d .......{.................if.(Tim
3420 65 6c 69 6e 65 55 74 69 6c 69 74 79 2e 49 73 4c 6f 63 6b 65 64 46 72 6f 6d 47 72 6f 75 70 28 74 elineUtility.IsLockedFromGroup(t
3440 72 61 63 6b 29 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 rack)).....................conti
3460 6e 75 65 3b 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 20 nue;..................if.(track.
3480 61 73 20 47 72 6f 75 70 54 72 61 63 6b 20 3d 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 as.GroupTrack.==.null)..........
34a0 20 20 20 20 20 20 20 20 20 20 20 53 65 74 4c 6f 63 6b 53 74 61 74 65 28 74 72 61 63 6b 2e 47 65 ...........SetLockState(track.Ge
34c0 74 43 68 69 6c 64 54 72 61 63 6b 73 28 29 2e 54 6f 41 72 72 61 79 28 29 2c 20 73 68 6f 75 6c 64 tChildTracks().ToArray(),.should
34e0 4c 6f 63 6b 2c 20 73 74 61 74 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 Lock,.state);..................T
3500 69 6d 65 6c 69 6e 65 55 6e 64 6f 2e 50 75 73 68 55 6e 64 6f 28 74 72 61 63 6b 2c 20 22 4c 6f 63 imelineUndo.PushUndo(track,."Loc
3520 6b 20 54 72 61 63 6b 73 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 72 61 63 k.Tracks");.................trac
3540 6b 2e 6c 6f 63 6b 65 64 20 3d 20 73 68 6f 75 6c 64 4c 6f 63 6b 3b 0a 20 20 20 20 20 20 20 20 20 k.locked.=.shouldLock;..........
3560 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 74 61 74 65 20 21 3d 20 6e ...}..............if.(state.!=.n
3580 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).............{..............
35a0 20 20 20 2f 2f 20 66 69 6e 64 20 74 68 65 20 74 72 61 63 6b 73 20 77 65 27 76 65 20 6c 6f 63 6b ...//.find.the.tracks.we've.lock
35c0 65 64 2e 20 75 6e 73 65 6c 65 63 74 20 61 6e 79 74 68 69 6e 67 20 6c 6f 63 6b 65 64 20 61 6e 64 ed..unselect.anything.locked.and
35e0 20 72 65 6d 6f 76 65 20 72 65 63 6f 72 64 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .remove.recording...............
3600 20 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 ...foreach.(var.track.in.tracks)
3620 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 20 20 20 20 20 20 20 .................{..............
3640 20 20 20 20 20 20 20 69 66 20 28 54 69 6d 65 6c 69 6e 65 55 74 69 6c 69 74 79 2e 49 73 4c 6f 63 .......if.(TimelineUtility.IsLoc
3660 6b 65 64 46 72 6f 6d 47 72 6f 75 70 28 74 72 61 63 6b 29 20 7c 7c 20 21 74 72 61 63 6b 2e 6c 6f kedFromGroup(track).||.!track.lo
3680 63 6b 65 64 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 63 6f cked).........................co
36a0 6e 74 69 6e 75 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 ntinue;......................var
36c0 20 66 6c 61 74 74 65 6e 65 64 43 68 69 6c 64 54 72 61 63 6b 73 20 3d 20 74 72 61 63 6b 2e 47 65 .flattenedChildTracks.=.track.Ge
36e0 74 46 6c 61 74 74 65 6e 65 64 43 68 69 6c 64 54 72 61 63 6b 73 28 29 3b 0a 20 20 20 20 20 20 20 tFlattenedChildTracks();........
3700 20 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 20 69 6e 20 74 .............foreach.(var.i.in.t
3720 72 61 63 6b 2e 63 6c 69 70 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rack.clips).....................
3740 20 20 20 20 53 65 6c 65 63 74 69 6f 6e 4d 61 6e 61 67 65 72 2e 52 65 6d 6f 76 65 28 69 29 3b 0a ....SelectionManager.Remove(i);.
3760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 2e 55 6e 61 72 6d 46 ....................state.UnarmF
3780 6f 72 52 65 63 6f 72 64 28 74 72 61 63 6b 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 orRecord(track);................
37a0 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 76 61 72 20 63 68 69 6c 64 20 69 6e 20 66 6c 61 74 74 .....foreach.(var.child.in.flatt
37c0 65 6e 65 64 43 68 69 6c 64 54 72 61 63 6b 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 enedChildTracks)................
37e0 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 20 20 20 20 53 .....{.........................S
3800 65 6c 65 63 74 69 6f 6e 4d 61 6e 61 67 65 72 2e 52 65 6d 6f 76 65 28 63 68 69 6c 64 29 3b 0a 20 electionManager.Remove(child);..
3820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 2e 55 6e 61 .......................state.Una
3840 72 6d 46 6f 72 52 65 63 6f 72 64 28 63 68 69 6c 64 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 rmForRecord(child);.............
3860 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 63 6c 69 70 20 69 6e ............foreach.(var.clip.in
3880 20 63 68 69 6c 64 2e 47 65 74 43 6c 69 70 73 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .child.GetClips())..............
38a0 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 2e ...............SelectionManager.
38c0 52 65 6d 6f 76 65 28 63 6c 69 70 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 Remove(clip);...................
38e0 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 ..}.................}...........
3900 20 20 20 20 20 20 20 2f 2f 20 6e 6f 20 6e 65 65 64 20 74 6f 20 72 65 62 75 69 6c 64 2c 20 6a 75 .......//.no.need.to.rebuild,.ju
3920 73 74 20 72 65 70 61 69 6e 74 20 28 69 6e 63 6c 75 64 69 6e 67 20 69 6e 73 70 65 63 74 6f 72 73 st.repaint.(including.inspectors
3940 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 73 70 65 63 74 6f 72 57 69 6e 64 6f ).................InspectorWindo
3960 77 2e 52 65 70 61 69 6e 74 41 6c 6c 49 6e 73 70 65 63 74 6f 72 73 28 29 3b 0a 20 20 20 20 20 20 w.RepaintAllInspectors();.......
3980 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 2e 65 64 69 74 6f 72 57 69 6e 64 6f 77 2e 52 65 70 ..........state.editorWindow.Rep
39a0 61 69 6e 74 28 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 aint();.............}.........}.
39c0 20 20 20 20 7d 0a 0a 20 20 20 20 5b 55 73 65 64 49 6d 70 6c 69 63 69 74 6c 79 5d 0a 20 20 20 20 ....}......[UsedImplicitly].....
39e0 5b 4d 65 6e 75 45 6e 74 72 79 28 22 53 68 6f 77 20 4d 61 72 6b 65 72 73 22 2c 20 4d 65 6e 75 4f [MenuEntry("Show.Markers",.MenuO
3a00 72 64 65 72 2e 54 72 61 63 6b 41 63 74 69 6f 6e 2e 53 68 6f 77 48 69 64 65 4d 61 72 6b 65 72 73 rder.TrackAction.ShowHideMarkers
3a20 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 64 )].....[ActiveInMode(TimelineMod
3a40 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 4f es.Default.|.TimelineModes.ReadO
3a60 6e 6c 79 29 5d 0a 20 20 20 20 63 6c 61 73 73 20 53 68 6f 77 48 69 64 65 4d 61 72 6b 65 72 73 20 nly)].....class.ShowHideMarkers.
3a80 3a 20 54 72 61 63 6b 41 63 74 69 6f 6e 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 72 6f 74 :.TrackAction.....{.........prot
3aa0 65 63 74 65 64 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 ected.override.bool.IsChecked(Wi
3ac0 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 2c 20 54 72 61 63 6b 41 73 73 65 74 5b 5d 20 74 72 ndowState.state,.TrackAsset[].tr
3ae0 61 63 6b 73 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 acks).........{.............retu
3b00 72 6e 20 74 72 61 63 6b 73 2e 41 6c 6c 28 78 20 3d 3e 20 78 2e 47 65 74 53 68 6f 77 4d 61 72 6b rn.tracks.All(x.=>.x.GetShowMark
3b20 65 72 73 28 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 72 6f 74 65 ers());.........}..........prote
3b40 63 74 65 64 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 cted.override.MenuActionDisplayS
3b60 74 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 tate.GetDisplayState(WindowState
3b80 20 73 74 61 74 65 2c 20 54 72 61 63 6b 41 73 73 65 74 5b 5d 20 74 72 61 63 6b 73 29 0a 20 20 20 .state,.TrackAsset[].tracks)....
3ba0 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 72 61 63 6b 73 2e 41 6e .....{.............if.(tracks.An
3bc0 79 28 78 20 3d 3e 20 78 20 69 73 20 47 72 6f 75 70 54 72 61 63 6b 29 20 7c 7c 20 74 72 61 63 6b y(x.=>.x.is.GroupTrack).||.track
3be0 73 2e 41 6e 79 28 74 20 3d 3e 20 74 2e 47 65 74 4d 61 72 6b 65 72 43 6f 75 6e 74 28 29 20 3d 3d s.Any(t.=>.t.GetMarkerCount().==
3c00 20 30 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 4d 65 6e 75 .0)).................return.Menu
3c20 41 63 74 69 6f 6e 44 69 73 70 6c 61 79 53 74 61 74 65 2e 48 69 64 64 65 6e 3b 0a 0a 20 20 20 20 ActionDisplayState.Hidden;......
3c40 20 20 20 20 20 20 20 20 69 66 20 28 74 72 61 63 6b 73 2e 41 6e 79 28 74 20 3d 3e 20 74 2e 6c 6f ........if.(tracks.Any(t.=>.t.lo
3c60 63 6b 65 64 49 6e 48 69 65 72 61 72 63 68 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ckedInHierarchy))...............
3c80 20 20 72 65 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 ..return.MenuActionDisplayState.
3ca0 44 69 73 61 62 6c 65 64 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4d 65 Disabled;..............return.Me
3cc0 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 3b 0a 20 20 nuActionDisplayState.Visible;...
3ce0 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 76 65 72 72 69 64 65 ......}..........public.override
3d00 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 74 65 2c .bool.Execute(WindowState.state,
3d20 20 54 72 61 63 6b 41 73 73 65 74 5b 5d 20 74 72 61 63 6b 73 29 0a 20 20 20 20 20 20 20 20 7b 0a .TrackAsset[].tracks).........{.
3d40 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 74 72 61 63 6b 73 2e 41 6e 79 28 29 29 20 72 ............if.(!tracks.Any()).r
3d60 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 76 61 72 20 68 61 eturn.false;..............var.ha
3d80 73 55 6e 6c 6f 63 6b 65 64 54 72 61 63 6b 73 20 3d 20 74 72 61 63 6b 73 2e 41 6e 79 28 78 20 3d sUnlockedTracks.=.tracks.Any(x.=
3da0 3e 20 21 78 2e 47 65 74 53 68 6f 77 4d 61 72 6b 65 72 73 28 29 29 3b 0a 20 20 20 20 20 20 20 20 >.!x.GetShowMarkers());.........
3dc0 20 20 20 20 53 68 6f 77 48 69 64 65 28 73 74 61 74 65 2c 20 74 72 61 63 6b 73 2c 20 68 61 73 55 ....ShowHide(state,.tracks,.hasU
3de0 6e 6c 6f 63 6b 65 64 54 72 61 63 6b 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 nlockedTracks);.............retu
3e00 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 73 74 61 74 rn.true;.........}..........stat
3e20 69 63 20 76 6f 69 64 20 53 68 6f 77 48 69 64 65 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 ic.void.ShowHide(WindowState.sta
3e40 74 65 2c 20 54 72 61 63 6b 41 73 73 65 74 5b 5d 20 74 72 61 63 6b 73 2c 20 62 6f 6f 6c 20 73 68 te,.TrackAsset[].tracks,.bool.sh
3e60 6f 75 6c 64 4c 6f 63 6b 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ouldLock).........{.............
3e80 69 66 20 28 74 72 61 63 6b 73 2e 4c 65 6e 67 74 68 20 3d 3d 20 30 29 0a 20 20 20 20 20 20 20 20 if.(tracks.Length.==.0).........
3ea0 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 ........return;..............var
3ec0 20 77 69 6e 64 6f 77 20 3d 20 73 74 61 74 65 2e 47 65 74 57 69 6e 64 6f 77 28 29 3b 0a 20 20 20 .window.=.state.GetWindow();....
3ee0 20 20 20 20 20 20 20 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 .........foreach.(var.track.in.t
3f00 72 61 63 6b 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 racks).............{............
3f20 20 20 20 20 20 77 69 6e 64 6f 77 2e 53 65 74 53 68 6f 77 54 72 61 63 6b 4d 61 72 6b 65 72 73 28 .....window.SetShowTrackMarkers(
3f40 74 72 61 63 6b 2c 20 73 68 6f 75 6c 64 4c 6f 63 6b 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 track,.shouldLock);.............
3f60 7d 0a 0a 20 20 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 52 65 }..............TimelineEditor.Re
3f80 66 72 65 73 68 28 52 65 66 72 65 73 68 52 65 61 73 6f 6e 2e 57 69 6e 64 6f 77 4e 65 65 64 73 52 fresh(RefreshReason.WindowNeedsR
3fa0 65 64 72 61 77 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 4d 65 edraw);.........}.....}......[Me
3fc0 6e 75 45 6e 74 72 79 28 22 4d 75 74 65 20 73 65 6c 65 63 74 65 64 20 74 72 61 63 6b 20 6f 6e 6c nuEntry("Mute.selected.track.onl
3fe0 79 22 2c 20 4d 65 6e 75 4f 72 64 65 72 2e 54 72 61 63 6b 41 63 74 69 6f 6e 2e 4d 75 74 65 53 65 y",.MenuOrder.TrackAction.MuteSe
4000 6c 65 63 74 65 64 29 2c 20 55 73 65 64 49 6d 70 6c 69 63 69 74 6c 79 5d 0a 20 20 20 20 63 6c 61 lected),.UsedImplicitly].....cla
4020 73 73 20 4d 75 74 65 53 65 6c 65 63 74 65 64 54 72 61 63 6b 20 3a 20 54 72 61 63 6b 41 63 74 69 ss.MuteSelectedTrack.:.TrackActi
4040 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 61 74 69 63 20 72 on.....{.........public.static.r
4060 65 61 64 6f 6e 6c 79 20 73 74 72 69 6e 67 20 55 6e 6d 75 74 65 53 65 6c 65 63 74 65 64 54 65 78 eadonly.string.UnmuteSelectedTex
4080 74 20 3d 20 4c 31 30 6e 2e 54 72 28 22 55 6e 6d 75 74 65 20 73 65 6c 65 63 74 65 64 20 74 72 61 t.=.L10n.Tr("Unmute.selected.tra
40a0 63 6b 20 6f 6e 6c 79 22 29 3b 0a 20 20 20 20 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 6f 76 65 ck.only");.........protected.ove
40c0 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 65 74 rride.MenuActionDisplayState.Get
40e0 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 2c 20 DisplayState(WindowState.state,.
4100 54 72 61 63 6b 41 73 73 65 74 5b 5d 20 74 72 61 63 6b 73 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 TrackAsset[].tracks).........{..
4120 20 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 74 72 61 63 6b 20 ...........if.(tracks.Any(track.
4140 3d 3e 20 54 69 6d 65 6c 69 6e 65 55 74 69 6c 69 74 79 2e 49 73 50 61 72 65 6e 74 4d 75 74 65 64 =>.TimelineUtility.IsParentMuted
4160 28 74 72 61 63 6b 29 20 7c 7c 20 74 72 61 63 6b 20 69 73 20 47 72 6f 75 70 54 72 61 63 6b 20 7c (track).||.track.is.GroupTrack.|
4180 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 74 72 61 63 6b 2e 73 75 62 54 72 61 63 |.................!track.subTrac
41a0 6b 73 4f 62 6a 65 63 74 73 2e 41 6e 79 28 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ksObjects.Any()))...............
41c0 20 20 72 65 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 ..return.MenuActionDisplayState.
41e0 48 69 64 64 65 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4d 65 6e 75 41 Hidden;.............return.MenuA
4200 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 3b 0a 20 20 20 20 20 ctionDisplayState.Visible;......
4220 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 6f ...}..........public.override.bo
4240 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 54 72 ol.Execute(WindowState.state,.Tr
4260 61 63 6b 41 73 73 65 74 5b 5d 20 74 72 61 63 6b 73 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 ackAsset[].tracks).........{....
4280 20 20 20 20 20 20 20 20 20 69 66 20 28 21 74 72 61 63 6b 73 2e 41 6e 79 28 29 29 0a 20 20 20 20 .........if.(!tracks.Any()).....
42a0 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 20 20 ............return.false;.......
42c0 20 20 20 20 20 20 20 76 61 72 20 68 61 73 55 6e 6d 75 74 65 64 54 72 61 63 6b 73 20 3d 20 74 72 .......var.hasUnmutedTracks.=.tr
42e0 61 63 6b 73 2e 41 6e 79 28 78 20 3d 3e 20 21 78 2e 6d 75 74 65 64 29 3b 0a 20 20 20 20 20 20 20 acks.Any(x.=>.!x.muted);........
4300 20 20 20 20 20 4d 75 74 65 28 73 74 61 74 65 2c 20 74 72 61 63 6b 73 2e 57 68 65 72 65 28 70 20 .....Mute(state,.tracks.Where(p.
4320 3d 3e 20 21 28 70 20 69 73 20 47 72 6f 75 70 54 72 61 63 6b 29 29 2e 54 6f 41 72 72 61 79 28 29 =>.!(p.is.GroupTrack)).ToArray()
4340 2c 20 68 61 73 55 6e 6d 75 74 65 64 54 72 61 63 6b 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ,.hasUnmutedTracks);............
4360 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 20 20 20 20 .return.true;.........}.........
4380 20 70 72 6f 74 65 63 74 65 64 20 6f 76 65 72 72 69 64 65 20 73 74 72 69 6e 67 20 47 65 74 44 69 .protected.override.string.GetDi
43a0 73 70 6c 61 79 4e 61 6d 65 28 54 72 61 63 6b 41 73 73 65 74 5b 5d 20 74 72 61 63 6b 73 29 0a 20 splayName(TrackAsset[].tracks)..
43c0 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 74 72 61 63 .......{.............return.trac
43e0 6b 73 2e 41 6c 6c 28 74 20 3d 3e 20 74 2e 6d 75 74 65 64 29 20 3f 20 20 55 6e 6d 75 74 65 53 65 ks.All(t.=>.t.muted).?..UnmuteSe
4400 6c 65 63 74 65 64 54 65 78 74 20 3a 20 62 61 73 65 2e 47 65 74 44 69 73 70 6c 61 79 4e 61 6d 65 lectedText.:.base.GetDisplayName
4420 28 74 72 61 63 6b 73 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 (tracks);.........}..........pub
4440 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 4d 75 74 65 28 57 69 6e 64 6f 77 53 74 61 74 65 lic.static.void.Mute(WindowState
4460 20 73 74 61 74 65 2c 20 54 72 61 63 6b 41 73 73 65 74 5b 5d 20 74 72 61 63 6b 73 2c 20 62 6f 6f .state,.TrackAsset[].tracks,.boo
4480 6c 20 73 68 6f 75 6c 64 4d 75 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 l.shouldMute).........{.........
44a0 20 20 20 20 69 66 20 28 74 72 61 63 6b 73 2e 4c 65 6e 67 74 68 20 3d 3d 20 30 29 0a 20 20 20 20 ....if.(tracks.Length.==.0).....
44c0 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 ............return;.............
44e0 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 2e 57 68 .foreach.(var.track.in.tracks.Wh
4500 65 72 65 28 74 20 3d 3e 20 21 54 69 6d 65 6c 69 6e 65 55 74 69 6c 69 74 79 2e 49 73 50 61 72 65 ere(t.=>.!TimelineUtility.IsPare
4520 6e 74 4d 75 74 65 64 28 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 ntMuted(t))).............{......
4540 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 68 55 6e 64 6f ...........TimelineUndo.PushUndo
4560 28 74 72 61 63 6b 2c 20 22 4d 75 74 65 20 54 72 61 63 6b 73 22 29 3b 0a 20 20 20 20 20 20 20 20 (track,."Mute.Tracks");.........
4580 20 20 20 20 20 20 20 20 74 72 61 63 6b 2e 6d 75 74 65 64 20 3d 20 73 68 6f 75 6c 64 4d 75 74 65 ........track.muted.=.shouldMute
45a0 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 20 20 20 73 74 61 ;.............}..............sta
45c0 74 65 2e 52 65 66 72 65 73 68 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 te.Refresh();.........}.....}...
45e0 20 20 20 5b 4d 65 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 ...[MenuEntry("Mute",.MenuOrder.
4600 54 72 61 63 6b 41 63 74 69 6f 6e 2e 4d 75 74 65 54 72 61 63 6b 29 5d 0a 20 20 20 20 5b 53 68 6f TrackAction.MuteTrack)].....[Sho
4620 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 74 6f 67 67 6c 65 4d rtcut(Shortcuts.Timeline.toggleM
4640 75 74 65 29 5d 0a 20 20 20 20 63 6c 61 73 73 20 4d 75 74 65 54 72 61 63 6b 20 3a 20 54 72 61 63 ute)].....class.MuteTrack.:.Trac
4660 6b 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 61 kAction.....{.........public.sta
4680 74 69 63 20 72 65 61 64 6f 6e 6c 79 20 73 74 72 69 6e 67 20 55 6e 4d 75 74 65 54 65 78 74 20 3d tic.readonly.string.UnMuteText.=
46a0 20 4c 31 30 6e 2e 54 72 28 22 55 6e 6d 75 74 65 22 29 3b 0a 0a 20 20 20 20 20 20 20 20 70 72 6f .L10n.Tr("Unmute");..........pro
46c0 74 65 63 74 65 64 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 tected.override.MenuActionDispla
46e0 79 53 74 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 yState.GetDisplayState(WindowSta
4700 74 65 20 73 74 61 74 65 2c 20 54 72 61 63 6b 41 73 73 65 74 5b 5d 20 74 72 61 63 6b 73 29 0a 20 te.state,.TrackAsset[].tracks)..
4720 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 74 72 61 63 6b 73 2e .......{.............if.(tracks.
4740 41 6e 79 28 74 72 61 63 6b 20 3d 3e 20 54 69 6d 65 6c 69 6e 65 55 74 69 6c 69 74 79 2e 49 73 50 Any(track.=>.TimelineUtility.IsP
4760 61 72 65 6e 74 4d 75 74 65 64 28 74 72 61 63 6b 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 arentMuted(track))).............
4780 20 20 20 20 72 65 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 ....return.MenuActionDisplayStat
47a0 65 2e 44 69 73 61 62 6c 65 64 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4d e.Disabled;.............return.M
47c0 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 3b 0a 20 enuActionDisplayState.Visible;..
47e0 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 6f 76 65 72 .......}..........protected.over
4800 72 69 64 65 20 73 74 72 69 6e 67 20 47 65 74 44 69 73 70 6c 61 79 4e 61 6d 65 28 54 72 61 63 6b ride.string.GetDisplayName(Track
4820 41 73 73 65 74 5b 5d 20 74 72 61 63 6b 73 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 Asset[].tracks).........{.......
4840 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 61 63 6b 73 2e 41 6e 79 28 78 20 3d 3e 20 21 78 2e ......return.tracks.Any(x.=>.!x.
4860 6d 75 74 65 64 29 20 3f 20 62 61 73 65 2e 47 65 74 44 69 73 70 6c 61 79 4e 61 6d 65 28 74 72 61 muted).?.base.GetDisplayName(tra
4880 63 6b 73 29 20 3a 20 55 6e 4d 75 74 65 54 65 78 74 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 cks).:.UnMuteText;.........}....
48a0 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
48c0 74 65 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 2c 20 54 72 61 63 6b 41 73 73 65 74 te(WindowState.state,.TrackAsset
48e0 5b 5d 20 74 72 61 63 6b 73 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 [].tracks).........{............
4900 20 69 66 20 28 21 74 72 61 63 6b 73 2e 41 6e 79 28 29 20 7c 7c 20 74 72 61 63 6b 73 2e 41 6e 79 .if.(!tracks.Any().||.tracks.Any
4920 28 74 72 61 63 6b 20 3d 3e 20 54 69 6d 65 6c 69 6e 65 55 74 69 6c 69 74 79 2e 49 73 50 61 72 65 (track.=>.TimelineUtility.IsPare
4940 6e 74 4d 75 74 65 64 28 74 72 61 63 6b 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ntMuted(track)))................
4960 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 76 61 72 20 .return.false;..............var.
4980 68 61 73 55 6e 6d 75 74 65 64 54 72 61 63 6b 73 20 3d 20 74 72 61 63 6b 73 2e 41 6e 79 28 78 20 hasUnmutedTracks.=.tracks.Any(x.
49a0 3d 3e 20 21 78 2e 6d 75 74 65 64 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 4d 75 74 65 28 73 =>.!x.muted);.............Mute(s
49c0 74 61 74 65 2c 20 74 72 61 63 6b 73 2c 20 68 61 73 55 6e 6d 75 74 65 64 54 72 61 63 6b 73 29 3b tate,.tracks,.hasUnmutedTracks);
49e0 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;.......
4a00 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 76 6f 69 64 20 ..}..........public.static.void.
4a20 4d 75 74 65 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 2c 20 54 72 61 63 6b 41 73 73 Mute(WindowState.state,.TrackAss
4a40 65 74 5b 5d 20 74 72 61 63 6b 73 2c 20 62 6f 6f 6c 20 73 68 6f 75 6c 64 4d 75 74 65 29 0a 20 20 et[].tracks,.bool.shouldMute)...
4a60 20 20 20 20 20 20 7b 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 ......{.............if.(tracks.L
4a80 65 6e 67 74 68 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 ength.==.0).................retu
4aa0 72 6e 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 74 72 rn;..............foreach.(var.tr
4ac0 61 63 6b 20 69 6e 20 74 72 61 63 6b 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 ack.in.tracks).............{....
4ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 72 61 63 6b 20 61 73 20 47 72 6f 75 70 54 .............if.(track.as.GroupT
4b00 72 61 63 6b 20 3d 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rack.==.null)...................
4b20 20 20 4d 75 74 65 28 73 74 61 74 65 2c 20 74 72 61 63 6b 2e 47 65 74 43 68 69 6c 64 54 72 61 63 ..Mute(state,.track.GetChildTrac
4b40 6b 73 28 29 2e 54 6f 41 72 72 61 79 28 29 2c 20 73 68 6f 75 6c 64 4d 75 74 65 29 3b 0a 20 20 20 ks().ToArray(),.shouldMute);....
4b60 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 68 55 6e .............TimelineUndo.PushUn
4b80 64 6f 28 74 72 61 63 6b 2c 20 22 4d 75 74 65 20 54 72 61 63 6b 73 22 29 3b 0a 20 20 20 20 20 20 do(track,."Mute.Tracks");.......
4ba0 20 20 20 20 20 20 20 20 20 20 74 72 61 63 6b 2e 6d 75 74 65 64 20 3d 20 73 68 6f 75 6c 64 4d 75 ..........track.muted.=.shouldMu
4bc0 74 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 20 20 20 73 te;.............}..............s
4be0 74 61 74 65 2e 52 65 66 72 65 73 68 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a tate.Refresh();.........}.....}.
4c00 0a 20 20 20 20 63 6c 61 73 73 20 44 65 6c 65 74 65 54 72 61 63 6b 73 20 3a 20 54 72 61 63 6b 41 .....class.DeleteTracks.:.TrackA
4c20 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 61 74 69 ction.....{.........public.stati
4c40 63 20 76 6f 69 64 20 44 6f 28 54 69 6d 65 6c 69 6e 65 41 73 73 65 74 20 74 69 6d 65 6c 69 6e 65 c.void.Do(TimelineAsset.timeline
4c60 2c 20 54 72 61 63 6b 41 73 73 65 74 20 74 72 61 63 6b 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 ,.TrackAsset.track).........{...
4c80 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 2e 52 65 6d 6f 76 ..........SelectionManager.Remov
4ca0 65 28 74 72 61 63 6b 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 72 61 63 6b 4d 6f 64 69 66 e(track);.............TrackModif
4cc0 69 65 72 2e 44 65 6c 65 74 65 54 72 61 63 6b 28 74 69 6d 65 6c 69 6e 65 2c 20 74 72 61 63 6b 29 ier.DeleteTrack(timeline,.track)
4ce0 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 76 65 72 ;.........}..........public.over
4d00 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 74 ride.bool.Execute(WindowState.st
4d20 61 74 65 2c 20 54 72 61 63 6b 41 73 73 65 74 5b 5d 20 74 72 61 63 6b 73 29 0a 20 20 20 20 20 20 ate,.TrackAsset[].tracks).......
4d40 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 64 69 73 61 62 6c 65 20 70 72 65 76 69 ..{.............//.disable.previ
4d60 65 77 20 6d 6f 64 65 20 73 6f 20 64 65 6c 65 74 65 64 20 74 72 61 63 6b 73 20 72 65 76 65 72 74 ew.mode.so.deleted.tracks.revert
4d80 20 74 6f 20 64 65 66 61 75 6c 74 20 73 74 61 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f .to.default.state.............//
4da0 20 43 61 73 65 20 39 35 36 31 32 39 3a 20 44 69 73 61 62 6c 65 20 70 72 65 76 69 65 77 20 6d 6f .Case.956129:.Disable.preview.mo
4dc0 64 65 20 5f 62 65 66 6f 72 65 5f 20 64 65 6c 65 74 69 6e 67 20 74 68 65 20 74 72 61 63 6b 73 2c de._before_.deleting.the.tracks,
4de0 20 73 69 6e 63 65 20 63 6c 69 70 20 64 61 74 61 20 69 73 20 73 74 69 6c 6c 20 6e 65 65 64 65 64 .since.clip.data.is.still.needed
4e00 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 2e 70 72 65 76 69 65 77 4d 6f 64 65 20 3d .............state.previewMode.=
4e20 20 66 61 6c 73 65 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 .false;..............TimelineAni
4e40 6d 61 74 69 6f 6e 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 mationUtilities.UnlinkAnimationW
4e60 69 6e 64 6f 77 46 72 6f 6d 54 72 61 63 6b 73 28 74 72 61 63 6b 73 29 3b 0a 0a 20 20 20 20 20 20 indowFromTracks(tracks);........
4e80 20 20 20 20 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 ......foreach.(var.track.in.trac
4ea0 6b 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 6f 28 73 74 61 74 65 2e 65 64 69 ks).................Do(state.edi
4ec0 74 53 65 71 75 65 6e 63 65 2e 61 73 73 65 74 2c 20 74 72 61 63 6b 29 3b 0a 0a 20 20 20 20 20 20 tSequence.asset,.track);........
4ee0 20 20 20 20 20 20 73 74 61 74 65 2e 52 65 66 72 65 73 68 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 ......state.Refresh();..........
4f00 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 20 20 20 7d ....return.true;.........}.....}
4f20 0a 0a 20 20 20 20 63 6c 61 73 73 20 43 6f 70 79 54 72 61 63 6b 73 54 6f 43 6c 69 70 62 6f 61 72 ......class.CopyTracksToClipboar
4f40 64 20 3a 20 54 72 61 63 6b 41 63 74 69 6f 6e 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 75 d.:.TrackAction.....{.........pu
4f60 62 6c 69 63 20 73 74 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 blic.static.bool.Do(WindowState.
4f80 73 74 61 74 65 2c 20 54 72 61 63 6b 41 73 73 65 74 5b 5d 20 74 72 61 63 6b 73 29 0a 20 20 20 20 state,.TrackAsset[].tracks).....
4fa0 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 20 3d 20 6e ....{.............var.action.=.n
4fc0 65 77 20 43 6f 70 79 54 72 61 63 6b 73 54 6f 43 6c 69 70 62 6f 61 72 64 28 29 3b 0a 0a 20 20 20 ew.CopyTracksToClipboard();.....
4fe0 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 75 74 65 28 73 .........return.action.Execute(s
5000 74 61 74 65 2c 20 74 72 61 63 6b 73 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 tate,.tracks);.........}........
5020 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
5040 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 2c 20 54 72 61 63 6b 41 73 73 65 74 5b 5d 20 74 indowState.state,.TrackAsset[].t
5060 72 61 63 6b 73 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 racks).........{.............Tim
5080 65 6c 69 6e 65 45 64 69 74 6f 72 2e 63 6c 69 70 62 6f 61 72 64 2e 43 6f 70 79 54 72 61 63 6b 73 elineEditor.clipboard.CopyTracks
50a0 28 74 72 61 63 6b 73 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 (tracks);..............return.tr
50c0 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 63 6c 61 73 73 20 44 ue;.........}.....}......class.D
50e0 75 70 6c 69 63 61 74 65 54 72 61 63 6b 73 20 3a 20 54 72 61 63 6b 41 63 74 69 6f 6e 0a 20 20 20 uplicateTracks.:.TrackAction....
5100 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.
5120 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 54 72 61 63 6b Execute(WindowState.state,.Track
5140 41 73 73 65 74 5b 5d 20 74 72 61 63 6b 73 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 Asset[].tracks).........{.......
5160 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 20 20 20 20 ......if.(tracks.Any()).........
5180 20 20 20 20 7b 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 ....{.................SelectionM
51a0 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 74 69 6f 6e 28 29 anager.RemoveTimelineSelection()
51c0 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 20 20 20 66 6f 72 ;.............}..............for
51e0 65 61 63 68 20 28 76 61 72 20 74 72 61 63 6b 20 69 6e 20 54 72 61 63 6b 45 78 74 65 6e 73 69 6f each.(var.track.in.TrackExtensio
5200 6e 73 2e 46 69 6c 74 65 72 54 72 61 63 6b 73 28 74 72 61 63 6b 73 29 29 0a 20 20 20 20 20 20 20 ns.FilterTracks(tracks))........
5220 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 6e 65 77 54 72 .....{.................var.newTr
5240 61 63 6b 20 3d 20 74 72 61 63 6b 2e 44 75 70 6c 69 63 61 74 65 28 54 69 6d 65 6c 69 6e 65 45 64 ack.=.track.Duplicate(TimelineEd
5260 69 74 6f 72 2e 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 itor.inspectedDirector,.Timeline
5280 45 64 69 74 6f 72 2e 69 6e 73 70 65 63 74 65 64 44 69 72 65 63 74 6f 72 29 3b 0a 20 20 20 20 20 Editor.inspectedDirector);......
52a0 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 2e 41 64 64 28 ...........SelectionManager.Add(
52c0 6e 65 77 54 72 61 63 6b 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 newTrack);.................forea
52e0 63 68 20 28 76 61 72 20 63 68 69 6c 64 54 72 61 63 6b 20 69 6e 20 6e 65 77 54 72 61 63 6b 2e 47 ch.(var.childTrack.in.newTrack.G
5300 65 74 46 6c 61 74 74 65 6e 65 64 43 68 69 6c 64 54 72 61 63 6b 73 28 29 29 0a 20 20 20 20 20 20 etFlattenedChildTracks()).......
5320 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 ..........{.....................
5340 53 65 6c 65 63 74 69 6f 6e 4d 61 6e 61 67 65 72 2e 41 64 64 28 63 68 69 6c 64 54 72 61 63 6b 29 SelectionManager.Add(childTrack)
5360 3b 0a 20 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 ;.................}.............
5380 7d 0a 0a 20 20 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 }..............state.Refresh();.
53a0 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;.......
53c0 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 52 65 6d 6f 76 ..}.....}......[MenuEntry("Remov
53e0 65 20 49 6e 76 61 6c 69 64 20 4d 61 72 6b 65 72 73 22 2c 20 4d 65 6e 75 4f 72 64 65 72 2e 54 72 e.Invalid.Markers",.MenuOrder.Tr
5400 61 63 6b 41 63 74 69 6f 6e 2e 52 65 6d 6f 76 65 49 6e 76 61 6c 69 64 4d 61 72 6b 65 72 73 29 2c ackAction.RemoveInvalidMarkers),
5420 20 55 73 65 64 49 6d 70 6c 69 63 69 74 6c 79 5d 0a 20 20 20 20 63 6c 61 73 73 20 52 65 6d 6f 76 .UsedImplicitly].....class.Remov
5440 65 49 6e 76 61 6c 69 64 4d 61 72 6b 65 72 73 41 63 74 69 6f 6e 20 3a 20 54 72 61 63 6b 41 63 74 eInvalidMarkersAction.:.TrackAct
5460 69 6f 6e 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 6f 76 65 72 ion.....{.........protected.over
5480 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 65 74 44 ride.MenuActionDisplayState.GetD
54a0 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 2c 20 54 isplayState(WindowState.state,.T
54c0 72 61 63 6b 41 73 73 65 74 5b 5d 20 74 72 61 63 6b 73 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 rackAsset[].tracks).........{...
54e0 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 74 61 72 67 65 74 20 ..........if.(tracks.Any(target.
5500 3d 3e 20 74 61 72 67 65 74 20 21 3d 20 6e 75 6c 6c 20 26 26 20 74 61 72 67 65 74 2e 47 65 74 4d =>.target.!=.null.&&.target.GetM
5520 61 72 6b 65 72 43 6f 75 6e 74 28 29 20 21 3d 20 74 61 72 67 65 74 2e 47 65 74 4d 61 72 6b 65 72 arkerCount().!=.target.GetMarker
5540 73 52 61 77 28 29 2e 43 6f 75 6e 74 28 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 sRaw().Count()))................
5560 20 72 65 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 56 .return.MenuActionDisplayState.V
5580 69 73 69 62 6c 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4d 65 6e 75 isible;..............return.Menu
55a0 41 63 74 69 6f 6e 44 69 73 70 6c 61 79 53 74 61 74 65 2e 48 69 64 64 65 6e 3b 0a 20 20 20 20 20 ActionDisplayState.Hidden;......
55c0 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 6f ...}..........public.override.bo
55e0 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 54 72 ol.Execute(WindowState.state,.Tr
5600 61 63 6b 41 73 73 65 74 5b 5d 20 74 72 61 63 6b 73 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 ackAsset[].tracks).........{....
5620 20 20 20 20 20 20 20 20 20 62 6f 6f 6c 20 61 6e 79 52 65 6d 6f 76 65 64 20 3d 20 66 61 6c 73 65 .........bool.anyRemoved.=.false
5640 3b 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 74 61 72 67 65 ;.............foreach.(var.targe
5660 74 20 69 6e 20 74 72 61 63 6b 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 t.in.tracks).............{......
5680 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 69 6e 76 61 6c 69 64 73 20 3d 20 74 61 72 67 65 74 ...........var.invalids.=.target
56a0 2e 47 65 74 4d 61 72 6b 65 72 73 52 61 77 28 29 2e 57 68 65 72 65 28 78 20 3d 3e 20 21 28 78 20 .GetMarkersRaw().Where(x.=>.!(x.
56c0 69 73 20 49 4d 61 72 6b 65 72 29 29 2e 54 6f 4c 69 73 74 28 29 3b 0a 20 20 20 20 20 20 20 20 20 is.IMarker)).ToList();..........
56e0 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 76 61 72 20 6d 20 69 6e 20 69 6e 76 61 6c 69 64 .......foreach.(var.m.in.invalid
5700 73 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 20 20 20 20 20 s).................{............
5720 20 20 20 20 20 20 20 20 20 61 6e 79 52 65 6d 6f 76 65 64 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 .........anyRemoved.=.true;.....
5740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 61 72 67 65 74 2e 44 65 6c 65 74 65 4d 61 72 ................target.DeleteMar
5760 6b 65 72 52 61 77 28 6d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 kerRaw(m);.................}....
5780 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 61 6e 79 52 .........}..............if.(anyR
57a0 65 6d 6f 76 65 64 29 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 emoved).................Timeline
57c0 45 64 69 74 6f 72 2e 52 65 66 72 65 73 68 28 52 65 66 72 65 73 68 52 65 61 73 6f 6e 2e 43 6f 6e Editor.Refresh(RefreshReason.Con
57e0 74 65 6e 74 73 41 64 64 65 64 4f 72 52 65 6d 6f 76 65 64 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 tentsAddedOrRemoved);...........
5800 20 20 20 72 65 74 75 72 6e 20 61 6e 79 52 65 6d 6f 76 65 64 3b 0a 20 20 20 20 20 20 20 20 7d 0a ...return.anyRemoved;.........}.
5820 20 20 20 20 7d 0a 7d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0c 00 00 00 ....}.}.........................
5840 54 72 61 63 6b 41 63 74 69 6f 6e 73 00 00 00 00 TrackActions....