summaryrefslogtreecommitdiff
path: root/Library/Artifacts/c9/c9aee2450e8e1ea2973f3ab704ba8da8
blob: adfb3130eba835ed04e56e9201a75bcc9cdf4503 (plain)
ofshex dumpascii
0000 00 00 0f 81 00 00 a1 58 00 00 00 15 00 00 10 00 00 00 00 00 32 30 31 39 2e 33 2e 36 66 31 00 fe .......X............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 f8 90 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 ................................
0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 e0 79 af 00 00 00 00 00 00 00 00 00 .....................y..........
1040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1080 00 00 00 00 00 00 00 00 0f 00 00 00 54 69 6d 65 6c 69 6e 65 48 65 6c 70 65 72 73 00 77 90 00 00 ............TimelineHelpers.w...
10a0 75 73 69 6e 67 20 53 79 73 74 65 6d 3b 0a 75 73 69 6e 67 20 53 79 73 74 65 6d 2e 43 6f 6c 6c 65 using.System;.using.System.Colle
10c0 63 74 69 6f 6e 73 2e 47 65 6e 65 72 69 63 3b 0a 75 73 69 6e 67 20 53 79 73 74 65 6d 2e 4c 69 6e ctions.Generic;.using.System.Lin
10e0 71 3b 0a 75 73 69 6e 67 20 53 79 73 74 65 6d 2e 52 65 66 6c 65 63 74 69 6f 6e 3b 0a 75 73 69 6e q;.using.System.Reflection;.usin
1100 67 20 55 6e 69 74 79 45 64 69 74 6f 72 2e 4d 65 6d 6f 72 79 50 72 6f 66 69 6c 65 72 3b 0a 75 73 g.UnityEditor.MemoryProfiler;.us
1120 69 6e 67 20 55 6e 69 74 79 45 64 69 74 6f 72 2e 53 63 65 6e 65 4d 61 6e 61 67 65 6d 65 6e 74 3b ing.UnityEditor.SceneManagement;
1140 0a 75 73 69 6e 67 20 55 6e 69 74 79 45 6e 67 69 6e 65 3b 0a 75 73 69 6e 67 20 55 6e 69 74 79 45 .using.UnityEngine;.using.UnityE
1160 6e 67 69 6e 65 2e 50 6c 61 79 61 62 6c 65 73 3b 0a 75 73 69 6e 67 20 55 6e 69 74 79 45 6e 67 69 ngine.Playables;.using.UnityEngi
1180 6e 65 2e 54 69 6d 65 6c 69 6e 65 3b 0a 75 73 69 6e 67 20 4f 62 6a 65 63 74 20 3d 20 55 6e 69 74 ne.Timeline;.using.Object.=.Unit
11a0 79 45 6e 67 69 6e 65 2e 4f 62 6a 65 63 74 3b 0a 0a 6e 61 6d 65 73 70 61 63 65 20 55 6e 69 74 79 yEngine.Object;..namespace.Unity
11c0 45 64 69 74 6f 72 2e 54 69 6d 65 6c 69 6e 65 0a 7b 0a 20 20 20 20 73 74 61 74 69 63 20 63 6c 61 Editor.Timeline.{.....static.cla
11e0 73 73 20 54 69 6d 65 6c 69 6e 65 48 65 6c 70 65 72 73 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 ss.TimelineHelpers.....{........
1200 20 73 74 61 74 69 63 20 4c 69 73 74 3c 54 79 70 65 3e 20 73 5f 53 75 62 43 6c 61 73 73 65 73 4f .static.List<Type>.s_SubClassesO
1220 66 54 72 61 63 6b 44 72 61 77 65 72 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 63 68 65 63 6b 20 fTrackDrawer;..........//.check.
1240 77 68 65 74 68 65 72 20 74 68 65 20 65 78 70 6f 73 65 64 20 72 65 66 65 72 65 6e 63 65 20 69 73 whether.the.exposed.reference.is
1260 20 65 78 70 6c 69 63 69 74 6c 79 20 6e 61 6d 65 64 0a 20 20 20 20 20 20 20 20 73 74 61 74 69 63 .explicitly.named.........static
1280 20 62 6f 6f 6c 20 49 73 45 78 70 6f 73 65 64 52 65 66 65 72 65 6e 63 65 45 78 70 6c 69 63 69 74 .bool.IsExposedReferenceExplicit
12a0 6c 79 4e 61 6d 65 64 28 73 74 72 69 6e 67 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 lyNamed(string.name).........{..
12c0 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 74 72 69 6e 67 2e 49 73 4e 75 6c 6c 4f 72 45 6d ...........if.(string.IsNullOrEm
12e0 70 74 79 28 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 pty(name)).................retur
1300 6e 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 47 55 49 44 20 67 75 69 64 3b n.false;..............GUID.guid;
1320 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 21 47 55 49 44 2e 54 72 79 50 61 72 .............return.!GUID.TryPar
1340 73 65 28 6e 61 6d 65 2c 20 6f 75 74 20 67 75 69 64 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 se(name,.out.guid);.........}...
1360 20 20 20 20 20 20 20 73 74 61 74 69 63 20 73 74 72 69 6e 67 20 47 65 6e 65 72 61 74 65 45 78 70 .......static.string.GenerateExp
1380 6f 73 65 64 52 65 66 65 72 65 6e 63 65 4e 61 6d 65 28 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 osedReferenceName().........{...
13a0 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 55 6e 69 74 79 45 64 69 74 6f 72 2e 47 55 49 ..........return.UnityEditor.GUI
13c0 44 2e 47 65 6e 65 72 61 74 65 28 29 2e 54 6f 53 74 72 69 6e 67 28 29 3b 0a 20 20 20 20 20 20 20 D.Generate().ToString();........
13e0 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 43 .}..........public.static.void.C
1400 6c 6f 6e 65 45 78 70 6f 73 65 64 52 65 66 65 72 65 6e 63 65 73 28 53 63 72 69 70 74 61 62 6c 65 loneExposedReferences(Scriptable
1420 4f 62 6a 65 63 74 20 63 6c 6f 6e 65 2c 20 49 45 78 70 6f 73 65 64 50 72 6f 70 65 72 74 79 54 61 Object.clone,.IExposedPropertyTa
1440 62 6c 65 20 73 6f 75 72 63 65 54 61 62 6c 65 2c 20 49 45 78 70 6f 73 65 64 50 72 6f 70 65 72 74 ble.sourceTable,.IExposedPropert
1460 79 54 61 62 6c 65 20 64 65 73 74 54 61 62 6c 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 yTable.destTable).........{.....
1480 20 20 20 20 20 20 20 20 76 61 72 20 63 6c 6f 6e 65 4f 62 6a 65 63 74 20 3d 20 6e 65 77 20 53 65 ........var.cloneObject.=.new.Se
14a0 72 69 61 6c 69 7a 65 64 4f 62 6a 65 63 74 28 63 6c 6f 6e 65 29 3b 0a 20 20 20 20 20 20 20 20 20 rializedObject(clone);..........
14c0 20 20 20 53 65 72 69 61 6c 69 7a 65 64 50 72 6f 70 65 72 74 79 20 70 72 6f 70 20 3d 20 63 6c 6f ...SerializedProperty.prop.=.clo
14e0 6e 65 4f 62 6a 65 63 74 2e 47 65 74 49 74 65 72 61 74 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 neObject.GetIterator();.........
1500 20 20 20 20 77 68 69 6c 65 20 28 70 72 6f 70 2e 4e 65 78 74 28 74 72 75 65 29 29 0a 20 20 20 20 ....while.(prop.Next(true)).....
1520 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 69 66 20 28 70 72 ........{.................if.(pr
1540 6f 70 2e 70 72 6f 70 65 72 74 79 54 79 70 65 20 3d 3d 20 53 65 72 69 61 6c 69 7a 65 64 50 72 6f op.propertyType.==.SerializedPro
1560 70 65 72 74 79 54 79 70 65 2e 45 78 70 6f 73 65 64 52 65 66 65 72 65 6e 63 65 29 0a 20 20 20 20 pertyType.ExposedReference).....
1580 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ............{...................
15a0 20 20 76 61 72 20 65 78 70 6f 73 65 64 4e 61 6d 65 50 72 6f 70 20 3d 20 70 72 6f 70 2e 46 69 6e ..var.exposedNameProp.=.prop.Fin
15c0 64 50 72 6f 70 65 72 74 79 52 65 6c 61 74 69 76 65 28 22 65 78 70 6f 73 65 64 4e 61 6d 65 22 29 dPropertyRelative("exposedName")
15e0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 73 6f 75 72 63 65 ;.....................var.source
1600 4b 65 79 20 3d 20 65 78 70 6f 73 65 64 4e 61 6d 65 50 72 6f 70 2e 73 74 72 69 6e 67 56 61 6c 75 Key.=.exposedNameProp.stringValu
1620 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 64 65 73 74 4b e;.....................var.destK
1640 65 79 20 3d 20 73 6f 75 72 63 65 4b 65 79 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ey.=.sourceKey;.................
1660 20 20 20 20 20 69 66 20 28 21 49 73 45 78 70 6f 73 65 64 52 65 66 65 72 65 6e 63 65 45 78 70 6c .....if.(!IsExposedReferenceExpl
1680 69 63 69 74 6c 79 4e 61 6d 65 64 28 73 6f 75 72 63 65 4b 65 79 29 29 0a 20 20 20 20 20 20 20 20 icitlyNamed(sourceKey)).........
16a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 73 74 4b 65 79 20 3d 20 47 65 6e 65 72 61 ................destKey.=.Genera
16c0 74 65 45 78 70 6f 73 65 64 52 65 66 65 72 65 6e 63 65 4e 61 6d 65 28 29 3b 0a 0a 20 20 20 20 20 teExposedReferenceName();.......
16e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 70 6f 73 65 64 4e 61 6d 65 50 72 6f 70 2e 73 ...............exposedNameProp.s
1700 74 72 69 6e 67 56 61 6c 75 65 20 3d 20 64 65 73 74 4b 65 79 3b 0a 0a 20 20 20 20 20 20 20 20 20 tringValue.=.destKey;...........
1720 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 72 65 71 75 69 72 65 73 43 6f 70 79 20 3d 20 73 6f ...........var.requiresCopy.=.so
1740 75 72 63 65 54 61 62 6c 65 20 21 3d 20 64 65 73 74 54 61 62 6c 65 20 7c 7c 20 73 6f 75 72 63 65 urceTable.!=.destTable.||.source
1760 4b 65 79 20 21 3d 20 64 65 73 74 4b 65 79 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 Key.!=.destKey;.................
1780 20 20 20 20 69 66 20 28 72 65 71 75 69 72 65 73 43 6f 70 79 20 26 26 20 73 6f 75 72 63 65 54 61 ....if.(requiresCopy.&&.sourceTa
17a0 62 6c 65 20 21 3d 20 6e 75 6c 6c 20 26 26 20 64 65 73 74 54 61 62 6c 65 20 21 3d 20 6e 75 6c 6c ble.!=.null.&&.destTable.!=.null
17c0 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 20 20 20 20 20 20 20 ).....................{.........
17e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 76 61 6c 69 64 20 3d 20 66 61 6c 73 ................var.valid.=.fals
1800 65 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 76 61 72 20 74 e;.........................var.t
1820 61 72 67 65 74 20 3d 20 73 6f 75 72 63 65 54 61 62 6c 65 2e 47 65 74 52 65 66 65 72 65 6e 63 65 arget.=.sourceTable.GetReference
1840 56 61 6c 75 65 28 73 6f 75 72 63 65 4b 65 79 2c 20 6f 75 74 20 76 61 6c 69 64 29 3b 0a 20 20 20 Value(sourceKey,.out.valid);....
1860 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 76 61 6c 69 64 20 26 .....................if.(valid.&
1880 26 20 74 61 72 67 65 74 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 &.target.!=.null)...............
18a0 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 ..........{.....................
18c0 20 20 20 20 20 20 20 20 76 61 72 20 65 78 69 73 74 69 6e 67 20 3d 20 64 65 73 74 54 61 62 6c 65 ........var.existing.=.destTable
18e0 2e 47 65 74 52 65 66 65 72 65 6e 63 65 56 61 6c 75 65 28 64 65 73 74 4b 65 79 2c 20 6f 75 74 20 .GetReferenceValue(destKey,.out.
1900 76 61 6c 69 64 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 valid);.........................
1920 20 20 20 20 69 66 20 28 21 76 61 6c 69 64 20 7c 7c 20 65 78 69 73 74 69 6e 67 20 21 3d 20 74 61 ....if.(!valid.||.existing.!=.ta
1940 72 67 65 74 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 rget)...........................
1960 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 20 20 20 20 ..{.............................
1980 20 20 20 20 76 61 72 20 64 65 73 74 54 61 62 6c 65 4f 62 6a 20 3d 20 64 65 73 74 54 61 62 6c 65 ....var.destTableObj.=.destTable
19a0 20 61 73 20 55 6e 69 74 79 45 6e 67 69 6e 65 2e 4f 62 6a 65 63 74 3b 0a 20 20 20 20 20 20 20 20 .as.UnityEngine.Object;.........
19c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 64 65 73 74 ........................if.(dest
19e0 54 61 62 6c 65 4f 62 6a 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 TableObj.!=.null)...............
1a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 69 6d 65 6c 69 6e 65 55 6e ......................TimelineUn
1a20 64 6f 2e 50 75 73 68 55 6e 64 6f 28 64 65 73 74 54 61 62 6c 65 4f 62 6a 2c 20 22 43 72 65 61 74 do.PushUndo(destTableObj,."Creat
1a40 65 20 43 6c 69 70 22 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 e.Clip");.......................
1a60 20 20 20 20 20 20 20 20 20 20 64 65 73 74 54 61 62 6c 65 2e 53 65 74 52 65 66 65 72 65 6e 63 65 ..........destTable.SetReference
1a80 56 61 6c 75 65 28 64 65 73 74 4b 65 79 2c 20 74 61 72 67 65 74 29 3b 0a 20 20 20 20 20 20 20 20 Value(destKey,.target);.........
1aa0 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 ....................}...........
1ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............}.................
1ae0 20 20 20 20 7d 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 ....}.................}.........
1b00 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6c 6f 6e 65 4f 62 6a 65 63 74 2e 41 70 ....}.............cloneObject.Ap
1b20 70 6c 79 4d 6f 64 69 66 69 65 64 50 72 6f 70 65 72 74 69 65 73 57 69 74 68 6f 75 74 55 6e 64 6f plyModifiedPropertiesWithoutUndo
1b40 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 ();.........}..........public.st
1b60 61 74 69 63 20 53 63 72 69 70 74 61 62 6c 65 4f 62 6a 65 63 74 20 43 6c 6f 6e 65 52 65 66 65 72 atic.ScriptableObject.CloneRefer
1b80 65 6e 63 65 64 50 6c 61 79 61 62 6c 65 41 73 73 65 74 28 53 63 72 69 70 74 61 62 6c 65 4f 62 6a encedPlayableAsset(ScriptableObj
1ba0 65 63 74 20 6f 72 69 67 69 6e 61 6c 2c 20 49 45 78 70 6f 73 65 64 50 72 6f 70 65 72 74 79 54 61 ect.original,.IExposedPropertyTa
1bc0 62 6c 65 20 73 6f 75 72 63 65 54 61 62 6c 65 2c 20 49 45 78 70 6f 73 65 64 50 72 6f 70 65 72 74 ble.sourceTable,.IExposedPropert
1be0 79 54 61 62 6c 65 20 64 65 73 74 54 61 62 6c 65 2c 20 4f 62 6a 65 63 74 20 6e 65 77 4f 77 6e 65 yTable.destTable,.Object.newOwne
1c00 72 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 6c 6f r).........{.............var.clo
1c20 6e 65 20 3d 20 4f 62 6a 65 63 74 2e 49 6e 73 74 61 6e 74 69 61 74 65 28 6f 72 69 67 69 6e 61 6c ne.=.Object.Instantiate(original
1c40 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 53 61 76 65 43 6c 6f 6e 65 54 6f 41 73 73 65 74 28 );.............SaveCloneToAsset(
1c60 63 6c 6f 6e 65 2c 20 6e 65 77 4f 77 6e 65 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 clone,.newOwner);.............if
1c80 20 28 63 6c 6f 6e 65 20 3d 3d 20 6e 75 6c 6c 20 7c 7c 20 28 63 6c 6f 6e 65 20 61 73 20 49 50 6c .(clone.==.null.||.(clone.as.IPl
1ca0 61 79 61 62 6c 65 41 73 73 65 74 29 20 3d 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 ayableAsset).==.null)...........
1cc0 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 49 6e ..{.................throw.new.In
1ce0 76 61 6c 69 64 43 61 73 74 45 78 63 65 70 74 69 6f 6e 28 22 63 6f 75 6c 64 20 6e 6f 74 20 63 61 validCastException("could.not.ca
1d00 73 74 20 69 6e 73 74 61 6e 74 69 61 74 65 64 20 6f 62 6a 65 63 74 20 69 6e 74 6f 20 49 50 6c 61 st.instantiated.object.into.IPla
1d20 79 61 62 6c 65 41 73 73 65 74 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 yableAsset");.............}.....
1d40 20 20 20 20 20 20 20 20 43 6c 6f 6e 65 45 78 70 6f 73 65 64 52 65 66 65 72 65 6e 63 65 73 28 63 ........CloneExposedReferences(c
1d60 6c 6f 6e 65 2c 20 73 6f 75 72 63 65 54 61 62 6c 65 2c 20 64 65 73 74 54 61 62 6c 65 29 3b 0a 20 lone,.sourceTable,.destTable);..
1d80 20 20 20 20 20 20 20 20 20 20 20 54 69 6d 65 6c 69 6e 65 55 6e 64 6f 2e 52 65 67 69 73 74 65 72 ...........TimelineUndo.Register
1da0 43 72 65 61 74 65 64 4f 62 6a 65 63 74 55 6e 64 6f 28 63 6c 6f 6e 65 2c 20 22 43 72 65 61 74 65 CreatedObjectUndo(clone,."Create
1dc0 20 63 6c 69 70 22 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 63 6c 6f .clip");..............return.clo
1de0 6e 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 73 74 61 74 69 63 20 76 6f ne;.........}..........static.vo
1e00 69 64 20 53 61 76 65 43 6c 6f 6e 65 54 6f 41 73 73 65 74 28 4f 62 6a 65 63 74 20 63 6c 6f 6e 65 id.SaveCloneToAsset(Object.clone
1e20 2c 20 4f 62 6a 65 63 74 20 6e 65 77 4f 77 6e 65 72 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 ,.Object.newOwner).........{....
1e40 20 20 20 20 20 20 20 20 20 69 66 20 28 6e 65 77 4f 77 6e 65 72 20 3d 3d 20 6e 75 6c 6c 29 0a 20 .........if.(newOwner.==.null)..
1e60 20 20 20 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 ...............return;..........
1e80 20 20 20 20 76 61 72 20 63 6f 6e 74 61 69 6e 65 72 50 61 74 68 20 3d 20 41 73 73 65 74 44 61 74 ....var.containerPath.=.AssetDat
1ea0 61 62 61 73 65 2e 47 65 74 41 73 73 65 74 50 61 74 68 28 6e 65 77 4f 77 6e 65 72 29 3b 0a 20 20 abase.GetAssetPath(newOwner);...
1ec0 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 6f 6e 74 61 69 6e 65 72 41 73 73 65 74 20 3d 20 41 ..........var.containerAsset.=.A
1ee0 73 73 65 74 44 61 74 61 62 61 73 65 2e 4c 6f 61 64 41 73 73 65 74 41 74 50 61 74 68 3c 4f 62 6a ssetDatabase.LoadAssetAtPath<Obj
1f00 65 63 74 3e 28 63 6f 6e 74 61 69 6e 65 72 50 61 74 68 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ect>(containerPath);............
1f20 20 69 66 20 28 63 6f 6e 74 61 69 6e 65 72 41 73 73 65 74 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 20 .if.(containerAsset.!=.null)....
1f40 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 54 69 6d 65 6c .........{.................Timel
1f60 69 6e 65 43 72 65 61 74 65 55 74 69 6c 69 74 69 65 73 2e 53 61 76 65 41 73 73 65 74 49 6e 74 6f ineCreateUtilities.SaveAssetInto
1f80 4f 62 6a 65 63 74 28 63 6c 6f 6e 65 2c 20 63 6f 6e 74 61 69 6e 65 72 41 73 73 65 74 29 3b 0a 20 Object(clone,.containerAsset);..
1fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 64 69 74 6f 72 55 74 69 6c 69 74 79 2e 53 65 74 ...............EditorUtility.Set
1fc0 44 69 72 74 79 28 63 6f 6e 74 61 69 6e 65 72 41 73 73 65 74 29 3b 0a 20 20 20 20 20 20 20 20 20 Dirty(containerAsset);..........
1fe0 20 20 20 7d 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 41 ...}.........}..........static.A
2000 6e 69 6d 61 74 69 6f 6e 43 6c 69 70 20 43 6c 6f 6e 65 41 6e 69 6d 61 74 69 6f 6e 43 6c 69 70 28 nimationClip.CloneAnimationClip(
2020 41 6e 69 6d 61 74 69 6f 6e 43 6c 69 70 20 63 6c 69 70 2c 20 4f 62 6a 65 63 74 20 6f 77 6e 65 72 AnimationClip.clip,.Object.owner
2040 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 6c 69 70 ).........{.............if.(clip
2060 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 72 65 74 75 72 6e .==.null).................return
2080 20 6e 75 6c 6c 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6e 65 77 43 6c 69 70 20 .null;..............var.newClip.
20a0 3d 20 4f 62 6a 65 63 74 2e 49 6e 73 74 61 6e 74 69 61 74 65 28 63 6c 69 70 29 3b 0a 20 20 20 20 =.Object.Instantiate(clip);.....
20c0 20 20 20 20 20 20 20 20 6e 65 77 43 6c 69 70 2e 6e 61 6d 65 20 3d 20 41 6e 69 6d 61 74 69 6f 6e ........newClip.name.=.Animation
20e0 54 72 61 63 6b 52 65 63 6f 72 64 65 72 2e 47 65 74 55 6e 69 71 75 65 52 65 63 6f 72 64 65 64 43 TrackRecorder.GetUniqueRecordedC
2100 6c 69 70 4e 61 6d 65 28 6f 77 6e 65 72 2c 20 63 6c 69 70 2e 6e 61 6d 65 29 3b 0a 0a 20 20 20 20 lipName(owner,.clip.name);......
2120 20 20 20 20 20 20 20 20 53 61 76 65 41 6e 69 6d 43 6c 69 70 49 6e 74 6f 4f 62 6a 65 63 74 28 6e ........SaveAnimClipIntoObject(n
2140 65 77 43 6c 69 70 2c 20 6f 77 6e 65 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 69 6d 65 ewClip,.owner);.............Time
2160 6c 69 6e 65 55 6e 64 6f 2e 52 65 67 69 73 74 65 72 43 72 65 61 74 65 64 4f 62 6a 65 63 74 55 6e lineUndo.RegisterCreatedObjectUn
2180 64 6f 28 6e 65 77 43 6c 69 70 2c 20 22 43 72 65 61 74 65 20 63 6c 69 70 22 29 3b 0a 0a 20 20 20 do(newClip,."Create.clip");.....
21a0 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77 43 6c 69 70 3b 0a 20 20 20 20 20 20 20 .........return.newClip;........
21c0 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 54 69 6d 65 6c 69 .}..........public.static.Timeli
21e0 6e 65 43 6c 69 70 20 43 6c 6f 6e 65 28 54 69 6d 65 6c 69 6e 65 43 6c 69 70 20 63 6c 69 70 2c 20 neClip.Clone(TimelineClip.clip,.
2200 49 45 78 70 6f 73 65 64 50 72 6f 70 65 72 74 79 54 61 62 6c 65 20 73 6f 75 72 63 65 54 61 62 6c IExposedPropertyTable.sourceTabl
2220 65 2c 20 49 45 78 70 6f 73 65 64 50 72 6f 70 65 72 74 79 54 61 62 6c 65 20 64 65 73 74 54 61 62 e,.IExposedPropertyTable.destTab
2240 6c 65 2c 20 64 6f 75 62 6c 65 20 74 69 6d 65 2c 20 50 6c 61 79 61 62 6c 65 41 73 73 65 74 20 6e le,.double.time,.PlayableAsset.n
2260 65 77 4f 77 6e 65 72 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 ewOwner.=.null).........{.......
2280 20 20 20 20 20 20 69 66 20 28 6e 65 77 4f 77 6e 65 72 20 3d 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 ......if.(newOwner.==.null).....
22a0 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 4f 77 6e 65 72 20 3d 20 63 6c 69 70 2e 70 61 72 65 ............newOwner.=.clip.pare
22c0 6e 74 54 72 61 63 6b 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 69 6d 65 6c 69 6e 65 43 6c ntTrack;..............TimelineCl
22e0 69 70 20 6e 65 77 43 6c 69 70 20 3d 20 44 75 70 6c 69 63 61 74 65 43 6c 69 70 28 63 6c 69 70 2c ip.newClip.=.DuplicateClip(clip,
2300 20 73 6f 75 72 63 65 54 61 62 6c 65 2c 20 64 65 73 74 54 61 62 6c 65 2c 20 6e 65 77 4f 77 6e 65 .sourceTable,.destTable,.newOwne
2320 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 43 6c 69 70 2e 73 74 61 72 74 20 3d 20 r);.............newClip.start.=.
2340 74 69 6d 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 74 72 61 63 6b 20 3d 20 6e 65 time;.............var.track.=.ne
2360 77 43 6c 69 70 2e 70 61 72 65 6e 74 54 72 61 63 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 wClip.parentTrack;.............t
2380 72 61 63 6b 2e 53 6f 72 74 43 6c 69 70 73 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 72 rack.SortClips();.............Tr
23a0 61 63 6b 45 78 74 65 6e 73 69 6f 6e 73 2e 43 6f 6d 70 75 74 65 42 6c 65 6e 64 73 46 72 6f 6d 4f ackExtensions.ComputeBlendsFromO
23c0 76 65 72 6c 61 70 73 28 74 72 61 63 6b 2e 63 6c 69 70 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 verlaps(track.clips);...........
23e0 20 20 72 65 74 75 72 6e 20 6e 65 77 43 6c 69 70 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 ..return.newClip;.........}.....
2400 20 20 20 20 20 2f 2f 20 43 72 65 61 74 65 73 20 61 20 63 6f 6d 70 6c 65 74 65 20 63 6c 6f 6e 65 .....//.Creates.a.complete.clone
2420 20 6f 66 20 61 20 74 72 61 63 6b 20 61 6e 64 20 72 65 74 75 72 6e 73 20 69 74 2e 0a 20 20 20 20 .of.a.track.and.returns.it......
2440 20 20 20 20 2f 2f 20 44 6f 65 73 20 6e 6f 74 20 70 61 72 65 6e 74 2c 20 6f 72 20 61 64 64 20 74 ....//.Does.not.parent,.or.add.t
2460 68 65 20 74 72 61 63 6b 20 74 6f 20 74 68 65 20 73 65 71 75 65 6e 63 65 0a 20 20 20 20 20 20 20 he.track.to.the.sequence........
2480 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 54 72 61 63 6b 41 73 73 65 74 20 43 6c 6f 6e 65 28 .public.static.TrackAsset.Clone(
24a0 50 6c 61 79 61 62 6c 65 41 73 73 65 74 20 70 61 72 65 6e 74 2c 20 54 72 61 63 6b 41 73 73 65 74 PlayableAsset.parent,.TrackAsset
24c0 20 74 72 61 63 6b 41 73 73 65 74 2c 20 49 45 78 70 6f 73 65 64 50 72 6f 70 65 72 74 79 54 61 62 .trackAsset,.IExposedPropertyTab
24e0 6c 65 20 73 6f 75 72 63 65 54 61 62 6c 65 2c 20 49 45 78 70 6f 73 65 64 50 72 6f 70 65 72 74 79 le.sourceTable,.IExposedProperty
2500 54 61 62 6c 65 20 64 65 73 74 54 61 62 6c 65 2c 20 50 6c 61 79 61 62 6c 65 41 73 73 65 74 20 61 Table.destTable,.PlayableAsset.a
2520 73 73 65 74 4f 77 6e 65 72 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 ssetOwner.=.null).........{.....
2540 20 20 20 20 20 20 20 20 69 66 20 28 74 72 61 63 6b 41 73 73 65 74 20 3d 3d 20 6e 75 6c 6c 29 0a ........if.(trackAsset.==.null).
2560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 0a 20 20 ................return.null;....
2580 20 20 20 20 20 20 20 20 20 20 76 61 72 20 74 69 6d 65 6c 69 6e 65 41 73 73 65 74 20 3d 20 74 72 ..........var.timelineAsset.=.tr
25a0 61 63 6b 41 73 73 65 74 2e 74 69 6d 65 6c 69 6e 65 41 73 73 65 74 3b 0a 20 20 20 20 20 20 20 20 ackAsset.timelineAsset;.........
25c0 20 20 20 20 69 66 20 28 74 69 6d 65 6c 69 6e 65 41 73 73 65 74 20 3d 3d 20 6e 75 6c 6c 29 0a 20 ....if.(timelineAsset.==.null)..
25e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 0a 20 20 20 ...............return.null;.....
2600 20 20 20 20 20 20 20 20 20 69 66 20 28 61 73 73 65 74 4f 77 6e 65 72 20 3d 3d 20 6e 75 6c 6c 29 .........if.(assetOwner.==.null)
2620 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 73 73 65 74 4f 77 6e 65 72 20 3d 20 70 61 .................assetOwner.=.pa
2640 72 65 6e 74 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 63 72 65 61 74 65 20 61 20 64 rent;..............//.create.a.d
2660 75 70 6c 69 63 61 74 65 2c 20 74 68 65 6e 20 63 6c 65 61 72 20 74 68 65 20 63 6c 69 70 73 20 61 uplicate,.then.clear.the.clips.a
2680 6e 64 20 73 75 62 74 72 61 63 6b 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6e 65 77 nd.subtracks.............var.new
26a0 54 72 61 63 6b 20 3d 20 4f 62 6a 65 63 74 2e 49 6e 73 74 61 6e 74 69 61 74 65 28 74 72 61 63 6b Track.=.Object.Instantiate(track
26c0 41 73 73 65 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 54 72 61 63 6b 2e 6e 61 6d Asset);.............newTrack.nam
26e0 65 20 3d 20 74 72 61 63 6b 41 73 73 65 74 2e 6e 61 6d 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 e.=.trackAsset.name;............
2700 20 6e 65 77 54 72 61 63 6b 2e 43 6c 65 61 72 43 6c 69 70 73 49 6e 74 65 72 6e 61 6c 28 29 3b 0a .newTrack.ClearClipsInternal();.
2720 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 54 72 61 63 6b 2e 70 61 72 65 6e 74 20 3d 20 70 61 ............newTrack.parent.=.pa
2740 72 65 6e 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 54 72 61 63 6b 2e 43 6c 65 61 72 rent;.............newTrack.Clear
2760 53 75 62 54 72 61 63 6b 73 49 6e 74 65 72 6e 61 6c 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 SubTracksInternal();............
2780 20 20 69 66 20 28 74 72 61 63 6b 41 73 73 65 74 2e 68 61 73 43 75 72 76 65 73 29 0a 20 20 20 20 ..if.(trackAsset.hasCurves).....
27a0 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 54 72 61 63 6b 2e 63 75 72 76 65 73 20 3d 20 43 6c ............newTrack.curves.=.Cl
27c0 6f 6e 65 41 6e 69 6d 61 74 69 6f 6e 43 6c 69 70 28 74 72 61 63 6b 41 73 73 65 74 2e 63 75 72 76 oneAnimationClip(trackAsset.curv
27e0 65 73 2c 20 61 73 73 65 74 4f 77 6e 65 72 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 es,.assetOwner);..............va
2800 72 20 61 6e 69 6d 54 72 61 63 6b 20 3d 20 74 72 61 63 6b 41 73 73 65 74 20 61 73 20 41 6e 69 6d r.animTrack.=.trackAsset.as.Anim
2820 61 74 69 6f 6e 54 72 61 63 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 61 6e 69 6d ationTrack;.............if.(anim
2840 54 72 61 63 6b 20 21 3d 20 6e 75 6c 6c 20 26 26 20 61 6e 69 6d 54 72 61 63 6b 2e 69 6e 66 69 6e Track.!=.null.&&.animTrack.infin
2860 69 74 65 43 6c 69 70 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 iteClip.!=.null)................
2880 20 28 28 41 6e 69 6d 61 74 69 6f 6e 54 72 61 63 6b 29 6e 65 77 54 72 61 63 6b 29 2e 69 6e 66 69 .((AnimationTrack)newTrack).infi
28a0 6e 69 74 65 43 6c 69 70 20 3d 20 43 6c 6f 6e 65 41 6e 69 6d 61 74 69 6f 6e 43 6c 69 70 28 61 6e niteClip.=.CloneAnimationClip(an
28c0 69 6d 54 72 61 63 6b 2e 69 6e 66 69 6e 69 74 65 43 6c 69 70 2c 20 61 73 73 65 74 4f 77 6e 65 72 imTrack.infiniteClip,.assetOwner
28e0 29 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 63 6c 69 );..............foreach.(var.cli
2900 70 20 69 6e 20 74 72 61 63 6b 41 73 73 65 74 2e 63 6c 69 70 73 29 0a 20 20 20 20 20 20 20 20 20 p.in.trackAsset.clips)..........
2920 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 43 6c 69 70 ...{.................var.newClip
2940 20 3d 20 44 75 70 6c 69 63 61 74 65 43 6c 69 70 28 63 6c 69 70 2c 20 73 6f 75 72 63 65 54 61 62 .=.DuplicateClip(clip,.sourceTab
2960 6c 65 2c 20 64 65 73 74 54 61 62 6c 65 2c 20 61 73 73 65 74 4f 77 6e 65 72 29 3b 0a 20 20 20 20 le,.destTable,.assetOwner);.....
2980 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 43 6c 69 70 2e 70 61 72 65 6e 74 54 72 61 63 6b 20 ............newClip.parentTrack.
29a0 3d 20 6e 65 77 54 72 61 63 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 =.newTrack;.............}.......
29c0 20 20 20 20 20 20 20 6e 65 77 54 72 61 63 6b 2e 43 6c 65 61 72 4d 61 72 6b 65 72 73 28 29 3b 0a .......newTrack.ClearMarkers();.
29e0 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 65 20 69 6e 20 74 72 ............foreach.(var.e.in.tr
2a00 61 63 6b 41 73 73 65 74 2e 47 65 74 4d 61 72 6b 65 72 73 52 61 77 28 29 29 0a 20 20 20 20 20 20 ackAsset.GetMarkersRaw()).......
2a20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6e 65 77 4d ......{.................var.newM
2a40 61 72 6b 65 72 20 3d 20 4f 62 6a 65 63 74 2e 49 6e 73 74 61 6e 74 69 61 74 65 28 65 29 3b 0a 20 arker.=.Object.Instantiate(e);..
2a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 54 72 61 63 6b 2e 41 64 64 4d 61 72 6b 65 ...............newTrack.AddMarke
2a80 72 28 6e 65 77 4d 61 72 6b 65 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 61 r(newMarker);.................Sa
2aa0 76 65 43 6c 6f 6e 65 54 6f 41 73 73 65 74 28 6e 65 77 4d 61 72 6b 65 72 2c 20 61 73 73 65 74 4f veCloneToAsset(newMarker,.assetO
2ac0 77 6e 65 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6e 65 77 4d 61 wner);.................if.(newMa
2ae0 72 6b 65 72 20 69 73 20 49 4d 61 72 6b 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rker.is.IMarker)................
2b00 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 65 77 4d 61 72 6b 65 .{.....................(newMarke
2b20 72 20 61 73 20 49 4d 61 72 6b 65 72 29 2e 49 6e 69 74 69 61 6c 69 7a 65 28 6e 65 77 54 72 61 63 r.as.IMarker).Initialize(newTrac
2b40 6b 29 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 k);.................}...........
2b60 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 54 72 61 63 6b 2e 53 65 74 43 6f 6c ..}..............newTrack.SetCol
2b80 6c 61 70 73 65 64 28 74 72 61 63 6b 41 73 73 65 74 2e 47 65 74 43 6f 6c 6c 61 70 73 65 64 28 29 lapsed(trackAsset.GetCollapsed()
2ba0 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 63 61 6c 6c 69 6e 67 20 63 6f 64 65 20 );..............//.calling.code.
2bc0 69 73 20 72 65 73 70 6f 6e 73 69 62 6c 65 20 66 6f 72 20 61 64 64 69 6e 67 20 74 6f 20 61 73 73 is.responsible.for.adding.to.ass
2be0 65 74 2c 20 61 64 64 69 6e 67 20 74 6f 20 73 65 71 75 65 6e 63 65 2c 20 61 6e 64 20 70 61 72 65 et,.adding.to.sequence,.and.pare
2c00 6e 74 69 6e 67 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 61 6e 64 20 64 75 70 6c 69 63 nting,.............//.and.duplic
2c20 61 74 69 6e 67 20 73 75 62 74 72 61 63 6b 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 ating.subtracks.............retu
2c40 72 6e 20 6e 65 77 54 72 61 63 6b 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 rn.newTrack;.........}..........
2c60 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 49 45 6e 75 6d 65 72 61 62 6c 65 3c 49 54 69 6d 65 6c public.static.IEnumerable<ITimel
2c80 69 6e 65 49 74 65 6d 3e 20 44 75 70 6c 69 63 61 74 65 49 74 65 6d 73 55 73 69 6e 67 43 75 72 72 ineItem>.DuplicateItemsUsingCurr
2ca0 65 6e 74 45 64 69 74 4d 6f 64 65 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 2c 20 49 entEditMode(WindowState.state,.I
2cc0 45 78 70 6f 73 65 64 50 72 6f 70 65 72 74 79 54 61 62 6c 65 20 73 6f 75 72 63 65 54 61 62 6c 65 ExposedPropertyTable.sourceTable
2ce0 2c 20 49 45 78 70 6f 73 65 64 50 72 6f 70 65 72 74 79 54 61 62 6c 65 20 64 65 73 74 54 61 62 6c ,.IExposedPropertyTable.destTabl
2d00 65 2c 20 49 74 65 6d 73 50 65 72 54 72 61 63 6b 20 69 74 65 6d 73 2c 20 54 72 61 63 6b 41 73 73 e,.ItemsPerTrack.items,.TrackAss
2d20 65 74 20 74 61 72 67 65 74 50 61 72 65 6e 74 2c 20 64 6f 75 62 6c 65 20 63 61 6e 64 69 64 61 74 et.targetParent,.double.candidat
2d40 65 54 69 6d 65 2c 20 73 74 72 69 6e 67 20 75 6e 64 6f 4f 70 65 72 61 74 69 6f 6e 29 0a 20 20 20 eTime,.string.undoOperation)....
2d60 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 61 72 67 65 74 50 61 72 .....{.............if.(targetPar
2d80 65 6e 74 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 ent.!=.null).............{......
2da0 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 61 54 72 61 63 6b 20 3d 20 74 61 72 67 65 74 50 61 ...........var.aTrack.=.targetPa
2dc0 72 65 6e 74 20 61 73 20 41 6e 69 6d 61 74 69 6f 6e 54 72 61 63 6b 3b 0a 20 20 20 20 20 20 20 20 rent.as.AnimationTrack;.........
2de0 20 20 20 20 20 20 20 20 69 66 20 28 61 54 72 61 63 6b 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 ........if.(aTrack.!=.null).....
2e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 54 72 61 63 6b 2e 43 6f 6e 76 65 72 74 54 6f ................aTrack.ConvertTo
2e20 43 6c 69 70 4d 6f 64 65 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 ClipMode();..................var
2e40 20 64 75 70 6c 69 63 61 74 65 64 49 74 65 6d 73 20 3d 20 44 75 70 6c 69 63 61 74 65 49 74 65 6d .duplicatedItems.=.DuplicateItem
2e60 73 28 69 74 65 6d 73 2c 20 74 61 72 67 65 74 50 61 72 65 6e 74 2c 20 73 6f 75 72 63 65 54 61 62 s(items,.targetParent,.sourceTab
2e80 6c 65 2c 20 64 65 73 74 54 61 62 6c 65 2c 20 75 6e 64 6f 4f 70 65 72 61 74 69 6f 6e 29 3b 0a 20 le,.destTable,.undoOperation);..
2ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 69 6e 61 6c 69 7a 65 49 6e 73 65 72 74 49 74 65 ...............FinalizeInsertIte
2ec0 6d 73 55 73 69 6e 67 43 75 72 72 65 6e 74 45 64 69 74 4d 6f 64 65 28 73 74 61 74 65 2c 20 6e 65 msUsingCurrentEditMode(state,.ne
2ee0 77 5b 5d 20 7b 64 75 70 6c 69 63 61 74 65 64 49 74 65 6d 73 7d 2c 20 63 61 6e 64 69 64 61 74 65 w[].{duplicatedItems},.candidate
2f00 54 69 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 64 75 Time);.................return.du
2f20 70 6c 69 63 61 74 65 64 49 74 65 6d 73 2e 69 74 65 6d 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 plicatedItems.items;............
2f40 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 45 6e 75 6d 65 72 61 62 6c .}..............return.Enumerabl
2f60 65 2e 45 6d 70 74 79 3c 49 54 69 6d 65 6c 69 6e 65 49 74 65 6d 3e 28 29 3b 0a 20 20 20 20 20 20 e.Empty<ITimelineItem>();.......
2f80 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 49 45 6e 75 6d ..}..........public.static.IEnum
2fa0 65 72 61 62 6c 65 3c 49 54 69 6d 65 6c 69 6e 65 49 74 65 6d 3e 20 44 75 70 6c 69 63 61 74 65 49 erable<ITimelineItem>.DuplicateI
2fc0 74 65 6d 73 55 73 69 6e 67 43 75 72 72 65 6e 74 45 64 69 74 4d 6f 64 65 28 57 69 6e 64 6f 77 53 temsUsingCurrentEditMode(WindowS
2fe0 74 61 74 65 20 73 74 61 74 65 2c 20 49 45 78 70 6f 73 65 64 50 72 6f 70 65 72 74 79 54 61 62 6c tate.state,.IExposedPropertyTabl
3000 65 20 73 6f 75 72 63 65 54 61 62 6c 65 2c 20 49 45 78 70 6f 73 65 64 50 72 6f 70 65 72 74 79 54 e.sourceTable,.IExposedPropertyT
3020 61 62 6c 65 20 64 65 73 74 54 61 62 6c 65 2c 20 49 45 6e 75 6d 65 72 61 62 6c 65 3c 49 74 65 6d able.destTable,.IEnumerable<Item
3040 73 50 65 72 54 72 61 63 6b 3e 20 69 74 65 6d 73 2c 20 64 6f 75 62 6c 65 20 63 61 6e 64 69 64 61 sPerTrack>.items,.double.candida
3060 74 65 54 69 6d 65 2c 20 73 74 72 69 6e 67 20 75 6e 64 6f 4f 70 65 72 61 74 69 6f 6e 29 0a 20 20 teTime,.string.undoOperation)...
3080 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 64 75 70 6c 69 63 61 74 ......{.............var.duplicat
30a0 65 64 49 74 65 6d 73 47 72 6f 75 70 73 20 3d 20 6e 65 77 20 4c 69 73 74 3c 49 74 65 6d 73 50 65 edItemsGroups.=.new.List<ItemsPe
30c0 72 54 72 61 63 6b 3e 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 rTrack>();.............foreach.(
30e0 76 61 72 20 69 20 69 6e 20 69 74 65 6d 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 var.i.in.items).................
3100 64 75 70 6c 69 63 61 74 65 64 49 74 65 6d 73 47 72 6f 75 70 73 2e 41 64 64 28 44 75 70 6c 69 63 duplicatedItemsGroups.Add(Duplic
3120 61 74 65 49 74 65 6d 73 28 69 2c 20 69 2e 74 61 72 67 65 74 54 72 61 63 6b 2c 20 73 6f 75 72 63 ateItems(i,.i.targetTrack,.sourc
3140 65 54 61 62 6c 65 2c 20 64 65 73 74 54 61 62 6c 65 2c 20 75 6e 64 6f 4f 70 65 72 61 74 69 6f 6e eTable,.destTable,.undoOperation
3160 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 46 69 6e 61 6c 69 7a 65 49 6e 73 65 72 74 49 ));..............FinalizeInsertI
3180 74 65 6d 73 55 73 69 6e 67 43 75 72 72 65 6e 74 45 64 69 74 4d 6f 64 65 28 73 74 61 74 65 2c 20 temsUsingCurrentEditMode(state,.
31a0 64 75 70 6c 69 63 61 74 65 64 49 74 65 6d 73 47 72 6f 75 70 73 2c 20 63 61 6e 64 69 64 61 74 65 duplicatedItemsGroups,.candidate
31c0 54 69 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 64 75 70 6c 69 63 Time);.............return.duplic
31e0 61 74 65 64 49 74 65 6d 73 47 72 6f 75 70 73 2e 53 65 6c 65 63 74 4d 61 6e 79 28 69 20 3d 3e 20 atedItemsGroups.SelectMany(i.=>.
3200 69 2e 69 74 65 6d 73 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 6e 74 i.items);.........}..........int
3220 65 72 6e 61 6c 20 73 74 61 74 69 63 20 49 74 65 6d 73 50 65 72 54 72 61 63 6b 20 44 75 70 6c 69 ernal.static.ItemsPerTrack.Dupli
3240 63 61 74 65 49 74 65 6d 73 28 49 74 65 6d 73 50 65 72 54 72 61 63 6b 20 69 74 65 6d 73 2c 20 54 cateItems(ItemsPerTrack.items,.T
3260 72 61 63 6b 41 73 73 65 74 20 74 61 72 67 65 74 2c 20 49 45 78 70 6f 73 65 64 50 72 6f 70 65 72 rackAsset.target,.IExposedProper
3280 74 79 54 61 62 6c 65 20 73 6f 75 72 63 65 54 61 62 6c 65 2c 20 49 45 78 70 6f 73 65 64 50 72 6f tyTable.sourceTable,.IExposedPro
32a0 70 65 72 74 79 54 61 62 6c 65 20 64 65 73 74 54 61 62 6c 65 2c 20 73 74 72 69 6e 67 20 75 6e 64 pertyTable.destTable,.string.und
32c0 6f 4f 70 65 72 61 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 oOperation).........{...........
32e0 20 20 76 61 72 20 64 75 70 6c 69 63 61 74 65 64 49 74 65 6d 73 20 3d 20 6e 65 77 20 4c 69 73 74 ..var.duplicatedItems.=.new.List
3300 3c 49 54 69 6d 65 6c 69 6e 65 49 74 65 6d 3e 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 <ITimelineItem>();.............v
3320 61 72 20 63 6c 69 70 73 20 3d 20 69 74 65 6d 73 2e 63 6c 69 70 73 2e 54 6f 4c 69 73 74 28 29 3b ar.clips.=.items.clips.ToList();
3340 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 6c 69 70 73 2e 41 6e 79 28 29 29 0a 20 20 .............if.(clips.Any())...
3360 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 54 69 6d 65 ..........{.................Time
3380 6c 69 6e 65 55 6e 64 6f 2e 50 75 73 68 55 6e 64 6f 28 74 61 72 67 65 74 2c 20 75 6e 64 6f 4f 70 lineUndo.PushUndo(target,.undoOp
33a0 65 72 61 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 75 70 6c 69 63 eration);.................duplic
33c0 61 74 65 64 49 74 65 6d 73 2e 41 64 64 52 61 6e 67 65 28 44 75 70 6c 69 63 61 74 65 43 6c 69 70 atedItems.AddRange(DuplicateClip
33e0 73 28 63 6c 69 70 73 2c 20 73 6f 75 72 63 65 54 61 62 6c 65 2c 20 64 65 73 74 54 61 62 6c 65 2c s(clips,.sourceTable,.destTable,
3400 20 74 61 72 67 65 74 29 2e 54 6f 49 74 65 6d 73 28 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 .target).ToItems());............
3420 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 61 72 67 65 .....TimelineUndo.PushUndo(targe
3440 74 2c 20 75 6e 64 6f 4f 70 65 72 61 74 69 6f 6e 29 3b 20 2f 2f 20 73 65 63 6f 6e 64 20 75 6e 64 t,.undoOperation);.//.second.und
3460 6f 20 63 61 75 73 65 73 20 72 65 66 65 72 65 6e 63 65 20 66 69 78 75 70 73 20 6f 6e 20 72 65 64 o.causes.reference.fixups.on.red
3480 6f 20 28 63 61 73 65 20 31 30 36 33 38 36 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a o.(case.1063868).............}..
34a0 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d 61 72 6b 65 72 73 20 3d 20 69 74 65 6d 73 2e ............var.markers.=.items.
34c0 6d 61 72 6b 65 72 73 2e 54 6f 4c 69 73 74 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 markers.ToList();.............if
34e0 20 28 6d 61 72 6b 65 72 73 2e 41 6e 79 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 .(markers.Any()).............{..
3500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 75 70 6c 69 63 61 74 65 64 49 74 65 6d 73 2e 41 ...............duplicatedItems.A
3520 64 64 52 61 6e 67 65 28 4d 61 72 6b 65 72 4d 6f 64 69 66 69 65 72 2e 43 6c 6f 6e 65 4d 61 72 6b ddRange(MarkerModifier.CloneMark
3540 65 72 73 54 6f 50 61 72 65 6e 74 28 6d 61 72 6b 65 72 73 2c 20 74 61 72 67 65 74 29 2e 54 6f 49 ersToParent(markers,.target).ToI
3560 74 65 6d 73 28 29 29 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 tems());.............}..........
3580 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77 20 49 74 65 6d 73 50 65 72 54 72 61 63 6b 28 74 61 72 ....return.new.ItemsPerTrack(tar
35a0 67 65 74 2c 20 64 75 70 6c 69 63 61 74 65 64 49 74 65 6d 73 2e 54 6f 41 72 72 61 79 28 29 29 3b get,.duplicatedItems.ToArray());
35c0 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 73 74 61 74 69 63 20 76 6f 69 64 20 .........}..........static.void.
35e0 46 69 6e 61 6c 69 7a 65 49 6e 73 65 72 74 49 74 65 6d 73 55 73 69 6e 67 43 75 72 72 65 6e 74 45 FinalizeInsertItemsUsingCurrentE
3600 64 69 74 4d 6f 64 65 28 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 2c 20 49 4c 69 73 74 ditMode(WindowState.state,.IList
3620 3c 49 74 65 6d 73 50 65 72 54 72 61 63 6b 3e 20 69 74 65 6d 73 47 72 6f 75 70 73 2c 20 64 6f 75 <ItemsPerTrack>.itemsGroups,.dou
3640 62 6c 65 20 63 61 6e 64 69 64 61 74 65 54 69 6d 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 ble.candidateTime).........{....
3660 20 20 20 20 20 20 20 20 20 45 64 69 74 4d 6f 64 65 2e 46 69 6e 61 6c 69 7a 65 49 6e 73 65 72 74 .........EditMode.FinalizeInsert
3680 49 74 65 6d 73 41 74 54 69 6d 65 28 69 74 65 6d 73 47 72 6f 75 70 73 2c 20 63 61 6e 64 69 64 61 ItemsAtTime(itemsGroups,.candida
36a0 74 65 54 69 6d 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 53 65 6c 65 63 74 69 6f 6e 4d teTime);..............SelectionM
36c0 61 6e 61 67 65 72 2e 43 6c 65 61 72 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 anager.Clear();.............fore
36e0 61 63 68 20 28 76 61 72 20 69 74 65 6d 73 47 72 6f 75 70 20 69 6e 20 69 74 65 6d 73 47 72 6f 75 ach.(var.itemsGroup.in.itemsGrou
3700 70 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ps).............{...............
3720 20 20 76 61 72 20 74 72 61 63 6b 20 3d 20 69 74 65 6d 73 47 72 6f 75 70 2e 74 61 72 67 65 74 54 ..var.track.=.itemsGroup.targetT
3740 72 61 63 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 69 74 65 6d 73 20 rack;.................var.items.
3760 3d 20 69 74 65 6d 73 47 72 6f 75 70 2e 69 74 65 6d 73 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 =.itemsGroup.items;.............
3780 20 20 20 20 20 45 64 69 74 4d 6f 64 65 55 74 69 6c 73 2e 53 65 74 50 61 72 65 6e 74 54 72 61 63 .....EditModeUtils.SetParentTrac
37a0 6b 28 69 74 65 6d 73 2c 20 74 72 61 63 6b 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 k(items,.track);................
37c0 20 20 74 72 61 63 6b 2e 53 6f 72 74 43 6c 69 70 73 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 ..track.SortClips();............
37e0 20 20 20 20 20 20 54 72 61 63 6b 45 78 74 65 6e 73 69 6f 6e 73 2e 43 6f 6d 70 75 74 65 42 6c 65 ......TrackExtensions.ComputeBle
3800 6e 64 73 46 72 6f 6d 4f 76 65 72 6c 61 70 73 28 74 72 61 63 6b 2e 63 6c 69 70 73 29 3b 0a 20 20 ndsFromOverlaps(track.clips);...
3820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 72 61 63 6b 2e 43 61 6c 63 75 6c 61 74 65 45 78 74 ..............track.CalculateExt
3840 72 61 70 6f 6c 61 74 69 6f 6e 54 69 6d 65 73 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 rapolationTimes();..............
3860 20 20 20 20 66 6f 72 65 61 63 68 20 28 76 61 72 20 69 74 65 6d 20 69 6e 20 69 74 65 6d 73 29 0a ....foreach.(var.item.in.items).
3880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 74 65 6d 2e 67 75 69 ....................if.(item.gui
38a0 20 21 3d 20 6e 75 6c 6c 29 20 69 74 65 6d 2e 67 75 69 2e 53 65 6c 65 63 74 28 29 3b 0a 20 20 20 .!=.null).item.gui.Select();....
38c0 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 61 6c 6c 49 .........}..............var.allI
38e0 74 65 6d 73 20 3d 20 69 74 65 6d 73 47 72 6f 75 70 73 2e 53 65 6c 65 63 74 4d 61 6e 79 28 78 20 tems.=.itemsGroups.SelectMany(x.
3900 3d 3e 20 78 2e 69 74 65 6d 73 29 2e 54 6f 4c 69 73 74 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 =>.x.items).ToList();...........
3920 20 20 66 6f 72 65 61 63 68 20 28 76 61 72 20 69 74 65 6d 20 69 6e 20 61 6c 6c 49 74 65 6d 73 29 ..foreach.(var.item.in.allItems)
3940 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 .............{.................S
3960 65 6c 65 63 74 69 6f 6e 4d 61 6e 61 67 65 72 2e 41 64 64 28 69 74 65 6d 29 3b 0a 20 20 20 20 20 electionManager.Add(item);......
3980 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 46 72 61 6d 65 49 74 65 6d 73 .......}..............FrameItems
39a0 28 73 74 61 74 65 2c 20 61 6c 6c 49 74 65 6d 73 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 (state,.allItems);.........}....
39c0 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 73 74 61 74 69 63 20 54 69 6d 65 6c 69 6e 65 43 6c ......internal.static.TimelineCl
39e0 69 70 20 43 6c 6f 6e 65 28 54 69 6d 65 6c 69 6e 65 43 6c 69 70 20 63 6c 69 70 2c 20 49 45 78 70 ip.Clone(TimelineClip.clip,.IExp
3a00 6f 73 65 64 50 72 6f 70 65 72 74 79 54 61 62 6c 65 20 73 6f 75 72 63 65 54 61 62 6c 65 2c 20 49 osedPropertyTable.sourceTable,.I
3a20 45 78 70 6f 73 65 64 50 72 6f 70 65 72 74 79 54 61 62 6c 65 20 64 65 73 74 54 61 62 6c 65 2c 20 ExposedPropertyTable.destTable,.
3a40 50 6c 61 79 61 62 6c 65 41 73 73 65 74 20 6e 65 77 4f 77 6e 65 72 29 0a 20 20 20 20 20 20 20 20 PlayableAsset.newOwner).........
3a60 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 65 64 69 74 6f 72 43 6c 69 70 20 3d 20 45 {.............var.editorClip.=.E
3a80 64 69 74 6f 72 43 6c 69 70 46 61 63 74 6f 72 79 2e 47 65 74 45 64 69 74 6f 72 43 6c 69 70 28 63 ditorClipFactory.GetEditorClip(c
3aa0 6c 69 70 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 57 6f 72 6b 61 72 6f 75 6e 64 20 lip);.............//.Workaround.
3ac0 66 6f 72 20 43 6c 69 70 73 20 6e 6f 74 20 62 65 69 6e 67 20 75 6e 69 74 79 20 6f 62 6a 65 63 74 for.Clips.not.being.unity.object
3ae0 2c 20 61 73 73 69 67 6e 20 69 74 20 74 6f 20 61 20 65 64 69 74 6f 72 20 63 6c 69 70 20 77 72 61 ,.assign.it.to.a.editor.clip.wra
3b00 70 70 65 72 2c 20 63 6c 6f 6e 65 20 69 74 2c 20 61 6e 64 20 70 75 6c 6c 20 74 68 65 20 63 6c 69 pper,.clone.it,.and.pull.the.cli
3b20 70 20 62 61 63 6b 20 6f 75 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6e 65 77 43 6c p.back.out.............var.newCl
3b40 69 70 20 3d 20 4f 62 6a 65 63 74 2e 49 6e 73 74 61 6e 74 69 61 74 65 28 65 64 69 74 6f 72 43 6c ip.=.Object.Instantiate(editorCl
3b60 69 70 29 2e 63 6c 69 70 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 70 65 72 66 6f 72 ip).clip;..............//.perfor
3b80 6d 20 66 69 78 20 75 70 73 20 66 6f 72 20 77 68 61 74 20 49 6e 73 74 61 6e 74 69 61 74 65 20 63 m.fix.ups.for.what.Instantiate.c
3ba0 61 6e 6e 6f 74 20 70 72 6f 70 65 72 6c 79 20 64 65 74 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 annot.properly.detect...........
3bc0 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 6e 65 77 43 6c 69 ..SelectionManager.Remove(newCli
3be0 70 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 43 6c 69 70 2e 70 61 72 65 6e 74 54 72 p);.............newClip.parentTr
3c00 61 63 6b 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 43 6c 69 70 2e ack.=.null;.............newClip.
3c20 63 75 72 76 65 73 20 3d 20 6e 75 6c 6c 3b 20 2f 2f 20 69 6e 73 74 61 6e 74 69 61 74 65 20 6d 69 curves.=.null;.//.instantiate.mi
3c40 67 68 74 20 63 6f 70 79 20 74 68 65 20 72 65 66 65 72 65 6e 63 65 2c 20 77 65 20 6e 65 65 64 20 ght.copy.the.reference,.we.need.
3c60 74 6f 20 63 6c 65 61 72 20 69 74 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 63 75 72 76 to.clear.it..............//.curv
3c80 65 73 20 61 72 65 20 65 78 70 6c 69 63 69 74 6c 79 20 6f 77 6e 65 64 20 62 79 20 74 68 65 20 63 es.are.explicitly.owned.by.the.c
3ca0 6c 69 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 6c 69 70 2e 63 75 72 76 65 73 20 lip.............if.(clip.curves.
3cc0 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 20 20 20 !=.null).............{..........
3ce0 20 20 20 20 20 20 20 6e 65 77 43 6c 69 70 2e 43 72 65 61 74 65 43 75 72 76 65 73 28 41 6e 69 6d .......newClip.CreateCurves(Anim
3d00 61 74 69 6f 6e 54 72 61 63 6b 52 65 63 6f 72 64 65 72 2e 47 65 74 55 6e 69 71 75 65 52 65 63 6f ationTrackRecorder.GetUniqueReco
3d20 72 64 65 64 43 6c 69 70 4e 61 6d 65 28 6e 65 77 4f 77 6e 65 72 2c 20 63 6c 69 70 2e 63 75 72 76 rdedClipName(newOwner,.clip.curv
3d40 65 73 2e 6e 61 6d 65 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 64 69 74 6f es.name));.................Edito
3d60 72 55 74 69 6c 69 74 79 2e 43 6f 70 79 53 65 72 69 61 6c 69 7a 65 64 28 63 6c 69 70 2e 63 75 72 rUtility.CopySerialized(clip.cur
3d80 76 65 73 2c 20 6e 65 77 43 6c 69 70 2e 63 75 72 76 65 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 ves,.newClip.curves);...........
3da0 20 20 20 20 20 20 54 69 6d 65 6c 69 6e 65 43 72 65 61 74 65 55 74 69 6c 69 74 69 65 73 2e 53 61 ......TimelineCreateUtilities.Sa
3dc0 76 65 41 73 73 65 74 49 6e 74 6f 4f 62 6a 65 63 74 28 6e 65 77 43 6c 69 70 2e 63 75 72 76 65 73 veAssetIntoObject(newClip.curves
3de0 2c 20 6e 65 77 4f 77 6e 65 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 ,.newOwner);.............}......
3e00 20 20 20 20 20 20 20 20 53 63 72 69 70 74 61 62 6c 65 4f 62 6a 65 63 74 20 70 6c 61 79 61 62 6c ........ScriptableObject.playabl
3e20 65 41 73 73 65 74 20 3d 20 6e 65 77 43 6c 69 70 2e 61 73 73 65 74 20 61 73 20 53 63 72 69 70 74 eAsset.=.newClip.asset.as.Script
3e40 61 62 6c 65 4f 62 6a 65 63 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 70 6c 61 79 ableObject;.............if.(play
3e60 61 62 6c 65 41 73 73 65 74 20 21 3d 20 6e 75 6c 6c 20 26 26 20 6e 65 77 43 6c 69 70 2e 61 73 73 ableAsset.!=.null.&&.newClip.ass
3e80 65 74 20 69 73 20 49 50 6c 61 79 61 62 6c 65 41 73 73 65 74 29 0a 20 20 20 20 20 20 20 20 20 20 et.is.IPlayableAsset)...........
3ea0 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 6c 6f 6e 65 20 3d 20 ..{.................var.clone.=.
3ec0 43 6c 6f 6e 65 52 65 66 65 72 65 6e 63 65 64 50 6c 61 79 61 62 6c 65 41 73 73 65 74 28 70 6c 61 CloneReferencedPlayableAsset(pla
3ee0 79 61 62 6c 65 41 73 73 65 74 2c 20 73 6f 75 72 63 65 54 61 62 6c 65 2c 20 64 65 73 74 54 61 62 yableAsset,.sourceTable,.destTab
3f00 6c 65 2c 20 6e 65 77 4f 77 6e 65 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e le,.newOwner);.................n
3f20 65 77 43 6c 69 70 2e 61 73 73 65 74 20 3d 20 63 6c 6f 6e 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 ewClip.asset.=.clone;...........
3f40 20 20 20 20 20 20 20 2f 2f 20 73 70 65 63 69 61 6c 20 63 61 73 65 20 74 6f 20 6d 61 6b 65 20 74 .......//.special.case.to.make.t
3f60 68 65 20 6e 61 6d 65 20 6d 61 74 63 68 20 74 68 65 20 72 65 63 6f 72 64 61 62 6c 65 20 63 6c 69 he.name.match.the.recordable.cli
3f80 70 73 2c 20 62 75 74 20 6f 6e 6c 79 20 69 66 20 74 68 65 79 20 6d 61 74 63 68 20 6f 6e 20 74 68 ps,.but.only.if.they.match.on.th
3fa0 65 20 6f 72 69 67 69 6e 61 6c 20 63 6c 69 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.original.clip.................
3fc0 76 61 72 20 6f 72 69 67 69 6e 61 6c 52 65 63 6f 72 64 65 64 41 73 73 65 74 20 3d 20 63 6c 69 70 var.originalRecordedAsset.=.clip
3fe0 2e 61 73 73 65 74 20 61 73 20 41 6e 69 6d 61 74 69 6f 6e 50 6c 61 79 61 62 6c 65 41 73 73 65 74 .asset.as.AnimationPlayableAsset
4000 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 6c 69 70 2e 72 65 63 6f 72 ;.................if.(clip.recor
4020 64 61 62 6c 65 20 26 26 20 6f 72 69 67 69 6e 61 6c 52 65 63 6f 72 64 65 64 41 73 73 65 74 20 21 dable.&&.originalRecordedAsset.!
4040 3d 20 6e 75 6c 6c 20 26 26 20 6f 72 69 67 69 6e 61 6c 52 65 63 6f 72 64 65 64 41 73 73 65 74 2e =.null.&&.originalRecordedAsset.
4060 63 6c 69 70 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a clip.!=.null).................{.
4080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 6e 69 6d 61 74 69 6f 6e 50 6c 61 ....................AnimationPla
40a0 79 61 62 6c 65 41 73 73 65 74 20 63 6c 6f 6e 65 64 41 6e 69 6d 61 74 69 6f 6e 41 73 73 65 74 20 yableAsset.clonedAnimationAsset.
40c0 3d 20 63 6c 6f 6e 65 20 61 73 20 41 6e 69 6d 61 74 69 6f 6e 50 6c 61 79 61 62 6c 65 41 73 73 65 =.clone.as.AnimationPlayableAsse
40e0 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 6c 6f 6e 65 t;.....................if.(clone
4100 64 41 6e 69 6d 61 74 69 6f 6e 41 73 73 65 74 20 21 3d 20 6e 75 6c 6c 20 26 26 20 63 6c 6f 6e 65 dAnimationAsset.!=.null.&&.clone
4120 64 41 6e 69 6d 61 74 69 6f 6e 41 73 73 65 74 2e 63 6c 69 70 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 dAnimationAsset.clip.!=.null)...
4140 20 20 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 ..................{.............
4160 20 20 20 20 20 20 20 20 20 20 20 20 63 6c 6f 6e 65 64 41 6e 69 6d 61 74 69 6f 6e 41 73 73 65 74 ............clonedAnimationAsset
4180 2e 63 6c 69 70 20 3d 20 43 6c 6f 6e 65 41 6e 69 6d 61 74 69 6f 6e 43 6c 69 70 28 6f 72 69 67 69 .clip.=.CloneAnimationClip(origi
41a0 6e 61 6c 52 65 63 6f 72 64 65 64 41 73 73 65 74 2e 63 6c 69 70 2c 20 6e 65 77 4f 77 6e 65 72 29 nalRecordedAsset.clip,.newOwner)
41c0 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 69 66 20 28 63 6c ;.........................if.(cl
41e0 69 70 2e 64 69 73 70 6c 61 79 4e 61 6d 65 20 3d 3d 20 6f 72 69 67 69 6e 61 6c 52 65 63 6f 72 64 ip.displayName.==.originalRecord
4200 65 64 41 73 73 65 74 2e 63 6c 69 70 2e 6e 61 6d 65 20 26 26 20 6e 65 77 43 6c 69 70 2e 72 65 63 edAsset.clip.name.&&.newClip.rec
4220 6f 72 64 61 62 6c 65 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 ordable)........................
4240 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 20 20 20 20 63 .{.............................c
4260 6c 6f 6e 65 64 41 6e 69 6d 61 74 69 6f 6e 41 73 73 65 74 2e 6e 61 6d 65 20 3d 20 63 6c 6f 6e 65 lonedAnimationAsset.name.=.clone
4280 64 41 6e 69 6d 61 74 69 6f 6e 41 73 73 65 74 2e 63 6c 69 70 2e 6e 61 6d 65 3b 0a 20 20 20 20 20 dAnimationAsset.clip.name;......
42a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 43 6c 69 70 2e 64 .......................newClip.d
42c0 69 73 70 6c 61 79 4e 61 6d 65 20 3d 20 63 6c 6f 6e 65 64 41 6e 69 6d 61 74 69 6f 6e 41 73 73 65 isplayName.=.clonedAnimationAsse
42e0 74 2e 6e 61 6d 65 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 t.name;.........................
4300 7d 0a 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 }.....................}.........
4320 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 20 20 20 20 20 20 20 ........}.............}.........
4340 20 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77 43 6c 69 70 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a .....return.newClip;.........}..
4360 20 20 20 20 20 20 20 20 73 74 61 74 69 63 20 54 69 6d 65 6c 69 6e 65 43 6c 69 70 5b 5d 20 44 75 ........static.TimelineClip[].Du
4380 70 6c 69 63 61 74 65 43 6c 69 70 73 28 49 45 6e 75 6d 65 72 61 62 6c 65 3c 54 69 6d 65 6c 69 6e plicateClips(IEnumerable<Timelin
43a0 65 43 6c 69 70 3e 20 63 6c 69 70 73 2c 20 49 45 78 70 6f 73 65 64 50 72 6f 70 65 72 74 79 54 61 eClip>.clips,.IExposedPropertyTa
43c0 62 6c 65 20 73 6f 75 72 63 65 54 61 62 6c 65 2c 20 49 45 78 70 6f 73 65 64 50 72 6f 70 65 72 74 ble.sourceTable,.IExposedPropert
43e0 79 54 61 62 6c 65 20 64 65 73 74 54 61 62 6c 65 2c 20 50 6c 61 79 61 62 6c 65 41 73 73 65 74 20 yTable.destTable,.PlayableAsset.
4400 6e 65 77 4f 77 6e 65 72 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 newOwner).........{.............
4420 76 61 72 20 6e 65 77 43 6c 69 70 73 20 3d 20 6e 65 77 20 54 69 6d 65 6c 69 6e 65 43 6c 69 70 5b var.newClips.=.new.TimelineClip[
4440 63 6c 69 70 73 2e 43 6f 75 6e 74 28 29 5d 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 clips.Count()];..............int
4460 20 69 20 3d 20 30 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 .i.=.0;..............foreach.(va
4480 72 20 63 6c 69 70 20 69 6e 20 63 6c 69 70 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 r.clip.in.clips).............{..
44a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6e 65 77 50 61 72 65 6e 74 20 3d 20 6e ...............var.newParent.=.n
44c0 65 77 4f 77 6e 65 72 20 3d 3d 20 6e 75 6c 6c 20 3f 20 63 6c 69 70 2e 70 61 72 65 6e 74 54 72 61 ewOwner.==.null.?.clip.parentTra
44e0 63 6b 20 3a 20 6e 65 77 4f 77 6e 65 72 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 ck.:.newOwner;.................v
4500 61 72 20 6e 65 77 43 6c 69 70 20 3d 20 44 75 70 6c 69 63 61 74 65 43 6c 69 70 28 63 6c 69 70 2c ar.newClip.=.DuplicateClip(clip,
4520 20 73 6f 75 72 63 65 54 61 62 6c 65 2c 20 64 65 73 74 54 61 62 6c 65 2c 20 6e 65 77 50 61 72 65 .sourceTable,.destTable,.newPare
4540 6e 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 43 6c 69 70 2e 70 61 72 nt);.................newClip.par
4560 65 6e 74 54 72 61 63 6b 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 entTrack.=.null;................
4580 20 6e 65 77 43 6c 69 70 73 5b 69 2b 2b 5d 20 3d 20 6e 65 77 43 6c 69 70 3b 0a 20 20 20 20 20 20 .newClips[i++].=.newClip;.......
45a0 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77 43 ......}..............return.newC
45c0 6c 69 70 73 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 lips;.........}..........static.
45e0 54 69 6d 65 6c 69 6e 65 43 6c 69 70 20 44 75 70 6c 69 63 61 74 65 43 6c 69 70 28 54 69 6d 65 6c TimelineClip.DuplicateClip(Timel
4600 69 6e 65 43 6c 69 70 20 63 6c 69 70 2c 20 49 45 78 70 6f 73 65 64 50 72 6f 70 65 72 74 79 54 61 ineClip.clip,.IExposedPropertyTa
4620 62 6c 65 20 73 6f 75 72 63 65 54 61 62 6c 65 2c 20 49 45 78 70 6f 73 65 64 50 72 6f 70 65 72 74 ble.sourceTable,.IExposedPropert
4640 79 54 61 62 6c 65 20 64 65 73 74 54 61 62 6c 65 2c 20 50 6c 61 79 61 62 6c 65 41 73 73 65 74 20 yTable.destTable,.PlayableAsset.
4660 6e 65 77 4f 77 6e 65 72 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 newOwner).........{.............
4680 76 61 72 20 6e 65 77 43 6c 69 70 20 3d 20 43 6c 6f 6e 65 28 63 6c 69 70 2c 20 73 6f 75 72 63 65 var.newClip.=.Clone(clip,.source
46a0 54 61 62 6c 65 2c 20 64 65 73 74 54 61 62 6c 65 2c 20 6e 65 77 4f 77 6e 65 72 29 3b 0a 0a 20 20 Table,.destTable,.newOwner);....
46c0 20 20 20 20 20 20 20 20 20 20 76 61 72 20 74 72 61 63 6b 20 3d 20 63 6c 69 70 2e 70 61 72 65 6e ..........var.track.=.clip.paren
46e0 74 54 72 61 63 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 72 61 63 6b 20 21 3d tTrack;.............if.(track.!=
4700 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 20 20 20 20 20 .null).............{............
4720 20 20 20 20 20 6e 65 77 43 6c 69 70 2e 70 61 72 65 6e 74 54 72 61 63 6b 20 3d 20 74 72 61 63 6b .....newClip.parentTrack.=.track
4740 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 72 61 63 6b 2e 41 64 64 43 6c 69 70 28 ;.................track.AddClip(
4760 6e 65 77 43 6c 69 70 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 newClip);.............}.........
4780 20 20 20 20 20 76 61 72 20 65 64 69 74 6f 72 20 3d 20 43 75 73 74 6f 6d 54 69 6d 65 6c 69 6e 65 .....var.editor.=.CustomTimeline
47a0 45 64 69 74 6f 72 43 61 63 68 65 2e 47 65 74 43 6c 69 70 45 64 69 74 6f 72 28 63 6c 69 70 29 3b EditorCache.GetClipEditor(clip);
47c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 .............try.............{..
47e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 64 69 74 6f 72 2e 4f 6e 43 72 65 61 74 65 28 6e ...............editor.OnCreate(n
4800 65 77 43 6c 69 70 2c 20 74 72 61 63 6b 2c 20 63 6c 69 70 29 3b 0a 20 20 20 20 20 20 20 20 20 20 ewClip,.track,.clip);...........
4820 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 74 63 68 20 28 45 78 63 65 70 74 69 6f 6e ..}.............catch.(Exception
4840 20 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .e).............{...............
4860 20 20 44 65 62 75 67 2e 4c 6f 67 45 78 63 65 70 74 69 6f 6e 28 65 29 3b 0a 20 20 20 20 20 20 20 ..Debug.LogException(e);........
4880 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77 43 6c .....}..............return.newCl
48a0 69 70 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 47 69 76 65 6e 20 ip;.........}..........//.Given.
48c0 61 20 74 72 61 63 6b 20 74 79 70 65 2c 20 72 65 74 75 72 6e 20 61 6c 6c 20 74 68 65 20 70 6c 61 a.track.type,.return.all.the.pla
48e0 79 61 62 6c 65 20 61 73 73 65 74 20 74 79 70 65 73 20 74 68 61 74 20 73 68 6f 75 6c 64 20 62 65 yable.asset.types.that.should.be
4900 0a 20 20 20 20 20 20 20 20 2f 2f 20 20 76 69 73 69 62 6c 65 20 74 6f 20 74 68 65 20 75 73 65 72 .........//..visible.to.the.user
4920 20 76 69 61 20 6d 65 6e 75 73 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 47 69 76 65 6e 20 61 20 74 .via.menus..........//.Given.a.t
4940 72 61 63 6b 20 74 79 70 65 2c 20 72 65 74 75 72 6e 20 61 6c 6c 20 74 68 65 20 70 6c 61 79 61 62 rack.type,.return.all.the.playab
4960 6c 65 20 61 73 73 65 74 20 74 79 70 65 73 0a 0a 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 le.asset.types...........public.
4980 73 74 61 74 69 63 20 54 79 70 65 20 47 65 74 43 75 73 74 6f 6d 44 72 61 77 65 72 28 54 79 70 65 static.Type.GetCustomDrawer(Type
49a0 20 74 72 61 63 6b 54 79 70 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 .trackType).........{...........
49c0 20 20 69 66 20 28 73 5f 53 75 62 43 6c 61 73 73 65 73 4f 66 54 72 61 63 6b 44 72 61 77 65 72 20 ..if.(s_SubClassesOfTrackDrawer.
49e0 3d 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 20 20 20 ==.null).............{..........
4a00 20 20 20 20 20 20 20 73 5f 53 75 62 43 6c 61 73 73 65 73 4f 66 54 72 61 63 6b 44 72 61 77 65 72 .......s_SubClassesOfTrackDrawer
4a20 20 3d 20 54 79 70 65 43 61 63 68 65 2e 47 65 74 54 79 70 65 73 44 65 72 69 76 65 64 46 72 6f 6d .=.TypeCache.GetTypesDerivedFrom
4a40 3c 54 72 61 63 6b 44 72 61 77 65 72 3e 28 29 2e 54 6f 4c 69 73 74 28 29 3b 0a 20 20 20 20 20 20 <TrackDrawer>().ToList();.......
4a60 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 76 61 ......}..............foreach.(va
4a80 72 20 64 72 61 77 65 72 20 69 6e 20 73 5f 53 75 62 43 6c 61 73 73 65 73 4f 66 54 72 61 63 6b 44 r.drawer.in.s_SubClassesOfTrackD
4aa0 72 61 77 65 72 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 rawer).............{............
4ac0 20 20 20 20 20 76 61 72 20 61 74 74 72 20 3d 20 41 74 74 72 69 62 75 74 65 2e 47 65 74 43 75 73 .....var.attr.=.Attribute.GetCus
4ae0 74 6f 6d 41 74 74 72 69 62 75 74 65 28 64 72 61 77 65 72 2c 20 74 79 70 65 6f 66 28 43 75 73 74 tomAttribute(drawer,.typeof(Cust
4b00 6f 6d 54 72 61 63 6b 44 72 61 77 65 72 41 74 74 72 69 62 75 74 65 29 2c 20 66 61 6c 73 65 29 20 omTrackDrawerAttribute),.false).
4b20 61 73 20 43 75 73 74 6f 6d 54 72 61 63 6b 44 72 61 77 65 72 41 74 74 72 69 62 75 74 65 3b 0a 20 as.CustomTrackDrawerAttribute;..
4b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 61 74 74 72 20 21 3d 20 6e 75 6c 6c 20 ...............if.(attr.!=.null.
4b60 26 26 20 61 74 74 72 2e 61 73 73 65 74 54 79 70 65 2e 49 73 41 73 73 69 67 6e 61 62 6c 65 46 72 &&.attr.assetType.IsAssignableFr
4b80 6f 6d 28 74 72 61 63 6b 54 79 70 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 om(trackType))..................
4ba0 20 20 20 72 65 74 75 72 6e 20 64 72 61 77 65 72 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a ...return.drawer;.............}.
4bc0 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 79 70 65 6f 66 28 54 72 61 63 6b .............return.typeof(Track
4be0 44 72 61 77 65 72 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 75 62 6c Drawer);.........}..........publ
4c00 69 63 20 73 74 61 74 69 63 20 62 6f 6f 6c 20 48 61 76 65 53 61 6d 65 43 6f 6e 74 61 69 6e 65 72 ic.static.bool.HaveSameContainer
4c20 41 73 73 65 74 28 4f 62 6a 65 63 74 20 61 73 73 65 74 41 2c 20 4f 62 6a 65 63 74 20 61 73 73 65 Asset(Object.assetA,.Object.asse
4c40 74 42 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 61 73 tB).........{.............if.(as
4c60 73 65 74 41 20 3d 3d 20 6e 75 6c 6c 20 7c 7c 20 61 73 73 65 74 42 20 3d 3d 20 6e 75 6c 6c 29 0a setA.==.null.||.assetB.==.null).
4c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 0a 20 ................return.false;...
4ca0 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 28 61 73 73 65 74 41 2e 68 69 64 65 46 6c 61 67 73 ...........if.((assetA.hideFlags
4cc0 20 26 20 48 69 64 65 46 6c 61 67 73 2e 44 6f 6e 74 53 61 76 65 29 20 21 3d 20 30 20 20 26 26 20 .&.HideFlags.DontSave).!=.0..&&.
4ce0 28 61 73 73 65 74 42 2e 68 69 64 65 46 6c 61 67 73 20 26 20 48 69 64 65 46 6c 61 67 73 2e 44 6f (assetB.hideFlags.&.HideFlags.Do
4d00 6e 74 53 61 76 65 29 20 21 3d 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 ntSave).!=.0).................re
4d20 74 75 72 6e 20 74 72 75 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 41 turn.true;..............return.A
4d40 73 73 65 74 44 61 74 61 62 61 73 65 2e 47 65 74 41 73 73 65 74 50 61 74 68 28 61 73 73 65 74 41 ssetDatabase.GetAssetPath(assetA
4d60 29 20 3d 3d 20 41 73 73 65 74 44 61 74 61 62 61 73 65 2e 47 65 74 41 73 73 65 74 50 61 74 68 28 ).==.AssetDatabase.GetAssetPath(
4d80 61 73 73 65 74 42 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 75 62 6c assetB);.........}..........publ
4da0 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 53 61 76 65 41 6e 69 6d 43 6c 69 70 49 6e 74 6f 4f ic.static.void.SaveAnimClipIntoO
4dc0 62 6a 65 63 74 28 41 6e 69 6d 61 74 69 6f 6e 43 6c 69 70 20 63 6c 69 70 2c 20 4f 62 6a 65 63 74 bject(AnimationClip.clip,.Object
4de0 20 61 73 73 65 74 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 .asset).........{.............if
4e00 20 28 61 73 73 65 74 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 .(asset.!=.null).............{..
4e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6c 69 70 2e 68 69 64 65 46 6c 61 67 73 20 3d 20 ...............clip.hideFlags.=.
4e40 61 73 73 65 74 2e 68 69 64 65 46 6c 61 67 73 20 26 20 7e 48 69 64 65 46 6c 61 67 73 2e 48 69 64 asset.hideFlags.&.~HideFlags.Hid
4e60 65 49 6e 48 69 65 72 61 72 63 68 79 3b 20 2f 2f 20 73 68 6f 77 20 61 6e 69 6d 61 74 69 6f 6e 20 eInHierarchy;.//.show.animation.
4e80 63 6c 69 70 73 2c 20 65 76 65 6e 20 69 66 20 74 68 65 20 70 61 72 65 6e 74 20 74 72 61 63 6b 20 clips,.even.if.the.parent.track.
4ea0 69 73 6e 27 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 28 63 6c 69 70 2e isn't.................if.((clip.
4ec0 68 69 64 65 46 6c 61 67 73 20 26 20 48 69 64 65 46 6c 61 67 73 2e 44 6f 6e 74 53 61 76 65 29 20 hideFlags.&.HideFlags.DontSave).
4ee0 3d 3d 20 30 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 ==.0).................{.........
4f00 20 20 20 20 20 20 20 20 20 20 20 20 41 73 73 65 74 44 61 74 61 62 61 73 65 2e 41 64 64 4f 62 6a ............AssetDatabase.AddObj
4f20 65 63 74 54 6f 41 73 73 65 74 28 63 6c 69 70 2c 20 61 73 73 65 74 29 3b 0a 20 20 20 20 20 20 20 ectToAsset(clip,.asset);........
4f40 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 20 20 20 20 20 20 20 .........}.............}........
4f60 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 4d 61 6b 65 20 73 75 72 65 20 61 20 67 61 6d 65 6f .}..........//.Make.sure.a.gameo
4f80 62 6a 65 63 74 20 68 61 73 20 61 6c 6c 20 74 68 65 20 72 65 71 75 69 72 65 64 20 63 6f 6d 70 6f bject.has.all.the.required.compo
4fa0 6e 65 6e 74 20 66 6f 72 20 74 68 65 20 67 69 76 65 6e 20 54 72 61 63 6b 41 73 73 65 74 0a 20 20 nent.for.the.given.TrackAsset...
4fc0 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 43 6f 6d 70 6f 6e 65 6e 74 20 41 64 ......public.static.Component.Ad
4fe0 64 52 65 71 75 69 72 65 64 43 6f 6d 70 6f 6e 65 6e 74 28 47 61 6d 65 4f 62 6a 65 63 74 20 67 6f dRequiredComponent(GameObject.go
5000 2c 20 54 72 61 63 6b 41 73 73 65 74 20 61 73 73 65 74 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 ,.TrackAsset.asset).........{...
5020 20 20 20 20 20 20 20 20 20 20 69 66 20 28 67 6f 20 3d 3d 20 6e 75 6c 6c 20 7c 7c 20 61 73 73 65 ..........if.(go.==.null.||.asse
5040 74 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 72 65 74 75 72 t.==.null).................retur
5060 6e 20 6e 75 6c 6c 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 62 69 6e 64 69 6e 67 n.null;..............var.binding
5080 73 20 3d 20 61 73 73 65 74 2e 6f 75 74 70 75 74 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 s.=.asset.outputs;.............i
50a0 66 20 28 21 62 69 6e 64 69 6e 67 73 2e 41 6e 79 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 f.(!bindings.Any()).............
50c0 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 ....return.null;..............va
50e0 72 20 62 69 6e 64 69 6e 67 20 3d 20 62 69 6e 64 69 6e 67 73 2e 46 69 72 73 74 28 29 3b 0a 20 20 r.binding.=.bindings.First();...
5100 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 69 6e 64 69 6e 67 2e 6f 75 74 70 75 74 54 61 72 67 ..........if.(binding.outputTarg
5120 65 74 54 79 70 65 20 3d 3d 20 6e 75 6c 6c 20 7c 7c 20 21 74 79 70 65 6f 66 28 43 6f 6d 70 6f 6e etType.==.null.||.!typeof(Compon
5140 65 6e 74 29 2e 49 73 41 73 73 69 67 6e 61 62 6c 65 46 72 6f 6d 28 62 69 6e 64 69 6e 67 2e 6f 75 ent).IsAssignableFrom(binding.ou
5160 74 70 75 74 54 61 72 67 65 74 54 79 70 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tputTargetType))................
5180 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 .return.null;..............var.c
51a0 6f 6d 70 6f 6e 65 6e 74 20 3d 20 67 6f 2e 47 65 74 43 6f 6d 70 6f 6e 65 6e 74 28 62 69 6e 64 69 omponent.=.go.GetComponent(bindi
51c0 6e 67 2e 6f 75 74 70 75 74 54 61 72 67 65 74 54 79 70 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 ng.outputTargetType);...........
51e0 20 20 69 66 20 28 63 6f 6d 70 6f 6e 65 6e 74 20 3d 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 ..if.(component.==.null)........
5200 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6d 70 6f 6e 65 6e 74 .....{.................component
5220 20 3d 20 55 6e 64 6f 2e 41 64 64 43 6f 6d 70 6f 6e 65 6e 74 28 67 6f 2c 20 62 69 6e 64 69 6e 67 .=.Undo.AddComponent(go,.binding
5240 2e 6f 75 74 70 75 74 54 61 72 67 65 74 54 79 70 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 .outputTargetType);.............
5260 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 63 6f 6d 70 6f 6e 65 6e 74 3b 0a }.............return.component;.
5280 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 69 63 ........}..........public.static
52a0 20 73 74 72 69 6e 67 20 47 65 74 54 72 61 63 6b 43 61 74 65 67 6f 72 79 4e 61 6d 65 28 53 79 73 .string.GetTrackCategoryName(Sys
52c0 74 65 6d 2e 54 79 70 65 20 74 72 61 63 6b 54 79 70 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 tem.Type.trackType).........{...
52e0 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 72 61 63 6b 54 79 70 65 20 3d 3d 20 6e 75 6c 6c 29 ..........if.(trackType.==.null)
5300 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 74 72 69 6e 67 2e 45 .................return.string.E
5320 6d 70 74 79 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 20 73 20 3d 20 47 65 mpty;..............string.s.=.Ge
5340 74 49 74 65 6d 43 61 74 65 67 6f 72 79 4e 61 6d 65 28 74 72 61 63 6b 54 79 70 65 29 3b 0a 20 20 tItemCategoryName(trackType);...
5360 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 53 74 72 69 6e 67 2e 49 73 4e 75 6c 6c 4f 72 45 6d ..........if.(!String.IsNullOrEm
5380 70 74 79 28 73 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 73 pty(s)).................return.s
53a0 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 72 61 63 6b 54 79 70 65 2e 4e 61 6d ;..............if.(trackType.Nam
53c0 65 73 70 61 63 65 20 3d 3d 20 6e 75 6c 6c 20 7c 7c 20 74 72 61 63 6b 54 79 70 65 2e 4e 61 6d 65 espace.==.null.||.trackType.Name
53e0 73 70 61 63 65 2e 43 6f 6e 74 61 69 6e 73 28 22 55 6e 69 74 79 45 6e 67 69 6e 65 22 29 29 0a 20 space.Contains("UnityEngine"))..
5400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 74 72 69 6e 67 2e 45 6d 70 ...............return.string.Emp
5420 74 79 3b 0a 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 54 79 70 ty;..............return.trackTyp
5440 65 2e 4e 61 6d 65 73 70 61 63 65 20 2b 20 22 2f 22 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 e.Namespace.+."/";.........}....
5460 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 73 74 72 69 6e 67 20 47 65 74 49 74 ......public.static.string.GetIt
5480 65 6d 43 61 74 65 67 6f 72 79 4e 61 6d 65 28 53 79 73 74 65 6d 2e 54 79 70 65 20 69 74 65 6d 54 emCategoryName(System.Type.itemT
54a0 79 70 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 ype).........{.............if.(i
54c0 74 65 6d 54 79 70 65 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 temType.==.null)................
54e0 20 72 65 74 75 72 6e 20 73 74 72 69 6e 67 2e 45 6d 70 74 79 3b 0a 0a 20 20 20 20 20 20 20 20 20 .return.string.Empty;...........
5500 20 20 20 76 61 72 20 61 74 74 72 69 62 75 74 65 20 3d 20 69 74 65 6d 54 79 70 65 2e 47 65 74 43 ...var.attribute.=.itemType.GetC
5520 75 73 74 6f 6d 41 74 74 72 69 62 75 74 65 28 74 79 70 65 6f 66 28 4d 65 6e 75 43 61 74 65 67 6f ustomAttribute(typeof(MenuCatego
5540 72 79 41 74 74 72 69 62 75 74 65 29 29 20 61 73 20 4d 65 6e 75 43 61 74 65 67 6f 72 79 41 74 74 ryAttribute)).as.MenuCategoryAtt
5560 72 69 62 75 74 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 61 74 74 72 69 62 75 74 ribute;.............if.(attribut
5580 65 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 20 e.!=.null).............{........
55a0 20 20 20 20 20 20 20 20 20 76 61 72 20 73 20 3d 20 61 74 74 72 69 62 75 74 65 2e 63 61 74 65 67 .........var.s.=.attribute.categ
55c0 6f 72 79 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 73 2e 45 6e 64 73 ory;.................if.(!s.Ends
55e0 57 69 74 68 28 22 2f 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 With("/")).....................s
5600 20 2b 3d 20 22 2f 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 .+=."/";.................return.
5620 73 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 72 65 s;.............}..............re
5640 74 75 72 6e 20 73 74 72 69 6e 67 2e 45 6d 70 74 79 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 turn.string.Empty;.........}....
5660 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 73 74 72 69 6e 67 20 47 65 74 54 72 ......public.static.string.GetTr
5680 61 63 6b 4d 65 6e 75 4e 61 6d 65 28 53 79 73 74 65 6d 2e 54 79 70 65 20 74 72 61 63 6b 54 79 70 ackMenuName(System.Type.trackTyp
56a0 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 e).........{.............return.
56c0 4f 62 6a 65 63 74 4e 61 6d 65 73 2e 4e 69 63 69 66 79 56 61 72 69 61 62 6c 65 4e 61 6d 65 28 74 ObjectNames.NicifyVariableName(t
56e0 72 61 63 6b 54 79 70 65 2e 4e 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 rackType.Name);.........}.......
5700 20 20 20 2f 2f 20 72 65 74 72 69 65 76 65 20 74 68 65 20 64 75 72 61 74 69 6f 6e 20 6f 66 20 61 ...//.retrieve.the.duration.of.a
5720 20 73 69 6e 67 6c 65 20 6c 6f 6f 70 2c 20 74 61 6b 69 6e 67 20 69 6e 74 6f 20 61 63 63 6f 75 6e .single.loop,.taking.into.accoun
5740 74 20 73 70 65 65 64 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 64 6f t.speed.........public.static.do
5760 75 62 6c 65 20 47 65 74 4c 6f 6f 70 44 75 72 61 74 69 6f 6e 28 54 69 6d 65 6c 69 6e 65 43 6c 69 uble.GetLoopDuration(TimelineCli
5780 70 20 63 6c 69 70 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 6f p.clip).........{.............do
57a0 75 62 6c 65 20 6c 65 6e 67 74 68 20 3d 20 63 6c 69 70 2e 63 6c 69 70 41 73 73 65 74 44 75 72 61 uble.length.=.clip.clipAssetDura
57c0 74 69 6f 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 64 6f 75 62 6c 65 2e 49 73 4e tion;.............if.(double.IsN
57e0 65 67 61 74 69 76 65 49 6e 66 69 6e 69 74 79 28 6c 65 6e 67 74 68 29 20 7c 7c 20 64 6f 75 62 6c egativeInfinity(length).||.doubl
5800 65 2e 49 73 4e 61 4e 28 6c 65 6e 67 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.IsNaN(length))................
5820 20 72 65 74 75 72 6e 20 54 69 6d 65 6c 69 6e 65 43 6c 69 70 2e 6b 4d 69 6e 44 75 72 61 74 69 6f .return.TimelineClip.kMinDuratio
5840 6e 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6c 65 6e 67 74 68 20 3d 3d 20 64 6f n;..............if.(length.==.do
5860 75 62 6c 65 2e 4d 61 78 56 61 6c 75 65 20 7c 7c 20 64 6f 75 62 6c 65 2e 49 73 49 6e 66 69 6e 69 uble.MaxValue.||.double.IsInfini
5880 74 79 28 6c 65 6e 67 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 ty(length)).............{.......
58a0 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 64 6f 75 62 6c 65 2e 4d 61 78 56 61 6c 75 65 ..........return.double.MaxValue
58c0 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 72 65 74 ;.............}..............ret
58e0 75 72 6e 20 4d 61 74 68 2e 4d 61 78 28 54 69 6d 65 6c 69 6e 65 43 6c 69 70 2e 6b 4d 69 6e 44 75 urn.Math.Max(TimelineClip.kMinDu
5900 72 61 74 69 6f 6e 2c 20 6c 65 6e 67 74 68 20 2f 20 63 6c 69 70 2e 74 69 6d 65 53 63 61 6c 65 29 ration,.length./.clip.timeScale)
5920 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
5940 69 63 20 64 6f 75 62 6c 65 20 47 65 74 43 6c 69 70 41 73 73 65 74 45 6e 64 54 69 6d 65 28 54 69 ic.double.GetClipAssetEndTime(Ti
5960 6d 65 6c 69 6e 65 43 6c 69 70 20 63 6c 69 70 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 melineClip.clip).........{......
5980 20 20 20 20 20 20 20 76 61 72 20 64 20 3d 20 47 65 74 4c 6f 6f 70 44 75 72 61 74 69 6f 6e 28 63 .......var.d.=.GetLoopDuration(c
59a0 6c 69 70 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 64 20 3c 20 64 6f 75 62 6c 65 lip);.............if.(d.<.double
59c0 2e 4d 61 78 56 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 20 3d 20 63 .MaxValue).................d.=.c
59e0 6c 69 70 2e 46 72 6f 6d 4c 6f 63 61 6c 54 69 6d 65 55 6e 62 6f 75 6e 64 28 64 29 3b 0a 0a 20 20 lip.FromLocalTimeUnbound(d);....
5a00 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 64 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 ..........return.d;.........}...
5a20 20 20 20 20 20 20 20 2f 2f 20 43 68 65 63 6b 73 20 69 66 20 74 68 65 20 75 6e 64 65 72 6c 79 69 .......//.Checks.if.the.underlyi
5a40 6e 67 20 61 73 73 65 74 20 64 75 72 61 74 69 6f 6e 20 69 73 20 75 73 61 62 6c 65 2e 20 54 68 69 ng.asset.duration.is.usable..Thi
5a60 73 20 6d 65 61 6e 73 20 74 68 65 20 63 6c 69 70 0a 20 20 20 20 20 20 20 20 2f 2f 20 20 63 61 6e s.means.the.clip.........//..can
5a80 20 6c 6f 6f 70 20 6f 72 20 68 6f 6c 64 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 .loop.or.hold.........public.sta
5aa0 74 69 63 20 62 6f 6f 6c 20 48 61 73 55 73 61 62 6c 65 41 73 73 65 74 44 75 72 61 74 69 6f 6e 28 tic.bool.HasUsableAssetDuration(
5ac0 54 69 6d 65 6c 69 6e 65 43 6c 69 70 20 63 6c 69 70 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 TimelineClip.clip).........{....
5ae0 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 6c 65 6e 67 74 68 20 3d 20 63 6c 69 70 2e 63 6c .........double.length.=.clip.cl
5b00 69 70 41 73 73 65 74 44 75 72 61 74 69 6f 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 ipAssetDuration;.............ret
5b20 75 72 6e 20 28 6c 65 6e 67 74 68 20 3c 20 54 69 6d 65 6c 69 6e 65 43 6c 69 70 2e 6b 4d 61 78 54 urn.(length.<.TimelineClip.kMaxT
5b40 69 6d 65 56 61 6c 75 65 29 20 26 26 20 21 64 6f 75 62 6c 65 2e 49 73 49 6e 66 69 6e 69 74 79 28 imeValue).&&.!double.IsInfinity(
5b60 6c 65 6e 67 74 68 29 20 26 26 20 21 64 6f 75 62 6c 65 2e 49 73 4e 61 4e 28 6c 65 6e 67 74 68 29 length).&&.!double.IsNaN(length)
5b80 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 52 65 74 72 69 65 76 65 ;.........}..........//.Retrieve
5ba0 73 20 74 68 65 20 73 74 61 72 74 69 6e 67 20 70 6f 69 6e 74 20 6f 66 20 65 61 63 68 20 6c 6f 6f s.the.starting.point.of.each.loo
5bc0 70 20 6f 66 20 61 20 63 6c 69 70 2c 20 72 65 6c 61 74 69 76 65 20 74 6f 20 74 68 65 20 73 74 61 p.of.a.clip,.relative.to.the.sta
5be0 72 74 20 6f 66 20 74 68 65 20 63 6c 69 70 0a 20 20 20 20 20 20 20 20 2f 2f 20 20 4e 6f 74 65 20 rt.of.the.clip.........//..Note.
5c00 74 68 61 74 20 69 66 20 63 6c 69 70 2d 69 6e 20 69 73 20 62 69 67 67 65 72 20 74 68 61 6e 20 74 that.if.clip-in.is.bigger.than.t
5c20 68 65 20 6c 6f 6f 70 44 75 72 61 74 69 6f 6e 2c 20 6e 65 67 61 74 69 76 65 20 74 69 6d 65 73 20 he.loopDuration,.negative.times.
5c40 77 69 6c 6c 20 62 65 20 61 64 64 65 64 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 will.be.added.........public.sta
5c60 74 69 63 20 64 6f 75 62 6c 65 5b 5d 20 47 65 74 4c 6f 6f 70 54 69 6d 65 73 28 54 69 6d 65 6c 69 tic.double[].GetLoopTimes(Timeli
5c80 6e 65 43 6c 69 70 20 63 6c 69 70 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 neClip.clip).........{..........
5ca0 20 20 20 69 66 20 28 21 48 61 73 55 73 61 62 6c 65 41 73 73 65 74 44 75 72 61 74 69 6f 6e 28 63 ...if.(!HasUsableAssetDuration(c
5cc0 6c 69 70 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 6e 65 77 lip)).................return.new
5ce0 5b 5d 20 7b 2d 63 6c 69 70 2e 63 6c 69 70 49 6e 20 2f 20 63 6c 69 70 2e 74 69 6d 65 53 63 61 6c [].{-clip.clipIn./.clip.timeScal
5d00 65 7d 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 74 69 6d 65 73 20 3d 20 6e 65 77 e};..............var.times.=.new
5d20 20 4c 69 73 74 3c 64 6f 75 62 6c 65 3e 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 .List<double>();.............dou
5d40 62 6c 65 20 6c 6f 6f 70 44 75 72 61 74 69 6f 6e 20 3d 20 47 65 74 4c 6f 6f 70 44 75 72 61 74 69 ble.loopDuration.=.GetLoopDurati
5d60 6f 6e 28 63 6c 69 70 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6c 6f 6f 70 44 on(clip);..............if.(loopD
5d80 75 72 61 74 69 6f 6e 20 3c 3d 20 54 69 6d 65 55 74 69 6c 69 74 79 2e 6b 54 69 6d 65 45 70 73 69 uration.<=.TimeUtility.kTimeEpsi
5da0 6c 6f 6e 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 6e 65 77 20 lon).................return.new.
5dc0 64 6f 75 62 6c 65 5b 5d 20 7b 7d 3b 0a 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c double[].{};...............doubl
5de0 65 20 73 74 61 72 74 20 3d 20 2d 63 6c 69 70 2e 63 6c 69 70 49 6e 20 2f 20 63 6c 69 70 2e 74 69 e.start.=.-clip.clipIn./.clip.ti
5e00 6d 65 53 63 61 6c 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 65 6e 64 20 meScale;.............double.end.
5e20 3d 20 73 74 61 72 74 20 2b 20 6c 6f 6f 70 44 75 72 61 74 69 6f 6e 3b 0a 0a 20 20 20 20 20 20 20 =.start.+.loopDuration;.........
5e40 20 20 20 20 20 74 69 6d 65 73 2e 41 64 64 28 73 74 61 72 74 29 3b 0a 20 20 20 20 20 20 20 20 20 .....times.Add(start);..........
5e60 20 20 20 77 68 69 6c 65 20 28 65 6e 64 20 3c 20 63 6c 69 70 2e 64 75 72 61 74 69 6f 6e 20 2d 20 ...while.(end.<.clip.duration.-.
5e80 57 69 6e 64 6f 77 53 74 61 74 65 2e 6b 54 69 6d 65 45 70 73 69 6c 6f 6e 29 0a 20 20 20 20 20 20 WindowState.kTimeEpsilon).......
5ea0 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 69 6d 65 73 2e 41 64 ......{.................times.Ad
5ec0 64 28 65 6e 64 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 64 20 2b 3d 20 6c d(end);.................end.+=.l
5ee0 6f 6f 70 44 75 72 61 74 69 6f 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 oopDuration;.............}......
5f00 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 69 6d 65 73 2e 54 6f 41 72 72 61 79 28 29 3b 0a ........return.times.ToArray();.
5f20 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 69 63 ........}..........public.static
5f40 20 64 6f 75 62 6c 65 20 47 65 74 43 61 6e 64 69 64 61 74 65 54 69 6d 65 28 57 69 6e 64 6f 77 53 .double.GetCandidateTime(WindowS
5f60 74 61 74 65 20 73 74 61 74 65 2c 20 56 65 63 74 6f 72 32 3f 20 6d 6f 75 73 65 50 6f 73 69 74 69 tate.state,.Vector2?.mousePositi
5f80 6f 6e 2c 20 70 61 72 61 6d 73 20 54 72 61 63 6b 41 73 73 65 74 5b 5d 20 74 72 61 63 6b 41 73 73 on,.params.TrackAsset[].trackAss
5fa0 65 74 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 2f 2f 20 52 69 ets).........{.............//.Ri
5fc0 67 68 74 2d 43 6c 69 63 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 6f 75 73 65 50 ght-Click.............if.(mouseP
5fe0 6f 73 69 74 69 6f 6e 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 osition.!=.null)................
6000 20 72 65 74 75 72 6e 20 73 74 61 74 65 2e 47 65 74 53 6e 61 70 70 65 64 54 69 6d 65 41 74 4d 6f .return.state.GetSnappedTimeAtMo
6020 75 73 65 50 6f 73 69 74 69 6f 6e 28 6d 6f 75 73 65 50 6f 73 69 74 69 6f 6e 2e 56 61 6c 75 65 29 usePosition(mousePosition.Value)
6040 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 50 6c 61 79 68 65 61 64 0a 20 20 20 20 20 ;..............//.Playhead......
6060 20 20 20 20 20 20 20 69 66 20 28 73 74 61 74 65 20 21 3d 20 6e 75 6c 6c 20 26 26 20 73 74 61 74 .......if.(state.!=.null.&&.stat
6080 65 2e 65 64 69 74 53 65 71 75 65 6e 63 65 2e 64 69 72 65 63 74 6f 72 20 21 3d 20 6e 75 6c 6c 29 e.editSequence.director.!=.null)
60a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 74 61 74 65 2e 53 6e .................return.state.Sn
60c0 61 70 54 6f 46 72 61 6d 65 49 66 52 65 71 75 69 72 65 64 28 73 74 61 74 65 2e 65 64 69 74 53 65 apToFrameIfRequired(state.editSe
60e0 71 75 65 6e 63 65 2e 74 69 6d 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 53 70 quence.time);..............//.Sp
6100 65 63 69 66 69 63 20 74 72 61 63 6b 73 20 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 ecific.tracks.end.............if
6120 20 28 74 72 61 63 6b 41 73 73 65 74 73 20 21 3d 20 6e 75 6c 6c 20 26 26 20 74 72 61 63 6b 41 73 .(trackAssets.!=.null.&&.trackAs
6140 73 65 74 73 2e 41 6e 79 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 sets.Any()).............{.......
6160 20 20 20 20 20 20 20 20 20 20 76 61 72 20 69 74 65 6d 73 20 3d 20 74 72 61 63 6b 41 73 73 65 74 ..........var.items.=.trackAsset
6180 73 2e 53 65 6c 65 63 74 4d 61 6e 79 28 74 20 3d 3e 20 74 2e 47 65 74 49 74 65 6d 73 28 29 29 2e s.SelectMany(t.=>.t.GetItems()).
61a0 54 6f 4c 69 73 74 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e ToList();.................return
61c0 20 69 74 65 6d 73 2e 41 6e 79 28 29 20 3f 20 69 74 65 6d 73 2e 4d 61 78 28 69 20 3d 3e 20 69 2e .items.Any().?.items.Max(i.=>.i.
61e0 65 6e 64 29 20 3a 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 end).:.0;.............}.........
6200 20 20 20 20 20 2f 2f 20 54 69 6d 65 6c 69 6e 65 20 74 72 61 63 6b 73 20 65 6e 64 0a 20 20 20 20 .....//.Timeline.tracks.end.....
6220 20 20 20 20 20 20 20 20 69 66 20 28 73 74 61 74 65 20 21 3d 20 6e 75 6c 6c 20 26 26 20 73 74 61 ........if.(state.!=.null.&&.sta
6240 74 65 2e 65 64 69 74 53 65 71 75 65 6e 63 65 2e 61 73 73 65 74 20 21 3d 20 6e 75 6c 6c 29 0a 20 te.editSequence.asset.!=.null)..
6260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 74 61 74 65 2e 65 64 69 74 ...............return.state.edit
6280 53 65 71 75 65 6e 63 65 2e 61 73 73 65 74 2e 66 6c 61 74 74 65 6e 65 64 54 72 61 63 6b 73 2e 41 Sequence.asset.flattenedTracks.A
62a0 6e 79 28 29 20 3f 20 73 74 61 74 65 2e 65 64 69 74 53 65 71 75 65 6e 63 65 2e 61 73 73 65 74 2e ny().?.state.editSequence.asset.
62c0 66 6c 61 74 74 65 6e 65 64 54 72 61 63 6b 73 2e 4d 61 78 28 74 20 3d 3e 20 74 2e 65 6e 64 29 20 flattenedTracks.Max(t.=>.t.end).
62e0 3a 20 30 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 2e 30 3b 0a 20 20 :.0;..............return.0.0;...
6300 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 54 ......}..........public.static.T
6320 69 6d 65 6c 69 6e 65 43 6c 69 70 20 43 72 65 61 74 65 43 6c 69 70 4f 6e 54 72 61 63 6b 28 4f 62 imelineClip.CreateClipOnTrack(Ob
6340 6a 65 63 74 20 61 73 73 65 74 2c 20 54 72 61 63 6b 41 73 73 65 74 20 70 61 72 65 6e 74 54 72 61 ject.asset,.TrackAsset.parentTra
6360 63 6b 2c 20 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b ck,.WindowState.state).........{
6380 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 43 72 65 61 74 65 43 6c 69 70 4f 6e .............return.CreateClipOn
63a0 54 72 61 63 6b 28 61 73 73 65 74 2c 20 70 61 72 65 6e 74 54 72 61 63 6b 2c 20 47 65 74 43 61 6e Track(asset,.parentTrack,.GetCan
63c0 64 69 64 61 74 65 54 69 6d 65 28 73 74 61 74 65 2c 20 6e 75 6c 6c 2c 20 70 61 72 65 6e 74 54 72 didateTime(state,.null,.parentTr
63e0 61 63 6b 29 2c 20 73 74 61 74 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 ack),.state);.........}.........
6400 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 54 69 6d 65 6c 69 6e 65 43 6c 69 70 20 43 72 65 61 .public.static.TimelineClip.Crea
6420 74 65 43 6c 69 70 4f 6e 54 72 61 63 6b 28 4f 62 6a 65 63 74 20 61 73 73 65 74 2c 20 54 72 61 63 teClipOnTrack(Object.asset,.Trac
6440 6b 41 73 73 65 74 20 70 61 72 65 6e 74 54 72 61 63 6b 2c 20 64 6f 75 62 6c 65 20 63 61 6e 64 69 kAsset.parentTrack,.double.candi
6460 64 61 74 65 54 69 6d 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 dateTime).........{.............
6480 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 WindowState.state.=.null;.......
64a0 20 20 20 20 20 20 69 66 20 28 54 69 6d 65 6c 69 6e 65 57 69 6e 64 6f 77 2e 69 6e 73 74 61 6e 63 ......if.(TimelineWindow.instanc
64c0 65 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 e.!=.null).................state
64e0 20 3d 20 54 69 6d 65 6c 69 6e 65 57 69 6e 64 6f 77 2e 69 6e 73 74 61 6e 63 65 2e 73 74 61 74 65 .=.TimelineWindow.instance.state
6500 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 43 72 65 61 74 65 43 6c 69 70 ;..............return.CreateClip
6520 4f 6e 54 72 61 63 6b 28 61 73 73 65 74 2c 20 70 61 72 65 6e 74 54 72 61 63 6b 2c 20 63 61 6e 64 OnTrack(asset,.parentTrack,.cand
6540 69 64 61 74 65 54 69 6d 65 2c 20 73 74 61 74 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 idateTime,.state);.........}....
6560 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 54 69 6d 65 6c 69 6e 65 43 6c 69 70 ......public.static.TimelineClip
6580 20 43 72 65 61 74 65 43 6c 69 70 4f 6e 54 72 61 63 6b 28 54 79 70 65 20 70 6c 61 79 61 62 6c 65 .CreateClipOnTrack(Type.playable
65a0 41 73 73 65 74 54 79 70 65 2c 20 54 72 61 63 6b 41 73 73 65 74 20 70 61 72 65 6e 74 54 72 61 63 AssetType,.TrackAsset.parentTrac
65c0 6b 2c 20 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a k,.WindowState.state).........{.
65e0 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 43 72 65 61 74 65 43 6c 69 70 4f 6e 54 ............return.CreateClipOnT
6600 72 61 63 6b 28 70 6c 61 79 61 62 6c 65 41 73 73 65 74 54 79 70 65 2c 20 6e 75 6c 6c 2c 20 70 61 rack(playableAssetType,.null,.pa
6620 72 65 6e 74 54 72 61 63 6b 2c 20 47 65 74 43 61 6e 64 69 64 61 74 65 54 69 6d 65 28 73 74 61 74 rentTrack,.GetCandidateTime(stat
6640 65 2c 20 6e 75 6c 6c 2c 20 70 61 72 65 6e 74 54 72 61 63 6b 29 2c 20 73 74 61 74 65 29 3b 0a 20 e,.null,.parentTrack),.state);..
6660 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 .......}..........public.static.
6680 54 69 6d 65 6c 69 6e 65 43 6c 69 70 20 43 72 65 61 74 65 43 6c 69 70 4f 6e 54 72 61 63 6b 28 54 TimelineClip.CreateClipOnTrack(T
66a0 79 70 65 20 70 6c 61 79 61 62 6c 65 41 73 73 65 74 54 79 70 65 2c 20 54 72 61 63 6b 41 73 73 65 ype.playableAssetType,.TrackAsse
66c0 74 20 70 61 72 65 6e 74 54 72 61 63 6b 2c 20 64 6f 75 62 6c 65 20 63 61 6e 64 69 64 61 74 65 54 t.parentTrack,.double.candidateT
66e0 69 6d 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 ime).........{.............retur
6700 6e 20 43 72 65 61 74 65 43 6c 69 70 4f 6e 54 72 61 63 6b 28 70 6c 61 79 61 62 6c 65 41 73 73 65 n.CreateClipOnTrack(playableAsse
6720 74 54 79 70 65 2c 20 6e 75 6c 6c 2c 20 70 61 72 65 6e 74 54 72 61 63 6b 2c 20 63 61 6e 64 69 64 tType,.null,.parentTrack,.candid
6740 61 74 65 54 69 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 75 62 ateTime);.........}..........pub
6760 6c 69 63 20 73 74 61 74 69 63 20 54 69 6d 65 6c 69 6e 65 43 6c 69 70 20 43 72 65 61 74 65 43 6c lic.static.TimelineClip.CreateCl
6780 69 70 4f 6e 54 72 61 63 6b 28 4f 62 6a 65 63 74 20 61 73 73 65 74 2c 20 54 72 61 63 6b 41 73 73 ipOnTrack(Object.asset,.TrackAss
67a0 65 74 20 70 61 72 65 6e 74 54 72 61 63 6b 2c 20 64 6f 75 62 6c 65 20 63 61 6e 64 69 64 61 74 65 et.parentTrack,.double.candidate
67c0 54 69 6d 65 2c 20 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 Time,.WindowState.state)........
67e0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 70 61 72 65 6e 74 54 72 61 63 6b 20 3d .{.............if.(parentTrack.=
6800 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e =.null).................return.n
6820 75 6c 6c 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 70 69 63 6b 20 74 68 65 20 66 69 ull;..............//.pick.the.fi
6840 72 73 74 20 63 6c 69 70 20 74 79 70 65 20 61 76 61 69 6c 61 62 6c 65 2c 20 75 6e 6c 65 73 73 20 rst.clip.type.available,.unless.
6860 74 68 65 72 65 20 69 73 20 6f 6e 65 20 74 68 61 74 20 6d 61 74 63 68 65 73 20 74 68 65 20 61 73 there.is.one.that.matches.the.as
6880 73 65 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 6c 69 70 54 79 70 65 20 3d 20 54 set.............var.clipType.=.T
68a0 79 70 65 55 74 69 6c 69 74 79 2e 47 65 74 50 6c 61 79 61 62 6c 65 41 73 73 65 74 73 48 61 6e 64 ypeUtility.GetPlayableAssetsHand
68c0 6c 65 64 42 79 54 72 61 63 6b 28 70 61 72 65 6e 74 54 72 61 63 6b 2e 47 65 74 54 79 70 65 28 29 ledByTrack(parentTrack.GetType()
68e0 29 2e 46 69 72 73 74 4f 72 44 65 66 61 75 6c 74 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ).FirstOrDefault();.............
6900 69 66 20 28 61 73 73 65 74 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 if.(asset.!=.null)..............
6920 20 20 20 63 6c 69 70 54 79 70 65 20 3d 20 54 79 70 65 55 74 69 6c 69 74 79 2e 47 65 74 41 73 73 ...clipType.=.TypeUtility.GetAss
6940 65 74 54 79 70 65 73 46 6f 72 4f 62 6a 65 63 74 28 70 61 72 65 6e 74 54 72 61 63 6b 2e 47 65 74 etTypesForObject(parentTrack.Get
6960 54 79 70 65 28 29 2c 20 61 73 73 65 74 29 2e 46 69 72 73 74 4f 72 44 65 66 61 75 6c 74 28 29 3b Type(),.asset).FirstOrDefault();
6980 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 6c 69 70 54 79 70 65 20 3d 3d 20 6e 75 ..............if.(clipType.==.nu
69a0 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b ll).................return.null;
69c0 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 43 72 65 61 74 65 43 6c 69 70 4f ..............return.CreateClipO
69e0 6e 54 72 61 63 6b 28 63 6c 69 70 54 79 70 65 2c 20 61 73 73 65 74 2c 20 70 61 72 65 6e 74 54 72 nTrack(clipType,.asset,.parentTr
6a00 61 63 6b 2c 20 63 61 6e 64 69 64 61 74 65 54 69 6d 65 2c 20 73 74 61 74 65 29 3b 0a 20 20 20 20 ack,.candidateTime,.state);.....
6a20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 54 69 6d ....}..........public.static.Tim
6a40 65 6c 69 6e 65 43 6c 69 70 20 43 72 65 61 74 65 43 6c 69 70 4f 6e 54 72 61 63 6b 28 54 79 70 65 elineClip.CreateClipOnTrack(Type
6a60 20 70 6c 61 79 61 62 6c 65 41 73 73 65 74 54 79 70 65 2c 20 4f 62 6a 65 63 74 20 61 73 73 69 67 .playableAssetType,.Object.assig
6a80 6e 61 62 6c 65 4f 62 6a 65 63 74 2c 20 54 72 61 63 6b 41 73 73 65 74 20 70 61 72 65 6e 74 54 72 nableObject,.TrackAsset.parentTr
6aa0 61 63 6b 2c 20 64 6f 75 62 6c 65 20 63 61 6e 64 69 64 61 74 65 54 69 6d 65 29 0a 20 20 20 20 20 ack,.double.candidateTime)......
6ac0 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 ...{.............WindowState.sta
6ae0 74 65 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 54 69 6d 65 6c te.=.null;.............if.(Timel
6b00 69 6e 65 57 69 6e 64 6f 77 2e 69 6e 73 74 61 6e 63 65 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 ineWindow.instance.!=.null).....
6b20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 20 3d 20 54 69 6d 65 6c 69 6e 65 57 69 6e 64 ............state.=.TimelineWind
6b40 6f 77 2e 69 6e 73 74 61 6e 63 65 2e 73 74 61 74 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 ow.instance.state;..............
6b60 72 65 74 75 72 6e 20 43 72 65 61 74 65 43 6c 69 70 4f 6e 54 72 61 63 6b 28 70 6c 61 79 61 62 6c return.CreateClipOnTrack(playabl
6b80 65 41 73 73 65 74 54 79 70 65 2c 20 61 73 73 69 67 6e 61 62 6c 65 4f 62 6a 65 63 74 2c 20 70 61 eAssetType,.assignableObject,.pa
6ba0 72 65 6e 74 54 72 61 63 6b 2c 20 63 61 6e 64 69 64 61 74 65 54 69 6d 65 2c 20 73 74 61 74 65 29 rentTrack,.candidateTime,.state)
6bc0 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
6be0 69 63 20 54 69 6d 65 6c 69 6e 65 43 6c 69 70 20 43 72 65 61 74 65 43 6c 69 70 4f 6e 54 72 61 63 ic.TimelineClip.CreateClipOnTrac
6c00 6b 28 54 79 70 65 20 70 6c 61 79 61 62 6c 65 41 73 73 65 74 54 79 70 65 2c 20 4f 62 6a 65 63 74 k(Type.playableAssetType,.Object
6c20 20 61 73 73 69 67 6e 61 62 6c 65 4f 62 6a 65 63 74 2c 20 54 72 61 63 6b 41 73 73 65 74 20 70 61 .assignableObject,.TrackAsset.pa
6c40 72 65 6e 74 54 72 61 63 6b 2c 20 64 6f 75 62 6c 65 20 63 61 6e 64 69 64 61 74 65 54 69 6d 65 2c rentTrack,.double.candidateTime,
6c60 20 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 .WindowState.state).........{...
6c80 20 20 20 20 20 20 20 20 20 20 69 66 20 28 70 61 72 65 6e 74 54 72 61 63 6b 20 3d 3d 20 6e 75 6c ..........if.(parentTrack.==.nul
6ca0 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a l).................return.null;.
6cc0 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 6f 6c 20 72 65 76 65 72 74 43 6c 69 70 4d 6f 64 65 .............bool.revertClipMode
6ce0 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 64 65 61 6c 6c .=.false;..............//.Ideall
6d00 79 20 74 68 69 73 20 69 73 20 64 6f 6e 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 62 79 20 y.this.is.done.automatically.by.
6d20 74 68 65 20 61 6e 69 6d 61 74 69 6f 6e 20 74 72 61 63 6b 2c 0a 20 20 20 20 20 20 20 20 20 20 20 the.animation.track,............
6d40 20 2f 2f 20 62 75 74 20 69 74 27 73 20 65 64 69 74 6f 72 20 6f 6e 6c 79 20 62 65 63 61 75 73 65 .//.but.it's.editor.only.because
6d60 20 69 74 20 64 6f 65 73 20 61 6e 69 6d 61 74 69 6f 6e 20 63 6c 69 70 20 6d 61 6e 69 70 75 6c 61 .it.does.animation.clip.manipula
6d80 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 61 6e 69 6d 54 72 61 63 6b 20 3d tion.............var.animTrack.=
6da0 20 70 61 72 65 6e 74 54 72 61 63 6b 20 61 73 20 41 6e 69 6d 61 74 69 6f 6e 54 72 61 63 6b 3b 0a .parentTrack.as.AnimationTrack;.
6dc0 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 61 6e 69 6d 54 72 61 63 6b 20 21 3d 20 6e 75 6c ............if.(animTrack.!=.nul
6de0 6c 20 26 26 20 61 6e 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 l.&&.animTrack.CanConvertToClipM
6e00 6f 64 65 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ode()).............{............
6e20 20 20 20 20 20 61 6e 69 6d 54 72 61 63 6b 2e 43 6f 6e 76 65 72 74 54 6f 43 6c 69 70 4d 6f 64 65 .....animTrack.ConvertToClipMode
6e40 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 76 65 72 74 43 6c 69 70 4d 6f ();.................revertClipMo
6e60 64 65 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 de.=.true;.............}........
6e80 20 20 20 20 20 20 54 69 6d 65 6c 69 6e 65 43 6c 69 70 20 6e 65 77 43 6c 69 70 20 3d 20 6e 75 6c ......TimelineClip.newClip.=.nul
6ea0 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 54 79 70 65 55 74 69 6c 69 74 79 2e 49 l;.............if.(TypeUtility.I
6ec0 73 43 6f 6e 63 72 65 74 65 50 6c 61 79 61 62 6c 65 41 73 73 65 74 28 70 6c 61 79 61 62 6c 65 41 sConcretePlayableAsset(playableA
6ee0 73 73 65 74 54 79 70 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 ssetType)).............{........
6f00 20 20 20 20 20 20 20 20 20 74 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 .........try.................{..
6f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 43 6c 69 70 20 3d 20 70 61 72 ...................newClip.=.par
6f40 65 6e 74 54 72 61 63 6b 2e 43 72 65 61 74 65 43 6c 69 70 4f 66 54 79 70 65 28 70 6c 61 79 61 62 entTrack.CreateClipOfType(playab
6f60 6c 65 41 73 73 65 74 54 79 70 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a leAssetType);.................}.
6f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 74 63 68 20 28 49 6e 76 61 6c 69 64 4f 70 ................catch.(InvalidOp
6fa0 65 72 61 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 29 20 7b 7d 20 20 20 20 2f 2f 20 65 78 70 65 63 erationException).{}....//.expec
6fc0 74 65 64 20 6f 6e 20 61 20 6d 69 73 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a ted.on.a.mismatch.............}.
6fe0 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6e 65 77 43 6c 69 70 20 3d 3d 20 6e 75 6c 6c .............if.(newClip.==.null
7000 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).............{.................
7020 69 66 20 28 72 65 76 65 72 74 43 6c 69 70 4d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 if.(revertClipMode).............
7040 20 20 20 20 20 20 20 20 61 6e 69 6d 54 72 61 63 6b 2e 43 6f 6e 76 65 72 74 46 72 6f 6d 43 6c 69 ........animTrack.ConvertFromCli
7060 70 4d 6f 64 65 28 61 6e 69 6d 54 72 61 63 6b 2e 74 69 6d 65 6c 69 6e 65 41 73 73 65 74 29 3b 0a pMode(animTrack.timelineAsset);.
7080 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 4c 6f 67 57 61 72 6e 69 6e .................Debug.LogWarnin
70a0 67 46 6f 72 6d 61 74 28 22 43 61 6e 6e 6f 74 20 63 72 65 61 74 65 20 61 20 63 6c 69 70 20 6f 66 gFormat("Cannot.create.a.clip.of
70c0 20 74 79 70 65 20 7b 30 7d 20 6f 6e 20 61 20 74 72 61 63 6b 20 6f 66 20 74 79 70 65 20 7b 31 7d .type.{0}.on.a.track.of.type.{1}
70e0 22 2c 20 70 6c 61 79 61 62 6c 65 41 73 73 65 74 54 79 70 65 2e 4e 61 6d 65 2c 20 70 61 72 65 6e ",.playableAssetType.Name,.paren
7100 74 54 72 61 63 6b 2e 47 65 74 54 79 70 65 28 29 2e 4e 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 tTrack.GetType().Name);.........
7120 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ........return.null;............
7140 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 64 64 43 6c 69 70 4f 6e 54 72 61 63 6b 28 6e .}..............AddClipOnTrack(n
7160 65 77 43 6c 69 70 2c 20 70 61 72 65 6e 74 54 72 61 63 6b 2c 20 63 61 6e 64 69 64 61 74 65 54 69 ewClip,.parentTrack,.candidateTi
7180 6d 65 2c 20 61 73 73 69 67 6e 61 62 6c 65 4f 62 6a 65 63 74 2c 20 73 74 61 74 65 29 3b 0a 0a 20 me,.assignableObject,.state);...
71a0 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77 43 6c 69 70 3b 0a 20 20 20 20 20 ...........return.newClip;......
71c0 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 ...}..........///.<summary>.....
71e0 20 20 20 20 2f 2f 2f 20 43 72 65 61 74 65 20 61 20 63 6c 69 70 20 6f 6e 20 74 72 61 63 6b 20 66 ....///.Create.a.clip.on.track.f
7200 72 6f 6d 20 61 6e 20 65 78 69 73 74 69 6e 67 20 50 6c 61 79 61 62 6c 65 41 73 73 65 74 0a 20 20 rom.an.existing.PlayableAsset...
7220 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 70 75 62 ......///.</summary>.........pub
7240 6c 69 63 20 73 74 61 74 69 63 20 54 69 6d 65 6c 69 6e 65 43 6c 69 70 20 43 72 65 61 74 65 43 6c lic.static.TimelineClip.CreateCl
7260 69 70 4f 6e 54 72 61 63 6b 46 72 6f 6d 50 6c 61 79 61 62 6c 65 41 73 73 65 74 28 49 50 6c 61 79 ipOnTrackFromPlayableAsset(IPlay
7280 61 62 6c 65 41 73 73 65 74 20 61 73 73 65 74 2c 20 54 72 61 63 6b 41 73 73 65 74 20 70 61 72 65 ableAsset.asset,.TrackAsset.pare
72a0 6e 74 54 72 61 63 6b 2c 20 64 6f 75 62 6c 65 20 63 61 6e 64 69 64 61 74 65 54 69 6d 65 29 0a 20 ntTrack,.double.candidateTime)..
72c0 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 70 61 72 65 6e 74 54 .......{.............if.(parentT
72e0 72 61 63 6b 20 3d 3d 20 6e 75 6c 6c 20 7c 7c 20 61 73 73 65 74 20 3d 3d 20 6e 75 6c 6c 20 7c 7c rack.==.null.||.asset.==.null.||
7300 20 21 54 79 70 65 55 74 69 6c 69 74 79 2e 49 73 43 6f 6e 63 72 65 74 65 50 6c 61 79 61 62 6c 65 .!TypeUtility.IsConcretePlayable
7320 41 73 73 65 74 28 61 73 73 65 74 2e 47 65 74 54 79 70 65 28 29 29 29 0a 20 20 20 20 20 20 20 20 Asset(asset.GetType())).........
7340 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 ........return.null;............
7360 20 20 54 69 6d 65 6c 69 6e 65 43 6c 69 70 20 6e 65 77 43 6c 69 70 20 3d 20 6e 75 6c 6c 3b 0a 20 ..TimelineClip.newClip.=.null;..
7380 20 20 20 20 20 20 20 20 20 20 20 74 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 ...........try.............{....
73a0 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 43 6c 69 70 20 3d 20 70 61 72 65 6e 74 54 72 61 .............newClip.=.parentTra
73c0 63 6b 2e 43 72 65 61 74 65 43 6c 69 70 46 72 6f 6d 50 6c 61 79 61 62 6c 65 41 73 73 65 74 28 61 ck.CreateClipFromPlayableAsset(a
73e0 73 73 65 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 sset);.............}............
7400 20 63 61 74 63 68 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 .catch.............{............
7420 20 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a .....return.null;.............}.
7440 0a 20 20 20 20 20 20 20 20 20 20 20 20 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 20 3d .............WindowState.state.=
7460 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 54 69 6d 65 6c 69 6e 65 57 .null;.............if.(TimelineW
7480 69 6e 64 6f 77 2e 69 6e 73 74 61 6e 63 65 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 indow.instance.!=.null).........
74a0 20 20 20 20 20 20 20 20 73 74 61 74 65 20 3d 20 54 69 6d 65 6c 69 6e 65 57 69 6e 64 6f 77 2e 69 ........state.=.TimelineWindow.i
74c0 6e 73 74 61 6e 63 65 2e 73 74 61 74 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 64 64 43 nstance.state;..............AddC
74e0 6c 69 70 4f 6e 54 72 61 63 6b 28 6e 65 77 43 6c 69 70 2c 20 70 61 72 65 6e 74 54 72 61 63 6b 2c lipOnTrack(newClip,.parentTrack,
7500 20 63 61 6e 64 69 64 61 74 65 54 69 6d 65 2c 20 6e 75 6c 6c 2c 20 73 74 61 74 65 29 3b 0a 0a 20 .candidateTime,.null,.state);...
7520 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77 43 6c 69 70 3b 0a 20 20 20 20 20 ...........return.newClip;......
7540 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 ...}..........public.static.void
7560 20 43 72 65 61 74 65 43 6c 69 70 73 46 72 6f 6d 4f 62 6a 65 63 74 73 28 54 79 70 65 20 61 73 73 .CreateClipsFromObjects(Type.ass
7580 65 74 54 79 70 65 2c 20 54 72 61 63 6b 41 73 73 65 74 20 74 61 72 67 65 74 54 72 61 63 6b 2c 20 etType,.TrackAsset.targetTrack,.
75a0 64 6f 75 62 6c 65 20 63 61 6e 64 69 64 61 74 65 54 69 6d 65 2c 20 49 45 6e 75 6d 65 72 61 62 6c double.candidateTime,.IEnumerabl
75c0 65 3c 4f 62 6a 65 63 74 3e 20 6f 62 6a 65 63 74 73 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 e<Object>.objects).........{....
75e0 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 76 61 72 20 6f 62 6a 20 69 6e 20 6f 62 6a .........foreach.(var.obj.in.obj
7600 65 63 74 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ects).............{.............
7620 20 20 20 20 69 66 20 28 4f 62 6a 65 63 74 52 65 66 65 72 65 6e 63 65 46 69 65 6c 64 2e 46 69 6e ....if.(ObjectReferenceField.Fin
7640 64 4f 62 6a 65 63 74 52 65 66 65 72 65 6e 63 65 73 28 61 73 73 65 74 54 79 70 65 29 2e 41 6e 79 dObjectReferences(assetType).Any
7660 28 66 20 3d 3e 20 66 2e 49 73 41 73 73 69 67 6e 61 62 6c 65 28 6f 62 6a 29 29 29 0a 20 20 20 20 (f.=>.f.IsAssignable(obj))).....
7680 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ............{...................
76a0 20 20 76 61 72 20 63 6c 69 70 20 3d 20 43 72 65 61 74 65 43 6c 69 70 4f 6e 54 72 61 63 6b 28 61 ..var.clip.=.CreateClipOnTrack(a
76c0 73 73 65 74 54 79 70 65 2c 20 6f 62 6a 2c 20 74 61 72 67 65 74 54 72 61 63 6b 2c 20 63 61 6e 64 ssetType,.obj,.targetTrack,.cand
76e0 69 64 61 74 65 54 69 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 idateTime);.....................
7700 63 61 6e 64 69 64 61 74 65 54 69 6d 65 20 2b 3d 20 63 6c 69 70 2e 64 75 72 61 74 69 6f 6e 3b 0a candidateTime.+=.clip.duration;.
7720 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 7d 0a ................}.............}.
7740 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 69 63 ........}..........public.static
7760 20 76 6f 69 64 20 43 72 65 61 74 65 4d 61 72 6b 65 72 73 46 72 6f 6d 4f 62 6a 65 63 74 73 28 54 .void.CreateMarkersFromObjects(T
7780 79 70 65 20 61 73 73 65 74 54 79 70 65 2c 20 54 72 61 63 6b 41 73 73 65 74 20 74 61 72 67 65 74 ype.assetType,.TrackAsset.target
77a0 54 72 61 63 6b 2c 20 64 6f 75 62 6c 65 20 63 61 6e 64 69 64 61 74 65 54 69 6d 65 2c 20 49 45 6e Track,.double.candidateTime,.IEn
77c0 75 6d 65 72 61 62 6c 65 3c 4f 62 6a 65 63 74 3e 20 6f 62 6a 65 63 74 73 29 0a 20 20 20 20 20 20 umerable<Object>.objects).......
77e0 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d 4c 69 73 74 20 3d 20 6e 65 77 20 ..{.............var.mList.=.new.
7800 4c 69 73 74 3c 49 54 69 6d 65 6c 69 6e 65 49 74 65 6d 3e 28 29 3b 0a 20 20 20 20 20 20 20 20 20 List<ITimelineItem>();..........
7820 20 20 20 66 6f 72 65 61 63 68 20 28 76 61 72 20 6f 62 6a 20 69 6e 20 6f 62 6a 65 63 74 73 29 0a ...foreach.(var.obj.in.objects).
7840 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 ............{.................if
7860 20 28 4f 62 6a 65 63 74 52 65 66 65 72 65 6e 63 65 46 69 65 6c 64 2e 46 69 6e 64 4f 62 6a 65 63 .(ObjectReferenceField.FindObjec
7880 74 52 65 66 65 72 65 6e 63 65 73 28 61 73 73 65 74 54 79 70 65 29 2e 41 6e 79 28 66 20 3d 3e 20 tReferences(assetType).Any(f.=>.
78a0 66 2e 49 73 41 73 73 69 67 6e 61 62 6c 65 28 6f 62 6a 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 f.IsAssignable(obj)))...........
78c0 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 76 61 72 20 ......{.....................var.
78e0 6d 61 72 6b 65 72 20 3d 20 43 72 65 61 74 65 4d 61 72 6b 65 72 4f 6e 54 72 61 63 6b 28 61 73 73 marker.=.CreateMarkerOnTrack(ass
7900 65 74 54 79 70 65 2c 20 6f 62 6a 2c 20 74 61 72 67 65 74 54 72 61 63 6b 2c 20 63 61 6e 64 69 64 etType,.obj,.targetTrack,.candid
7920 61 74 65 54 69 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 4c ateTime);.....................mL
7940 69 73 74 2e 41 64 64 28 6d 61 72 6b 65 72 2e 54 6f 49 74 65 6d 28 29 29 3b 0a 20 20 20 20 20 20 ist.Add(marker.ToItem());.......
7960 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 20 20 20 20 20 ..........}.............}.......
7980 20 20 20 20 20 20 20 76 61 72 20 73 74 61 74 65 20 3d 20 54 69 6d 65 6c 69 6e 65 57 69 6e 64 6f .......var.state.=.TimelineWindo
79a0 77 2e 69 6e 73 74 61 6e 63 65 2e 73 74 61 74 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f w.instance.state;.............fo
79c0 72 20 28 76 61 72 20 69 20 3d 20 31 3b 20 69 20 3c 20 6d 4c 69 73 74 2e 43 6f 75 6e 74 3b 20 2b r.(var.i.=.1;.i.<.mList.Count;.+
79e0 2b 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 +i).............{...............
7a00 20 20 76 61 72 20 64 65 6c 74 61 20 3d 20 49 74 65 6d 73 55 74 69 6c 73 2e 54 69 6d 65 47 61 70 ..var.delta.=.ItemsUtils.TimeGap
7a20 42 65 74 77 65 65 6e 49 74 65 6d 73 28 6d 4c 69 73 74 5b 69 20 2d 20 31 5d 2c 20 6d 4c 69 73 74 BetweenItems(mList[i.-.1],.mList
7a40 5b 69 5d 2c 20 73 74 61 74 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 4c 69 [i],.state);.................mLi
7a60 73 74 5b 69 5d 2e 73 74 61 72 74 20 2b 3d 20 64 65 6c 74 61 3b 0a 20 20 20 20 20 20 20 20 20 20 st[i].start.+=.delta;...........
7a80 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 46 69 6e 61 6c 69 7a 65 49 6e 73 65 72 74 49 ..}..............FinalizeInsertI
7aa0 74 65 6d 73 55 73 69 6e 67 43 75 72 72 65 6e 74 45 64 69 74 4d 6f 64 65 28 73 74 61 74 65 2c 20 temsUsingCurrentEditMode(state,.
7ac0 6e 65 77 5b 5d 20 7b 6e 65 77 20 49 74 65 6d 73 50 65 72 54 72 61 63 6b 28 74 61 72 67 65 74 54 new[].{new.ItemsPerTrack(targetT
7ae0 72 61 63 6b 2c 20 6d 4c 69 73 74 29 7d 2c 20 63 61 6e 64 69 64 61 74 65 54 69 6d 65 29 3b 0a 20 rack,.mList)},.candidateTime);..
7b00 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 20 20 20 20 ...........state.Refresh();.....
7b20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 49 4d 61 ....}..........public.static.IMa
7b40 72 6b 65 72 20 43 72 65 61 74 65 4d 61 72 6b 65 72 4f 6e 54 72 61 63 6b 28 54 79 70 65 20 6d 61 rker.CreateMarkerOnTrack(Type.ma
7b60 72 6b 65 72 54 79 70 65 2c 20 4f 62 6a 65 63 74 20 61 73 73 69 67 6e 61 62 6c 65 4f 62 6a 65 63 rkerType,.Object.assignableObjec
7b80 74 2c 20 54 72 61 63 6b 41 73 73 65 74 20 70 61 72 65 6e 74 54 72 61 63 6b 2c 20 64 6f 75 62 6c t,.TrackAsset.parentTrack,.doubl
7ba0 65 20 63 61 6e 64 69 64 61 74 65 54 69 6d 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 e.candidateTime).........{......
7bc0 20 20 20 20 20 20 20 57 69 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 20 3d 20 6e 75 6c 6c 3b .......WindowState.state.=.null;
7be0 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 54 69 6d 65 6c 69 6e 65 57 69 6e 64 6f 77 2e .............if.(TimelineWindow.
7c00 69 6e 73 74 61 6e 63 65 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 instance.!=.null)...............
7c20 20 20 73 74 61 74 65 20 3d 20 54 69 6d 65 6c 69 6e 65 57 69 6e 64 6f 77 2e 69 6e 73 74 61 6e 63 ..state.=.TimelineWindow.instanc
7c40 65 2e 73 74 61 74 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6e 65 77 4d 61 72 e.state;..............var.newMar
7c60 6b 65 72 20 3d 20 70 61 72 65 6e 74 54 72 61 63 6b 2e 43 72 65 61 74 65 4d 61 72 6b 65 72 28 6d ker.=.parentTrack.CreateMarker(m
7c80 61 72 6b 65 72 54 79 70 65 2c 20 63 61 6e 64 69 64 61 74 65 54 69 6d 65 29 3b 20 2f 2f 54 68 72 arkerType,.candidateTime);.//Thr
7ca0 6f 77 73 20 69 66 20 6d 61 72 6b 65 72 20 69 73 20 6e 6f 74 20 61 6e 20 6f 62 6a 65 63 74 0a 20 ows.if.marker.is.not.an.object..
7cc0 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6f 62 6a 20 3d 20 6e 65 77 4d 61 72 6b 65 72 20 61 ...........var.obj.=.newMarker.a
7ce0 73 20 53 63 72 69 70 74 61 62 6c 65 4f 62 6a 65 63 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 s.ScriptableObject;.............
7d00 69 66 20 28 6f 62 6a 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 if.(obj.!=.null)................
7d20 20 6f 62 6a 2e 6e 61 6d 65 20 3d 20 54 79 70 65 55 74 69 6c 69 74 79 2e 47 65 74 44 69 73 70 6c .obj.name.=.TypeUtility.GetDispl
7d40 61 79 4e 61 6d 65 28 6d 61 72 6b 65 72 54 79 70 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 ayName(markerType);.............
7d60 20 69 66 20 28 61 73 73 69 67 6e 61 62 6c 65 4f 62 6a 65 63 74 20 21 3d 20 6e 75 6c 6c 29 0a 20 .if.(assignableObject.!=.null)..
7d80 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
7da0 20 64 69 72 65 63 74 6f 72 20 3d 20 73 74 61 74 65 20 21 3d 20 6e 75 6c 6c 20 3f 20 73 74 61 74 .director.=.state.!=.null.?.stat
7dc0 65 2e 65 64 69 74 53 65 71 75 65 6e 63 65 2e 64 69 72 65 63 74 6f 72 20 3a 20 6e 75 6c 6c 3b 0a e.editSequence.director.:.null;.
7de0 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 76 61 72 20 66 69 65 ................foreach.(var.fie
7e00 6c 64 20 69 6e 20 4f 62 6a 65 63 74 52 65 66 65 72 65 6e 63 65 46 69 65 6c 64 2e 46 69 6e 64 4f ld.in.ObjectReferenceField.FindO
7e20 62 6a 65 63 74 52 65 66 65 72 65 6e 63 65 73 28 6d 61 72 6b 65 72 54 79 70 65 29 29 0a 20 20 20 bjectReferences(markerType))....
7e40 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 20 20 20 20 .............{..................
7e60 20 20 20 69 66 20 28 66 69 65 6c 64 2e 49 73 41 73 73 69 67 6e 61 62 6c 65 28 61 73 73 69 67 6e ...if.(field.IsAssignable(assign
7e80 61 62 6c 65 4f 62 6a 65 63 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ableObject))....................
7ea0 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 66 69 65 6c 64 .{.........................field
7ec0 2e 41 73 73 69 67 6e 28 6e 65 77 4d 61 72 6b 65 72 20 61 73 20 53 63 72 69 70 74 61 62 6c 65 4f .Assign(newMarker.as.ScriptableO
7ee0 62 6a 65 63 74 2c 20 61 73 73 69 67 6e 61 62 6c 65 4f 62 6a 65 63 74 2c 20 64 69 72 65 63 74 6f bject,.assignableObject,.directo
7f00 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 r);.........................brea
7f20 6b 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 20 20 20 20 20 20 k;.....................}........
7f40 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 20 20 20 20 20 20 .........}.............}........
7f60 20 20 20 20 20 20 74 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 ......try.............{.........
7f80 20 20 20 20 20 20 20 20 43 75 73 74 6f 6d 54 69 6d 65 6c 69 6e 65 45 64 69 74 6f 72 43 61 63 68 ........CustomTimelineEditorCach
7fa0 65 2e 47 65 74 4d 61 72 6b 65 72 45 64 69 74 6f 72 28 6e 65 77 4d 61 72 6b 65 72 29 2e 4f 6e 43 e.GetMarkerEditor(newMarker).OnC
7fc0 72 65 61 74 65 28 6e 65 77 4d 61 72 6b 65 72 2c 20 6e 75 6c 6c 29 3b 0a 20 20 20 20 20 20 20 20 reate(newMarker,.null);.........
7fe0 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 74 63 68 20 28 45 78 63 65 70 74 69 ....}.............catch.(Excepti
8000 6f 6e 20 65 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 on.e).............{.............
8020 20 20 20 20 44 65 62 75 67 2e 4c 6f 67 45 78 63 65 70 74 69 6f 6e 28 65 29 3b 0a 20 20 20 20 20 ....Debug.LogException(e);......
8040 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77 .......}..............return.new
8060 4d 61 72 6b 65 72 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 Marker;.........}..........publi
8080 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 43 72 65 61 74 65 43 6c 69 70 73 46 72 6f 6d 54 79 70 c.static.void.CreateClipsFromTyp
80a0 65 73 28 49 45 6e 75 6d 65 72 61 62 6c 65 3c 54 79 70 65 3e 20 61 73 73 65 74 54 79 70 65 73 2c es(IEnumerable<Type>.assetTypes,
80c0 20 54 72 61 63 6b 41 73 73 65 74 20 74 61 72 67 65 74 54 72 61 63 6b 2c 20 64 6f 75 62 6c 65 20 .TrackAsset.targetTrack,.double.
80e0 63 61 6e 64 69 64 61 74 65 54 69 6d 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 candidateTime).........{........
8100 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 76 61 72 20 61 73 73 65 74 54 79 70 65 20 69 6e 20 61 .....foreach.(var.assetType.in.a
8120 73 73 65 74 54 79 70 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 ssetTypes).............{........
8140 20 20 20 20 20 20 20 20 20 76 61 72 20 63 6c 69 70 20 3d 20 43 72 65 61 74 65 43 6c 69 70 4f 6e .........var.clip.=.CreateClipOn
8160 54 72 61 63 6b 28 61 73 73 65 74 54 79 70 65 2c 20 74 61 72 67 65 74 54 72 61 63 6b 2c 20 63 61 Track(assetType,.targetTrack,.ca
8180 6e 64 69 64 61 74 65 54 69 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 ndidateTime);.................ca
81a0 6e 64 69 64 61 74 65 54 69 6d 65 20 2b 3d 20 63 6c 69 70 2e 64 75 72 61 74 69 6f 6e 3b 0a 20 20 ndidateTime.+=.clip.duration;...
81c0 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 20 20 20 20 20 70 ..........}.........}..........p
81e0 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 46 72 61 6d 65 49 74 65 6d 73 28 57 69 6e ublic.static.void.FrameItems(Win
8200 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 2c 20 49 45 6e 75 6d 65 72 61 62 6c 65 3c 49 54 69 6d dowState.state,.IEnumerable<ITim
8220 65 6c 69 6e 65 49 74 65 6d 3e 20 69 74 65 6d 73 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 elineItem>.items).........{.....
8240 20 20 20 20 20 20 20 20 69 66 20 28 69 74 65 6d 73 20 3d 3d 20 6e 75 6c 6c 20 7c 7c 20 21 69 74 ........if.(items.==.null.||.!it
8260 65 6d 73 2e 41 6e 79 28 29 20 7c 7c 20 73 74 61 74 65 20 3d 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 ems.Any().||.state.==.null).....
8280 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;.............
82a0 20 2f 2f 20 69 66 20 74 68 69 73 20 69 73 20 63 61 6c 6c 65 64 20 62 65 66 6f 72 65 20 61 20 72 .//.if.this.is.called.before.a.r
82c0 65 70 61 69 6e 74 2c 20 74 68 65 20 74 69 6d 65 41 72 65 61 20 63 61 6e 20 62 65 20 6e 75 6c 6c epaint,.the.timeArea.can.be.null
82e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 77 69 6e 64 6f 77 20 3d 20 73 74 61 74 65 2e .............var.window.=.state.
8300 65 64 69 74 6f 72 57 69 6e 64 6f 77 20 61 73 20 54 69 6d 65 6c 69 6e 65 57 69 6e 64 6f 77 3b 0a editorWindow.as.TimelineWindow;.
8320 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 77 69 6e 64 6f 77 20 3d 3d 20 6e 75 6c 6c 20 7c ............if.(window.==.null.|
8340 7c 20 77 69 6e 64 6f 77 2e 74 69 6d 65 41 72 65 61 20 3d 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 |.window.timeArea.==.null)......
8360 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 20 ...........return;..............
8380 76 61 72 20 73 74 61 72 74 20 3d 20 28 66 6c 6f 61 74 29 69 74 65 6d 73 2e 4d 69 6e 28 78 20 3d var.start.=.(float)items.Min(x.=
83a0 3e 20 78 2e 73 74 61 72 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 65 6e 64 20 >.x.start);.............var.end.
83c0 3d 20 28 66 6c 6f 61 74 29 69 74 65 6d 73 2e 4d 61 78 28 78 20 3d 3e 20 78 2e 65 6e 64 29 3b 0a =.(float)items.Max(x.=>.x.end);.
83e0 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 74 69 6d 65 52 61 6e 67 65 20 3d 20 73 74 61 74 ............var.timeRange.=.stat
8400 65 2e 74 69 6d 65 41 72 65 61 53 68 6f 77 6e 52 61 6e 67 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 e.timeAreaShownRange;...........
8420 20 20 20 2f 2f 20 6e 6f 74 68 69 6e 67 20 74 6f 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...//.nothing.to.do.............
8440 69 66 20 28 74 69 6d 65 52 61 6e 67 65 2e 78 20 3c 3d 20 73 74 61 72 74 20 26 26 20 74 69 6d 65 if.(timeRange.x.<=.start.&&.time
8460 52 61 6e 67 65 2e 79 20 3e 3d 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 Range.y.>=.end).................
8480 72 65 74 75 72 6e 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 64 73 20 3d 20 73 74 return;..............var.ds.=.st
84a0 61 72 74 20 2d 20 74 69 6d 65 52 61 6e 67 65 2e 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 art.-.timeRange.x;.............v
84c0 61 72 20 64 65 20 3d 20 65 6e 64 20 2d 20 74 69 6d 65 52 61 6e 67 65 2e 79 3b 0a 0a 20 20 20 20 ar.de.=.end.-.timeRange.y;......
84e0 20 20 20 20 20 20 20 20 76 61 72 20 70 61 64 64 69 6e 67 20 3d 20 73 74 61 74 65 2e 50 69 78 65 ........var.padding.=.state.Pixe
8500 6c 44 65 6c 74 61 54 6f 44 65 6c 74 61 54 69 6d 65 28 31 35 29 3b 0a 20 20 20 20 20 20 20 20 20 lDeltaToDeltaTime(15);..........
8520 20 20 20 76 61 72 20 64 20 3d 20 4d 61 74 68 2e 41 62 73 28 64 73 29 20 3c 20 4d 61 74 68 2e 41 ...var.d.=.Math.Abs(ds).<.Math.A
8540 62 73 28 64 65 29 20 3f 20 64 73 20 2d 20 70 61 64 64 69 6e 67 20 3a 20 64 65 20 2b 20 70 61 64 bs(de).?.ds.-.padding.:.de.+.pad
8560 64 69 6e 67 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 2e 53 65 74 54 69 6d 65 ding;..............state.SetTime
8580 41 72 65 61 53 68 6f 77 6e 52 61 6e 67 65 28 74 69 6d 65 52 61 6e 67 65 2e 78 20 2b 20 64 2c 20 AreaShownRange(timeRange.x.+.d,.
85a0 74 69 6d 65 52 61 6e 67 65 2e 79 20 2b 20 64 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 timeRange.y.+.d);.........}.....
85c0 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 46 72 61 6d 65 28 57 69 .....public.static.void.Frame(Wi
85e0 6e 64 6f 77 53 74 61 74 65 20 73 74 61 74 65 2c 20 64 6f 75 62 6c 65 20 73 74 61 72 74 2c 20 64 ndowState.state,.double.start,.d
8600 6f 75 62 6c 65 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ouble.end).........{............
8620 20 76 61 72 20 74 69 6d 65 52 61 6e 67 65 20 3d 20 73 74 61 74 65 2e 74 69 6d 65 41 72 65 61 53 .var.timeRange.=.state.timeAreaS
8640 68 6f 77 6e 52 61 6e 67 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 6e 6f 74 68 69 hownRange;..............//.nothi
8660 6e 67 20 74 6f 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 69 6d 65 52 61 6e ng.to.do.............if.(timeRan
8680 67 65 2e 78 20 3c 3d 20 73 74 61 72 74 20 26 26 20 74 69 6d 65 52 61 6e 67 65 2e 79 20 3e 3d 20 ge.x.<=.start.&&.timeRange.y.>=.
86a0 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 0a 20 20 end).................return;....
86c0 20 20 20 20 20 20 20 20 20 20 76 61 72 20 64 73 20 3d 20 28 66 6c 6f 61 74 29 73 74 61 72 74 20 ..........var.ds.=.(float)start.
86e0 2d 20 74 69 6d 65 52 61 6e 67 65 2e 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 64 -.timeRange.x;.............var.d
8700 65 20 3d 20 28 66 6c 6f 61 74 29 65 6e 64 20 2d 20 74 69 6d 65 52 61 6e 67 65 2e 79 3b 0a 0a 20 e.=.(float)end.-.timeRange.y;...
8720 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 70 61 64 64 69 6e 67 20 3d 20 73 74 61 74 65 2e 50 ...........var.padding.=.state.P
8740 69 78 65 6c 44 65 6c 74 61 54 6f 44 65 6c 74 61 54 69 6d 65 28 31 35 29 3b 0a 20 20 20 20 20 20 ixelDeltaToDeltaTime(15);.......
8760 20 20 20 20 20 20 76 61 72 20 64 20 3d 20 4d 61 74 68 2e 41 62 73 28 64 73 29 20 3c 20 4d 61 74 ......var.d.=.Math.Abs(ds).<.Mat
8780 68 2e 41 62 73 28 64 65 29 20 3f 20 64 73 20 2d 20 70 61 64 64 69 6e 67 20 3a 20 64 65 20 2b 20 h.Abs(de).?.ds.-.padding.:.de.+.
87a0 70 61 64 64 69 6e 67 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 2e 53 65 74 54 padding;..............state.SetT
87c0 69 6d 65 41 72 65 61 53 68 6f 77 6e 52 61 6e 67 65 28 74 69 6d 65 52 61 6e 67 65 2e 78 20 2b 20 imeAreaShownRange(timeRange.x.+.
87e0 64 2c 20 74 69 6d 65 52 61 6e 67 65 2e 79 20 2b 20 64 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a d,.timeRange.y.+.d);.........}..
8800 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 52 61 6e 67 65 ........public.static.void.Range
8820 53 65 6c 65 63 74 3c 54 3e 28 49 4c 69 73 74 3c 54 3e 20 74 6f 74 61 6c 43 6f 6c 6c 65 63 74 69 Select<T>(IList<T>.totalCollecti
8840 6f 6e 2c 20 49 4c 69 73 74 3c 54 3e 20 63 75 72 72 65 6e 74 53 65 6c 65 63 74 69 6f 6e 2c 20 54 on,.IList<T>.currentSelection,.T
8860 20 63 6c 69 63 6b 65 64 49 74 65 6d 2c 20 41 63 74 69 6f 6e 3c 54 3e 20 73 65 6c 65 63 74 6f 72 .clickedItem,.Action<T>.selector
8880 2c 20 41 63 74 69 6f 6e 3c 54 3e 20 72 65 6d 6f 76 65 72 29 20 77 68 65 72 65 20 54 20 3a 20 63 ,.Action<T>.remover).where.T.:.c
88a0 6c 61 73 73 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 66 lass.........{.............var.f
88c0 69 72 73 74 53 65 6c 65 63 74 20 3d 20 63 75 72 72 65 6e 74 53 65 6c 65 63 74 69 6f 6e 2e 46 69 irstSelect.=.currentSelection.Fi
88e0 72 73 74 4f 72 44 65 66 61 75 6c 74 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 rstOrDefault();.............if.(
8900 66 69 72 73 74 53 65 6c 65 63 74 20 3d 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 firstSelect.==.null)............
8920 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 65 63 74 6f 72 28 63 6c 69 63 .{.................selector(clic
8940 6b 65 64 49 74 65 6d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e kedItem);.................return
8960 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 76 61 72 ;.............}..............var
8980 20 69 64 78 46 69 72 73 74 53 65 6c 65 63 74 20 3d 20 74 6f 74 61 6c 43 6f 6c 6c 65 63 74 69 6f .idxFirstSelect.=.totalCollectio
89a0 6e 2e 49 6e 64 65 78 4f 66 28 66 69 72 73 74 53 65 6c 65 63 74 29 3b 0a 20 20 20 20 20 20 20 20 n.IndexOf(firstSelect);.........
89c0 20 20 20 20 76 61 72 20 69 64 78 4c 61 73 74 53 65 6c 65 63 74 20 3d 20 74 6f 74 61 6c 43 6f 6c ....var.idxLastSelect.=.totalCol
89e0 6c 65 63 74 69 6f 6e 2e 49 6e 64 65 78 4f 66 28 63 75 72 72 65 6e 74 53 65 6c 65 63 74 69 6f 6e lection.IndexOf(currentSelection
8a00 2e 4c 61 73 74 28 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 69 64 78 43 6c 69 .Last());.............var.idxCli
8a20 63 6b 65 64 20 3d 20 74 6f 74 61 6c 43 6f 6c 6c 65 63 74 69 6f 6e 2e 49 6e 64 65 78 4f 66 28 63 cked.=.totalCollection.IndexOf(c
8a40 6c 69 63 6b 65 64 49 74 65 6d 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 63 61 73 65 lickedItem);..............//case
8a60 20 39 32 37 38 30 37 3a 20 73 65 6c 65 63 74 69 6f 6e 20 69 73 20 69 6e 76 61 6c 69 64 0a 20 20 .927807:.selection.is.invalid...
8a80 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 64 78 46 69 72 73 74 53 65 6c 65 63 74 20 3c 20 30 ..........if.(idxFirstSelect.<.0
8aa0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).............{.................
8ac0 53 65 6c 65 63 74 69 6f 6e 4d 61 6e 61 67 65 72 2e 43 6c 65 61 72 28 29 3b 0a 20 20 20 20 20 20 SelectionManager.Clear();.......
8ae0 20 20 20 20 20 20 20 20 20 20 73 65 6c 65 63 74 6f 72 28 63 6c 69 63 6b 65 64 49 74 65 6d 29 3b ..........selector(clickedItem);
8b00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 20 20 20 20 20 20 20 .................return;........
8b20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 45 78 70 61 6e 64 20 74 68 .....}..............//.Expand.th
8b40 65 20 73 65 6c 65 63 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 74 68 65 20 66 69 72 73 74 20 73 65 e.selection.between.the.first.se
8b60 6c 65 63 74 65 64 20 63 6c 69 70 20 61 6e 64 20 63 6c 69 63 6b 65 64 20 63 6c 69 70 20 28 69 6e lected.clip.and.clicked.clip.(in
8b80 73 65 72 74 69 6f 6e 20 6f 72 64 65 72 20 69 73 20 69 6d 70 6f 72 74 61 6e 74 29 0a 20 20 20 20 sertion.order.is.important).....
8ba0 20 20 20 20 20 20 20 20 69 66 20 28 69 64 78 46 69 72 73 74 53 65 6c 65 63 74 20 3c 20 69 64 78 ........if.(idxFirstSelect.<.idx
8bc0 43 6c 69 63 6b 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 76 61 Clicked).................for.(va
8be0 72 20 69 20 3d 20 69 64 78 46 69 72 73 74 53 65 6c 65 63 74 3b 20 69 20 3c 3d 20 69 64 78 43 6c r.i.=.idxFirstSelect;.i.<=.idxCl
8c00 69 63 6b 65 64 3b 20 2b 2b 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 icked;.++i).....................
8c20 73 65 6c 65 63 74 6f 72 28 74 6f 74 61 6c 43 6f 6c 6c 65 63 74 69 6f 6e 5b 69 5d 29 3b 0a 20 20 selector(totalCollection[i]);...
8c40 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 ..........else.................f
8c60 6f 72 20 28 76 61 72 20 69 20 3d 20 69 64 78 46 69 72 73 74 53 65 6c 65 63 74 3b 20 69 20 3e 3d or.(var.i.=.idxFirstSelect;.i.>=
8c80 20 69 64 78 43 6c 69 63 6b 65 64 3b 20 2d 2d 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .idxClicked;.--i)...............
8ca0 20 20 20 20 20 20 73 65 6c 65 63 74 6f 72 28 74 6f 74 61 6c 43 6f 6c 6c 65 63 74 69 6f 6e 5b 69 ......selector(totalCollection[i
8cc0 5d 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 66 20 63 6c 69 63 6b 65 64 20 69 ]);..............//.If.clicked.i
8ce0 6e 73 69 64 65 20 74 68 65 20 73 65 6c 65 63 74 65 64 20 72 61 6e 67 65 2c 20 73 68 72 69 6e 6b nside.the.selected.range,.shrink
8d00 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 74 68 65 20 74 68 65 20 63 .the.selection.between.the.the.c
8d20 6c 69 63 6b 20 61 6e 64 20 6c 61 73 74 20 73 65 6c 65 63 74 65 64 20 63 6c 69 70 0a 20 20 20 20 lick.and.last.selected.clip.....
8d40 20 20 20 20 20 20 20 20 69 66 20 28 4d 61 74 68 2e 4d 69 6e 28 69 64 78 46 69 72 73 74 53 65 6c ........if.(Math.Min(idxFirstSel
8d60 65 63 74 2c 20 69 64 78 4c 61 73 74 53 65 6c 65 63 74 29 20 3c 20 69 64 78 43 6c 69 63 6b 65 64 ect,.idxLastSelect).<.idxClicked
8d80 20 26 26 20 69 64 78 43 6c 69 63 6b 65 64 20 3c 20 4d 61 74 68 2e 4d 61 78 28 69 64 78 46 69 72 .&&.idxClicked.<.Math.Max(idxFir
8da0 73 74 53 65 6c 65 63 74 2c 20 69 64 78 4c 61 73 74 53 65 6c 65 63 74 29 29 0a 20 20 20 20 20 20 stSelect,.idxLastSelect)).......
8dc0 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 76 61 72 20 69 20 3d 20 4d 61 74 68 2e 4d 69 6e 28 ..........for.(var.i.=.Math.Min(
8de0 69 64 78 4c 61 73 74 53 65 6c 65 63 74 2c 20 69 64 78 43 6c 69 63 6b 65 64 29 3b 20 69 20 3c 3d idxLastSelect,.idxClicked);.i.<=
8e00 20 4d 61 74 68 2e 4d 61 78 28 69 64 78 4c 61 73 74 53 65 6c 65 63 74 2c 20 69 64 78 43 6c 69 63 .Math.Max(idxLastSelect,.idxClic
8e20 6b 65 64 29 3b 20 2b 2b 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 ked);.++i).....................r
8e40 65 6d 6f 76 65 72 28 74 6f 74 61 6c 43 6f 6c 6c 65 63 74 69 6f 6e 5b 69 5d 29 3b 0a 0a 20 20 20 emover(totalCollection[i]);.....
8e60 20 20 20 20 20 20 20 20 20 2f 2f 20 45 6e 73 75 72 65 20 63 6c 69 63 6b 65 64 20 63 6c 69 70 20 .........//.Ensure.clicked.clip.
8e80 69 73 20 73 65 6c 65 63 74 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 65 63 74 6f 72 is.selected.............selector
8ea0 28 63 6c 69 63 6b 65 64 49 74 65 6d 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 (clickedItem);.........}........
8ec0 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 42 69 6e 64 28 54 72 61 63 6b 41 ..public.static.void.Bind(TrackA
8ee0 73 73 65 74 20 74 72 61 63 6b 2c 20 4f 62 6a 65 63 74 20 6f 62 6a 2c 20 50 6c 61 79 61 62 6c 65 sset.track,.Object.obj,.Playable
8f00 44 69 72 65 63 74 6f 72 20 64 69 72 65 63 74 6f 72 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 Director.director).........{....
8f20 20 20 20 20 20 20 20 20 20 69 66 20 28 64 69 72 65 63 74 6f 72 20 21 3d 20 6e 75 6c 6c 20 26 26 .........if.(director.!=.null.&&
8f40 20 74 72 61 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 .track.!=.null).............{...
8f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 62 69 6e 64 54 79 70 65 20 3d 20 54 79 70 ..............var.bindType.=.Typ
8f80 65 55 74 69 6c 69 74 79 2e 47 65 74 54 72 61 63 6b 42 69 6e 64 69 6e 67 41 74 74 72 69 62 75 74 eUtility.GetTrackBindingAttribut
8fa0 65 28 74 72 61 63 6b 2e 47 65 74 54 79 70 65 28 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 e(track.GetType());.............
8fc0 20 20 20 20 69 66 20 28 62 69 6e 64 54 79 70 65 20 3d 3d 20 6e 75 6c 6c 20 7c 7c 20 62 69 6e 64 ....if.(bindType.==.null.||.bind
8fe0 54 79 70 65 2e 74 79 70 65 20 3d 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 Type.type.==.null)..............
9000 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 20 20 20 20 .......return;..................
9020 69 66 20 28 6f 62 6a 20 3d 3d 20 6e 75 6c 6c 20 7c 7c 20 62 69 6e 64 54 79 70 65 2e 74 79 70 65 if.(obj.==.null.||.bindType.type
9040 2e 49 73 49 6e 73 74 61 6e 63 65 4f 66 54 79 70 65 28 6f 62 6a 29 29 0a 20 20 20 20 20 20 20 20 .IsInstanceOfType(obj)).........
9060 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 54 69 ........{.....................Ti
9080 6d 65 6c 69 6e 65 55 6e 64 6f 2e 50 75 73 68 55 6e 64 6f 28 64 69 72 65 63 74 6f 72 2c 20 22 42 melineUndo.PushUndo(director,."B
90a0 69 6e 64 20 54 72 61 63 6b 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ind.Track");....................
90c0 20 64 69 72 65 63 74 6f 72 2e 53 65 74 47 65 6e 65 72 69 63 42 69 6e 64 69 6e 67 28 74 72 61 63 .director.SetGenericBinding(trac
90e0 6b 2c 20 6f 62 6a 29 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 k,.obj);.................}......
9100 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 6f 62 6a 20 69 73 20 47 61 6d 65 4f ...........else.if.(obj.is.GameO
9120 62 6a 65 63 74 20 26 26 20 74 79 70 65 6f 66 28 43 6f 6d 70 6f 6e 65 6e 74 29 2e 49 73 41 73 73 bject.&&.typeof(Component).IsAss
9140 69 67 6e 61 62 6c 65 46 72 6f 6d 28 62 69 6e 64 54 79 70 65 2e 74 79 70 65 29 29 0a 20 20 20 20 ignableFrom(bindType.type)).....
9160 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ............{...................
9180 20 20 76 61 72 20 63 6f 6d 70 6f 6e 65 6e 74 20 3d 20 28 6f 62 6a 20 61 73 20 47 61 6d 65 4f 62 ..var.component.=.(obj.as.GameOb
91a0 6a 65 63 74 29 2e 47 65 74 43 6f 6d 70 6f 6e 65 6e 74 28 62 69 6e 64 54 79 70 65 2e 74 79 70 65 ject).GetComponent(bindType.type
91c0 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 6f 6d 70 6f );.....................if.(compo
91e0 6e 65 6e 74 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 nent.==.null)...................
9200 20 20 20 20 20 20 63 6f 6d 70 6f 6e 65 6e 74 20 3d 20 55 6e 64 6f 2e 41 64 64 43 6f 6d 70 6f 6e ......component.=.Undo.AddCompon
9220 65 6e 74 28 6f 62 6a 20 61 73 20 47 61 6d 65 4f 62 6a 65 63 74 2c 20 62 69 6e 64 54 79 70 65 2e ent(obj.as.GameObject,.bindType.
9240 74 79 70 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 69 6d 65 type);......................Time
9260 6c 69 6e 65 55 6e 64 6f 2e 50 75 73 68 55 6e 64 6f 28 64 69 72 65 63 74 6f 72 2c 20 22 42 69 6e lineUndo.PushUndo(director,."Bin
9280 64 20 54 72 61 63 6b 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 d.Track");.....................d
92a0 69 72 65 63 74 6f 72 2e 53 65 74 47 65 6e 65 72 69 63 42 69 6e 64 69 6e 67 28 74 72 61 63 6b 2c irector.SetGenericBinding(track,
92c0 20 63 6f 6d 70 6f 6e 65 6e 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 .component);.................}..
92e0 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 20 20 20 20 20 ...........}.........}..........
9300 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 53 68 61 72 65 64 ///.<summary>.........///.Shared
9320 20 63 6f 64 65 20 66 6f 72 20 61 64 64 69 6e 67 20 61 20 63 6c 69 70 20 74 6f 20 61 20 74 72 61 .code.for.adding.a.clip.to.a.tra
9340 63 6b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 ck.........///.</summary>.......
9360 20 20 73 74 61 74 69 63 20 76 6f 69 64 20 41 64 64 43 6c 69 70 4f 6e 54 72 61 63 6b 28 54 69 6d ..static.void.AddClipOnTrack(Tim
9380 65 6c 69 6e 65 43 6c 69 70 20 6e 65 77 43 6c 69 70 2c 20 54 72 61 63 6b 41 73 73 65 74 20 70 61 elineClip.newClip,.TrackAsset.pa
93a0 72 65 6e 74 54 72 61 63 6b 2c 20 64 6f 75 62 6c 65 20 63 61 6e 64 69 64 61 74 65 54 69 6d 65 2c rentTrack,.double.candidateTime,
93c0 20 4f 62 6a 65 63 74 20 61 73 73 69 67 6e 61 62 6c 65 4f 62 6a 65 63 74 2c 20 57 69 6e 64 6f 77 .Object.assignableObject,.Window
93e0 53 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 State.state).........{..........
9400 20 20 20 76 61 72 20 70 6c 61 79 61 62 6c 65 41 73 73 65 74 20 3d 20 6e 65 77 43 6c 69 70 2e 61 ...var.playableAsset.=.newClip.a
9420 73 73 65 74 20 61 73 20 49 50 6c 61 79 61 62 6c 65 41 73 73 65 74 3b 0a 0a 20 20 20 20 20 20 20 sset.as.IPlayableAsset;.........
9440 20 20 20 20 20 6e 65 77 43 6c 69 70 2e 70 61 72 65 6e 74 54 72 61 63 6b 20 3d 20 6e 75 6c 6c 3b .....newClip.parentTrack.=.null;
9460 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 43 6c 69 70 2e 74 69 6d 65 53 63 61 6c 65 20 3d .............newClip.timeScale.=
9480 20 31 2e 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 43 6c 69 70 2e 6d 69 78 49 6e 43 .1.0;.............newClip.mixInC
94a0 75 72 76 65 20 3d 20 41 6e 69 6d 61 74 69 6f 6e 43 75 72 76 65 2e 45 61 73 65 49 6e 4f 75 74 28 urve.=.AnimationCurve.EaseInOut(
94c0 30 2c 20 30 2c 20 31 2c 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 43 6c 69 70 0,.0,.1,.1);.............newClip
94e0 2e 6d 69 78 4f 75 74 43 75 72 76 65 20 3d 20 41 6e 69 6d 61 74 69 6f 6e 43 75 72 76 65 2e 45 61 .mixOutCurve.=.AnimationCurve.Ea
9500 73 65 49 6e 4f 75 74 28 30 2c 20 31 2c 20 31 2c 20 30 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 seInOut(0,.1,.1,.0);............
9520 20 20 76 61 72 20 70 6c 61 79 61 62 6c 65 44 69 72 65 63 74 6f 72 20 3d 20 73 74 61 74 65 20 21 ..var.playableDirector.=.state.!
9540 3d 20 6e 75 6c 6c 20 3f 20 73 74 61 74 65 2e 65 64 69 74 53 65 71 75 65 6e 63 65 2e 64 69 72 65 =.null.?.state.editSequence.dire
9560 63 74 6f 72 20 3a 20 6e 75 6c 6c 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 61 73 ctor.:.null;..............if.(as
9580 73 69 67 6e 61 62 6c 65 4f 62 6a 65 63 74 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 signableObject.!=.null).........
95a0 20 20 20 20 7b 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 76 ....{.................foreach.(v
95c0 61 72 20 66 69 65 6c 64 20 69 6e 20 4f 62 6a 65 63 74 52 65 66 65 72 65 6e 63 65 46 69 65 6c 64 ar.field.in.ObjectReferenceField
95e0 2e 46 69 6e 64 4f 62 6a 65 63 74 52 65 66 65 72 65 6e 63 65 73 28 70 6c 61 79 61 62 6c 65 41 73 .FindObjectReferences(playableAs
9600 73 65 74 2e 47 65 74 54 79 70 65 28 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 set.GetType())).................
9620 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 66 69 65 6c 64 2e {.....................if.(field.
9640 49 73 41 73 73 69 67 6e 61 62 6c 65 28 61 73 73 69 67 6e 61 62 6c 65 4f 62 6a 65 63 74 29 29 0a IsAssignable(assignableObject)).
9660 20 20 20 20 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 ....................{...........
9680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 43 6c 69 70 2e 64 69 73 70 6c 61 79 4e 61 6d ..............newClip.displayNam
96a0 65 20 3d 20 61 73 73 69 67 6e 61 62 6c 65 4f 62 6a 65 63 74 2e 6e 61 6d 65 3b 0a 20 20 20 20 20 e.=.assignableObject.name;......
96c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 65 6c 64 2e 41 73 73 69 67 6e 28 ...................field.Assign(
96e0 6e 65 77 43 6c 69 70 2e 61 73 73 65 74 20 61 73 20 50 6c 61 79 61 62 6c 65 41 73 73 65 74 2c 20 newClip.asset.as.PlayableAsset,.
9700 61 73 73 69 67 6e 61 62 6c 65 4f 62 6a 65 63 74 2c 20 70 6c 61 79 61 62 6c 65 44 69 72 65 63 74 assignableObject,.playableDirect
9720 6f 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 or);.........................bre
9740 61 6b 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 20 20 20 20 20 ak;.....................}.......
9760 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 20 20 20 20 20 ..........}.............}.......
9780 20 20 20 20 20 20 20 2f 2f 20 67 65 74 20 74 68 65 20 63 6c 69 70 20 65 64 69 74 6f 72 0a 20 20 .......//.get.the.clip.editor...
97a0 20 20 20 20 20 20 20 20 20 20 74 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 ..........try.............{.....
97c0 20 20 20 20 20 20 20 20 20 20 20 20 43 75 73 74 6f 6d 54 69 6d 65 6c 69 6e 65 45 64 69 74 6f 72 ............CustomTimelineEditor
97e0 43 61 63 68 65 2e 47 65 74 43 6c 69 70 45 64 69 74 6f 72 28 6e 65 77 43 6c 69 70 29 2e 4f 6e 43 Cache.GetClipEditor(newClip).OnC
9800 72 65 61 74 65 28 6e 65 77 43 6c 69 70 2c 20 70 61 72 65 6e 74 54 72 61 63 6b 2c 20 6e 75 6c 6c reate(newClip,.parentTrack,.null
9820 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 74 );.............}.............cat
9840 63 68 20 28 45 78 63 65 70 74 69 6f 6e 20 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 ch.(Exception.e).............{..
9860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 4c 6f 67 45 78 63 65 70 74 69 6f ...............Debug.LogExceptio
9880 6e 28 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 0a 20 20 20 20 20 20 20 20 20 20 n(e);.............}.............
98a0 20 20 2f 2f 20 72 65 73 65 74 20 74 68 65 20 64 75 72 61 74 69 6f 6e 20 61 73 20 74 68 65 20 6e ..//.reset.the.duration.as.the.n
98c0 65 77 6c 79 20 61 73 73 69 67 6e 65 64 20 76 61 6c 75 65 73 20 6d 61 79 20 68 61 76 65 20 63 68 ewly.assigned.values.may.have.ch
98e0 61 6e 67 65 64 20 74 68 65 20 64 65 66 61 75 6c 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 anged.the.default.............if
9900 20 28 70 6c 61 79 61 62 6c 65 41 73 73 65 74 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 .(playableAsset.!=.null)........
9920 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 63 61 6e 64 69 .....{.................var.candi
9940 64 61 74 65 44 75 72 61 74 69 6f 6e 20 3d 20 70 6c 61 79 61 62 6c 65 41 73 73 65 74 2e 64 75 72 dateDuration.=.playableAsset.dur
9960 61 74 69 6f 6e 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 64 6f 75 ation;..................if.(!dou
9980 62 6c 65 2e 49 73 49 6e 66 69 6e 69 74 79 28 63 61 6e 64 69 64 61 74 65 44 75 72 61 74 69 6f 6e ble.IsInfinity(candidateDuration
99a0 29 20 26 26 20 63 61 6e 64 69 64 61 74 65 44 75 72 61 74 69 6f 6e 20 3e 20 30 29 0a 20 20 20 20 ).&&.candidateDuration.>.0).....
99c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 43 6c 69 70 2e 64 75 72 61 74 69 6f 6e ................newClip.duration
99e0 20 3d 20 4d 61 74 68 2e 4d 69 6e 28 4d 61 74 68 2e 4d 61 78 28 63 61 6e 64 69 64 61 74 65 44 75 .=.Math.Min(Math.Max(candidateDu
9a00 72 61 74 69 6f 6e 2c 20 54 69 6d 65 6c 69 6e 65 43 6c 69 70 2e 6b 4d 69 6e 44 75 72 61 74 69 6f ration,.TimelineClip.kMinDuratio
9a20 6e 29 2c 20 54 69 6d 65 6c 69 6e 65 43 6c 69 70 2e 6b 4d 61 78 54 69 6d 65 56 61 6c 75 65 29 3b n),.TimelineClip.kMaxTimeValue);
9a40 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 .............}..............var.
9a60 6e 65 77 43 6c 69 70 73 42 79 54 72 61 63 6b 73 20 3d 20 6e 65 77 5b 5d 20 7b 20 6e 65 77 20 49 newClipsByTracks.=.new[].{.new.I
9a80 74 65 6d 73 50 65 72 54 72 61 63 6b 28 70 61 72 65 6e 74 54 72 61 63 6b 2c 20 6e 65 77 5b 5d 20 temsPerTrack(parentTrack,.new[].
9aa0 7b 6e 65 77 43 6c 69 70 2e 54 6f 49 74 65 6d 28 29 7d 29 20 7d 3b 0a 0a 20 20 20 20 20 20 20 20 {newClip.ToItem()}).};..........
9ac0 20 20 20 20 46 69 6e 61 6c 69 7a 65 49 6e 73 65 72 74 49 74 65 6d 73 55 73 69 6e 67 43 75 72 72 ....FinalizeInsertItemsUsingCurr
9ae0 65 6e 74 45 64 69 74 4d 6f 64 65 28 73 74 61 74 65 2c 20 6e 65 77 43 6c 69 70 73 42 79 54 72 61 entEditMode(state,.newClipsByTra
9b00 63 6b 73 2c 20 63 61 6e 64 69 64 61 74 65 54 69 6d 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 cks,.candidateTime);............
9b20 20 20 69 66 20 28 73 74 61 74 65 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 ..if.(state.!=.null)............
9b40 20 20 20 20 20 73 74 61 74 65 2e 52 65 66 72 65 73 68 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a .....state.Refresh();.........}.
9b60 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 54 72 61 63 6b 41 73 73 65 .........public.static.TrackAsse
9b80 74 20 43 72 65 61 74 65 54 72 61 63 6b 28 54 69 6d 65 6c 69 6e 65 41 73 73 65 74 20 61 73 73 65 t.CreateTrack(TimelineAsset.asse
9ba0 74 2c 20 54 79 70 65 20 74 79 70 65 2c 20 54 72 61 63 6b 41 73 73 65 74 20 70 61 72 65 6e 74 20 t,.Type.type,.TrackAsset.parent.
9bc0 3d 20 6e 75 6c 6c 2c 20 73 74 72 69 6e 67 20 6e 61 6d 65 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 =.null,.string.name.=.null).....
9be0 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 61 73 73 65 74 20 3d 3d 20 6e ....{.............if.(asset.==.n
9c00 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6c 6c ull).................return.null
9c20 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 74 72 61 63 6b 20 3d 20 61 73 73 65 74 ;..............var.track.=.asset
9c40 2e 43 72 65 61 74 65 54 72 61 63 6b 28 74 79 70 65 2c 20 70 61 72 65 6e 74 2c 20 6e 61 6d 65 29 .CreateTrack(type,.parent,.name)
9c60 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 72 61 63 6b 20 21 3d 20 6e 75 6c 6c 29 ;.............if.(track.!=.null)
9c80 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 .............{.................i
9ca0 66 20 28 70 61 72 65 6e 74 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 f.(parent.!=.null)..............
9cc0 20 20 20 20 20 20 20 70 61 72 65 6e 74 2e 53 65 74 43 6f 6c 6c 61 70 73 65 64 28 66 61 6c 73 65 .......parent.SetCollapsed(false
9ce0 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 65 64 69 74 6f 72 20 3d );..................var.editor.=
9d00 20 43 75 73 74 6f 6d 54 69 6d 65 6c 69 6e 65 45 64 69 74 6f 72 43 61 63 68 65 2e 47 65 74 54 72 .CustomTimelineEditorCache.GetTr
9d20 61 63 6b 45 64 69 74 6f 72 28 74 72 61 63 6b 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ackEditor(track);...............
9d40 20 20 74 72 79 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 ..try.................{.........
9d60 20 20 20 20 20 20 20 20 20 20 20 20 65 64 69 74 6f 72 2e 4f 6e 43 72 65 61 74 65 28 74 72 61 63 ............editor.OnCreate(trac
9d80 6b 2c 20 6e 75 6c 6c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 k,.null);.................}.....
9da0 20 20 20 20 20 20 20 20 20 20 20 20 63 61 74 63 68 20 28 45 78 63 65 70 74 69 6f 6e 20 65 29 0a ............catch.(Exception.e).
9dc0 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 20 ................{...............
9de0 20 20 20 20 20 20 44 65 62 75 67 2e 4c 6f 67 45 78 63 65 70 74 69 6f 6e 28 65 29 3b 0a 20 20 20 ......Debug.LogException(e);....
9e00 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 .............}.................T
9e20 69 6d 65 6c 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 imelineEditor.Refresh(RefreshRea
9e40 73 6f 6e 2e 43 6f 6e 74 65 6e 74 73 41 64 64 65 64 4f 72 52 65 6d 6f 76 65 64 29 3b 0a 20 20 20 son.ContentsAddedOrRemoved);....
9e60 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 .........}..............return.t
9e80 72 61 63 6b 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 rack;.........}..........public.
9ea0 73 74 61 74 69 63 20 54 72 61 63 6b 41 73 73 65 74 20 43 72 65 61 74 65 54 72 61 63 6b 28 54 79 static.TrackAsset.CreateTrack(Ty
9ec0 70 65 20 74 79 70 65 2c 20 54 72 61 63 6b 41 73 73 65 74 20 70 61 72 65 6e 74 20 3d 20 6e 75 6c pe.type,.TrackAsset.parent.=.nul
9ee0 6c 2c 20 73 74 72 69 6e 67 20 6e 61 6d 65 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 7b l,.string.name.=.null).........{
9f00 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 43 72 65 61 74 65 54 72 61 63 6b 28 .............return.CreateTrack(
9f20 54 69 6d 65 6c 69 6e 65 45 64 69 74 6f 72 2e 69 6e 73 70 65 63 74 65 64 41 73 73 65 74 2c 20 74 TimelineEditor.inspectedAsset,.t
9f40 79 70 65 2c 20 70 61 72 65 6e 74 2c 20 6e 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 ype,.parent,.name);.........}...
9f60 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 54 20 43 72 65 61 74 65 54 72 61 .......public.static.T.CreateTra
9f80 63 6b 3c 54 3e 28 54 69 6d 65 6c 69 6e 65 41 73 73 65 74 20 61 73 73 65 74 2c 20 54 72 61 63 6b ck<T>(TimelineAsset.asset,.Track
9fa0 41 73 73 65 74 20 70 61 72 65 6e 74 20 3d 20 6e 75 6c 6c 2c 20 73 74 72 69 6e 67 20 6e 61 6d 65 Asset.parent.=.null,.string.name
9fc0 20 3d 20 6e 75 6c 6c 29 20 77 68 65 72 65 20 54 20 3a 20 54 72 61 63 6b 41 73 73 65 74 0a 20 20 .=.null).where.T.:.TrackAsset...
9fe0 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 28 54 29 43 72 ......{.............return.(T)Cr
a000 65 61 74 65 54 72 61 63 6b 28 61 73 73 65 74 2c 20 74 79 70 65 6f 66 28 54 29 2c 20 70 61 72 65 eateTrack(asset,.typeof(T),.pare
a020 6e 74 2c 20 6e 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 75 nt,.name);.........}..........pu
a040 62 6c 69 63 20 73 74 61 74 69 63 20 54 20 43 72 65 61 74 65 54 72 61 63 6b 3c 54 3e 28 54 72 61 blic.static.T.CreateTrack<T>(Tra
a060 63 6b 41 73 73 65 74 20 70 61 72 65 6e 74 20 3d 20 6e 75 6c 6c 2c 20 73 74 72 69 6e 67 20 6e 61 ckAsset.parent.=.null,.string.na
a080 6d 65 20 3d 20 6e 75 6c 6c 29 20 77 68 65 72 65 20 54 20 3a 20 54 72 61 63 6b 41 73 73 65 74 0a me.=.null).where.T.:.TrackAsset.
a0a0 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 54 29 ........{.............return.(T)
a0c0 43 72 65 61 74 65 54 72 61 63 6b 28 54 69 6d 65 6c 69 6e 65 45 64 69 74 6f 72 2e 69 6e 73 70 65 CreateTrack(TimelineEditor.inspe
a0e0 63 74 65 64 41 73 73 65 74 2c 20 74 79 70 65 6f 66 28 54 29 2c 20 70 61 72 65 6e 74 2c 20 6e 61 ctedAsset,.typeof(T),.parent,.na
a100 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 7d 0a 00 00 00 00 00 00 00 00 00 me);.........}.....}.}..........
a120 00 00 00 00 00 00 00 00 00 00 00 00 0f 00 00 00 54 69 6d 65 6c 69 6e 65 48 65 6c 70 65 72 73 00 ................TimelineHelpers.
a140 14 00 00 00 55 6e 69 74 79 45 64 69 74 6f 72 2e 54 69 6d 65 6c 69 6e 65 ....UnityEditor.Timeline