summaryrefslogtreecommitdiff
path: root/Library/Artifacts/65/65dce8bb15c0be1119a804725ac784e8
blob: 179c1604ffb19609d5b75fe062acd1ad53117778 (plain)
ofshex dumpascii
0000 00 00 0f 81 00 00 30 bc 00 00 00 15 00 00 10 00 00 00 00 00 32 30 31 39 2e 33 2e 36 66 31 00 fe ......0.............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 5c 20 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 0b 00 00 00 54 69 6d 65 55 74 69 6c 69 74 79 00 e3 1f 00 00 75 73 69 6e ............TimeUtility.....usin
10a0 67 20 53 79 73 74 65 6d 3b 0a 75 73 69 6e 67 20 53 79 73 74 65 6d 2e 54 65 78 74 2e 52 65 67 75 g.System;.using.System.Text.Regu
10c0 6c 61 72 45 78 70 72 65 73 73 69 6f 6e 73 3b 0a 0a 6e 61 6d 65 73 70 61 63 65 20 55 6e 69 74 79 larExpressions;..namespace.Unity
10e0 45 6e 67 69 6e 65 2e 54 69 6d 65 6c 69 6e 65 0a 7b 0a 20 20 20 20 2f 2f 20 53 65 71 75 65 6e 63 Engine.Timeline.{.....//.Sequenc
1100 65 20 73 70 65 63 69 66 69 63 20 75 74 69 6c 69 74 69 65 73 20 66 6f 72 20 74 69 6d 65 20 6d 61 e.specific.utilities.for.time.ma
1120 6e 69 70 75 6c 61 74 69 6f 6e 0a 20 20 20 20 73 74 61 74 69 63 20 63 6c 61 73 73 20 54 69 6d 65 nipulation.....static.class.Time
1140 55 74 69 6c 69 74 79 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 20 63 68 6f 73 65 6e 20 Utility.....{.........//.chosen.
1160 62 65 63 61 75 73 65 20 69 74 20 77 69 6c 6c 20 63 61 75 73 65 20 6e 6f 20 72 6f 75 6e 64 69 6e because.it.will.cause.no.roundin
1180 67 20 65 72 72 6f 72 73 20 62 65 74 77 65 65 6e 20 74 69 6d 65 2f 66 72 61 6d 65 73 20 66 6f 72 g.errors.between.time/frames.for
11a0 20 66 72 61 6d 65 73 20 76 61 6c 75 65 73 20 75 70 20 74 6f 20 61 74 20 6c 65 61 73 74 20 31 30 .frames.values.up.to.at.least.10
11c0 20 6d 69 6c 6c 69 6f 6e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 72 .million.........public.static.r
11e0 65 61 64 6f 6e 6c 79 20 64 6f 75 62 6c 65 20 6b 54 69 6d 65 45 70 73 69 6c 6f 6e 20 3d 20 31 65 eadonly.double.kTimeEpsilon.=.1e
1200 2d 31 34 3b 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 72 65 61 64 6f -14;.........public.static.reado
1220 6e 6c 79 20 64 6f 75 62 6c 65 20 6b 46 72 61 6d 65 52 61 74 65 45 70 73 69 6c 6f 6e 20 3d 20 31 nly.double.kFrameRateEpsilon.=.1
1240 65 2d 36 3b 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 72 65 61 64 6f e-6;.........public.static.reado
1260 6e 6c 79 20 64 6f 75 62 6c 65 20 6b 5f 4d 61 78 54 69 6d 65 6c 69 6e 65 44 75 72 61 74 69 6f 6e nly.double.k_MaxTimelineDuration
1280 49 6e 53 65 63 6f 6e 64 73 20 3d 20 39 65 36 3b 20 2f 2f 31 30 34 20 64 61 79 73 20 6f 66 20 72 InSeconds.=.9e6;.//104.days.of.r
12a0 75 6e 6e 69 6e 67 20 74 69 6d 65 0a 0a 20 20 20 20 20 20 20 20 73 74 61 74 69 63 20 76 6f 69 64 unning.time..........static.void
12c0 20 56 61 6c 69 64 61 74 65 46 72 61 6d 65 52 61 74 65 28 64 6f 75 62 6c 65 20 66 72 61 6d 65 52 .ValidateFrameRate(double.frameR
12e0 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 66 ate).........{.............if.(f
1300 72 61 6d 65 52 61 74 65 20 3c 3d 20 6b 54 69 6d 65 45 70 73 69 6c 6f 6e 29 0a 20 20 20 20 20 20 rameRate.<=.kTimeEpsilon).......
1320 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 41 72 67 75 6d 65 6e 74 45 78 63 65 ..........throw.new.ArgumentExce
1340 70 74 69 6f 6e 28 22 66 72 61 6d 65 20 72 61 74 65 20 63 61 6e 6e 6f 74 20 62 65 20 30 20 6f 72 ption("frame.rate.cannot.be.0.or
1360 20 6e 65 67 61 74 69 76 65 22 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 .negative");.........}..........
1380 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 69 6e 74 20 54 6f 46 72 61 6d 65 73 28 64 6f 75 62 6c public.static.int.ToFrames(doubl
13a0 65 20 74 69 6d 65 2c 20 64 6f 75 62 6c 65 20 66 72 61 6d 65 52 61 74 65 29 0a 20 20 20 20 20 20 e.time,.double.frameRate).......
13c0 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 56 61 6c 69 64 61 74 65 46 72 61 6d 65 52 61 74 ..{.............ValidateFrameRat
13e0 65 28 66 72 61 6d 65 52 61 74 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 69 6d 65 20 3d e(frameRate);.............time.=
1400 20 4d 61 74 68 2e 4d 69 6e 28 4d 61 74 68 2e 4d 61 78 28 74 69 6d 65 2c 20 2d 6b 5f 4d 61 78 54 .Math.Min(Math.Max(time,.-k_MaxT
1420 69 6d 65 6c 69 6e 65 44 75 72 61 74 69 6f 6e 49 6e 53 65 63 6f 6e 64 73 29 2c 20 6b 5f 4d 61 78 imelineDurationInSeconds),.k_Max
1440 54 69 6d 65 6c 69 6e 65 44 75 72 61 74 69 6f 6e 49 6e 53 65 63 6f 6e 64 73 29 3b 0a 20 20 20 20 TimelineDurationInSeconds);.....
1460 20 20 20 20 20 20 20 20 2f 2f 20 74 68 69 73 20 6d 61 74 63 68 65 73 20 4f 6e 46 72 61 6d 65 42 ........//.this.matches.OnFrameB
1480 6f 75 6e 64 61 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 74 6f 6c 65 72 oundary.............double.toler
14a0 61 6e 63 65 20 3d 20 47 65 74 45 70 73 69 6c 6f 6e 28 74 69 6d 65 2c 20 66 72 61 6d 65 52 61 74 ance.=.GetEpsilon(time,.frameRat
14c0 65 29 20 2f 20 32 2e 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 69 6d 65 20 3c e)./.2.0;.............if.(time.<
14e0 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .0).............{...............
1500 20 20 72 65 74 75 72 6e 20 28 69 6e 74 29 4d 61 74 68 2e 43 65 69 6c 69 6e 67 28 74 69 6d 65 20 ..return.(int)Math.Ceiling(time.
1520 2a 20 66 72 61 6d 65 52 61 74 65 20 2d 20 74 6f 6c 65 72 61 6e 63 65 29 3b 0a 20 20 20 20 20 20 *.frameRate.-.tolerance);.......
1540 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 69 6e 74 29 ......}.............return.(int)
1560 4d 61 74 68 2e 46 6c 6f 6f 72 28 74 69 6d 65 20 2a 20 66 72 61 6d 65 52 61 74 65 20 2b 20 74 6f Math.Floor(time.*.frameRate.+.to
1580 6c 65 72 61 6e 63 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 lerance);.........}..........pub
15a0 6c 69 63 20 73 74 61 74 69 63 20 64 6f 75 62 6c 65 20 54 6f 45 78 61 63 74 46 72 61 6d 65 73 28 lic.static.double.ToExactFrames(
15c0 64 6f 75 62 6c 65 20 74 69 6d 65 2c 20 64 6f 75 62 6c 65 20 66 72 61 6d 65 52 61 74 65 29 0a 20 double.time,.double.frameRate)..
15e0 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 56 61 6c 69 64 61 74 65 46 72 61 .......{.............ValidateFra
1600 6d 65 52 61 74 65 28 66 72 61 6d 65 52 61 74 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 meRate(frameRate);.............r
1620 65 74 75 72 6e 20 74 69 6d 65 20 2a 20 66 72 61 6d 65 52 61 74 65 3b 0a 20 20 20 20 20 20 20 20 eturn.time.*.frameRate;.........
1640 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 64 6f 75 62 6c 65 20 }..........public.static.double.
1660 46 72 6f 6d 46 72 61 6d 65 73 28 69 6e 74 20 66 72 61 6d 65 73 2c 20 64 6f 75 62 6c 65 20 66 72 FromFrames(int.frames,.double.fr
1680 61 6d 65 52 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 56 ameRate).........{.............V
16a0 61 6c 69 64 61 74 65 46 72 61 6d 65 52 61 74 65 28 66 72 61 6d 65 52 61 74 65 29 3b 0a 20 20 20 alidateFrameRate(frameRate);....
16c0 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 66 72 61 6d 65 73 20 2f 20 66 72 61 6d 65 52 .........return.(frames./.frameR
16e0 61 74 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 ate);.........}..........public.
1700 73 74 61 74 69 63 20 64 6f 75 62 6c 65 20 46 72 6f 6d 46 72 61 6d 65 73 28 64 6f 75 62 6c 65 20 static.double.FromFrames(double.
1720 66 72 61 6d 65 73 2c 20 64 6f 75 62 6c 65 20 66 72 61 6d 65 52 61 74 65 29 0a 20 20 20 20 20 20 frames,.double.frameRate).......
1740 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 56 61 6c 69 64 61 74 65 46 72 61 6d 65 52 61 74 ..{.............ValidateFrameRat
1760 65 28 66 72 61 6d 65 52 61 74 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e e(frameRate);.............return
1780 20 66 72 61 6d 65 73 20 2f 20 66 72 61 6d 65 52 61 74 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a .frames./.frameRate;.........}..
17a0 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 62 6f 6f 6c 20 4f 6e 46 72 61 ........public.static.bool.OnFra
17c0 6d 65 42 6f 75 6e 64 61 72 79 28 64 6f 75 62 6c 65 20 74 69 6d 65 2c 20 64 6f 75 62 6c 65 20 66 meBoundary(double.time,.double.f
17e0 72 61 6d 65 52 61 74 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 rameRate).........{.............
1800 72 65 74 75 72 6e 20 4f 6e 46 72 61 6d 65 42 6f 75 6e 64 61 72 79 28 74 69 6d 65 2c 20 66 72 61 return.OnFrameBoundary(time,.fra
1820 6d 65 52 61 74 65 2c 20 47 65 74 45 70 73 69 6c 6f 6e 28 74 69 6d 65 2c 20 66 72 61 6d 65 52 61 meRate,.GetEpsilon(time,.frameRa
1840 74 65 29 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 te));.........}..........public.
1860 73 74 61 74 69 63 20 64 6f 75 62 6c 65 20 47 65 74 45 70 73 69 6c 6f 6e 28 64 6f 75 62 6c 65 20 static.double.GetEpsilon(double.
1880 74 69 6d 65 2c 20 64 6f 75 62 6c 65 20 66 72 61 6d 65 52 61 74 65 29 0a 20 20 20 20 20 20 20 20 time,.double.frameRate).........
18a0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4d 61 74 68 2e 4d 61 78 28 4d 61 {.............return.Math.Max(Ma
18c0 74 68 2e 41 62 73 28 74 69 6d 65 29 2c 20 31 29 20 2a 20 66 72 61 6d 65 52 61 74 65 20 2a 20 6b th.Abs(time),.1).*.frameRate.*.k
18e0 54 69 6d 65 45 70 73 69 6c 6f 6e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 TimeEpsilon;.........}..........
1900 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 62 6f 6f 6c 20 4f 6e 46 72 61 6d 65 42 6f 75 6e 64 61 public.static.bool.OnFrameBounda
1920 72 79 28 64 6f 75 62 6c 65 20 74 69 6d 65 2c 20 64 6f 75 62 6c 65 20 66 72 61 6d 65 52 61 74 65 ry(double.time,.double.frameRate
1940 2c 20 64 6f 75 62 6c 65 20 65 70 73 69 6c 6f 6e 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 ,.double.epsilon).........{.....
1960 20 20 20 20 20 20 20 20 56 61 6c 69 64 61 74 65 46 72 61 6d 65 52 61 74 65 28 66 72 61 6d 65 52 ........ValidateFrameRate(frameR
1980 61 74 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 65 78 61 63 74 20 ate);..............double.exact.
19a0 3d 20 54 6f 45 78 61 63 74 46 72 61 6d 65 73 28 74 69 6d 65 2c 20 66 72 61 6d 65 52 61 74 65 29 =.ToExactFrames(time,.frameRate)
19c0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 72 6f 75 6e 64 65 64 20 3d 20 4d ;.............double.rounded.=.M
19e0 61 74 68 2e 52 6f 75 6e 64 28 65 78 61 63 74 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 ath.Round(exact);..............r
1a00 65 74 75 72 6e 20 4d 61 74 68 2e 41 62 73 28 65 78 61 63 74 20 2d 20 72 6f 75 6e 64 65 64 29 20 eturn.Math.Abs(exact.-.rounded).
1a20 3c 20 65 70 73 69 6c 6f 6e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 75 <.epsilon;.........}..........pu
1a40 62 6c 69 63 20 73 74 61 74 69 63 20 64 6f 75 62 6c 65 20 52 6f 75 6e 64 54 6f 46 72 61 6d 65 28 blic.static.double.RoundToFrame(
1a60 64 6f 75 62 6c 65 20 74 69 6d 65 2c 20 64 6f 75 62 6c 65 20 66 72 61 6d 65 52 61 74 65 29 0a 20 double.time,.double.frameRate)..
1a80 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 56 61 6c 69 64 61 74 65 46 72 61 .......{.............ValidateFra
1aa0 6d 65 52 61 74 65 28 66 72 61 6d 65 52 61 74 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 meRate(frameRate);..............
1ac0 76 61 72 20 66 72 61 6d 65 42 65 66 6f 72 65 20 3d 20 28 69 6e 74 29 4d 61 74 68 2e 46 6c 6f 6f var.frameBefore.=.(int)Math.Floo
1ae0 72 28 74 69 6d 65 20 2a 20 66 72 61 6d 65 52 61 74 65 29 20 2f 20 66 72 61 6d 65 52 61 74 65 3b r(time.*.frameRate)./.frameRate;
1b00 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 66 72 61 6d 65 41 66 74 65 72 20 3d 20 28 69 .............var.frameAfter.=.(i
1b20 6e 74 29 4d 61 74 68 2e 43 65 69 6c 69 6e 67 28 74 69 6d 65 20 2a 20 66 72 61 6d 65 52 61 74 65 nt)Math.Ceiling(time.*.frameRate
1b40 29 20 2f 20 66 72 61 6d 65 52 61 74 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 )./.frameRate;..............retu
1b60 72 6e 20 4d 61 74 68 2e 41 62 73 28 74 69 6d 65 20 2d 20 66 72 61 6d 65 42 65 66 6f 72 65 29 20 rn.Math.Abs(time.-.frameBefore).
1b80 3c 20 4d 61 74 68 2e 41 62 73 28 74 69 6d 65 20 2d 20 66 72 61 6d 65 41 66 74 65 72 29 20 3f 20 <.Math.Abs(time.-.frameAfter).?.
1ba0 66 72 61 6d 65 42 65 66 6f 72 65 20 3a 20 66 72 61 6d 65 41 66 74 65 72 3b 0a 20 20 20 20 20 20 frameBefore.:.frameAfter;.......
1bc0 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 73 74 72 69 6e ..}..........public.static.strin
1be0 67 20 54 69 6d 65 41 73 46 72 61 6d 65 73 28 64 6f 75 62 6c 65 20 74 69 6d 65 56 61 6c 75 65 2c g.TimeAsFrames(double.timeValue,
1c00 20 64 6f 75 62 6c 65 20 66 72 61 6d 65 52 61 74 65 2c 20 73 74 72 69 6e 67 20 66 6f 72 6d 61 74 .double.frameRate,.string.format
1c20 20 3d 20 22 46 32 22 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 .=."F2").........{.............i
1c40 66 20 28 4f 6e 46 72 61 6d 65 42 6f 75 6e 64 61 72 79 28 74 69 6d 65 56 61 6c 75 65 2c 20 66 72 f.(OnFrameBoundary(timeValue,.fr
1c60 61 6d 65 52 61 74 65 29 29 20 2f 2f 20 6d 61 6b 65 20 69 6e 74 65 67 72 61 6c 20 76 61 6c 75 65 ameRate)).//.make.integral.value
1c80 73 20 77 68 65 6e 20 6f 6e 20 74 69 6d 65 20 62 6f 72 64 65 72 73 0a 20 20 20 20 20 20 20 20 20 s.when.on.time.borders..........
1ca0 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 54 6f 46 72 61 6d 65 73 28 74 69 6d 65 56 61 6c 75 65 .......return.ToFrames(timeValue
1cc0 2c 20 66 72 61 6d 65 52 61 74 65 29 2e 54 6f 53 74 72 69 6e 67 28 29 3b 0a 20 20 20 20 20 20 20 ,.frameRate).ToString();........
1ce0 20 20 20 20 20 72 65 74 75 72 6e 20 54 6f 45 78 61 63 74 46 72 61 6d 65 73 28 74 69 6d 65 56 61 .....return.ToExactFrames(timeVa
1d00 6c 75 65 2c 20 66 72 61 6d 65 52 61 74 65 29 2e 54 6f 53 74 72 69 6e 67 28 66 6f 72 6d 61 74 29 lue,.frameRate).ToString(format)
1d20 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
1d40 69 63 20 73 74 72 69 6e 67 20 54 69 6d 65 41 73 54 69 6d 65 43 6f 64 65 28 64 6f 75 62 6c 65 20 ic.string.TimeAsTimeCode(double.
1d60 74 69 6d 65 56 61 6c 75 65 2c 20 64 6f 75 62 6c 65 20 66 72 61 6d 65 52 61 74 65 2c 20 73 74 72 timeValue,.double.frameRate,.str
1d80 69 6e 67 20 66 6f 72 6d 61 74 20 3d 20 22 46 32 22 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 ing.format.=."F2").........{....
1da0 20 20 20 20 20 20 20 20 20 56 61 6c 69 64 61 74 65 46 72 61 6d 65 52 61 74 65 28 66 72 61 6d 65 .........ValidateFrameRate(frame
1dc0 52 61 74 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 69 6e 74 54 69 6d 65 20 Rate);..............int.intTime.
1de0 3d 20 28 69 6e 74 29 4d 61 74 68 2e 41 62 73 28 74 69 6d 65 56 61 6c 75 65 29 3b 0a 0a 20 20 20 =.(int)Math.Abs(timeValue);.....
1e00 20 20 20 20 20 20 20 20 20 69 6e 74 20 68 6f 75 72 73 20 3d 20 69 6e 74 54 69 6d 65 20 2f 20 33 .........int.hours.=.intTime./.3
1e20 36 30 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 6d 69 6e 75 74 65 73 20 3d 20 28 600;.............int.minutes.=.(
1e40 69 6e 74 54 69 6d 65 20 25 20 33 36 30 30 29 20 2f 20 36 30 3b 0a 20 20 20 20 20 20 20 20 20 20 intTime.%.3600)./.60;...........
1e60 20 20 69 6e 74 20 73 65 63 6f 6e 64 73 20 3d 20 69 6e 74 54 69 6d 65 20 25 20 36 30 3b 0a 0a 20 ..int.seconds.=.intTime.%.60;...
1e80 20 20 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 20 72 65 73 75 6c 74 3b 0a 20 20 20 20 20 20 ...........string.result;.......
1ea0 20 20 20 20 20 20 73 74 72 69 6e 67 20 73 69 67 6e 20 3d 20 74 69 6d 65 56 61 6c 75 65 20 3c 20 ......string.sign.=.timeValue.<.
1ec0 30 20 3f 20 22 2d 22 20 3a 20 73 74 72 69 6e 67 2e 45 6d 70 74 79 3b 0a 20 20 20 20 20 20 20 20 0.?."-".:.string.Empty;.........
1ee0 20 20 20 20 69 66 20 28 68 6f 75 72 73 20 3e 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ....if.(hours.>.0)..............
1f00 20 20 20 72 65 73 75 6c 74 20 3d 20 68 6f 75 72 73 20 2b 20 22 3a 22 20 2b 20 6d 69 6e 75 74 65 ...result.=.hours.+.":".+.minute
1f20 73 2e 54 6f 53 74 72 69 6e 67 28 22 44 32 22 29 20 2b 20 22 3a 22 20 2b 20 73 65 63 6f 6e 64 73 s.ToString("D2").+.":".+.seconds
1f40 2e 54 6f 53 74 72 69 6e 67 28 22 44 32 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 .ToString("D2");.............els
1f60 65 20 69 66 20 28 6d 69 6e 75 74 65 73 20 3e 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 e.if.(minutes.>.0)..............
1f80 20 20 20 72 65 73 75 6c 74 20 3d 20 6d 69 6e 75 74 65 73 20 2b 20 22 3a 22 20 2b 20 73 65 63 6f ...result.=.minutes.+.":".+.seco
1fa0 6e 64 73 2e 54 6f 53 74 72 69 6e 67 28 22 44 32 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 nds.ToString("D2");.............
1fc0 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 20 3d 20 73 65 else.................result.=.se
1fe0 63 6f 6e 64 73 2e 54 6f 53 74 72 69 6e 67 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 conds.ToString();..............i
2000 6e 74 20 66 72 61 6d 65 44 69 67 69 74 73 20 3d 20 28 69 6e 74 29 4d 61 74 68 2e 46 6c 6f 6f 72 nt.frameDigits.=.(int)Math.Floor
2020 28 4d 61 74 68 2e 4c 6f 67 31 30 28 66 72 61 6d 65 52 61 74 65 29 20 2b 20 31 29 3b 0a 0a 20 20 (Math.Log10(frameRate).+.1);....
2040 20 20 20 20 20 20 20 20 20 20 2f 2f 20 41 64 64 20 70 61 72 74 69 61 6c 20 64 69 67 69 74 73 20 ..........//.Add.partial.digits.
2060 6f 6e 20 74 68 65 20 66 72 61 6d 65 20 69 66 20 6e 65 65 64 65 64 2e 0a 20 20 20 20 20 20 20 20 on.the.frame.if.needed..........
2080 20 20 20 20 2f 2f 20 77 65 20 61 72 65 20 74 65 73 74 69 6e 67 20 74 68 65 20 6f 72 69 67 69 6e ....//.we.are.testing.the.origin
20a0 61 6c 20 76 61 6c 75 65 20 28 6e 6f 74 20 74 68 65 20 74 72 75 6e 63 61 74 65 64 29 2c 20 62 65 al.value.(not.the.truncated),.be
20c0 63 61 75 73 65 20 74 68 65 20 74 72 75 6e 63 61 74 69 6f 6e 20 63 61 6e 20 63 61 75 73 65 20 72 cause.the.truncation.can.cause.r
20e0 6f 75 6e 64 69 6e 67 20 65 72 72 6f 72 73 20 6c 65 61 64 69 6e 67 0a 20 20 20 20 20 20 20 20 20 ounding.errors.leading..........
2100 20 20 20 2f 2f 20 74 6f 20 69 6e 76 61 6c 69 64 20 73 74 72 69 6e 67 73 20 66 6f 72 20 69 74 65 ...//.to.invalid.strings.for.ite
2120 6d 73 20 6f 6e 20 66 72 61 6d 65 20 62 6f 75 6e 64 61 72 69 65 73 0a 20 20 20 20 20 20 20 20 20 ms.on.frame.boundaries..........
2140 20 20 20 73 74 72 69 6e 67 20 66 72 61 6d 65 73 20 3d 20 28 54 6f 46 72 61 6d 65 73 28 74 69 6d ...string.frames.=.(ToFrames(tim
2160 65 56 61 6c 75 65 2c 20 66 72 61 6d 65 52 61 74 65 29 20 2d 20 54 6f 46 72 61 6d 65 73 28 69 6e eValue,.frameRate).-.ToFrames(in
2180 74 54 69 6d 65 2c 20 66 72 61 6d 65 52 61 74 65 29 29 2e 54 6f 53 74 72 69 6e 67 28 29 2e 50 61 tTime,.frameRate)).ToString().Pa
21a0 64 4c 65 66 74 28 66 72 61 6d 65 44 69 67 69 74 73 2c 20 27 30 27 29 3b 0a 20 20 20 20 20 20 20 dLeft(frameDigits,.'0');........
21c0 20 20 20 20 20 69 66 20 28 21 4f 6e 46 72 61 6d 65 42 6f 75 6e 64 61 72 79 28 74 69 6d 65 56 61 .....if.(!OnFrameBoundary(timeVa
21e0 6c 75 65 2c 20 66 72 61 6d 65 52 61 74 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 lue,.frameRate)).............{..
2200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 20 64 65 63 69 6d 61 6c 73 20 3d ...............string.decimals.=
2220 20 54 6f 45 78 61 63 74 46 72 61 6d 65 73 28 74 69 6d 65 56 61 6c 75 65 2c 20 66 72 61 6d 65 52 .ToExactFrames(timeValue,.frameR
2240 61 74 65 29 2e 54 6f 53 74 72 69 6e 67 28 66 6f 72 6d 61 74 29 3b 0a 20 20 20 20 20 20 20 20 20 ate).ToString(format);..........
2260 20 20 20 20 20 20 20 69 6e 74 20 64 65 63 50 6c 61 63 65 20 3d 20 64 65 63 69 6d 61 6c 73 2e 49 .......int.decPlace.=.decimals.I
2280 6e 64 65 78 4f 66 28 27 2e 27 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 ndexOf('.');.................if.
22a0 28 64 65 63 50 6c 61 63 65 20 3e 3d 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (decPlace.>=.0).................
22c0 20 20 20 20 66 72 61 6d 65 73 20 2b 3d 20 22 20 5b 22 20 2b 20 64 65 63 69 6d 61 6c 73 2e 53 75 ....frames.+=.".[".+.decimals.Su
22e0 62 73 74 72 69 6e 67 28 64 65 63 50 6c 61 63 65 29 20 2b 20 22 5d 22 3b 0a 20 20 20 20 20 20 20 bstring(decPlace).+."]";........
2300 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 73 69 67 6e 20 .....}..............return.sign.
2320 2b 20 72 65 73 75 6c 74 20 2b 20 22 3a 22 20 2b 20 66 72 61 6d 65 73 3b 0a 20 20 20 20 20 20 20 +.result.+.":".+.frames;........
2340 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 47 69 76 65 6e 20 61 20 74 69 6d 65 20 63 6f 64 65 .}..........//.Given.a.time.code
2360 20 73 74 72 69 6e 67 2c 20 72 65 74 75 72 6e 20 74 68 65 20 74 69 6d 65 20 69 6e 20 73 65 63 6f .string,.return.the.time.in.seco
2380 6e 64 73 0a 20 20 20 20 20 20 20 20 2f 2f 20 31 2e 35 20 2d 3e 20 31 2e 35 20 73 65 63 6f 6e 64 nds.........//.1.5.->.1.5.second
23a0 73 0a 20 20 20 20 20 20 20 20 2f 2f 20 31 3a 31 2e 35 20 2d 3e 20 31 20 6d 69 6e 75 74 65 2c 20 s.........//.1:1.5.->.1.minute,.
23c0 31 2e 35 20 73 65 63 6f 6e 64 73 0a 20 20 20 20 20 20 20 20 2f 2f 20 31 3a 31 5b 2e 35 5d 20 2d 1.5.seconds.........//.1:1[.5].-
23e0 3e 20 31 20 73 65 63 6f 6e 64 2c 20 31 2e 35 20 66 72 61 6d 65 73 0a 20 20 20 20 20 20 20 20 2f >.1.second,.1.5.frames........./
2400 2f 20 32 3a 33 3a 34 20 2d 3e 20 32 20 6d 69 6e 75 74 65 73 2c 20 33 20 73 65 63 6f 6e 64 73 2c /.2:3:4.->.2.minutes,.3.seconds,
2420 20 34 20 66 72 61 6d 65 73 0a 20 20 20 20 20 20 20 20 2f 2f 20 31 5b 2e 36 5d 20 2d 3e 20 31 2e .4.frames.........//.1[.6].->.1.
2440 36 20 66 72 61 6d 65 73 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 64 6.frames.........public.static.d
2460 6f 75 62 6c 65 20 50 61 72 73 65 54 69 6d 65 43 6f 64 65 28 73 74 72 69 6e 67 20 74 69 6d 65 43 ouble.ParseTimeCode(string.timeC
2480 6f 64 65 2c 20 64 6f 75 62 6c 65 20 66 72 61 6d 65 52 61 74 65 2c 20 64 6f 75 62 6c 65 20 64 65 ode,.double.frameRate,.double.de
24a0 66 61 75 6c 74 56 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 faultValue).........{...........
24c0 20 20 74 69 6d 65 43 6f 64 65 20 3d 20 52 65 6d 6f 76 65 43 68 61 72 28 74 69 6d 65 43 6f 64 65 ..timeCode.=.RemoveChar(timeCode
24e0 2c 20 63 20 3d 3e 20 63 68 61 72 2e 49 73 57 68 69 74 65 53 70 61 63 65 28 63 29 29 3b 0a 20 20 ,.c.=>.char.IsWhiteSpace(c));...
2500 20 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 5b 5d 20 73 65 63 74 69 6f 6e 73 20 3d 20 74 69 ..........string[].sections.=.ti
2520 6d 65 43 6f 64 65 2e 53 70 6c 69 74 28 27 3a 27 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 meCode.Split(':');.............i
2540 66 20 28 73 65 63 74 69 6f 6e 73 2e 4c 65 6e 67 74 68 20 3d 3d 20 30 20 7c 7c 20 73 65 63 74 69 f.(sections.Length.==.0.||.secti
2560 6f 6e 73 2e 4c 65 6e 67 74 68 20 3e 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ons.Length.>.4).................
2580 72 65 74 75 72 6e 20 64 65 66 61 75 6c 74 56 61 6c 75 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 return.defaultValue;............
25a0 20 20 69 6e 74 20 68 6f 75 72 73 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 ..int.hours.=.0;.............int
25c0 20 6d 69 6e 75 74 65 73 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 .minutes.=.0;.............double
25e0 20 73 65 63 6f 6e 64 73 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 .seconds.=.0;.............double
2600 20 66 72 61 6d 65 73 20 3d 20 30 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 72 79 0a 20 20 .frames.=.0;..............try...
2620 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 64 ..........{.................//.d
2640 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 66 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 6c 61 epending.on.the.format.of.the.la
2660 73 74 20 6e 75 6d 62 65 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 73 65 st.numbers.................//.se
2680 63 6f 6e 64 73 20 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 conds.format.................str
26a0 69 6e 67 20 6c 61 73 74 53 65 63 74 69 6f 6e 20 3d 20 73 65 63 74 69 6f 6e 73 5b 73 65 63 74 69 ing.lastSection.=.sections[secti
26c0 6f 6e 73 2e 4c 65 6e 67 74 68 20 2d 20 31 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ons.Length.-.1];................
26e0 20 69 66 20 28 52 65 67 65 78 2e 4d 61 74 63 68 28 6c 61 73 74 53 65 63 74 69 6f 6e 2c 20 40 22 .if.(Regex.Match(lastSection,.@"
2700 5e 5c 64 2b 5c 2e 5c 64 2b 24 22 29 2e 53 75 63 63 65 73 73 29 0a 20 20 20 20 20 20 20 20 20 20 ^\d+\.\d+$").Success)...........
2720 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 73 65 63 6f ......{.....................seco
2740 6e 64 73 20 3d 20 64 6f 75 62 6c 65 2e 50 61 72 73 65 28 6c 61 73 74 53 65 63 74 69 6f 6e 29 3b nds.=.double.Parse(lastSection);
2760 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 73 65 63 74 69 6f 6e .....................if.(section
2780 73 2e 4c 65 6e 67 74 68 20 3e 20 33 29 20 72 65 74 75 72 6e 20 64 65 66 61 75 6c 74 56 61 6c 75 s.Length.>.3).return.defaultValu
27a0 65 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 73 65 63 74 69 e;.....................if.(secti
27c0 6f 6e 73 2e 4c 65 6e 67 74 68 20 3e 20 31 29 20 6d 69 6e 75 74 65 73 20 3d 20 69 6e 74 2e 50 61 ons.Length.>.1).minutes.=.int.Pa
27e0 72 73 65 28 73 65 63 74 69 6f 6e 73 5b 73 65 63 74 69 6f 6e 73 2e 4c 65 6e 67 74 68 20 2d 20 32 rse(sections[sections.Length.-.2
2800 5d 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 73 65 63 74 ]);.....................if.(sect
2820 69 6f 6e 73 2e 4c 65 6e 67 74 68 20 3e 20 32 29 20 68 6f 75 72 73 20 3d 20 69 6e 74 2e 50 61 72 ions.Length.>.2).hours.=.int.Par
2840 73 65 28 73 65 63 74 69 6f 6e 73 5b 73 65 63 74 69 6f 6e 73 2e 4c 65 6e 67 74 68 20 2d 20 33 5d se(sections[sections.Length.-.3]
2860 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 20 );.................}............
2880 20 20 20 20 20 2f 2f 20 66 72 61 6d 65 20 66 6f 72 6d 61 74 73 0a 20 20 20 20 20 20 20 20 20 20 .....//.frame.formats...........
28a0 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 7b 0a 20 20 20 ......else.................{....
28c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 52 65 67 65 78 2e 4d 61 74 63 68 .................if.(Regex.Match
28e0 28 6c 61 73 74 53 65 63 74 69 6f 6e 2c 20 40 22 5e 5c 64 2b 5c 5b 5c 2e 5c 64 2b 5c 5d 24 22 29 (lastSection,.@"^\d+\[\.\d+\]$")
2900 2e 53 75 63 63 65 73 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a .Success).....................{.
2920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 20 73 ........................string.s
2940 74 72 69 70 70 65 64 20 3d 20 52 65 6d 6f 76 65 43 68 61 72 28 6c 61 73 74 53 65 63 74 69 6f 6e tripped.=.RemoveChar(lastSection
2960 2c 20 63 20 3d 3e 20 63 20 3d 3d 20 27 5b 27 20 7c 7c 20 63 20 3d 3d 20 27 5d 27 29 3b 0a 20 20 ,.c.=>.c.==.'['.||.c.==.']');...
2980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 72 61 6d 65 73 20 3d 20 64 ......................frames.=.d
29a0 6f 75 62 6c 65 2e 50 61 72 73 65 28 73 74 72 69 70 70 65 64 29 3b 0a 20 20 20 20 20 20 20 20 20 ouble.Parse(stripped);..........
29c0 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 20 20 20 ...........}....................
29e0 20 65 6c 73 65 20 69 66 20 28 52 65 67 65 78 2e 4d 61 74 63 68 28 6c 61 73 74 53 65 63 74 69 6f .else.if.(Regex.Match(lastSectio
2a00 6e 2c 20 40 22 5e 5c 64 2a 24 22 29 2e 53 75 63 63 65 73 73 29 0a 20 20 20 20 20 20 20 20 20 20 n,.@"^\d*$").Success)...........
2a20 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 ..........{.....................
2a40 20 20 20 20 66 72 61 6d 65 73 20 3d 20 69 6e 74 2e 50 61 72 73 65 28 6c 61 73 74 53 65 63 74 69 ....frames.=.int.Parse(lastSecti
2a60 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 on);.....................}......
2a80 20 20 20 20 20 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 ...............else.............
2aa0 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 20 20 ........{.......................
2ac0 20 20 72 65 74 75 72 6e 20 64 65 66 61 75 6c 74 56 61 6c 75 65 3b 0a 20 20 20 20 20 20 20 20 20 ..return.defaultValue;..........
2ae0 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 20 20 20 20 20 20 ...........}....................
2b00 20 20 69 66 20 28 73 65 63 74 69 6f 6e 73 2e 4c 65 6e 67 74 68 20 3e 20 31 29 20 73 65 63 6f 6e ..if.(sections.Length.>.1).secon
2b20 64 73 20 3d 20 69 6e 74 2e 50 61 72 73 65 28 73 65 63 74 69 6f 6e 73 5b 73 65 63 74 69 6f 6e 73 ds.=.int.Parse(sections[sections
2b40 2e 4c 65 6e 67 74 68 20 2d 20 32 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .Length.-.2]);..................
2b60 20 20 20 69 66 20 28 73 65 63 74 69 6f 6e 73 2e 4c 65 6e 67 74 68 20 3e 20 32 29 20 6d 69 6e 75 ...if.(sections.Length.>.2).minu
2b80 74 65 73 20 3d 20 69 6e 74 2e 50 61 72 73 65 28 73 65 63 74 69 6f 6e 73 5b 73 65 63 74 69 6f 6e tes.=.int.Parse(sections[section
2ba0 73 2e 4c 65 6e 67 74 68 20 2d 20 33 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s.Length.-.3]);.................
2bc0 20 20 20 20 69 66 20 28 73 65 63 74 69 6f 6e 73 2e 4c 65 6e 67 74 68 20 3e 20 33 29 20 68 6f 75 ....if.(sections.Length.>.3).hou
2be0 72 73 20 3d 20 69 6e 74 2e 50 61 72 73 65 28 73 65 63 74 69 6f 6e 73 5b 73 65 63 74 69 6f 6e 73 rs.=.int.Parse(sections[sections
2c00 2e 4c 65 6e 67 74 68 20 2d 20 34 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d .Length.-.4]);.................}
2c20 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 63 68 .............}.............catch
2c40 20 28 46 6f 72 6d 61 74 45 78 63 65 70 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b .(FormatException).............{
2c60 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 65 66 61 75 6c 74 56 .................return.defaultV
2c80 61 6c 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 alue;.............}.............
2ca0 20 72 65 74 75 72 6e 20 66 72 61 6d 65 73 20 2f 20 66 72 61 6d 65 52 61 74 65 20 2b 20 73 65 63 .return.frames./.frameRate.+.sec
2cc0 6f 6e 64 73 20 2b 20 6d 69 6e 75 74 65 73 20 2a 20 36 30 20 2b 20 68 6f 75 72 73 20 2a 20 33 36 onds.+.minutes.*.60.+.hours.*.36
2ce0 30 30 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 66 69 78 65 73 20 00;.........}..........//.fixes.
2d00 72 6f 75 6e 64 69 6e 67 20 65 72 72 6f 72 73 20 66 72 6f 6d 20 75 73 69 6e 67 20 73 69 6e 67 6c rounding.errors.from.using.singl
2d20 65 20 70 72 65 63 69 73 69 6f 6e 20 66 6f 72 20 6c 65 6e 67 74 68 0a 20 20 20 20 20 20 20 20 70 e.precision.for.length.........p
2d40 75 62 6c 69 63 20 73 74 61 74 69 63 20 64 6f 75 62 6c 65 20 47 65 74 41 6e 69 6d 61 74 69 6f 6e ublic.static.double.GetAnimation
2d60 43 6c 69 70 4c 65 6e 67 74 68 28 41 6e 69 6d 61 74 69 6f 6e 43 6c 69 70 20 63 6c 69 70 29 0a 20 ClipLength(AnimationClip.clip)..
2d80 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 20 3d 3d .......{.............if.(clip.==
2da0 20 6e 75 6c 6c 20 7c 7c 20 63 6c 69 70 2e 65 6d 70 74 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 .null.||.clip.empty)............
2dc0 20 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 .....return.0;..............doub
2de0 6c 65 20 6c 65 6e 67 74 68 20 3d 20 63 6c 69 70 2e 6c 65 6e 67 74 68 3b 0a 20 20 20 20 20 20 20 le.length.=.clip.length;........
2e00 20 20 20 20 20 69 66 20 28 63 6c 69 70 2e 66 72 61 6d 65 52 61 74 65 20 3e 20 30 29 0a 20 20 20 .....if.(clip.frameRate.>.0)....
2e20 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 64 6f 75 62 6c .........{.................doubl
2e40 65 20 66 72 61 6d 65 73 20 3d 20 4d 61 74 68 66 2e 52 6f 75 6e 64 28 63 6c 69 70 2e 6c 65 6e 67 e.frames.=.Mathf.Round(clip.leng
2e60 74 68 20 2a 20 63 6c 69 70 2e 66 72 61 6d 65 52 61 74 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 th.*.clip.frameRate);...........
2e80 20 20 20 20 20 20 6c 65 6e 67 74 68 20 3d 20 66 72 61 6d 65 73 20 2f 20 63 6c 69 70 2e 66 72 61 ......length.=.frames./.clip.fra
2ea0 6d 65 52 61 74 65 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 meRate;.............}...........
2ec0 20 20 72 65 74 75 72 6e 20 6c 65 6e 67 74 68 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 ..return.length;.........}......
2ee0 20 20 20 20 73 74 61 74 69 63 20 73 74 72 69 6e 67 20 52 65 6d 6f 76 65 43 68 61 72 28 73 74 72 ....static.string.RemoveChar(str
2f00 69 6e 67 20 73 74 72 2c 20 46 75 6e 63 3c 63 68 61 72 2c 20 62 6f 6f 6c 3e 20 63 68 61 72 54 6f ing.str,.Func<char,.bool>.charTo
2f20 52 65 6d 6f 76 65 46 75 6e 63 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 RemoveFunc).........{...........
2f40 20 20 76 61 72 20 6c 65 6e 20 3d 20 73 74 72 2e 4c 65 6e 67 74 68 3b 0a 20 20 20 20 20 20 20 20 ..var.len.=.str.Length;.........
2f60 20 20 20 20 76 61 72 20 73 72 63 20 3d 20 73 74 72 2e 54 6f 43 68 61 72 41 72 72 61 79 28 29 3b ....var.src.=.str.ToCharArray();
2f80 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 64 73 74 49 64 78 20 3d 20 30 3b 0a 20 20 20 .............var.dstIdx.=.0;....
2fa0 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 76 61 72 20 69 20 3d 20 30 3b 20 69 20 3c 20 6c 65 6e .........for.(var.i.=.0;.i.<.len
2fc0 3b 20 69 2b 2b 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 ;.i++).............{............
2fe0 20 20 20 20 20 69 66 20 28 21 63 68 61 72 54 6f 52 65 6d 6f 76 65 46 75 6e 63 28 73 72 63 5b 69 .....if.(!charToRemoveFunc(src[i
3000 5d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 72 63 5b 64 73 74 49 ])).....................src[dstI
3020 64 78 2b 2b 5d 20 3d 20 73 72 63 5b 69 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 dx++].=.src[i];.............}...
3040 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77 20 73 74 72 69 6e 67 28 73 72 63 2c ..........return.new.string(src,
3060 20 30 2c 20 64 73 74 49 64 78 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 7d 0a 00 .0,.dstIdx);.........}.....}.}..
3080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0b 00 00 00 54 69 6d 65 55 74 69 6c ........................TimeUtil
30a0 69 74 79 00 14 00 00 00 55 6e 69 74 79 45 6e 67 69 6e 65 2e 54 69 6d 65 6c 69 6e 65 ity.....UnityEngine.Timeline