summaryrefslogtreecommitdiff
path: root/Library/Artifacts/7d/7dbc7709d5e706e67de7d46b596be5a6
blob: 02c9a1add03091659bc3da6cdf3cb4845c8bf7f7 (plain)
ofshex dumpascii
0000 00 00 0f 81 00 00 81 b4 00 00 00 15 00 00 10 00 00 00 00 00 32 30 31 39 2e 33 2e 36 66 31 00 fe ....................2019.3.6f1..
0020 ff ff ff 01 02 00 00 00 0b 04 00 00 00 ff ff 66 9a 86 21 eb 14 35 98 39 dd 34 1d 51 0e c1 f3 42 ...............f..!..5.9.4.Q...B
0040 00 00 00 ed 00 00 00 02 00 00 00 00 00 00 00 37 00 00 80 ff ff ff ff 00 00 00 00 00 80 00 00 00 ...............7................
0060 00 00 00 00 00 00 00 01 00 01 00 a6 03 00 80 b2 01 00 80 04 00 00 00 01 00 00 00 01 00 00 00 00 ................................
0080 00 00 00 00 00 00 00 01 00 01 00 0d 00 00 00 45 04 00 80 0c 00 00 00 02 00 00 00 01 00 00 00 00 ...............E................
00a0 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 23 00 00 00 04 00 00 00 03 00 00 00 01 00 80 00 00 ...............#................
00c0 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 2c 00 00 00 08 00 00 00 04 00 00 00 01 00 80 00 00 ...............,................
00e0 00 00 00 00 00 00 00 01 00 01 00 35 00 00 00 61 04 00 80 0c 00 00 00 05 00 00 00 01 00 00 00 00 ...........5...a................
0100 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 23 00 00 00 04 00 00 00 06 00 00 00 01 00 80 00 00 ...............#................
0120 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 2c 00 00 00 08 00 00 00 07 00 00 00 01 00 80 00 00 ...............,................
0140 00 00 00 00 00 00 00 01 00 01 00 86 02 00 80 72 04 00 80 0c 00 00 00 08 00 00 00 01 00 00 00 00 ...............r................
0160 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 23 00 00 00 04 00 00 00 09 00 00 00 01 00 80 00 00 ...............#................
0180 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 2c 00 00 00 08 00 00 00 0a 00 00 00 01 00 80 00 00 ...............,................
01a0 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 ab 01 00 80 ff ff ff ff 0b 00 00 00 01 80 08 00 00 ...........H....................
01c0 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 0c 00 00 00 01 40 08 00 00 ...........1...1............@...
01e0 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 0d 00 00 00 01 00 08 00 00 ................................
0200 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a 00 00 80 01 00 00 00 0e 00 00 00 01 00 08 00 00 ...........Q...j................
0220 00 00 00 00 00 00 00 01 00 01 00 f1 00 00 80 4a 00 00 00 ff ff ff ff 0f 00 00 00 00 c0 00 00 00 ...............J................
0240 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 10 00 00 00 00 80 00 00 00 ...........1...1................
0260 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 11 00 00 00 00 00 00 00 00 ................................
0280 00 00 00 00 00 00 00 01 00 03 00 1f 02 00 80 6a 00 00 80 ff ff ff ff 12 00 00 00 00 80 00 00 00 ...............j................
02a0 00 00 00 00 00 00 00 01 00 04 00 5c 00 00 00 9b 00 00 80 ff ff ff ff 13 00 00 00 00 80 00 00 00 ...........\....................
02c0 00 00 00 00 00 00 00 01 00 05 00 48 03 00 80 72 00 00 00 ff ff ff ff 14 00 00 00 00 80 00 00 00 ...........H...r................
02e0 00 00 00 00 00 00 00 01 00 06 01 31 00 00 80 31 00 00 80 ff ff ff ff 15 00 00 00 01 40 00 00 00 ...........1...1............@...
0300 00 00 00 00 00 00 00 01 00 07 00 de 00 00 80 1b 03 00 80 04 00 00 00 16 00 00 00 01 00 00 00 00 ................................
0320 00 00 00 00 00 00 00 01 00 07 00 51 00 00 80 6a 00 00 80 01 00 00 00 17 00 00 00 01 00 00 00 00 ...........Q...j................
0340 00 00 00 00 00 00 00 01 00 05 00 48 03 00 80 77 00 00 00 ff ff ff ff 18 00 00 00 00 80 00 00 00 ...........H...w................
0360 00 00 00 00 00 00 00 01 00 06 01 31 00 00 80 31 00 00 80 ff ff ff ff 19 00 00 00 01 40 00 00 00 ...........1...1............@...
0380 00 00 00 00 00 00 00 01 00 07 00 de 00 00 80 1b 03 00 80 04 00 00 00 1a 00 00 00 01 00 00 00 00 ................................
03a0 00 00 00 00 00 00 00 01 00 07 00 51 00 00 80 6a 00 00 80 01 00 00 00 1b 00 00 00 01 00 00 00 00 ...........Q...j................
03c0 00 00 00 00 00 00 00 01 00 05 00 48 03 00 80 80 00 00 00 ff ff ff ff 1c 00 00 00 00 80 00 00 00 ...........H....................
03e0 00 00 00 00 00 00 00 01 00 06 01 31 00 00 80 31 00 00 80 ff ff ff ff 1d 00 00 00 01 40 00 00 00 ...........1...1............@...
0400 00 00 00 00 00 00 00 01 00 07 00 de 00 00 80 1b 03 00 80 04 00 00 00 1e 00 00 00 01 00 00 00 00 ................................
0420 00 00 00 00 00 00 00 01 00 07 00 51 00 00 80 6a 00 00 80 01 00 00 00 1f 00 00 00 01 00 00 00 00 ...........Q...j................
0440 00 00 00 00 00 00 00 01 00 04 00 79 02 00 80 0a 03 00 80 0c 00 00 00 20 00 00 00 00 00 00 00 00 ...........y....................
0460 00 00 00 00 00 00 00 01 00 05 00 de 00 00 80 23 00 00 00 04 00 00 00 21 00 00 00 01 00 80 00 00 ...............#.......!........
0480 00 00 00 00 00 00 00 01 00 05 00 2e 03 00 80 2c 00 00 00 08 00 00 00 22 00 00 00 01 00 80 00 00 ...............,......."........
04a0 00 00 00 00 00 00 00 01 00 01 00 11 03 00 80 85 00 00 00 ff ff ff ff 23 00 00 00 01 40 08 00 00 .......................#....@...
04c0 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 24 00 00 00 01 00 08 00 00 ...........1...1.......$........
04e0 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 25 00 00 00 01 00 08 00 00 .......................%........
0500 00 00 00 00 00 00 00 01 00 03 00 2e 03 00 80 6a 00 00 80 08 00 00 00 26 00 00 00 01 00 08 00 00 ...............j.......&........
0520 00 00 00 00 00 00 00 01 00 01 00 d5 03 00 80 93 00 00 00 ff ff ff ff 27 00 00 00 00 80 00 00 00 .......................'........
0540 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 28 00 00 00 00 c0 00 00 00 ...........1...1.......(........
0560 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 29 00 00 00 00 00 00 00 00 .......................)........
0580 00 00 00 00 00 00 00 01 00 03 00 1f 02 00 80 6a 00 00 80 ff ff ff ff 2a 00 00 00 00 80 00 00 00 ...............j.......*........
05a0 00 00 00 00 00 00 00 01 00 04 00 48 03 00 80 9b 00 00 80 ff ff ff ff 2b 00 00 00 00 80 00 00 00 ...........H...........+........
05c0 00 00 00 00 00 00 00 01 00 05 01 31 00 00 80 31 00 00 80 ff ff ff ff 2c 00 00 00 01 40 00 00 00 ...........1...1.......,....@...
05e0 00 00 00 00 00 00 00 01 00 06 00 de 00 00 80 1b 03 00 80 04 00 00 00 2d 00 00 00 01 00 00 00 00 .......................-........
0600 00 00 00 00 00 00 00 01 00 06 00 51 00 00 80 6a 00 00 80 01 00 00 00 2e 00 00 00 01 00 00 00 00 ...........Q...j................
0620 00 00 00 00 00 00 00 01 00 04 00 79 02 00 80 0a 03 00 80 0c 00 00 00 2f 00 00 00 00 00 00 00 00 ...........y.........../........
0640 00 00 00 00 00 00 00 01 00 05 00 de 00 00 80 23 00 00 00 04 00 00 00 30 00 00 00 01 00 80 00 00 ...............#.......0........
0660 00 00 00 00 00 00 00 01 00 05 00 2e 03 00 80 2c 00 00 00 08 00 00 00 31 00 00 00 01 00 80 00 00 ...............,.......1........
0680 00 00 00 00 00 00 00 01 00 01 00 20 03 00 80 a7 00 00 00 02 00 00 00 32 00 00 00 00 40 00 00 00 .......................2....@...
06a0 00 00 00 00 00 00 00 01 00 01 00 be 02 00 80 b6 00 00 00 0c 00 00 00 33 00 00 00 00 40 00 00 00 .......................3....@...
06c0 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 23 00 00 00 04 00 00 00 34 00 00 00 01 00 80 00 00 ...............#.......4........
06e0 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 2c 00 00 00 08 00 00 00 35 00 00 00 01 00 80 00 00 ...............,.......5........
0700 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 bb 00 00 00 ff ff ff ff 36 00 00 00 01 80 00 00 00 ...........H...........6........
0720 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 37 00 00 00 01 40 00 00 00 ...........1...1.......7....@...
0740 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 38 00 00 00 01 00 00 00 00 .......................8........
0760 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a 00 00 80 01 00 00 00 39 00 00 00 01 00 00 00 00 ...........Q...j.......9........
0780 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 c6 00 00 00 ff ff ff ff 3a 00 00 00 01 80 00 00 00 ...........H...........:........
07a0 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 3b 00 00 00 01 40 00 00 00 ...........1...1.......;....@...
07c0 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 3c 00 00 00 01 00 00 00 00 .......................<........
07e0 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a 00 00 80 01 00 00 00 3d 00 00 00 01 00 00 00 00 ...........Q...j.......=........
0800 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 d8 00 00 00 ff ff ff ff 3e 00 00 00 01 80 00 00 00 ...........H...........>........
0820 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 3f 00 00 00 01 40 00 00 00 ...........1...1.......?....@...
0840 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 40 00 00 00 01 00 00 00 00 .......................@........
0860 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a 00 00 80 01 00 00 00 41 00 00 00 01 00 00 00 00 ...........Q...j.......A........
0880 00 00 00 00 00 00 00 4d 6f 6e 6f 49 6d 70 6f 72 74 65 72 00 50 50 74 72 3c 45 64 69 74 6f 72 45 .......MonoImporter.PPtr<EditorE
08a0 78 74 65 6e 73 69 6f 6e 3e 00 6d 5f 46 69 6c 65 49 44 00 6d 5f 50 61 74 68 49 44 00 50 50 74 72 xtension>.m_FileID.m_PathID.PPtr
08c0 3c 50 72 65 66 61 62 49 6e 73 74 61 6e 63 65 3e 00 6d 5f 45 78 74 65 72 6e 61 6c 4f 62 6a 65 63 <PrefabInstance>.m_ExternalObjec
08e0 74 73 00 53 6f 75 72 63 65 41 73 73 65 74 49 64 65 6e 74 69 66 69 65 72 00 74 79 70 65 00 61 73 ts.SourceAssetIdentifier.type.as
0900 73 65 6d 62 6c 79 00 6e 61 6d 65 00 6d 5f 55 73 65 64 46 69 6c 65 49 44 73 00 6d 5f 44 65 66 61 sembly.name.m_UsedFileIDs.m_Defa
0920 75 6c 74 52 65 66 65 72 65 6e 63 65 73 00 65 78 65 63 75 74 69 6f 6e 4f 72 64 65 72 00 69 63 6f ultReferences.executionOrder.ico
0940 6e 00 6d 5f 55 73 65 72 44 61 74 61 00 6d 5f 41 73 73 65 74 42 75 6e 64 6c 65 4e 61 6d 65 00 6d n.m_UserData.m_AssetBundleName.m
0960 5f 41 73 73 65 74 42 75 6e 64 6c 65 56 61 72 69 61 6e 74 00 00 00 00 00 73 00 00 00 00 ff ff a3 _AssetBundleVariant.....s.......
0980 47 f1 d7 dc 8f 5a 35 36 a0 3a 21 40 69 c1 4a 2a 00 00 00 81 00 00 00 05 00 00 00 15 01 00 80 37 G....Z56.:!@i.J*...............7
09a0 00 00 80 ff ff ff ff 00 00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 01 00 01 00 a6 03 00 80 b2 ................................
09c0 01 00 80 04 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 00 00 00 00 45 ...............................E
09e0 04 00 80 0c 00 00 00 02 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 16 ................................
0a00 00 00 00 04 00 00 00 03 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 1f ................................
0a20 00 00 00 08 00 00 00 04 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 28 00 00 00 61 ...........................(...a
0a40 04 00 80 0c 00 00 00 05 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 16 ................................
0a60 00 00 00 04 00 00 00 06 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 1f ................................
0a80 00 00 00 08 00 00 00 07 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 86 02 00 80 72 ...............................r
0aa0 04 00 80 0c 00 00 00 08 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 16 ................................
0ac0 00 00 00 04 00 00 00 09 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 1f ................................
0ae0 00 00 00 08 00 00 00 0a 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 ab ...........................H....
0b00 01 00 80 ff ff ff ff 0b 00 00 00 01 80 08 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 ...........................1...1
0b20 00 00 80 ff ff ff ff 0c 00 00 00 01 40 08 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b ............@...................
0b40 03 00 80 04 00 00 00 0d 00 00 00 01 00 08 00 00 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a ...........................Q...j
0b60 00 00 80 01 00 00 00 0e 00 00 00 01 00 08 00 00 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 ea ...........................H....
0b80 01 00 80 ff ff ff ff 0f 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 ...........................1...1
0ba0 00 00 80 ff ff ff ff 10 00 00 00 01 40 00 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b ............@...................
0bc0 03 00 80 04 00 00 00 11 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a ...........................Q...j
0be0 00 00 80 01 00 00 00 12 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 f1 00 00 80 3d ...............................=
0c00 00 00 00 ff ff ff ff 13 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 ...........................1...1
0c20 00 00 80 ff ff ff ff 14 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b ................................
0c40 03 00 80 04 00 00 00 15 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 03 00 1f 02 00 80 6a ...............................j
0c60 00 00 80 ff ff ff ff 16 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 04 00 48 03 00 80 9b ...........................H....
0c80 00 00 80 ff ff ff ff 17 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 05 01 31 00 00 80 31 ...........................1...1
0ca0 00 00 80 ff ff ff ff 18 00 00 00 01 40 00 00 00 00 00 00 00 00 00 00 01 00 06 00 de 00 00 80 1b ............@...................
0cc0 03 00 80 04 00 00 00 19 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 06 00 51 00 00 80 6a ...........................Q...j
0ce0 00 00 80 01 00 00 00 1a 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 04 00 79 02 00 80 0a ...........................y....
0d00 03 00 80 0c 00 00 00 1b 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 05 00 de 00 00 80 16 ................................
0d20 00 00 00 04 00 00 00 1c 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 05 00 2e 03 00 80 1f ................................
0d40 00 00 00 08 00 00 00 1d 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 79 02 00 80 51 ...........................y...Q
0d60 00 00 00 0c 00 00 00 1e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 16 ................................
0d80 00 00 00 04 00 00 00 1f 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 1f ................................
0da0 00 00 00 08 00 00 00 20 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 de 00 00 80 58 ...............................X
0dc0 00 00 00 04 00 00 00 21 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 69 .......!...................H...i
0de0 00 00 00 ff ff ff ff 22 00 00 00 10 80 00 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 ......."...................1...1
0e00 00 00 80 ff ff ff ff 23 00 00 00 11 40 00 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b .......#....@...................
0e20 03 00 80 04 00 00 00 24 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a .......$...................Q...j
0e40 00 00 80 01 00 00 00 25 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 75 .......%...................H...u
0e60 00 00 00 ff ff ff ff 26 00 00 00 10 80 00 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 .......&...................1...1
0e80 00 00 80 ff ff ff ff 27 00 00 00 11 40 00 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b .......'....@...................
0ea0 03 00 80 04 00 00 00 28 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a .......(...................Q...j
0ec0 00 00 80 01 00 00 00 29 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 50 50 74 72 3c 45 64 69 74 .......)...............PPtr<Edit
0ee0 6f 72 45 78 74 65 6e 73 69 6f 6e 3e 00 6d 5f 46 69 6c 65 49 44 00 6d 5f 50 61 74 68 49 44 00 50 orExtension>.m_FileID.m_PathID.P
0f00 50 74 72 3c 50 72 65 66 61 62 49 6e 73 74 61 6e 63 65 3e 00 6d 5f 44 65 66 61 75 6c 74 52 65 66 Ptr<PrefabInstance>.m_DefaultRef
0f20 65 72 65 6e 63 65 73 00 6d 5f 49 63 6f 6e 00 6d 5f 45 78 65 63 75 74 69 6f 6e 4f 72 64 65 72 00 erences.m_Icon.m_ExecutionOrder.
0f40 6d 5f 43 6c 61 73 73 4e 61 6d 65 00 6d 5f 4e 61 6d 65 73 70 61 63 65 00 00 00 00 00 02 00 00 00 m_ClassName.m_Namespace.........
0f60 03 00 00 00 00 00 00 00 00 00 00 00 5c 00 00 00 00 00 00 00 e0 79 af 00 00 00 00 00 60 00 00 00 ............\........y......`...
0f80 54 71 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 Tq..............................
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 05 00 00 00 54 6f 75 63 68 00 00 00 f8 70 00 00 75 73 69 6e 67 20 53 79 ............Touch....p..using.Sy
10a0 73 74 65 6d 3b 0d 0a 75 73 69 6e 67 20 53 79 73 74 65 6d 2e 43 6f 6c 6c 65 63 74 69 6f 6e 73 2e stem;..using.System.Collections.
10c0 47 65 6e 65 72 69 63 3b 0d 0a 75 73 69 6e 67 20 55 6e 69 74 79 2e 43 6f 6c 6c 65 63 74 69 6f 6e Generic;..using.Unity.Collection
10e0 73 2e 4c 6f 77 4c 65 76 65 6c 2e 55 6e 73 61 66 65 3b 0d 0a 75 73 69 6e 67 20 55 6e 69 74 79 45 s.LowLevel.Unsafe;..using.UnityE
1100 6e 67 69 6e 65 2e 49 6e 70 75 74 53 79 73 74 65 6d 2e 4c 6f 77 4c 65 76 65 6c 3b 0d 0a 75 73 69 ngine.InputSystem.LowLevel;..usi
1120 6e 67 20 55 6e 69 74 79 45 6e 67 69 6e 65 2e 49 6e 70 75 74 53 79 73 74 65 6d 2e 43 6f 6e 74 72 ng.UnityEngine.InputSystem.Contr
1140 6f 6c 73 3b 0d 0a 75 73 69 6e 67 20 55 6e 69 74 79 45 6e 67 69 6e 65 2e 49 6e 70 75 74 53 79 73 ols;..using.UnityEngine.InputSys
1160 74 65 6d 2e 55 74 69 6c 69 74 69 65 73 3b 0d 0a 0d 0a 2f 2f 2f 2f 54 4f 44 4f 3a 20 72 65 63 6f tem.Utilities;....////TODO:.reco
1180 72 64 65 64 20 74 69 6d 65 73 20 61 72 65 20 62 61 6b 65 64 20 2a 65 78 74 65 72 6e 61 6c 2a 20 rded.times.are.baked.*external*.
11a0 74 69 6d 65 73 3b 20 72 65 73 65 74 20 74 6f 75 63 68 20 77 68 65 6e 20 63 6f 6d 69 6e 67 20 6f times;.reset.touch.when.coming.o
11c0 75 74 20 6f 66 20 70 6c 61 79 20 6d 6f 64 65 0d 0a 0d 0a 2f 2f 2f 2f 52 45 56 49 45 57 3a 20 72 ut.of.play.mode....////REVIEW:.r
11e0 65 63 6f 72 64 20 76 65 6c 6f 63 69 74 79 20 6f 6e 20 74 6f 75 63 68 65 73 3f 20 6f 72 20 61 64 ecord.velocity.on.touches?.or.ad
1200 64 20 6d 65 74 68 6f 64 20 74 6f 20 76 65 72 79 20 65 61 73 69 6c 79 20 67 65 74 20 74 68 65 20 d.method.to.very.easily.get.the.
1220 64 61 74 61 3f 0d 0a 0d 0a 6e 61 6d 65 73 70 61 63 65 20 55 6e 69 74 79 45 6e 67 69 6e 65 2e 49 data?....namespace.UnityEngine.I
1240 6e 70 75 74 53 79 73 74 65 6d 2e 45 6e 68 61 6e 63 65 64 54 6f 75 63 68 0d 0a 7b 0d 0a 20 20 20 nputSystem.EnhancedTouch..{.....
1260 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 2f 2f 2f 20 41 20 68 69 67 68 2d 6c .///.<summary>......///.A.high-l
1280 65 76 65 6c 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 61 20 74 6f 75 63 68 20 77 evel.representation.of.a.touch.w
12a0 68 69 63 68 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 6b 65 65 70 73 20 74 72 61 63 6b 20 6f hich.automatically.keeps.track.o
12c0 66 20 61 20 74 6f 75 63 68 0d 0a 20 20 20 20 2f 2f 2f 20 6f 76 65 72 20 74 69 6d 65 2e 0d 0a 20 f.a.touch......///.over.time....
12e0 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 ...///.</summary>......///.<rema
1300 72 6b 73 3e 0d 0a 20 20 20 20 2f 2f 2f 20 54 68 69 73 20 41 50 49 20 6f 62 73 6f 6c 65 74 65 73 rks>......///.This.API.obsoletes
1320 20 74 68 65 20 6e 65 65 64 20 66 6f 72 20 6d 61 6e 75 61 6c 6c 79 20 6b 65 65 70 69 6e 67 20 74 .the.need.for.manually.keeping.t
1340 72 61 63 6b 69 6e 67 20 6f 66 20 74 6f 75 63 68 20 49 44 73 20 28 3c 73 65 65 20 63 72 65 66 3d racking.of.touch.IDs.(<see.cref=
1360 22 54 6f 75 63 68 43 6f 6e 74 72 6f 6c 2e 74 6f 75 63 68 49 64 22 2f 3e 29 0d 0a 20 20 20 20 2f "TouchControl.touchId"/>)....../
1380 2f 2f 20 61 6e 64 20 74 6f 75 63 68 20 70 68 61 73 65 73 20 28 3c 73 65 65 20 63 72 65 66 3d 22 //.and.touch.phases.(<see.cref="
13a0 54 6f 75 63 68 43 6f 6e 74 72 6f 6c 2e 70 68 61 73 65 22 2f 3e 29 20 69 6e 20 6f 72 64 65 72 20 TouchControl.phase"/>).in.order.
13c0 74 6f 20 74 65 6c 6c 20 6f 6e 65 20 74 6f 75 63 68 20 61 70 61 72 74 20 66 72 6f 6d 20 61 6e 6f to.tell.one.touch.apart.from.ano
13e0 74 68 65 72 2e 0d 0a 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 2f 2f 2f 20 41 6c 73 6f 2c 20 74 68 ther.......///......///.Also,.th
1400 69 73 20 63 6c 61 73 73 20 70 72 6f 74 65 63 74 73 20 61 67 61 69 6e 73 74 20 6c 6f 73 69 6e 67 is.class.protects.against.losing
1420 20 74 6f 75 63 68 65 73 2e 20 49 66 20 61 20 74 6f 75 63 68 20 69 73 20 73 68 6f 72 74 65 72 2d .touches..If.a.touch.is.shorter-
1440 6c 69 76 65 64 20 74 68 61 6e 20 61 20 73 69 6e 67 6c 65 20 69 6e 70 75 74 20 75 70 64 61 74 65 lived.than.a.single.input.update
1460 2c 0d 0a 20 20 20 20 2f 2f 2f 20 3c 73 65 65 20 63 72 65 66 3d 22 54 6f 75 63 68 73 63 72 65 65 ,......///.<see.cref="Touchscree
1480 6e 22 2f 3e 20 6d 61 79 20 6f 76 65 72 77 72 69 74 65 20 69 74 20 77 69 74 68 20 61 20 6e 65 77 n"/>.may.overwrite.it.with.a.new
14a0 20 74 6f 75 63 68 20 63 6f 6d 69 6e 67 20 69 6e 20 69 6e 20 74 68 65 20 73 61 6d 65 20 75 70 64 .touch.coming.in.in.the.same.upd
14c0 61 74 65 20 77 68 65 72 65 61 73 20 74 68 69 73 20 63 6c 61 73 73 0d 0a 20 20 20 20 2f 2f 2f 20 ate.whereas.this.class......///.
14e0 77 69 6c 6c 20 72 65 74 61 69 6e 20 61 6c 6c 20 63 68 61 6e 67 65 73 20 74 68 61 74 20 68 61 70 will.retain.all.changes.that.hap
1500 70 65 6e 65 64 20 6f 6e 20 74 68 65 20 74 6f 75 63 68 73 63 72 65 65 6e 20 69 6e 20 61 6e 79 20 pened.on.the.touchscreen.in.any.
1520 70 61 72 74 69 63 75 6c 61 72 20 75 70 64 61 74 65 2e 0d 0a 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 particular.update.......///.....
1540 20 2f 2f 2f 20 54 68 65 20 41 50 49 20 6d 61 6b 65 73 20 61 20 64 69 73 74 69 6e 63 74 69 6f 6e .///.The.API.makes.a.distinction
1560 20 62 65 74 77 65 65 6e 20 22 66 69 6e 67 65 72 73 22 20 61 6e 64 20 22 74 6f 75 63 68 65 73 22 .between."fingers".and."touches"
1580 2e 20 41 20 74 6f 75 63 68 20 72 65 66 65 72 73 20 74 6f 20 6f 6e 65 20 63 6f 6e 74 61 63 74 20 ..A.touch.refers.to.one.contact.
15a0 73 74 61 74 65 20 63 68 61 6e 67 65 20 65 76 65 6e 74 2c 20 69 2e 65 2e 20 61 0d 0a 20 20 20 20 state.change.event,.i.e..a......
15c0 2f 2f 2f 20 66 69 6e 67 65 72 20 62 65 67 69 6e 6e 69 6e 67 20 74 6f 20 74 6f 75 63 68 20 74 68 ///.finger.beginning.to.touch.th
15e0 65 20 73 63 72 65 65 6e 20 28 3c 73 65 65 20 63 72 65 66 3d 22 54 6f 75 63 68 50 68 61 73 65 2e e.screen.(<see.cref="TouchPhase.
1600 42 65 67 61 6e 22 2f 3e 29 2c 20 6d 6f 76 69 6e 67 20 6f 6e 20 74 68 65 20 73 63 72 65 65 6e 20 Began"/>),.moving.on.the.screen.
1620 28 3c 73 65 65 20 63 72 65 66 3d 22 54 6f 75 63 68 50 68 61 73 65 2e 4d 6f 76 65 64 22 2f 3e 29 (<see.cref="TouchPhase.Moved"/>)
1640 2c 0d 0a 20 20 20 20 2f 2f 2f 20 6f 72 20 62 65 69 6e 67 20 6c 69 66 74 65 64 20 6f 66 66 20 74 ,......///.or.being.lifted.off.t
1660 68 65 20 73 63 72 65 65 6e 20 28 3c 73 65 65 20 63 72 65 66 3d 22 54 6f 75 63 68 50 68 61 73 65 he.screen.(<see.cref="TouchPhase
1680 2e 45 6e 64 65 64 22 2f 3e 20 6f 72 20 3c 73 65 65 20 63 72 65 66 3d 22 54 6f 75 63 68 50 68 61 .Ended"/>.or.<see.cref="TouchPha
16a0 73 65 2e 43 61 6e 63 65 6c 65 64 22 2f 3e 29 2e 0d 0a 20 20 20 20 2f 2f 2f 20 41 20 66 69 6e 67 se.Canceled"/>).......///.A.fing
16c0 65 72 2c 20 6f 6e 20 74 68 65 20 6f 74 68 65 72 20 68 61 6e 64 2c 20 61 6c 77 61 79 73 20 72 65 er,.on.the.other.hand,.always.re
16e0 66 65 72 73 20 74 6f 20 74 68 65 20 4e 74 68 20 63 6f 6e 74 61 63 74 20 6f 6e 20 74 68 65 20 73 fers.to.the.Nth.contact.on.the.s
1700 63 72 65 65 6e 2e 0d 0a 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 2f 2f 2f 20 41 20 54 6f 75 63 68 creen.......///......///.A.Touch
1720 20 69 6e 73 74 61 6e 63 65 20 69 73 20 61 20 73 74 72 75 63 74 20 77 68 69 63 68 20 6f 6e 6c 79 .instance.is.a.struct.which.only
1740 20 63 6f 6e 74 61 69 6e 73 20 61 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 74 68 65 20 61 63 74 .contains.a.reference.to.the.act
1760 75 61 6c 20 64 61 74 61 20 77 68 69 63 68 20 69 73 20 73 74 6f 72 65 64 20 69 6e 20 75 6e 6d 61 ual.data.which.is.stored.in.unma
1780 6e 61 67 65 64 0d 0a 20 20 20 20 2f 2f 2f 20 6d 65 6d 6f 72 79 2e 0d 0a 20 20 20 20 2f 2f 2f 20 naged......///.memory.......///.
17a0 3c 2f 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 5b 53 79 73 74 65 6d 2e 44 69 61 67 6e 6f 73 74 </remarks>......[System.Diagnost
17c0 69 63 73 2e 43 6f 64 65 41 6e 61 6c 79 73 69 73 2e 53 75 70 70 72 65 73 73 4d 65 73 73 61 67 65 ics.CodeAnalysis.SuppressMessage
17e0 28 22 4d 69 63 72 6f 73 6f 66 74 2e 4e 61 6d 69 6e 67 22 2c 20 22 43 41 31 37 32 34 3a 54 79 70 ("Microsoft.Naming",."CA1724:Typ
1800 65 4e 61 6d 65 73 53 68 6f 75 6c 64 4e 6f 74 4d 61 74 63 68 4e 61 6d 65 73 70 61 63 65 73 22 29 eNamesShouldNotMatchNamespaces")
1820 5d 0d 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 72 75 63 74 20 54 6f 75 63 68 20 3a 20 49 45 71 ]......public.struct.Touch.:.IEq
1840 75 61 74 61 62 6c 65 3c 54 6f 75 63 68 3e 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 2f uatable<Touch>......{........../
1860 2f 20 54 68 65 20 77 61 79 20 74 68 69 73 20 77 6f 72 6b 73 20 69 73 20 74 68 61 74 20 61 74 20 /.The.way.this.works.is.that.at.
1880 74 68 65 20 63 6f 72 65 2c 20 69 74 20 73 69 6d 70 6c 79 20 61 74 74 61 63 68 65 73 20 6f 6e 65 the.core,.it.simply.attaches.one
18a0 20 49 6e 70 75 74 53 74 61 74 65 48 69 73 74 6f 72 79 20 70 65 72 20 22 3c 54 6f 75 63 68 73 63 .InputStateHistory.per."<Touchsc
18c0 72 65 65 6e 3e 2f 74 6f 75 63 68 2a 22 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 63 6f 6e 74 72 6f reen>/touch*"..........//.contro
18e0 6c 20 61 6e 64 20 74 68 65 6e 20 70 72 65 73 65 6e 74 73 20 61 20 70 75 62 6c 69 63 20 41 50 49 l.and.then.presents.a.public.API
1900 20 74 68 61 74 20 63 72 61 77 6c 73 20 6f 76 65 72 20 74 68 65 20 72 65 63 6f 72 64 65 64 20 74 .that.crawls.over.the.recorded.t
1920 6f 75 63 68 20 68 69 73 74 6f 72 79 20 69 6e 20 76 61 72 69 6f 75 73 20 77 61 79 73 2e 0d 0a 0d ouch.history.in.various.ways....
1940 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 .........///.<summary>..........
1960 2f 2f 2f 20 57 68 65 74 68 65 72 20 74 68 69 73 20 74 6f 75 63 68 20 72 65 63 6f 72 64 20 68 6f ///.Whether.this.touch.record.ho
1980 6c 64 73 20 76 61 6c 69 64 20 64 61 74 61 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 lds.valid.data...........///.</s
19a0 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 76 61 6c 75 65 3e 49 66 20 74 ummary>..........///.<value>If.t
19c0 72 75 65 2c 20 74 68 65 20 64 61 74 61 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 20 74 68 65 20 74 rue,.the.data.contained.in.the.t
19e0 6f 75 63 68 20 69 73 20 76 61 6c 69 64 2e 3c 2f 76 61 6c 75 65 3e 0d 0a 20 20 20 20 20 20 20 20 ouch.is.valid.</value>..........
1a00 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 6f 75 63 68 ///.<remarks>..........///.Touch
1a20 20 64 61 74 61 20 69 73 20 73 74 6f 72 65 64 20 69 6e 20 75 6e 6d 61 6e 61 67 65 64 20 6d 65 6d .data.is.stored.in.unmanaged.mem
1a40 6f 72 79 20 61 73 20 61 20 63 69 72 63 75 6c 61 72 20 69 6e 70 75 74 20 62 75 66 66 65 72 2e 20 ory.as.a.circular.input.buffer..
1a60 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 77 68 65 6e 0d 0a 20 20 20 20 20 20 20 20 2f 2f This.means.that.when..........//
1a80 2f 20 74 68 65 20 62 75 66 66 65 72 20 72 75 6e 73 20 6f 75 74 20 6f 66 20 63 61 70 61 63 69 74 /.the.buffer.runs.out.of.capacit
1aa0 79 2c 20 6f 6c 64 65 72 20 74 6f 75 63 68 20 65 6e 74 72 69 65 73 20 77 69 6c 6c 20 67 65 74 20 y,.older.touch.entries.will.get.
1ac0 72 65 75 73 65 64 2e 20 57 68 65 6e 20 74 68 69 73 20 68 61 70 70 65 6e 73 2c 0d 0a 20 20 20 20 reused..When.this.happens,......
1ae0 20 20 20 20 2f 2f 2f 20 65 78 69 73 74 69 6e 67 20 3c 63 3e 54 6f 75 63 68 3c 2f 63 3e 20 69 6e ....///.existing.<c>Touch</c>.in
1b00 73 74 61 6e 63 65 73 20 72 65 66 65 72 72 69 6e 67 20 74 6f 20 74 68 65 20 72 65 63 6f 72 64 20 stances.referring.to.the.record.
1b20 62 65 63 6f 6d 65 20 69 6e 76 61 6c 69 64 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 become.invalid...........///....
1b40 20 20 20 20 20 20 2f 2f 2f 20 54 68 69 73 20 70 72 6f 70 65 72 74 79 20 63 61 6e 20 62 65 20 75 ......///.This.property.can.be.u
1b60 73 65 64 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 20 77 68 65 74 68 65 72 20 74 68 65 20 72 65 63 sed.to.determine.whether.the.rec
1b80 6f 72 64 20 68 65 6c 64 20 6f 6e 20 74 6f 20 62 79 20 74 68 65 20 3c 63 3e 54 6f 75 63 68 3c 2f ord.held.on.to.by.the.<c>Touch</
1ba0 63 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 69 6e 73 74 61 6e 63 65 20 69 73 20 73 74 69 6c c>..........///.instance.is.stil
1bc0 6c 20 76 61 6c 69 64 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 20 20 20 20 2f l.valid...........///........../
1be0 2f 2f 20 54 68 69 73 20 70 72 6f 70 65 72 74 79 20 77 69 6c 6c 20 62 65 20 3c 63 3e 66 61 6c 73 //.This.property.will.be.<c>fals
1c00 65 3c 2f 63 3e 20 66 6f 72 20 64 65 66 61 75 6c 74 2d 69 6e 69 74 69 61 6c 69 7a 65 64 20 3c 63 e</c>.for.default-initialized.<c
1c20 3e 54 6f 75 63 68 3c 2f 63 3e 20 69 6e 73 74 61 6e 63 65 73 2e 0d 0a 20 20 20 20 20 20 20 20 2f >Touch</c>.instances.........../
1c40 2f 2f 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 4e 6f 74 65 20 74 68 61 74 20 61 63 63 65 73 73 //..........///.Note.that.access
1c60 69 6e 67 20 6d 6f 73 74 20 6f 66 20 74 68 65 20 6f 74 68 65 72 20 70 72 6f 70 65 72 74 69 65 73 ing.most.of.the.other.properties
1c80 20 6f 6e 20 74 68 69 73 20 73 74 72 75 63 74 20 77 68 65 6e 20 74 68 65 20 74 6f 75 63 68 20 69 .on.this.struct.when.the.touch.i
1ca0 73 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 69 6e 76 61 6c 69 64 20 77 69 6c 6c 20 74 72 69 67 s..........///.invalid.will.trig
1cc0 67 65 72 20 3c 63 3e 49 6e 76 61 6c 69 64 4f 70 65 72 61 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e ger.<c>InvalidOperationException
1ce0 3c 2f 63 3e 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 6d 61 72 6b 73 3e 0d 0a 20 </c>...........///.</remarks>...
1d00 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 62 6f 6f 6c 20 76 61 6c 69 64 20 3d 3e 20 6d 5f 54 6f .......public.bool.valid.=>.m_To
1d20 75 63 68 52 65 63 6f 72 64 2e 76 61 6c 69 64 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 uchRecord.valid;............///.
1d40 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 68 65 20 66 69 6e 67 65 <summary>..........///.The.finge
1d60 72 20 75 73 65 64 20 66 6f 72 20 74 68 65 20 74 6f 75 63 68 20 63 6f 6e 74 61 63 74 2e 20 4e 75 r.used.for.the.touch.contact..Nu
1d80 6c 6c 20 6f 6e 6c 79 20 66 6f 72 20 64 65 66 61 75 6c 74 2d 69 6e 69 74 69 61 6c 69 7a 65 64 0d ll.only.for.default-initialized.
1da0 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 69 6e 73 74 61 6e 63 65 73 20 6f 66 20 74 68 65 20 73 74 .........///.instances.of.the.st
1dc0 72 75 63 74 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 ruct...........///.</summary>...
1de0 20 20 20 20 20 20 20 2f 2f 2f 20 3c 76 61 6c 75 65 3e 46 69 6e 67 65 72 20 75 73 65 64 20 66 6f .......///.<value>Finger.used.fo
1e00 72 20 74 68 65 20 74 6f 75 63 68 20 63 6f 6e 74 61 63 74 2e 3c 2f 76 61 6c 75 65 3e 0d 0a 20 20 r.the.touch.contact.</value>....
1e20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 61 63 74 69 76 65 46 ......///.<seealso.cref="activeF
1e40 69 6e 67 65 72 73 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 46 69 6e 67 65 72 ingers"/>..........public.Finger
1e60 20 66 69 6e 67 65 72 20 3d 3e 20 6d 5f 46 69 6e 67 65 72 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 .finger.=>.m_Finger;............
1e80 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 43 75 72 72 65 ///.<summary>..........///.Curre
1ea0 6e 74 20 70 68 61 73 65 20 6f 66 20 74 68 65 20 74 6f 75 63 68 2e 0d 0a 20 20 20 20 20 20 20 20 nt.phase.of.the.touch...........
1ec0 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 76 61 6c ///.</summary>..........///.<val
1ee0 75 65 3e 43 75 72 72 65 6e 74 20 70 68 61 73 65 20 6f 66 20 74 68 65 20 74 6f 75 63 68 2e 3c 2f ue>Current.phase.of.the.touch.</
1f00 76 61 6c 75 65 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e 0d 0a 20 value>..........///.<remarks>...
1f20 20 20 20 20 20 20 20 2f 2f 2f 20 45 76 65 72 79 20 74 6f 75 63 68 20 67 6f 65 73 20 74 68 72 6f .......///.Every.touch.goes.thro
1f40 75 67 68 20 61 20 70 72 65 64 65 66 69 6e 65 64 20 63 79 63 6c 65 20 74 68 61 74 20 73 74 61 72 ugh.a.predefined.cycle.that.star
1f60 74 73 20 77 69 74 68 20 3c 73 65 65 20 63 72 65 66 3d 22 54 6f 75 63 68 50 68 61 73 65 2e 42 65 ts.with.<see.cref="TouchPhase.Be
1f80 67 61 6e 22 2f 3e 2c 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 74 68 65 6e 20 70 6f 74 65 6e 74 gan"/>,..........///.then.potent
1fa0 69 61 6c 6c 79 20 3c 73 65 65 20 63 72 65 66 3d 22 54 6f 75 63 68 50 68 61 73 65 2e 4d 6f 76 65 ially.<see.cref="TouchPhase.Move
1fc0 64 22 2f 3e 20 61 6e 64 2f 6f 72 20 3c 73 65 65 20 63 72 65 66 3d 22 54 6f 75 63 68 50 68 61 73 d"/>.and/or.<see.cref="TouchPhas
1fe0 65 2e 53 74 61 74 69 6f 6e 61 72 79 22 2f 3e 2c 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 61 6e e.Stationary"/>,..........///.an
2000 64 20 66 69 6e 61 6c 6c 79 20 63 6f 6e 63 6c 75 64 65 73 20 77 69 74 68 20 65 69 74 68 65 72 20 d.finally.concludes.with.either.
2020 3c 73 65 65 20 63 72 65 66 3d 22 54 6f 75 63 68 50 68 61 73 65 2e 45 6e 64 65 64 22 2f 3e 20 6f <see.cref="TouchPhase.Ended"/>.o
2040 72 20 3c 73 65 65 20 63 72 65 66 3d 22 54 6f 75 63 68 50 68 61 73 65 2e 43 61 6e 63 65 6c 65 64 r.<see.cref="TouchPhase.Canceled
2060 22 2f 3e 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 "/>...........///..........///.T
2080 68 69 73 20 70 72 6f 70 65 72 74 79 20 69 6e 64 69 63 61 74 65 73 20 77 68 65 72 65 20 69 6e 20 his.property.indicates.where.in.
20a0 74 68 65 20 63 79 63 6c 65 20 74 68 65 20 74 6f 75 63 68 20 69 73 2e 0d 0a 20 20 20 20 20 20 20 the.cycle.the.touch.is..........
20c0 20 2f 2f 2f 20 3c 2f 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 .///.</remarks>..........///.<se
20e0 65 61 6c 73 6f 20 63 72 65 66 3d 22 69 73 49 6e 50 72 6f 67 72 65 73 73 22 2f 3e 0d 0a 20 20 20 ealso.cref="isInProgress"/>.....
2100 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 54 6f 75 63 68 43 6f 6e .....///.<seealso.cref="TouchCon
2120 74 72 6f 6c 2e 70 68 61 73 65 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 54 6f trol.phase"/>..........public.To
2140 75 63 68 50 68 61 73 65 20 70 68 61 73 65 20 3d 3e 20 73 74 61 74 65 2e 70 68 61 73 65 3b 0d 0a uchPhase.phase.=>.state.phase;..
2160 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 ..........///.<summary>.........
2180 20 2f 2f 2f 20 55 6e 69 71 75 65 20 49 44 20 6f 66 20 74 68 65 20 74 6f 75 63 68 20 61 73 20 28 .///.Unique.ID.of.the.touch.as.(
21a0 75 73 75 61 6c 6c 79 29 20 61 73 73 69 67 6e 65 64 20 62 79 20 74 68 65 20 70 6c 61 74 66 6f 72 usually).assigned.by.the.platfor
21c0 6d 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 m...........///.</summary>......
21e0 20 20 20 20 2f 2f 2f 20 3c 76 61 6c 75 65 3e 55 6e 69 71 75 65 2c 20 6e 6f 6e 2d 7a 65 72 6f 20 ....///.<value>Unique,.non-zero.
2200 49 44 20 6f 66 20 74 68 65 20 74 6f 75 63 68 2e 3c 2f 76 61 6c 75 65 3e 0d 0a 20 20 20 20 20 20 ID.of.the.touch.</value>........
2220 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 45 61 63 ..///.<remarks>..........///.Eac
2240 68 20 74 6f 75 63 68 20 63 6f 6e 74 61 63 74 20 74 68 61 74 20 69 73 20 6d 61 64 65 20 77 69 74 h.touch.contact.that.is.made.wit
2260 68 20 74 68 65 20 73 63 72 65 65 6e 20 72 65 63 65 69 76 65 73 20 69 74 73 20 6f 77 6e 20 75 6e h.the.screen.receives.its.own.un
2280 69 71 75 65 20 49 44 20 77 68 69 63 68 20 69 73 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 6e 6f ique.ID.which.is..........///.no
22a0 72 6d 61 6c 6c 79 20 61 73 73 69 67 6e 65 64 20 62 79 20 74 68 65 20 75 6e 64 65 72 6c 79 69 6e rmally.assigned.by.the.underlyin
22c0 67 20 70 6c 61 74 66 6f 72 6d 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 20 20 g.platform...........///........
22e0 20 20 2f 2f 2f 20 4e 6f 74 65 20 61 20 70 6c 61 74 66 6f 72 6d 20 6d 61 79 20 72 65 75 73 65 20 ..///.Note.a.platform.may.reuse.
2300 74 6f 75 63 68 20 49 44 73 20 61 66 74 65 72 20 74 68 65 69 72 20 72 65 73 70 65 63 74 69 76 65 touch.IDs.after.their.respective
2320 20 74 6f 75 63 68 65 73 20 68 61 76 65 20 66 69 6e 69 73 68 65 64 2e 0d 0a 20 20 20 20 20 20 20 .touches.have.finished..........
2340 20 2f 2f 2f 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 74 68 65 20 67 75 61 72 61 6e 74 .///.This.means.that.the.guarant
2360 65 65 20 6f 66 20 75 6e 69 71 75 65 6e 65 73 73 20 69 73 20 6f 6e 6c 79 20 6d 61 64 65 20 77 69 ee.of.uniqueness.is.only.made.wi
2380 74 68 20 72 65 73 70 65 63 74 20 74 6f 20 3c 73 65 65 20 63 72 65 66 3d 22 61 63 74 69 76 65 54 th.respect.to.<see.cref="activeT
23a0 6f 75 63 68 65 73 22 2f 3e 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 20 20 20 ouches"/>...........///.........
23c0 20 2f 2f 2f 20 49 6e 20 70 61 72 74 69 63 75 6c 61 72 2c 20 61 6c 6c 20 74 6f 75 63 68 65 73 20 .///.In.particular,.all.touches.
23e0 69 6e 20 3c 73 65 65 20 63 72 65 66 3d 22 68 69 73 74 6f 72 79 22 2f 3e 20 77 69 6c 6c 20 68 61 in.<see.cref="history"/>.will.ha
2400 76 65 20 74 68 65 20 73 61 6d 65 20 49 44 20 77 68 65 72 65 61 73 0d 0a 20 20 20 20 20 20 20 20 ve.the.same.ID.whereas..........
2420 2f 2f 2f 20 74 6f 75 63 68 65 73 20 69 6e 20 74 68 65 20 61 20 66 69 6e 67 65 72 27 73 20 3c 73 ///.touches.in.the.a.finger's.<s
2440 65 65 20 63 72 65 66 3d 22 46 69 6e 67 65 72 2e 74 6f 75 63 68 48 69 73 74 6f 72 79 22 2f 3e 20 ee.cref="Finger.touchHistory"/>.
2460 6d 61 79 20 65 6e 64 20 75 70 20 68 61 76 69 6e 67 20 74 68 65 20 73 61 6d 65 0d 0a 20 20 20 20 may.end.up.having.the.same......
2480 20 20 20 20 2f 2f 2f 20 74 6f 75 63 68 20 49 44 20 65 76 65 6e 20 74 68 6f 75 67 68 20 63 6f 6e ....///.touch.ID.even.though.con
24a0 73 74 69 74 75 74 69 6e 67 20 64 69 66 66 65 72 65 6e 74 20 70 68 79 73 69 63 61 6c 20 74 6f 75 stituting.different.physical.tou
24c0 63 68 20 63 6f 6e 74 61 63 74 73 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 6d 61 ch.contacts...........///.</rema
24e0 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d rks>..........///.<seealso.cref=
2500 22 54 6f 75 63 68 43 6f 6e 74 72 6f 6c 2e 74 6f 75 63 68 49 64 22 2f 3e 0d 0a 20 20 20 20 20 20 "TouchControl.touchId"/>........
2520 20 20 70 75 62 6c 69 63 20 69 6e 74 20 74 6f 75 63 68 49 64 20 3d 3e 20 73 74 61 74 65 2e 74 6f ..public.int.touchId.=>.state.to
2540 75 63 68 49 64 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d uchId;............///.<summary>.
2560 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 4e 6f 72 6d 61 6c 69 7a 65 64 20 70 72 65 73 73 75 72 65 .........///.Normalized.pressure
2580 20 6f 66 20 74 68 65 20 74 6f 75 63 68 20 61 67 61 69 6e 73 74 20 74 68 65 20 74 6f 75 63 68 20 .of.the.touch.against.the.touch.
25a0 73 75 72 66 61 63 65 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e surface...........///.</summary>
25c0 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 76 61 6c 75 65 3e 50 72 65 73 73 75 72 65 20 6c 65 ..........///.<value>Pressure.le
25e0 76 65 6c 20 6f 66 20 74 68 65 20 74 6f 75 63 68 2e 3c 2f 76 61 6c 75 65 3e 0d 0a 20 20 20 20 20 vel.of.the.touch.</value>.......
2600 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 4e 6f ...///.<remarks>..........///.No
2620 74 20 61 6c 6c 20 74 6f 75 63 68 73 63 72 65 65 6e 73 20 61 72 65 20 70 72 65 73 73 75 72 65 2d t.all.touchscreens.are.pressure-
2640 73 65 6e 73 69 74 69 76 65 2e 20 49 66 20 75 6e 73 75 70 70 6f 72 74 65 64 2c 20 74 68 69 73 20 sensitive..If.unsupported,.this.
2660 70 72 6f 70 65 72 74 79 20 77 69 6c 6c 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 61 6c 77 61 79 property.will..........///.alway
2680 73 20 72 65 74 75 72 6e 20 30 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 20 20 s.return.0...........///........
26a0 20 20 2f 2f 2f 20 49 6e 20 67 65 6e 65 72 61 6c 2c 20 74 6f 75 63 68 20 70 72 65 73 73 75 72 65 ..///.In.general,.touch.pressure
26c0 20 69 73 20 73 75 70 70 6f 72 74 65 64 20 6f 6e 20 6d 6f 62 69 6c 65 20 70 6c 61 74 66 6f 72 6d .is.supported.on.mobile.platform
26e0 73 20 6f 6e 6c 79 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 20 20 20 20 2f 2f s.only...........///..........//
2700 2f 20 4e 6f 74 65 20 74 68 61 74 20 69 74 20 69 73 20 70 6f 73 73 69 62 6c 65 20 66 6f 72 20 74 /.Note.that.it.is.possible.for.t
2720 68 65 20 76 61 6c 75 65 20 74 6f 20 67 6f 20 61 62 6f 76 65 20 31 20 65 76 65 6e 20 74 68 6f 75 he.value.to.go.above.1.even.thou
2740 67 68 20 69 74 20 69 73 20 63 6f 6e 73 69 64 65 72 65 64 20 6e 6f 72 6d 61 6c 69 7a 65 64 2e 20 gh.it.is.considered.normalized..
2760 54 68 65 20 72 65 61 73 6f 6e 20 69 73 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 74 68 61 74 20 The.reason.is..........///.that.
2780 63 61 6c 69 62 72 61 74 69 6f 6e 20 6f 6e 20 74 68 65 20 73 79 73 74 65 6d 20 63 61 6e 20 70 75 calibration.on.the.system.can.pu
27a0 74 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 70 72 65 73 73 75 72 65 20 70 6f 69 6e 74 20 62 65 6c t.the.maximum.pressure.point.bel
27c0 6f 77 20 74 68 65 20 70 68 79 73 69 63 61 6c 6c 79 20 73 75 70 70 6f 72 74 65 64 20 6d 61 78 69 ow.the.physically.supported.maxi
27e0 6d 75 6d 20 76 61 6c 75 65 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 6d 61 72 6b mum.value...........///.</remark
2800 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 54 s>..........///.<seealso.cref="T
2820 6f 75 63 68 43 6f 6e 74 72 6f 6c 2e 70 72 65 73 73 75 72 65 22 2f 3e 0d 0a 20 20 20 20 20 20 20 ouchControl.pressure"/>.........
2840 20 70 75 62 6c 69 63 20 66 6c 6f 61 74 20 70 72 65 73 73 75 72 65 20 3d 3e 20 73 74 61 74 65 2e .public.float.pressure.=>.state.
2860 70 72 65 73 73 75 72 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 pressure;............///.<summar
2880 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 53 63 72 65 65 6e 2d 73 70 61 63 65 20 72 61 64 y>..........///.Screen-space.rad
28a0 69 75 73 20 6f 66 20 74 68 65 20 74 6f 75 63 68 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c ius.of.the.touch...........///.<
28c0 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 76 61 6c 75 65 3e 48 6f /summary>..........///.<value>Ho
28e0 72 69 7a 6f 6e 74 61 6c 20 61 6e 64 20 76 65 72 74 69 63 61 6c 20 65 78 74 65 6e 74 73 20 6f 66 rizontal.and.vertical.extents.of
2900 20 74 68 65 20 74 6f 75 63 68 20 63 6f 6e 74 61 63 74 2e 3c 2f 76 61 6c 75 65 3e 0d 0a 20 20 20 .the.touch.contact.</value>.....
2920 20 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 .....///.<remarks>..........///.
2940 49 66 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 74 68 65 20 75 6e 64 65 72 6c 79 69 6e 67 20 64 If.supported.by.the.underlying.d
2960 65 76 69 63 65 2c 20 74 68 69 73 20 72 65 70 6f 72 74 73 20 74 68 65 20 73 69 7a 65 20 6f 66 20 evice,.this.reports.the.size.of.
2980 74 68 65 20 74 6f 75 63 68 20 63 6f 6e 74 61 63 74 20 62 61 73 65 64 20 6f 6e 20 69 74 73 0d 0a the.touch.contact.based.on.its..
29a0 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 20 63 72 65 66 3d 22 73 63 72 65 65 6e 50 6f 73 ........///.<see.cref="screenPos
29c0 69 74 69 6f 6e 22 2f 3e 20 63 65 6e 74 65 72 20 70 6f 69 6e 74 2e 20 49 66 20 6e 6f 74 20 73 75 ition"/>.center.point..If.not.su
29e0 70 70 6f 72 74 65 64 2c 20 74 68 69 73 20 77 69 6c 6c 20 62 65 20 3c 63 3e 64 65 66 61 75 6c 74 pported,.this.will.be.<c>default
2a00 28 56 65 63 74 6f 72 32 29 3c 2f 63 3e 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 (Vector2)</c>...........///.</re
2a20 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 marks>..........///.<seealso.cre
2a40 66 3d 22 54 6f 75 63 68 43 6f 6e 74 72 6f 6c 2e 72 61 64 69 75 73 22 2f 3e 0d 0a 20 20 20 20 20 f="TouchControl.radius"/>.......
2a60 20 20 20 70 75 62 6c 69 63 20 56 65 63 74 6f 72 32 20 72 61 64 69 75 73 20 3d 3e 20 73 74 61 74 ...public.Vector2.radius.=>.stat
2a80 65 2e 72 61 64 69 75 73 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 e.radius;............///.<summar
2aa0 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 69 6d 65 20 69 6e 20 73 65 63 6f 6e 64 73 20 y>..........///.Time.in.seconds.
2ac0 6f 6e 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 6c 69 6e 65 20 61 73 20 3c 63 3e 54 69 6d 65 2e on.the.same.timeline.as.<c>Time.
2ae0 72 65 61 6c 54 69 6d 65 53 69 6e 63 65 53 74 61 72 74 75 70 3c 2f 63 3e 20 77 68 65 6e 20 74 68 realTimeSinceStartup</c>.when.th
2b00 65 20 74 6f 75 63 68 20 62 65 67 61 6e 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 e.touch.began...........///.</su
2b20 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 76 61 6c 75 65 3e 53 74 61 72 74 mmary>..........///.<value>Start
2b40 20 74 69 6d 65 20 6f 66 20 74 68 65 20 74 6f 75 63 68 2e 3c 2f 76 61 6c 75 65 3e 0d 0a 20 20 20 .time.of.the.touch.</value>.....
2b60 20 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 .....///.<remarks>..........///.
2b80 54 68 69 73 20 69 73 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 3c 73 65 65 20 63 72 65 66 3d 22 This.is.the.value.of.<see.cref="
2ba0 49 6e 70 75 74 45 76 65 6e 74 2e 74 69 6d 65 22 2f 3e 20 77 68 65 6e 20 74 68 65 20 74 6f 75 63 InputEvent.time"/>.when.the.touc
2bc0 68 20 73 74 61 72 74 65 64 20 77 69 74 68 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 h.started.with..........///.<see
2be0 20 63 72 65 66 3d 22 70 68 61 73 65 22 2f 3e 20 3c 73 65 65 20 63 72 65 66 3d 22 54 6f 75 63 68 .cref="phase"/>.<see.cref="Touch
2c00 50 68 61 73 65 2e 42 65 67 61 6e 22 2f 3e 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 72 Phase.Began"/>...........///.</r
2c20 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 emarks>..........///.<seealso.cr
2c40 65 66 3d 22 54 6f 75 63 68 43 6f 6e 74 72 6f 6c 2e 73 74 61 72 74 54 69 6d 65 22 2f 3e 0d 0a 20 ef="TouchControl.startTime"/>...
2c60 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 20 73 74 61 72 74 54 69 6d 65 20 3d .......public.double.startTime.=
2c80 3e 20 73 74 61 74 65 2e 73 74 61 72 74 54 69 6d 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f >.state.startTime;............//
2ca0 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 69 6d 65 20 69 6e /.<summary>..........///.Time.in
2cc0 20 73 65 63 6f 6e 64 73 20 6f 6e 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 6c 69 6e 65 20 61 73 .seconds.on.the.same.timeline.as
2ce0 20 3c 63 3e 54 69 6d 65 2e 72 65 61 6c 54 69 6d 65 53 69 6e 63 65 53 74 61 72 74 75 70 3c 2f 63 .<c>Time.realTimeSinceStartup</c
2d00 3e 20 77 68 65 6e 20 74 68 65 20 74 6f 75 63 68 20 72 65 63 6f 72 64 20 77 61 73 0d 0a 20 20 20 >.when.the.touch.record.was.....
2d20 20 20 20 20 20 2f 2f 2f 20 72 65 70 6f 72 74 65 64 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 .....///.reported...........///.
2d40 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 76 61 6c 75 65 3e 54 </summary>..........///.<value>T
2d60 69 6d 65 20 74 68 65 20 74 6f 75 63 68 20 72 65 63 6f 72 64 20 77 61 73 20 72 65 70 6f 72 74 65 ime.the.touch.record.was.reporte
2d80 64 2e 3c 2f 76 61 6c 75 65 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 d.</value>..........///.<remarks
2da0 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 68 69 73 20 69 73 20 74 68 65 20 76 61 6c 75 65 >..........///.This.is.the.value
2dc0 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 45 76 65 6e 74 2e 74 69 6d 65 22 2f 3e 20 6f .<see.cref="InputEvent.time"/>.o
2de0 66 20 74 68 65 20 65 76 65 6e 74 20 74 68 61 74 20 73 69 67 6e 61 6c 65 64 20 74 68 65 20 63 75 f.the.event.that.signaled.the.cu
2e00 72 72 65 6e 74 20 73 74 61 74 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 63 68 61 6e 67 65 20 rrent.state..........///.change.
2e20 66 6f 72 20 74 68 65 20 74 6f 75 63 68 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 for.the.touch...........///.</re
2e40 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 20 74 69 marks>..........public.double.ti
2e60 6d 65 20 3d 3e 20 6d 5f 54 6f 75 63 68 52 65 63 6f 72 64 2e 74 69 6d 65 3b 0d 0a 0d 0a 20 20 20 me.=>.m_TouchRecord.time;.......
2e80 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 .....///.<summary>..........///.
2ea0 54 68 65 20 74 6f 75 63 68 73 63 72 65 65 6e 20 6f 6e 20 77 68 69 63 68 20 74 68 65 20 74 6f 75 The.touchscreen.on.which.the.tou
2ec0 63 68 20 6f 63 63 75 72 72 65 64 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d ch.occurred...........///.</summ
2ee0 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 76 61 6c 75 65 3e 54 6f 75 63 68 73 63 ary>..........///.<value>Touchsc
2f00 72 65 65 6e 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 65 20 74 6f 75 63 68 2e 3c reen.associated.with.the.touch.<
2f20 2f 76 61 6c 75 65 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 54 6f 75 63 68 73 63 72 /value>..........public.Touchscr
2f40 65 65 6e 20 73 63 72 65 65 6e 20 3d 3e 20 66 69 6e 67 65 72 2e 73 63 72 65 65 6e 3b 0d 0a 0d 0a een.screen.=>.finger.screen;....
2f60 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f ........///.<summary>........../
2f80 2f 2f 20 53 63 72 65 65 6e 2d 73 70 61 63 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 //.Screen-space.position.of.the.
2fa0 74 6f 75 63 68 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a touch...........///.</summary>..
2fc0 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 76 61 6c 75 65 3e 53 63 72 65 65 6e 2d 73 70 61 63 65 20 ........///.<value>Screen-space.
2fe0 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 74 6f 75 63 68 2e 3c 2f 76 61 6c 75 65 3e 0d 0a position.of.the.touch.</value>..
3000 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 54 6f 75 63 68 ........///.<seealso.cref="Touch
3020 43 6f 6e 74 72 6f 6c 2e 70 6f 73 69 74 69 6f 6e 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 Control.position"/>..........pub
3040 6c 69 63 20 56 65 63 74 6f 72 32 20 73 63 72 65 65 6e 50 6f 73 69 74 69 6f 6e 20 3d 3e 20 73 74 lic.Vector2.screenPosition.=>.st
3060 61 74 65 2e 70 6f 73 69 74 69 6f 6e 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 ate.position;............///.<su
3080 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 53 63 72 65 65 6e 2d 73 70 61 63 65 mmary>..........///.Screen-space
30a0 20 70 6f 73 69 74 69 6f 6e 20 77 68 65 72 65 20 74 68 65 20 74 6f 75 63 68 20 73 74 61 72 74 65 .position.where.the.touch.starte
30c0 64 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 d...........///.</summary>......
30e0 20 20 20 20 2f 2f 2f 20 3c 76 61 6c 75 65 3e 53 74 61 72 74 20 70 6f 73 69 74 69 6f 6e 20 6f 66 ....///.<value>Start.position.of
3100 20 74 68 65 20 74 6f 75 63 68 2e 3c 2f 76 61 6c 75 65 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f .the.touch.</value>..........///
3120 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 54 6f 75 63 68 43 6f 6e 74 72 6f 6c 2e 73 74 61 .<seealso.cref="TouchControl.sta
3140 72 74 50 6f 73 69 74 69 6f 6e 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 56 65 rtPosition"/>..........public.Ve
3160 63 74 6f 72 32 20 73 74 61 72 74 53 63 72 65 65 6e 50 6f 73 69 74 69 6f 6e 20 3d 3e 20 73 74 61 ctor2.startScreenPosition.=>.sta
3180 74 65 2e 73 74 61 72 74 50 6f 73 69 74 69 6f 6e 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f te.startPosition;............///
31a0 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 53 63 72 65 65 6e 2d 73 .<summary>..........///.Screen-s
31c0 70 61 63 65 20 6d 6f 74 69 6f 6e 20 64 65 6c 74 61 20 6f 66 20 74 68 65 20 74 6f 75 63 68 2e 0d pace.motion.delta.of.the.touch..
31e0 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 .........///.</summary>.........
3200 20 2f 2f 2f 20 3c 76 61 6c 75 65 3e 53 63 72 65 65 6e 2d 73 70 61 63 65 20 6d 6f 74 69 6f 6e 20 .///.<value>Screen-space.motion.
3220 64 65 6c 74 61 20 6f 66 20 74 68 65 20 74 6f 75 63 68 2e 3c 2f 76 61 6c 75 65 3e 0d 0a 20 20 20 delta.of.the.touch.</value>.....
3240 20 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 .....///.<remarks>..........///.
3260 4e 6f 74 65 20 74 68 61 74 20 64 65 6c 74 61 73 20 68 61 76 65 20 62 65 68 61 76 69 6f 72 73 20 Note.that.deltas.have.behaviors.
3280 61 74 74 61 63 68 65 64 20 74 6f 20 74 68 65 6d 20 64 69 66 66 65 72 65 6e 74 20 66 72 6f 6d 20 attached.to.them.different.from.
32a0 6d 6f 73 74 20 6f 74 68 65 72 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 63 6f 6e 74 72 6f 6c 73 most.other..........///.controls
32c0 2e 20 53 65 65 20 3c 73 65 65 20 63 72 65 66 3d 22 50 6f 69 6e 74 65 72 2e 64 65 6c 74 61 22 2f ..See.<see.cref="Pointer.delta"/
32e0 3e 20 66 6f 72 20 64 65 74 61 69 6c 73 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 >.for.details...........///.</re
3300 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 marks>..........///.<seealso.cre
3320 66 3d 22 54 6f 75 63 68 43 6f 6e 74 72 6f 6c 2e 64 65 6c 74 61 22 2f 3e 0d 0a 20 20 20 20 20 20 f="TouchControl.delta"/>........
3340 20 20 70 75 62 6c 69 63 20 56 65 63 74 6f 72 32 20 64 65 6c 74 61 20 3d 3e 20 73 74 61 74 65 2e ..public.Vector2.delta.=>.state.
3360 64 65 6c 74 61 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d delta;............///.<summary>.
3380 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 4e 75 6d 62 65 72 20 6f 66 20 74 69 6d 65 73 20 74 68 61 .........///.Number.of.times.tha
33a0 74 20 74 68 65 20 74 6f 75 63 68 20 68 61 73 20 62 65 65 6e 20 74 61 70 70 65 64 20 69 6e 20 73 t.the.touch.has.been.tapped.in.s
33c0 75 63 63 65 73 73 69 6f 6e 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 uccession...........///.</summar
33e0 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 76 61 6c 75 65 3e 49 6e 64 69 63 61 74 65 73 y>..........///.<value>Indicates
3400 20 68 6f 77 20 6d 61 6e 79 20 74 61 70 73 20 68 61 76 65 20 62 65 65 6e 20 70 65 72 66 6f 72 6d .how.many.taps.have.been.perform
3420 65 64 20 6f 6e 65 20 61 66 74 65 72 20 74 68 65 20 6f 74 68 65 72 2e 3c 2f 76 61 6c 75 65 3e 0d ed.one.after.the.other.</value>.
3440 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 .........///.<remarks>..........
3460 2f 2f 2f 20 53 75 63 63 65 73 73 69 76 65 20 74 61 70 73 20 68 61 76 65 20 74 6f 20 63 6f 6d 65 ///.Successive.taps.have.to.come
3480 20 77 69 74 68 69 6e 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 53 65 74 74 69 6e 67 73 .within.<see.cref="InputSettings
34a0 2e 6d 75 6c 74 69 54 61 70 44 65 6c 61 79 54 69 6d 65 22 2f 3e 20 66 6f 72 20 74 68 65 6d 0d 0a .multiTapDelayTime"/>.for.them..
34c0 20 20 20 20 20 20 20 20 2f 2f 2f 20 74 6f 20 69 6e 63 72 65 61 73 65 20 74 68 65 20 74 61 70 20 ........///.to.increase.the.tap.
34e0 63 6f 75 6e 74 2e 20 49 2e 65 2e 20 69 66 20 61 20 6e 65 77 20 74 61 70 20 66 69 6e 69 73 68 65 count..I.e..if.a.new.tap.finishe
3500 73 20 77 69 74 68 69 6e 20 74 68 61 74 20 74 69 6d 65 20 61 66 74 65 72 20 3c 73 65 65 20 63 72 s.within.that.time.after.<see.cr
3520 65 66 3d 22 73 74 61 72 74 54 69 6d 65 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 6f 66 ef="startTime"/>..........///.of
3540 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 74 6f 75 63 68 2c 20 74 68 65 20 74 61 70 20 63 6f 75 .the.previous.touch,.the.tap.cou
3560 6e 74 20 69 73 20 69 6e 63 72 65 61 73 65 64 20 62 79 20 6f 6e 65 2e 20 49 66 20 6d 6f 72 65 20 nt.is.increased.by.one..If.more.
3580 74 68 61 6e 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 53 65 74 74 69 6e 67 73 2e 6d 75 than.<see.cref="InputSettings.mu
35a0 6c 74 69 54 61 70 44 65 6c 61 79 54 69 6d 65 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 ltiTapDelayTime"/>..........///.
35c0 70 61 73 73 65 73 20 61 66 74 65 72 20 61 20 74 61 70 20 77 69 74 68 20 6e 6f 20 73 75 63 63 65 passes.after.a.tap.with.no.succe
35e0 73 73 69 76 65 20 74 61 70 2c 20 74 68 65 20 74 61 70 20 63 6f 75 6e 74 20 69 73 20 72 65 73 65 ssive.tap,.the.tap.count.is.rese
3600 74 20 74 6f 20 7a 65 72 6f 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 6d 61 72 6b t.to.zero...........///.</remark
3620 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 54 s>..........///.<seealso.cref="T
3640 6f 75 63 68 43 6f 6e 74 72 6f 6c 2e 74 61 70 43 6f 75 6e 74 22 2f 3e 0d 0a 20 20 20 20 20 20 20 ouchControl.tapCount"/>.........
3660 20 70 75 62 6c 69 63 20 69 6e 74 20 74 61 70 43 6f 75 6e 74 20 3d 3e 20 73 74 61 74 65 2e 74 61 .public.int.tapCount.=>.state.ta
3680 70 43 6f 75 6e 74 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e pCount;............///.<summary>
36a0 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 57 68 65 74 68 65 72 20 74 68 65 20 74 6f 75 63 68 20 ..........///.Whether.the.touch.
36c0 68 61 73 20 70 65 72 66 6f 72 6d 65 64 20 61 20 74 61 70 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f has.performed.a.tap...........//
36e0 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 76 61 6c 75 65 /.</summary>..........///.<value
3700 3e 49 6e 64 69 63 61 74 65 73 20 77 68 65 74 68 65 72 20 74 68 65 20 74 6f 75 63 68 20 68 61 73 >Indicates.whether.the.touch.has
3720 20 74 61 70 70 65 64 20 74 68 65 20 73 63 72 65 65 6e 2e 3c 2f 76 61 6c 75 65 3e 0d 0a 20 20 20 .tapped.the.screen.</value>.....
3740 20 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 .....///.<remarks>..........///.
3760 41 20 74 61 70 20 69 73 20 64 65 66 69 6e 65 64 20 61 73 20 61 20 74 6f 75 63 68 20 74 68 61 74 A.tap.is.defined.as.a.touch.that
3780 20 62 65 67 69 6e 73 20 61 6e 64 20 65 6e 64 73 20 77 69 74 68 69 6e 20 3c 73 65 65 20 63 72 65 .begins.and.ends.within.<see.cre
37a0 66 3d 22 49 6e 70 75 74 53 65 74 74 69 6e 67 73 2e 64 65 66 61 75 6c 74 54 61 70 54 69 6d 65 22 f="InputSettings.defaultTapTime"
37c0 2f 3e 20 61 6e 64 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 73 74 61 79 73 20 77 69 74 68 69 6e />.and..........///.stays.within
37e0 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 53 65 74 74 69 6e 67 73 2e 74 61 70 52 61 64 .<see.cref="InputSettings.tapRad
3800 69 75 73 22 2f 3e 20 6f 66 20 69 74 73 20 3c 73 65 65 20 63 72 65 66 3d 22 73 74 61 72 74 53 63 ius"/>.of.its.<see.cref="startSc
3820 72 65 65 6e 50 6f 73 69 74 69 6f 6e 22 2f 3e 2e 20 49 66 20 74 68 69 73 0d 0a 20 20 20 20 20 20 reenPosition"/>..If.this........
3840 20 20 2f 2f 2f 20 69 73 20 74 68 65 20 63 61 73 65 20 66 6f 72 20 61 20 74 6f 75 63 68 2c 20 74 ..///.is.the.case.for.a.touch,.t
3860 68 69 73 20 62 75 74 74 6f 6e 20 69 73 20 73 65 74 20 74 6f 20 31 20 61 74 20 74 68 65 20 74 69 his.button.is.set.to.1.at.the.ti
3880 6d 65 20 74 68 65 20 74 6f 75 63 68 20 67 6f 65 73 20 74 6f 20 3c 73 65 65 20 63 72 65 66 3d 22 me.the.touch.goes.to.<see.cref="
38a0 70 68 61 73 65 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 20 63 72 65 66 3d phase"/>..........///.<see.cref=
38c0 22 54 6f 75 63 68 50 68 61 73 65 2e 45 6e 64 65 64 22 2f 3e 2e 0d 0a 20 20 20 20 20 20 20 20 2f "TouchPhase.Ended"/>.........../
38e0 2f 2f 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 52 65 73 65 74 73 20 74 6f 20 30 20 6f 6e 6c 79 //..........///.Resets.to.0.only
3900 20 77 68 65 6e 20 61 6e 6f 74 68 65 72 20 74 6f 75 63 68 20 69 73 20 73 74 61 72 74 65 64 20 6f .when.another.touch.is.started.o
3920 6e 20 74 68 65 20 63 6f 6e 74 72 6f 6c 20 6f 72 20 77 68 65 6e 20 74 68 65 20 63 6f 6e 74 72 6f n.the.control.or.when.the.contro
3940 6c 20 69 73 20 72 65 73 65 74 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 6d 61 72 l.is.reset...........///.</remar
3960 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 ks>..........///.<seealso.cref="
3980 74 61 70 43 6f 75 6e 74 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 tapCount"/>..........///.<seeals
39a0 6f 20 63 72 65 66 3d 22 49 6e 70 75 74 53 65 74 74 69 6e 67 73 2e 64 65 66 61 75 6c 74 54 61 70 o.cref="InputSettings.defaultTap
39c0 54 69 6d 65 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 Time"/>..........///.<seealso.cr
39e0 65 66 3d 22 54 6f 75 63 68 43 6f 6e 74 72 6f 6c 2e 74 61 70 22 2f 3e 0d 0a 20 20 20 20 20 20 20 ef="TouchControl.tap"/>.........
3a00 20 70 75 62 6c 69 63 20 62 6f 6f 6c 20 69 73 54 61 70 20 3d 3e 20 73 74 61 74 65 2e 69 73 54 61 .public.bool.isTap.=>.state.isTa
3a20 70 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 p;............///.<summary>.....
3a40 20 20 20 20 20 2f 2f 2f 20 57 68 65 74 68 65 72 20 74 68 65 20 74 6f 75 63 68 20 69 73 20 63 75 .....///.Whether.the.touch.is.cu
3a60 72 72 65 6e 74 6c 79 20 69 6e 20 70 72 6f 67 72 65 73 73 2c 20 69 2e 65 2e 20 68 61 73 20 61 20 rrently.in.progress,.i.e..has.a.
3a80 3c 73 65 65 20 63 72 65 66 3d 22 70 68 61 73 65 22 2f 3e 20 6f 66 0d 0a 20 20 20 20 20 20 20 20 <see.cref="phase"/>.of..........
3aa0 2f 2f 2f 20 3c 73 65 65 20 63 72 65 66 3d 22 54 6f 75 63 68 50 68 61 73 65 2e 42 65 67 61 6e 22 ///.<see.cref="TouchPhase.Began"
3ac0 2f 3e 2c 20 3c 73 65 65 20 63 72 65 66 3d 22 54 6f 75 63 68 50 68 61 73 65 2e 4d 6f 76 65 64 22 />,.<see.cref="TouchPhase.Moved"
3ae0 2f 3e 2c 20 6f 72 20 3c 73 65 65 20 63 72 65 66 3d 22 54 6f 75 63 68 50 68 61 73 65 2e 53 74 61 />,.or.<see.cref="TouchPhase.Sta
3b00 74 69 6f 6e 61 72 79 22 2f 3e 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 tionary"/>...........///.</summa
3b20 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 76 61 6c 75 65 3e 57 68 65 74 68 65 72 20 ry>..........///.<value>Whether.
3b40 74 68 65 20 74 6f 75 63 68 20 69 73 20 63 75 72 72 65 6e 74 6c 79 20 6f 6e 67 6f 69 6e 67 2e 3c the.touch.is.currently.ongoing.<
3b60 2f 76 61 6c 75 65 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 62 6f 6f 6c 20 69 73 49 /value>..........public.bool.isI
3b80 6e 50 72 6f 67 72 65 73 73 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 nProgress..........{............
3ba0 20 20 67 65 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 ..get..............{............
3bc0 20 20 20 20 20 20 73 77 69 74 63 68 20 28 70 68 61 73 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 ......switch.(phase)............
3be0 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 ......{......................cas
3c00 65 20 54 6f 75 63 68 50 68 61 73 65 2e 42 65 67 61 6e 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 e.TouchPhase.Began:.............
3c20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 54 6f 75 63 68 50 68 61 73 65 2e 4d 6f 76 65 64 3a 0d .........case.TouchPhase.Moved:.
3c40 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 54 6f 75 63 68 50 .....................case.TouchP
3c60 68 61 73 65 2e 53 74 61 74 69 6f 6e 61 72 79 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 hase.Stationary:................
3c80 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 ..........return.true;..........
3ca0 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 ........}..................retur
3cc0 6e 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 n.false;..............}.........
3ce0 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 75 69 6e 74 20 75 70 64 61 .}............internal.uint.upda
3d00 74 65 53 74 65 70 43 6f 75 6e 74 20 3d 3e 20 65 78 74 72 61 44 61 74 61 2e 75 70 64 61 74 65 53 teStepCount.=>.extraData.updateS
3d20 74 65 70 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 75 69 6e 74 tepCount;..........internal.uint
3d40 20 75 6e 69 71 75 65 49 64 20 3d 3e 20 65 78 74 72 61 44 61 74 61 2e 75 6e 69 71 75 65 49 64 3b .uniqueId.=>.extraData.uniqueId;
3d60 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 75 6e 73 61 66 65 20 72 65 66 20 54 ............private.unsafe.ref.T
3d80 6f 75 63 68 53 74 61 74 65 20 73 74 61 74 65 20 3d 3e 20 72 65 66 20 2a 28 54 6f 75 63 68 53 74 ouchState.state.=>.ref.*(TouchSt
3da0 61 74 65 2a 29 6d 5f 54 6f 75 63 68 52 65 63 6f 72 64 2e 47 65 74 55 6e 73 61 66 65 4d 65 6d 6f ate*)m_TouchRecord.GetUnsafeMemo
3dc0 72 79 50 74 72 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 75 6e 73 61 66 65 ryPtr();..........private.unsafe
3de0 20 72 65 66 20 45 78 74 72 61 44 61 74 61 50 65 72 54 6f 75 63 68 53 74 61 74 65 20 65 78 74 72 .ref.ExtraDataPerTouchState.extr
3e00 61 44 61 74 61 20 3d 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 66 20 2a 28 45 78 74 72 aData.=>..............ref.*(Extr
3e20 61 44 61 74 61 50 65 72 54 6f 75 63 68 53 74 61 74 65 2a 29 6d 5f 54 6f 75 63 68 52 65 63 6f 72 aDataPerTouchState*)m_TouchRecor
3e40 64 2e 47 65 74 55 6e 73 61 66 65 45 78 74 72 61 4d 65 6d 6f 72 79 50 74 72 28 29 3b 0d 0a 0d 0a d.GetUnsafeExtraMemoryPtr();....
3e60 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f ........///.<summary>........../
3e80 2f 2f 20 48 69 73 74 6f 72 79 20 66 6f 72 20 74 68 69 73 20 73 70 65 63 69 66 69 63 20 74 6f 75 //.History.for.this.specific.tou
3ea0 63 68 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 ch...........///.</summary>.....
3ec0 20 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 .....///.<remarks>..........///.
3ee0 55 6e 6c 69 6b 65 20 3c 73 65 65 20 63 72 65 66 3d 22 46 69 6e 67 65 72 2e 74 6f 75 63 68 48 69 Unlike.<see.cref="Finger.touchHi
3f00 73 74 6f 72 79 22 2f 3e 2c 20 74 68 69 73 20 67 69 76 65 73 20 74 68 65 20 68 69 73 74 6f 72 79 story"/>,.this.gives.the.history
3f20 20 6f 66 20 74 68 69 73 20 74 6f 75 63 68 20 6f 6e 6c 79 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f .of.this.touch.only...........//
3f40 2f 20 3c 2f 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 54 6f 75 /.</remarks>..........public.Tou
3f60 63 68 48 69 73 74 6f 72 79 20 68 69 73 74 6f 72 79 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 chHistory.history..........{....
3f80 20 20 20 20 20 20 20 20 20 20 67 65 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 ..........get..............{....
3fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 76 61 6c 69 64 29 0d 0a 20 20 20 20 20 ..............if.(!valid).......
3fc0 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 76 61 6c 69 64 ...............throw.new.Invalid
3fe0 4f 70 65 72 61 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 28 22 54 6f 75 63 68 20 69 73 20 69 6e 76 OperationException("Touch.is.inv
4000 61 6c 69 64 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 alid");..................return.
4020 66 69 6e 67 65 72 2e 47 65 74 54 6f 75 63 68 48 69 73 74 6f 72 79 28 74 68 69 73 29 3b 0d 0a 20 finger.GetTouchHistory(this);...
4040 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 ...........}..........}.........
4060 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 41 6c ...///.<summary>..........///.Al
4080 6c 20 74 6f 75 63 68 65 73 20 74 68 61 74 20 61 72 65 20 65 69 74 68 65 72 20 6f 6e 2d 67 6f 69 l.touches.that.are.either.on-goi
40a0 6e 67 20 61 73 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 66 72 61 6d 65 20 6f 72 20 68 61 ng.as.of.the.current.frame.or.ha
40c0 76 65 20 65 6e 64 65 64 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 66 72 61 6d 65 2e 0d 0a ve.ended.in.the.current.frame...
40e0 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 ........///.</summary>..........
4100 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 4e 6f 74 65 20 ///.<remarks>..........///.Note.
4120 74 68 61 74 20 74 68 65 20 66 61 63 74 20 74 68 61 74 20 65 6e 64 65 64 20 74 6f 75 63 68 65 73 that.the.fact.that.ended.touches
4140 20 61 72 65 20 62 65 69 6e 67 20 6b 65 70 74 20 61 72 6f 75 6e 64 20 75 6e 74 69 6c 20 74 68 65 .are.being.kept.around.until.the
4160 20 65 6e 64 20 6f 66 20 61 20 66 72 61 6d 65 20 6d 65 61 6e 73 20 74 68 61 74 20 74 68 69 73 0d .end.of.a.frame.means.that.this.
4180 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 61 72 72 61 79 20 6d 61 79 20 68 61 76 65 20 6d 6f 72 65 .........///.array.may.have.more
41a0 20 74 6f 75 63 68 65 73 20 74 68 61 6e 20 74 68 65 20 74 6f 74 61 6c 20 6e 75 6d 62 65 72 20 6f .touches.than.the.total.number.o
41c0 66 20 63 6f 6e 63 75 72 72 65 6e 74 20 74 6f 75 63 68 65 73 20 73 75 70 70 6f 72 74 65 64 20 62 f.concurrent.touches.supported.b
41e0 79 20 74 68 65 20 73 79 73 74 65 6d 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 6d y.the.system...........///.</rem
4200 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 52 65 61 arks>..........public.static.Rea
4220 64 4f 6e 6c 79 41 72 72 61 79 3c 54 6f 75 63 68 3e 20 61 63 74 69 76 65 54 6f 75 63 68 65 73 0d dOnlyArray<Touch>.activeTouches.
4240 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 0d 0a 20 20 20 .........{..............get.....
4260 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 57 .........{..................//.W
4280 65 20 6c 61 7a 69 6c 79 20 63 6f 6e 73 74 72 75 63 74 20 74 68 65 20 61 72 72 61 79 20 6f 66 20 e.lazily.construct.the.array.of.
42a0 61 63 74 69 76 65 20 74 6f 75 63 68 65 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 active.touches..................
42c0 20 73 5f 50 6c 61 79 65 72 53 74 61 74 65 2e 55 70 64 61 74 65 41 63 74 69 76 65 54 6f 75 63 68 .s_PlayerState.UpdateActiveTouch
42e0 65 73 28 29 3b 0d 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 es();..................return.ne
4300 77 20 52 65 61 64 4f 6e 6c 79 41 72 72 61 79 3c 54 6f 75 63 68 3e 28 73 5f 50 6c 61 79 65 72 53 w.ReadOnlyArray<Touch>(s_PlayerS
4320 74 61 74 65 2e 61 63 74 69 76 65 54 6f 75 63 68 65 73 2c 20 30 2c 20 73 5f 50 6c 61 79 65 72 53 tate.activeTouches,.0,.s_PlayerS
4340 74 61 74 65 2e 61 63 74 69 76 65 54 6f 75 63 68 43 6f 75 6e 74 29 3b 0d 0a 20 20 20 20 20 20 20 tate.activeTouchCount);.........
4360 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f .....}..........}............///
4380 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 20 20 20 .<summary>..........///.........
43a0 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 .///.</summary>..........///.<re
43c0 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 68 65 20 6c 65 6e 67 74 68 20 6f marks>..........///.The.length.o
43e0 66 20 74 68 69 73 20 61 72 72 61 79 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 63 6f 72 72 65 73 70 f.this.array.will.always.corresp
4400 6f 6e 64 20 74 6f 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 6e ond.to.the.maximum.number.of.con
4420 63 75 72 72 65 6e 74 20 74 6f 75 63 68 65 73 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 74 68 65 current.touches.supported.by.the
4440 20 73 79 73 74 65 6d 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 6d 61 72 6b 73 3e .system...........///.</remarks>
4460 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 52 65 61 64 4f 6e 6c 79 ..........public.static.ReadOnly
4480 41 72 72 61 79 3c 46 69 6e 67 65 72 3e 20 66 69 6e 67 65 72 73 20 3d 3e 0d 0a 20 20 20 20 20 20 Array<Finger>.fingers.=>........
44a0 20 20 20 20 20 20 6e 65 77 20 52 65 61 64 4f 6e 6c 79 41 72 72 61 79 3c 46 69 6e 67 65 72 3e 28 ......new.ReadOnlyArray<Finger>(
44c0 73 5f 50 6c 61 79 65 72 53 74 61 74 65 2e 66 69 6e 67 65 72 73 2c 20 30 2c 20 73 5f 50 6c 61 79 s_PlayerState.fingers,.0,.s_Play
44e0 65 72 53 74 61 74 65 2e 74 6f 74 61 6c 46 69 6e 67 65 72 43 6f 75 6e 74 29 3b 0d 0a 0d 0a 20 20 erState.totalFingerCount);......
4500 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 52 65 61 64 4f 6e 6c 79 41 72 72 61 ......public.static.ReadOnlyArra
4520 79 3c 46 69 6e 67 65 72 3e 20 61 63 74 69 76 65 46 69 6e 67 65 72 73 0d 0a 20 20 20 20 20 20 20 y<Finger>.activeFingers.........
4540 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20 .{..............get.............
4560 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 57 65 20 6c 61 7a 69 6c 79 .{..................//.We.lazily
4580 20 63 6f 6e 73 74 72 75 63 74 20 74 68 65 20 61 72 72 61 79 20 6f 66 20 61 63 74 69 76 65 20 66 .construct.the.array.of.active.f
45a0 69 6e 67 65 72 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 5f 50 6c 61 79 65 ingers...................s_Playe
45c0 72 53 74 61 74 65 2e 55 70 64 61 74 65 41 63 74 69 76 65 46 69 6e 67 65 72 73 28 29 3b 0d 0a 20 rState.UpdateActiveFingers();...
45e0 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 52 65 61 64 4f 6e ...............return.new.ReadOn
4600 6c 79 41 72 72 61 79 3c 46 69 6e 67 65 72 3e 28 73 5f 50 6c 61 79 65 72 53 74 61 74 65 2e 61 63 lyArray<Finger>(s_PlayerState.ac
4620 74 69 76 65 46 69 6e 67 65 72 73 2c 20 30 2c 20 73 5f 50 6c 61 79 65 72 53 74 61 74 65 2e 61 63 tiveFingers,.0,.s_PlayerState.ac
4640 74 69 76 65 46 69 6e 67 65 72 43 6f 75 6e 74 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d tiveFingerCount);..............}
4660 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 ..........}............public.st
4680 61 74 69 63 20 49 45 6e 75 6d 65 72 61 62 6c 65 3c 54 6f 75 63 68 73 63 72 65 65 6e 3e 20 73 63 atic.IEnumerable<Touchscreen>.sc
46a0 72 65 65 6e 73 20 3d 3e 20 73 5f 54 6f 75 63 68 73 63 72 65 65 6e 73 3b 0d 0a 0d 0a 20 20 20 20 reens.=>.s_Touchscreens;........
46c0 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 65 76 65 6e 74 20 41 63 74 69 6f 6e 3c 46 ....public.static.event.Action<F
46e0 69 6e 67 65 72 3e 20 6f 6e 46 69 6e 67 65 72 44 6f 77 6e 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a inger>.onFingerDown..........{..
4700 20 20 20 20 20 20 20 20 20 20 20 20 61 64 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a ............add..............{..
4720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 76 61 6c 75 65 20 3d 3d 20 6e 75 6c ................if.(value.==.nul
4740 6c 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 l)......................throw.ne
4760 77 20 41 72 67 75 6d 65 6e 74 4e 75 6c 6c 45 78 63 65 70 74 69 6f 6e 28 6e 61 6d 65 6f 66 28 76 w.ArgumentNullException(nameof(v
4780 61 6c 75 65 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 5f 4f 6e 46 69 6e alue));..................s_OnFin
47a0 67 65 72 44 6f 77 6e 2e 41 70 70 65 6e 64 57 69 74 68 43 61 70 61 63 69 74 79 28 76 61 6c 75 65 gerDown.AppendWithCapacity(value
47c0 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 );..............}..............r
47e0 65 6d 6f 76 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 emove..............{............
4800 20 20 20 20 20 20 69 66 20 28 76 61 6c 75 65 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 ......if.(value.==.null)........
4820 20 20 20 20 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 ..............throw.new.Argument
4840 4e 75 6c 6c 45 78 63 65 70 74 69 6f 6e 28 6e 61 6d 65 6f 66 28 76 61 6c 75 65 29 29 3b 0d 0a 20 NullException(nameof(value));...
4860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 69 6e 64 65 78 20 3d 20 73 5f 4f 6e 46 ...............var.index.=.s_OnF
4880 69 6e 67 65 72 44 6f 77 6e 2e 49 6e 64 65 78 4f 66 28 76 61 6c 75 65 29 3b 0d 0a 20 20 20 20 20 ingerDown.IndexOf(value);.......
48a0 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 6e 64 65 78 20 21 3d 20 2d 31 29 0d 0a 20 20 20 ...........if.(index.!=.-1).....
48c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 5f 4f 6e 46 69 6e 67 65 72 44 6f 77 6e 2e .................s_OnFingerDown.
48e0 52 65 6d 6f 76 65 41 74 57 69 74 68 43 61 70 61 63 69 74 79 28 69 6e 64 65 78 29 3b 0d 0a 20 20 RemoveAtWithCapacity(index);....
4900 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 ..........}..........}..........
4920 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 65 76 65 6e 74 20 41 63 74 69 6f 6e 3c 46 69 6e ..public.static.event.Action<Fin
4940 67 65 72 3e 20 6f 6e 46 69 6e 67 65 72 55 70 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 ger>.onFingerUp..........{......
4960 20 20 20 20 20 20 20 20 61 64 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 ........add..............{......
4980 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 76 61 6c 75 65 20 3d 3d 20 6e 75 6c 6c 29 0d 0a ............if.(value.==.null)..
49a0 20 20 20 20 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 41 72 ....................throw.new.Ar
49c0 67 75 6d 65 6e 74 4e 75 6c 6c 45 78 63 65 70 74 69 6f 6e 28 6e 61 6d 65 6f 66 28 76 61 6c 75 65 gumentNullException(nameof(value
49e0 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 5f 4f 6e 46 69 6e 67 65 72 55 ));..................s_OnFingerU
4a00 70 2e 41 70 70 65 6e 64 57 69 74 68 43 61 70 61 63 69 74 79 28 76 61 6c 75 65 29 3b 0d 0a 20 20 p.AppendWithCapacity(value);....
4a20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 6d 6f 76 65 0d ..........}..............remove.
4a40 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............{..................
4a60 69 66 20 28 76 61 6c 75 65 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 if.(value.==.null)..............
4a80 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 4e 75 6c 6c 45 78 ........throw.new.ArgumentNullEx
4aa0 63 65 70 74 69 6f 6e 28 6e 61 6d 65 6f 66 28 76 61 6c 75 65 29 29 3b 0d 0a 20 20 20 20 20 20 20 ception(nameof(value));.........
4ac0 20 20 20 20 20 20 20 20 20 76 61 72 20 69 6e 64 65 78 20 3d 20 73 5f 4f 6e 46 69 6e 67 65 72 55 .........var.index.=.s_OnFingerU
4ae0 70 2e 49 6e 64 65 78 4f 66 28 76 61 6c 75 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 p.IndexOf(value);...............
4b00 20 20 20 69 66 20 28 69 6e 64 65 78 20 21 3d 20 2d 31 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ...if.(index.!=.-1).............
4b20 20 20 20 20 20 20 20 20 20 73 5f 4f 6e 46 69 6e 67 65 72 55 70 2e 52 65 6d 6f 76 65 41 74 57 69 .........s_OnFingerUp.RemoveAtWi
4b40 74 68 43 61 70 61 63 69 74 79 28 69 6e 64 65 78 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 thCapacity(index);..............
4b60 7d 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 }..........}............public.s
4b80 74 61 74 69 63 20 65 76 65 6e 74 20 41 63 74 69 6f 6e 3c 46 69 6e 67 65 72 3e 20 6f 6e 46 69 6e tatic.event.Action<Finger>.onFin
4ba0 67 65 72 4d 6f 76 65 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 gerMove..........{..............
4bc0 61 64 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 add..............{..............
4be0 20 20 20 20 69 66 20 28 76 61 6c 75 65 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 ....if.(value.==.null)..........
4c00 20 20 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 4e 75 ............throw.new.ArgumentNu
4c20 6c 6c 45 78 63 65 70 74 69 6f 6e 28 6e 61 6d 65 6f 66 28 76 61 6c 75 65 29 29 3b 0d 0a 20 20 20 llException(nameof(value));.....
4c40 20 20 20 20 20 20 20 20 20 20 20 20 20 73 5f 4f 6e 46 69 6e 67 65 72 4d 6f 76 65 2e 41 70 70 65 .............s_OnFingerMove.Appe
4c60 6e 64 57 69 74 68 43 61 70 61 63 69 74 79 28 76 61 6c 75 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 ndWithCapacity(value);..........
4c80 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 6d 6f 76 65 0d 0a 20 20 20 20 20 ....}..............remove.......
4ca0 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 76 61 .......{..................if.(va
4cc0 6c 75 65 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lue.==.null)....................
4ce0 20 20 74 68 72 6f 77 20 6e 65 77 20 41 72 67 75 6d 65 6e 74 4e 75 6c 6c 45 78 63 65 70 74 69 6f ..throw.new.ArgumentNullExceptio
4d00 6e 28 6e 61 6d 65 6f 66 28 76 61 6c 75 65 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 n(nameof(value));...............
4d20 20 20 20 76 61 72 20 69 6e 64 65 78 20 3d 20 73 5f 4f 6e 46 69 6e 67 65 72 4d 6f 76 65 2e 49 6e ...var.index.=.s_OnFingerMove.In
4d40 64 65 78 4f 66 28 76 61 6c 75 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 dexOf(value);..................i
4d60 66 20 28 69 6e 64 65 78 20 21 3d 20 2d 31 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 f.(index.!=.-1).................
4d80 20 20 20 20 20 73 5f 4f 6e 46 69 6e 67 65 72 4d 6f 76 65 2e 52 65 6d 6f 76 65 41 74 57 69 74 68 .....s_OnFingerMove.RemoveAtWith
4da0 43 61 70 61 63 69 74 79 28 69 6e 64 65 78 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d Capacity(index);..............}.
4dc0 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2a 0d 0a 20 20 20 20 20 20 .........}............/*........
4de0 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 41 63 74 69 6f 6e 3c 46 69 6e 67 65 72 3e 20 6f ..public.static.Action<Finger>.o
4e00 6e 46 69 6e 67 65 72 54 61 70 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 nFingerTap..........{...........
4e20 20 20 20 67 65 74 20 7b 20 74 68 72 6f 77 20 6e 65 77 20 4e 6f 74 49 6d 70 6c 65 6d 65 6e 74 65 ...get.{.throw.new.NotImplemente
4e40 64 45 78 63 65 70 74 69 6f 6e 28 29 3b 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 dException();.}..............set
4e60 20 7b 20 74 68 72 6f 77 20 6e 65 77 20 4e 6f 74 49 6d 70 6c 65 6d 65 6e 74 65 64 45 78 63 65 70 .{.throw.new.NotImplementedExcep
4e80 74 69 6f 6e 28 29 3b 20 7d 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 2a 2f tion();.}..........}..........*/
4ea0 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 ............///.<summary>.......
4ec0 20 20 20 2f 2f 2f 20 54 68 65 20 61 6d 6f 75 6e 74 20 6f 66 20 68 69 73 74 6f 72 79 20 6b 65 70 ...///.The.amount.of.history.kep
4ee0 74 20 66 6f 72 20 65 61 63 68 20 73 69 6e 67 6c 65 20 74 6f 75 63 68 2e 0d 0a 20 20 20 20 20 20 t.for.each.single.touch.........
4f00 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 ..///.</summary>..........///.<r
4f20 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 42 79 20 64 65 66 61 75 6c 74 2c emarks>..........///.By.default,
4f40 20 74 68 69 73 20 69 73 20 7a 65 72 6f 20 6d 65 61 6e 69 6e 67 20 74 68 61 74 20 6e 6f 20 68 69 .this.is.zero.meaning.that.no.hi
4f60 73 74 6f 72 79 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 6b 65 70 74 20 66 6f 72 0d 0a 20 story.information.is.kept.for...
4f80 20 20 20 20 20 20 20 2f 2f 2f 20 74 6f 75 63 68 65 73 2e 20 53 65 74 74 69 6e 67 20 74 68 69 73 .......///.touches..Setting.this
4fa0 20 74 6f 20 3c 63 3e 49 6e 74 33 32 2e 6d 61 78 56 61 6c 75 65 3c 2f 63 3e 20 77 69 6c 6c 20 63 .to.<c>Int32.maxValue</c>.will.c
4fc0 61 75 73 65 20 61 6c 6c 20 68 69 73 74 6f 72 79 20 66 72 6f 6d 0d 0a 20 20 20 20 20 20 20 20 2f ause.all.history.from........../
4fe0 2f 2f 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 61 //.the.beginning.to.the.end.of.a
5000 20 74 6f 75 63 68 20 62 65 69 6e 67 20 6b 65 70 74 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 .touch.being.kept...........///.
5020 3c 2f 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 </remarks>..........public.stati
5040 63 20 69 6e 74 20 6d 61 78 48 69 73 74 6f 72 79 4c 65 6e 67 74 68 50 65 72 46 69 6e 67 65 72 0d c.int.maxHistoryLengthPerFinger.
5060 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 20 3d 3e 20 73 .........{..............get.=>.s
5080 5f 48 69 73 74 6f 72 79 4c 65 6e 67 74 68 50 65 72 46 69 6e 67 65 72 3b 0d 0a 0d 0a 20 20 20 20 _HistoryLengthPerFinger;........
50a0 20 20 20 20 20 20 20 20 2f 2f 2f 2f 54 4f 44 4f 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a ........////TODO............../*
50c0 73 65 74 20 7b 20 74 68 72 6f 77 20 6e 65 77 20 4e 6f 74 49 6d 70 6c 65 6d 65 6e 74 65 64 45 78 set.{.throw.new.NotImplementedEx
50e0 63 65 70 74 69 6f 6e 28 29 3b 20 7d 2a 2f 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 ception();.}*/..........}.......
5100 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 54 6f 75 63 68 28 46 69 6e 67 65 72 20 66 69 6e 67 65 .....internal.Touch(Finger.finge
5120 72 2c 20 49 6e 70 75 74 53 74 61 74 65 48 69 73 74 6f 72 79 3c 54 6f 75 63 68 53 74 61 74 65 3e r,.InputStateHistory<TouchState>
5140 2e 52 65 63 6f 72 64 20 74 6f 75 63 68 52 65 63 6f 72 64 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d .Record.touchRecord)..........{.
5160 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 46 69 6e 67 65 72 20 3d 20 66 69 6e 67 65 72 3b 0d .............m_Finger.=.finger;.
5180 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 54 6f 75 63 68 52 65 63 6f 72 64 20 3d 20 74 6f 75 .............m_TouchRecord.=.tou
51a0 63 68 52 65 63 6f 72 64 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 chRecord;..........}............
51c0 70 75 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 73 74 72 69 6e 67 20 54 6f 53 74 72 69 6e 67 28 public.override.string.ToString(
51e0 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 76 )..........{..............if.(!v
5200 61 6c 69 64 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 22 3c alid)..................return."<
5220 4e 6f 6e 65 3e 22 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 22 None>";................return.$"
5240 7b 7b 66 69 6e 67 65 72 3d 7b 66 69 6e 67 65 72 2e 69 6e 64 65 78 7d 20 74 6f 75 63 68 49 64 3d {{finger={finger.index}.touchId=
5260 7b 74 6f 75 63 68 49 64 7d 20 70 68 61 73 65 3d 7b 70 68 61 73 65 7d 20 70 6f 73 69 74 69 6f 6e {touchId}.phase={phase}.position
5280 3d 7b 73 63 72 65 65 6e 50 6f 73 69 74 69 6f 6e 7d 20 74 69 6d 65 3d 7b 74 69 6d 65 7d 7d 7d 22 ={screenPosition}.time={time}}}"
52a0 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 62 ;..........}............public.b
52c0 6f 6f 6c 20 45 71 75 61 6c 73 28 54 6f 75 63 68 20 6f 74 68 65 72 29 0d 0a 20 20 20 20 20 20 20 ool.Equals(Touch.other).........
52e0 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 45 71 75 61 6c 73 28 6d 5f .{..............return.Equals(m_
5300 46 69 6e 67 65 72 2c 20 6f 74 68 65 72 2e 6d 5f 46 69 6e 67 65 72 29 20 26 26 20 6d 5f 54 6f 75 Finger,.other.m_Finger).&&.m_Tou
5320 63 68 52 65 63 6f 72 64 2e 45 71 75 61 6c 73 28 6f 74 68 65 72 2e 6d 5f 54 6f 75 63 68 52 65 63 chRecord.Equals(other.m_TouchRec
5340 6f 72 64 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c ord);..........}............publ
5360 69 63 20 6f 76 65 72 72 69 64 65 20 62 6f 6f 6c 20 45 71 75 61 6c 73 28 6f 62 6a 65 63 74 20 6f ic.override.bool.Equals(object.o
5380 62 6a 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 bj)..........{..............retu
53a0 72 6e 20 6f 62 6a 20 69 73 20 54 6f 75 63 68 20 6f 74 68 65 72 20 26 26 20 45 71 75 61 6c 73 28 rn.obj.is.Touch.other.&&.Equals(
53c0 6f 74 68 65 72 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 75 other);..........}............pu
53e0 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 69 6e 74 20 47 65 74 48 61 73 68 43 6f 64 65 28 29 0d blic.override.int.GetHashCode().
5400 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 75 6e 63 68 65 63 6b 65 .........{..............unchecke
5420 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d..............{................
5440 20 20 72 65 74 75 72 6e 20 28 28 6d 5f 46 69 6e 67 65 72 20 21 3d 20 6e 75 6c 6c 20 3f 20 6d 5f ..return.((m_Finger.!=.null.?.m_
5460 46 69 6e 67 65 72 2e 47 65 74 48 61 73 68 43 6f 64 65 28 29 20 3a 20 30 29 20 2a 20 33 39 37 29 Finger.GetHashCode().:.0).*.397)
5480 20 5e 20 6d 5f 54 6f 75 63 68 52 65 63 6f 72 64 2e 47 65 74 48 61 73 68 43 6f 64 65 28 29 3b 0d .^.m_TouchRecord.GetHashCode();.
54a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 .............}..........}.......
54c0 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 73 74 61 74 69 63 20 76 6f 69 64 20 41 64 64 54 6f 75 .....internal.static.void.AddTou
54e0 63 68 73 63 72 65 65 6e 28 54 6f 75 63 68 73 63 72 65 65 6e 20 73 63 72 65 65 6e 29 0d 0a 20 20 chscreen(Touchscreen.screen)....
5500 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 ......{..............Debug.Asser
5520 74 28 21 73 5f 54 6f 75 63 68 73 63 72 65 65 6e 73 2e 43 6f 6e 74 61 69 6e 73 52 65 66 65 72 65 t(!s_Touchscreens.ContainsRefere
5540 6e 63 65 28 73 63 72 65 65 6e 29 2c 20 22 41 6c 72 65 61 64 79 20 61 64 64 65 64 20 74 6f 75 63 nce(screen),."Already.added.touc
5560 68 73 63 72 65 65 6e 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 5f 54 6f 75 63 68 73 hscreen");..............s_Touchs
5580 63 72 65 65 6e 73 2e 41 70 70 65 6e 64 57 69 74 68 43 61 70 61 63 69 74 79 28 73 63 72 65 65 6e creens.AppendWithCapacity(screen
55a0 2c 20 63 61 70 61 63 69 74 79 49 6e 63 72 65 6d 65 6e 74 3a 20 35 29 3b 0d 0a 0d 0a 20 20 20 20 ,.capacityIncrement:.5);........
55c0 20 20 20 20 20 20 20 20 2f 2f 20 41 64 64 20 66 69 6e 67 65 72 20 74 72 61 63 6b 69 6e 67 20 74 ........//.Add.finger.tracking.t
55e0 6f 20 73 74 61 74 65 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 5f 50 6c 61 79 65 72 53 o.states...............s_PlayerS
5600 74 61 74 65 2e 41 64 64 46 69 6e 67 65 72 73 28 73 63 72 65 65 6e 29 3b 0d 0a 20 20 20 20 20 20 tate.AddFingers(screen);........
5620 20 20 20 20 20 20 23 69 66 20 55 4e 49 54 59 5f 45 44 49 54 4f 52 0d 0a 20 20 20 20 20 20 20 20 ......#if.UNITY_EDITOR..........
5640 20 20 20 20 73 5f 45 64 69 74 6f 72 53 74 61 74 65 2e 41 64 64 46 69 6e 67 65 72 73 28 73 63 72 ....s_EditorState.AddFingers(scr
5660 65 65 6e 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 65 6e 64 69 66 0d 0a 20 20 20 20 20 een);..............#endif.......
5680 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 73 74 61 74 69 63 20 ...}............internal.static.
56a0 76 6f 69 64 20 52 65 6d 6f 76 65 54 6f 75 63 68 73 63 72 65 65 6e 28 54 6f 75 63 68 73 63 72 65 void.RemoveTouchscreen(Touchscre
56c0 65 6e 20 73 63 72 65 65 6e 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 en.screen)..........{...........
56e0 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 5f 54 6f 75 63 68 73 63 72 65 65 6e 73 2e 43 ...Debug.Assert(s_Touchscreens.C
5700 6f 6e 74 61 69 6e 73 52 65 66 65 72 65 6e 63 65 28 73 63 72 65 65 6e 29 2c 20 22 44 69 64 20 6e ontainsReference(screen),."Did.n
5720 6f 74 20 61 64 64 20 74 6f 75 63 68 73 63 72 65 65 6e 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 ot.add.touchscreen");...........
5740 20 20 20 20 20 2f 2f 20 52 65 6d 6f 76 65 20 66 72 6f 6d 20 6c 69 73 74 2e 0d 0a 20 20 20 20 20 .....//.Remove.from.list........
5760 20 20 20 20 20 20 20 76 61 72 20 69 6e 64 65 78 20 3d 20 73 5f 54 6f 75 63 68 73 63 72 65 65 6e .......var.index.=.s_Touchscreen
5780 73 2e 49 6e 64 65 78 4f 66 52 65 66 65 72 65 6e 63 65 28 73 63 72 65 65 6e 29 3b 0d 0a 20 20 20 s.IndexOfReference(screen);.....
57a0 20 20 20 20 20 20 20 20 20 73 5f 54 6f 75 63 68 73 63 72 65 65 6e 73 2e 52 65 6d 6f 76 65 41 74 .........s_Touchscreens.RemoveAt
57c0 57 69 74 68 43 61 70 61 63 69 74 79 28 69 6e 64 65 78 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 WithCapacity(index);............
57e0 20 20 20 20 2f 2f 20 52 65 6d 6f 76 65 20 66 69 6e 67 65 72 73 20 66 72 6f 6d 20 73 74 61 74 65 ....//.Remove.fingers.from.state
5800 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 5f 50 6c 61 79 65 72 53 74 61 74 65 2e 52 65 s...............s_PlayerState.Re
5820 6d 6f 76 65 46 69 6e 67 65 72 73 28 73 63 72 65 65 6e 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 moveFingers(screen);............
5840 20 20 23 69 66 20 55 4e 49 54 59 5f 45 44 49 54 4f 52 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..#if.UNITY_EDITOR..............
5860 73 5f 45 64 69 74 6f 72 53 74 61 74 65 2e 52 65 6d 6f 76 65 46 69 6e 67 65 72 73 28 73 63 72 65 s_EditorState.RemoveFingers(scre
5880 65 6e 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 65 6e 64 69 66 0d 0a 20 20 20 20 20 20 en);..............#endif........
58a0 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 6f 6e 6c 79 20 68 61 76 65 20 74 68 69 73 20 ..}............//only.have.this.
58c0 68 6f 6f 6b 65 64 20 77 68 65 6e 20 77 65 20 61 63 74 75 61 6c 6c 79 20 6e 65 65 64 20 69 74 0d hooked.when.we.actually.need.it.
58e0 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 73 74 61 74 69 63 20 76 6f 69 64 20 42 65 .........internal.static.void.Be
5900 67 69 6e 55 70 64 61 74 65 28 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 ginUpdate()..........{..........
5920 20 20 20 20 23 69 66 20 55 4e 49 54 59 5f 45 44 49 54 4f 52 0d 0a 20 20 20 20 20 20 20 20 20 20 ....#if.UNITY_EDITOR............
5940 20 20 69 66 20 28 28 49 6e 70 75 74 53 74 61 74 65 2e 63 75 72 72 65 6e 74 55 70 64 61 74 65 54 ..if.((InputState.currentUpdateT
5960 79 70 65 20 3d 3d 20 49 6e 70 75 74 55 70 64 61 74 65 54 79 70 65 2e 45 64 69 74 6f 72 20 26 26 ype.==.InputUpdateType.Editor.&&
5980 20 73 5f 50 6c 61 79 65 72 53 74 61 74 65 2e 75 70 64 61 74 65 4d 61 73 6b 20 21 3d 20 49 6e 70 .s_PlayerState.updateMask.!=.Inp
59a0 75 74 55 70 64 61 74 65 54 79 70 65 2e 45 64 69 74 6f 72 29 20 7c 7c 0d 0a 20 20 20 20 20 20 20 utUpdateType.Editor).||.........
59c0 20 20 20 20 20 20 20 20 20 28 49 6e 70 75 74 53 74 61 74 65 2e 63 75 72 72 65 6e 74 55 70 64 61 .........(InputState.currentUpda
59e0 74 65 54 79 70 65 20 21 3d 20 49 6e 70 75 74 55 70 64 61 74 65 54 79 70 65 2e 45 64 69 74 6f 72 teType.!=.InputUpdateType.Editor
5a00 20 26 26 20 73 5f 50 6c 61 79 65 72 53 74 61 74 65 2e 75 70 64 61 74 65 4d 61 73 6b 20 3d 3d 20 .&&.s_PlayerState.updateMask.==.
5a20 49 6e 70 75 74 55 70 64 61 74 65 54 79 70 65 2e 45 64 69 74 6f 72 29 29 0d 0a 20 20 20 20 20 20 InputUpdateType.Editor))........
5a40 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 45 69 74 68 ......{..................//.Eith
5a60 65 72 20 73 77 61 70 20 69 6e 20 65 64 69 74 6f 72 20 73 74 61 74 65 20 61 6e 64 20 72 65 74 61 er.swap.in.editor.state.and.reta
5a80 69 6e 20 63 75 72 72 65 6e 74 6c 79 20 61 63 74 69 76 65 20 70 6c 61 79 65 72 20 73 74 61 74 65 in.currently.active.player.state
5aa0 20 69 6e 20 73 5f 45 64 69 74 6f 72 53 74 61 74 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .in.s_EditorState...............
5ac0 20 20 20 2f 2f 20 6f 72 20 73 77 61 70 20 70 6c 61 79 65 72 20 73 74 61 74 65 20 62 61 63 6b 20 ...//.or.swap.player.state.back.
5ae0 69 6e 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 65 6d 6f 72 79 48 65 6c 70 65 in...................MemoryHelpe
5b00 72 73 2e 53 77 61 70 28 72 65 66 20 73 5f 50 6c 61 79 65 72 53 74 61 74 65 2c 20 72 65 66 20 73 rs.Swap(ref.s_PlayerState,.ref.s
5b20 5f 45 64 69 74 6f 72 53 74 61 74 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 _EditorState);..............}...
5b40 20 20 20 20 20 20 20 20 20 20 20 23 65 6e 64 69 66 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ...........#endif...............
5b60 20 2b 2b 73 5f 50 6c 61 79 65 72 53 74 61 74 65 2e 75 70 64 61 74 65 53 74 65 70 43 6f 75 6e 74 .++s_PlayerState.updateStepCount
5b80 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 5f 50 6c 61 79 65 72 53 74 61 74 65 2e 68 61 76 ;..............s_PlayerState.hav
5ba0 65 42 75 69 6c 74 41 63 74 69 76 65 54 6f 75 63 68 65 73 20 3d 20 66 61 6c 73 65 3b 0d 0a 20 20 eBuiltActiveTouches.=.false;....
5bc0 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 72 65 61 64 6f ......}............private.reado
5be0 6e 6c 79 20 46 69 6e 67 65 72 20 6d 5f 46 69 6e 67 65 72 3b 0d 0a 20 20 20 20 20 20 20 20 69 6e nly.Finger.m_Finger;..........in
5c00 74 65 72 6e 61 6c 20 49 6e 70 75 74 53 74 61 74 65 48 69 73 74 6f 72 79 3c 54 6f 75 63 68 53 74 ternal.InputStateHistory<TouchSt
5c20 61 74 65 3e 2e 52 65 63 6f 72 64 20 6d 5f 54 6f 75 63 68 52 65 63 6f 72 64 3b 0d 0a 0d 0a 20 20 ate>.Record.m_TouchRecord;......
5c40 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 73 74 61 74 69 63 20 49 6e 6c 69 6e 65 64 41 72 72 ......internal.static.InlinedArr
5c60 61 79 3c 54 6f 75 63 68 73 63 72 65 65 6e 3e 20 73 5f 54 6f 75 63 68 73 63 72 65 65 6e 73 3b 0d ay<Touchscreen>.s_Touchscreens;.
5c80 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 73 74 61 74 69 63 20 69 6e 74 20 73 5f 48 .........internal.static.int.s_H
5ca0 69 73 74 6f 72 79 4c 65 6e 67 74 68 50 65 72 46 69 6e 67 65 72 20 3d 20 36 34 3b 0d 0a 20 20 20 istoryLengthPerFinger.=.64;.....
5cc0 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 73 74 61 74 69 63 20 49 6e 6c 69 6e 65 64 41 72 72 61 .....internal.static.InlinedArra
5ce0 79 3c 41 63 74 69 6f 6e 3c 46 69 6e 67 65 72 3e 3e 20 73 5f 4f 6e 46 69 6e 67 65 72 44 6f 77 6e y<Action<Finger>>.s_OnFingerDown
5d00 3b 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 73 74 61 74 69 63 20 49 6e 6c 69 6e ;..........internal.static.Inlin
5d20 65 64 41 72 72 61 79 3c 41 63 74 69 6f 6e 3c 46 69 6e 67 65 72 3e 3e 20 73 5f 4f 6e 46 69 6e 67 edArray<Action<Finger>>.s_OnFing
5d40 65 72 4d 6f 76 65 3b 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 73 74 61 74 69 63 erMove;..........internal.static
5d60 20 49 6e 6c 69 6e 65 64 41 72 72 61 79 3c 41 63 74 69 6f 6e 3c 46 69 6e 67 65 72 3e 3e 20 73 5f .InlinedArray<Action<Finger>>.s_
5d80 4f 6e 46 69 6e 67 65 72 55 70 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 OnFingerUp;............internal.
5da0 73 74 61 74 69 63 20 46 69 6e 67 65 72 41 6e 64 54 6f 75 63 68 53 74 61 74 65 20 73 5f 50 6c 61 static.FingerAndTouchState.s_Pla
5dc0 79 65 72 53 74 61 74 65 3b 0d 0a 20 20 20 20 20 20 20 20 23 69 66 20 55 4e 49 54 59 5f 45 44 49 yerState;..........#if.UNITY_EDI
5de0 54 4f 52 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 73 74 61 74 69 63 20 46 69 6e TOR..........internal.static.Fin
5e00 67 65 72 41 6e 64 54 6f 75 63 68 53 74 61 74 65 20 73 5f 45 64 69 74 6f 72 53 74 61 74 65 3b 0d gerAndTouchState.s_EditorState;.
5e20 0a 20 20 20 20 20 20 20 20 23 65 6e 64 69 66 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 49 6e .........#endif............//.In
5e40 20 73 63 65 6e 61 72 69 6f 73 20 77 68 65 72 65 20 77 65 20 68 61 76 65 20 74 6f 20 73 75 70 70 .scenarios.where.we.have.to.supp
5e60 6f 72 74 20 6d 75 6c 74 69 70 6c 65 20 64 69 66 66 65 72 65 6e 74 20 74 79 70 65 73 20 6f 66 20 ort.multiple.different.types.of.
5e80 69 6e 70 75 74 20 75 70 64 61 74 65 73 20 28 65 2e 67 2e 20 69 6e 20 65 64 69 74 6f 72 20 6f 72 input.updates.(e.g..in.editor.or
5ea0 20 69 6e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 70 6c 61 79 65 72 20 77 68 65 6e 20 62 6f 74 68 .in..........//.player.when.both
5ec0 20 64 79 6e 61 6d 69 63 20 61 6e 64 20 66 69 78 65 64 20 69 6e 70 75 74 20 75 70 64 61 74 65 73 .dynamic.and.fixed.input.updates
5ee0 20 61 72 65 20 65 6e 61 62 6c 65 64 29 2c 20 77 65 20 6e 65 65 64 20 6d 6f 72 65 20 74 68 61 6e .are.enabled),.we.need.more.than
5f00 20 6f 6e 65 20 63 6f 70 79 20 6f 66 20 74 6f 75 63 68 20 73 74 61 74 65 2e 0d 0a 20 20 20 20 20 .one.copy.of.touch.state........
5f20 20 20 20 2f 2f 20 57 65 20 65 6e 63 61 70 73 75 6c 61 74 65 20 74 68 65 20 73 74 61 74 65 20 69 ...//.We.encapsulate.the.state.i
5f40 6e 20 74 68 69 73 20 73 74 72 75 63 74 20 73 6f 20 74 68 61 74 20 77 65 20 63 61 6e 20 65 61 73 n.this.struct.so.that.we.can.eas
5f60 69 6c 79 20 73 77 61 70 20 69 74 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 0d 0a 20 20 20 20 20 20 ily.swap.it...........//........
5f80 20 20 2f 2f 20 4e 4f 54 45 3a 20 46 69 6e 67 65 72 20 69 6e 73 74 61 6e 63 65 73 20 61 72 65 20 ..//.NOTE:.Finger.instances.are.
5fa0 70 65 72 20 73 74 61 74 65 2e 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 79 6f 75 20 77 per.state..This.means.that.you.w
5fc0 69 6c 6c 20 61 63 74 75 61 6c 6c 79 20 73 65 65 20 64 69 66 66 65 72 65 6e 74 20 46 69 6e 67 65 ill.actually.see.different.Finge
5fe0 72 20 69 6e 73 74 61 6e 63 65 73 20 66 6f 72 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 20 20 20 20 r.instances.for..........//.....
6000 20 20 74 68 65 20 73 61 6d 65 20 66 69 6e 67 65 72 20 69 6e 20 74 77 6f 20 64 69 66 66 65 72 65 ..the.same.finger.in.two.differe
6020 6e 74 20 75 70 64 61 74 65 20 74 79 70 65 73 2e 0d 0a 20 20 20 20 20 20 20 20 5b 53 79 73 74 65 nt.update.types...........[Syste
6040 6d 2e 44 69 61 67 6e 6f 73 74 69 63 73 2e 43 6f 64 65 41 6e 61 6c 79 73 69 73 2e 53 75 70 70 72 m.Diagnostics.CodeAnalysis.Suppr
6060 65 73 73 4d 65 73 73 61 67 65 28 22 4d 69 63 72 6f 73 6f 66 74 2e 55 73 61 67 65 22 2c 20 22 43 essMessage("Microsoft.Usage",."C
6080 41 31 30 30 31 3a 54 79 70 65 73 54 68 61 74 4f 77 6e 44 69 73 70 6f 73 61 62 6c 65 46 69 65 6c A1001:TypesThatOwnDisposableFiel
60a0 64 73 53 68 6f 75 6c 64 42 65 44 69 73 70 6f 73 61 62 6c 65 22 2c 0d 0a 20 20 20 20 20 20 20 20 dsShouldBeDisposable",..........
60c0 20 20 20 20 4a 75 73 74 69 66 69 63 61 74 69 6f 6e 20 3d 20 22 4d 61 6e 61 67 65 64 20 69 6e 74 ....Justification.=."Managed.int
60e0 65 72 6e 61 6c 6c 79 22 29 5d 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 73 74 72 ernally")]..........internal.str
6100 75 63 74 20 46 69 6e 67 65 72 41 6e 64 54 6f 75 63 68 53 74 61 74 65 0d 0a 20 20 20 20 20 20 20 uct.FingerAndTouchState.........
6120 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 49 6e 70 75 74 55 70 64 61 .{..............public.InputUpda
6140 74 65 54 79 70 65 20 75 70 64 61 74 65 4d 61 73 6b 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 teType.updateMask;..............
6160 70 75 62 6c 69 63 20 75 69 6e 74 20 75 70 64 61 74 65 53 74 65 70 43 6f 75 6e 74 3b 0d 0a 20 20 public.uint.updateStepCount;....
6180 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 46 69 6e 67 65 72 5b 5d 20 66 69 6e 67 65 72 ..........public.Finger[].finger
61a0 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 46 69 6e 67 65 72 5b 5d 20 s;..............public.Finger[].
61c0 61 63 74 69 76 65 46 69 6e 67 65 72 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c activeFingers;..............publ
61e0 69 63 20 54 6f 75 63 68 5b 5d 20 61 63 74 69 76 65 54 6f 75 63 68 65 73 3b 0d 0a 20 20 20 20 20 ic.Touch[].activeTouches;.......
6200 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 20 61 63 74 69 76 65 46 69 6e 67 65 72 43 6f .......public.int.activeFingerCo
6220 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 20 61 63 74 unt;..............public.int.act
6240 69 76 65 54 6f 75 63 68 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c iveTouchCount;..............publ
6260 69 63 20 69 6e 74 20 74 6f 74 61 6c 46 69 6e 67 65 72 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 ic.int.totalFingerCount;........
6280 20 20 20 20 20 20 70 75 62 6c 69 63 20 75 69 6e 74 20 6c 61 73 74 49 64 3b 0d 0a 20 20 20 20 20 ......public.uint.lastId;.......
62a0 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 62 6f 6f 6c 20 68 61 76 65 42 75 69 6c 74 41 63 74 69 .......public.bool.haveBuiltActi
62c0 76 65 54 6f 75 63 68 65 73 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 60 61 63 veTouches;................//.`ac
62e0 74 69 76 65 54 6f 75 63 68 65 73 60 20 61 64 64 73 20 79 65 74 20 61 6e 6f 74 68 65 72 20 76 69 tiveTouches`.adds.yet.another.vi
6300 65 77 20 6f 66 20 69 6e 70 75 74 20 73 74 61 74 65 20 74 68 61 74 20 69 73 20 64 69 66 66 65 72 ew.of.input.state.that.is.differ
6320 65 6e 74 20 66 72 6f 6d 20 22 6e 6f 72 6d 61 6c 22 20 72 65 63 6f 72 64 65 64 0d 0a 20 20 20 20 ent.from."normal".recorded......
6340 20 20 20 20 20 20 20 20 2f 2f 20 73 74 61 74 65 20 68 69 73 74 6f 72 79 2e 20 49 6e 20 74 68 69 ........//.state.history..In.thi
6360 73 20 76 69 65 77 2c 20 74 6f 75 63 68 65 73 20 62 65 63 6f 6d 65 20 73 74 61 74 69 6f 6e 61 72 s.view,.touches.become.stationar
6380 79 20 69 6e 20 74 68 65 20 6e 65 78 74 20 75 70 64 61 74 65 20 61 6e 64 20 64 65 6c 74 61 73 20 y.in.the.next.update.and.deltas.
63a0 72 65 73 65 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 62 65 74 77 65 65 6e 20 75 70 reset..............//.between.up
63c0 64 61 74 65 73 2e 20 57 65 20 73 6f 6c 76 65 20 74 68 69 73 20 62 79 20 73 74 6f 72 69 6e 67 20 dates..We.solve.this.by.storing.
63e0 73 74 61 74 65 20 73 65 70 61 72 61 74 65 6c 79 20 66 6f 72 20 61 63 74 69 76 65 20 74 6f 75 63 state.separately.for.active.touc
6400 68 65 73 2e 20 57 65 20 2a 6f 6e 6c 79 2a 20 64 6f 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f hes..We.*only*.do............../
6420 2f 20 73 6f 20 77 68 65 6e 20 60 61 63 74 69 76 65 54 6f 75 63 68 65 73 60 20 69 73 20 61 63 74 /.so.when.`activeTouches`.is.act
6440 75 61 6c 6c 79 20 71 75 65 72 69 65 64 20 6d 65 61 6e 69 6e 67 20 74 68 61 74 20 60 61 63 74 69 ually.queried.meaning.that.`acti
6460 76 65 54 6f 75 63 68 65 73 60 20 68 61 73 20 6e 6f 20 6f 76 65 72 68 65 61 64 20 69 66 0d 0a 20 veTouches`.has.no.overhead.if...
6480 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 6e 6f 74 20 75 73 65 64 2e 0d 0a 20 20 20 20 20 20 20 ...........//.not.used..........
64a0 20 20 20 20 20 70 75 62 6c 69 63 20 49 6e 70 75 74 53 74 61 74 65 48 69 73 74 6f 72 79 3c 54 6f .....public.InputStateHistory<To
64c0 75 63 68 53 74 61 74 65 3e 20 61 63 74 69 76 65 54 6f 75 63 68 53 74 61 74 65 3b 0d 0a 0d 0a 20 uchState>.activeTouchState;.....
64e0 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 76 6f 69 64 20 41 64 64 46 69 6e 67 65 72 ...........public.void.AddFinger
6500 73 28 54 6f 75 63 68 73 63 72 65 65 6e 20 73 63 72 65 65 6e 29 0d 0a 20 20 20 20 20 20 20 20 20 s(Touchscreen.screen)...........
6520 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 74 6f 75 63 68 43 ...{..................var.touchC
6540 6f 75 6e 74 20 3d 20 73 63 72 65 65 6e 2e 74 6f 75 63 68 65 73 2e 43 6f 75 6e 74 3b 0d 0a 20 20 ount.=.screen.touches.Count;....
6560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 72 61 79 48 65 6c 70 65 72 73 2e 45 6e 73 75 72 ..............ArrayHelpers.Ensur
6580 65 43 61 70 61 63 69 74 79 28 72 65 66 20 66 69 6e 67 65 72 73 2c 20 74 6f 74 61 6c 46 69 6e 67 eCapacity(ref.fingers,.totalFing
65a0 65 72 43 6f 75 6e 74 2c 20 74 6f 75 63 68 43 6f 75 6e 74 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 erCount,.touchCount);...........
65c0 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 74 6f 75 63 68 .......for.(var.i.=.0;.i.<.touch
65e0 43 6f 75 6e 74 3b 20 2b 2b 69 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a Count;.++i)..................{..
6600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 66 69 6e 67 65 72 20 3d ....................var.finger.=
6620 20 6e 65 77 20 46 69 6e 67 65 72 28 73 63 72 65 65 6e 2c 20 69 2c 20 75 70 64 61 74 65 4d 61 73 .new.Finger(screen,.i,.updateMas
6640 6b 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 72 61 79 48 65 k);......................ArrayHe
6660 6c 70 65 72 73 2e 41 70 70 65 6e 64 57 69 74 68 43 61 70 61 63 69 74 79 28 72 65 66 20 66 69 6e lpers.AppendWithCapacity(ref.fin
6680 67 65 72 73 2c 20 72 65 66 20 74 6f 74 61 6c 46 69 6e 67 65 72 43 6f 75 6e 74 2c 20 66 69 6e 67 gers,.ref.totalFingerCount,.fing
66a0 65 72 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 er);..................}.........
66c0 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 76 6f 69 .....}................public.voi
66e0 64 20 52 65 6d 6f 76 65 46 69 6e 67 65 72 73 28 54 6f 75 63 68 73 63 72 65 65 6e 20 73 63 72 65 d.RemoveFingers(Touchscreen.scre
6700 65 6e 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 en)..............{..............
6720 20 20 20 20 76 61 72 20 74 6f 75 63 68 43 6f 75 6e 74 20 3d 20 73 63 72 65 65 6e 2e 74 6f 75 63 ....var.touchCount.=.screen.touc
6740 68 65 73 2e 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 hes.Count;..................for.
6760 28 76 61 72 20 69 20 3d 20 30 3b 20 69 20 3c 20 66 69 6e 67 65 72 73 2e 4c 65 6e 67 74 68 3b 20 (var.i.=.0;.i.<.fingers.Length;.
6780 2b 2b 69 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 ++i)..................{.........
67a0 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 66 69 6e 67 65 72 73 5b 69 5d 2e 73 63 72 65 .............if.(fingers[i].scre
67c0 65 6e 20 21 3d 20 73 63 72 65 65 6e 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 en.!=.screen)...................
67e0 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 .......continue;................
6800 20 20 20 20 20 20 20 20 2f 2f 20 52 65 6c 65 61 73 65 20 75 6e 6d 61 6e 61 67 65 64 20 6d 65 6d ........//.Release.unmanaged.mem
6820 6f 72 79 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 76 ory.......................for.(v
6840 61 72 20 6e 20 3d 20 30 3b 20 6e 20 3c 20 74 6f 75 63 68 43 6f 75 6e 74 3b 20 2b 2b 6e 29 0d 0a ar.n.=.0;.n.<.touchCount;.++n)..
6860 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 6e 67 65 72 73 5b ........................fingers[
6880 69 20 2b 20 6e 5d 2e 6d 5f 53 74 61 74 65 48 69 73 74 6f 72 79 2e 44 69 73 70 6f 73 65 28 29 3b i.+.n].m_StateHistory.Dispose();
68a0 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 2f 52 45 56 49 ........................////REVI
68c0 45 57 3a 20 6c 65 61 76 65 20 46 69 6e 67 65 72 73 20 69 6e 20 70 6c 61 63 65 20 61 6e 64 20 72 EW:.leave.Fingers.in.place.and.r
68e0 65 75 73 65 20 74 68 65 20 69 6e 73 74 61 6e 63 65 73 3f 0d 0a 20 20 20 20 20 20 20 20 20 20 20 euse.the.instances?.............
6900 20 20 20 20 20 20 20 20 20 41 72 72 61 79 48 65 6c 70 65 72 73 2e 45 72 61 73 65 53 6c 69 63 65 .........ArrayHelpers.EraseSlice
6920 57 69 74 68 43 61 70 61 63 69 74 79 28 72 65 66 20 66 69 6e 67 65 72 73 2c 20 72 65 66 20 74 6f WithCapacity(ref.fingers,.ref.to
6940 74 61 6c 46 69 6e 67 65 72 43 6f 75 6e 74 2c 20 69 2c 20 74 6f 75 63 68 43 6f 75 6e 74 29 3b 0d talFingerCount,.i,.touchCount);.
6960 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a 20 20 20 .....................break;.....
6980 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............}..................
69a0 20 20 2f 2f 20 46 6f 72 63 65 20 72 65 62 75 69 6c 64 69 6e 67 20 6f 66 20 61 63 74 69 76 65 20 ..//.Force.rebuilding.of.active.
69c0 74 6f 75 63 68 65 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 61 76 65 42 75 touches...................haveBu
69e0 69 6c 74 41 63 74 69 76 65 54 6f 75 63 68 65 73 20 3d 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 20 iltActiveTouches.=.false;.......
6a00 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 76 .......}................public.v
6a20 6f 69 64 20 44 65 73 74 72 6f 79 28 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 oid.Destroy()..............{....
6a40 20 20 20 20 20 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 ..............for.(var.i.=.0;.i.
6a60 3c 20 74 6f 74 61 6c 46 69 6e 67 65 72 43 6f 75 6e 74 3b 20 2b 2b 69 29 0d 0a 20 20 20 20 20 20 <.totalFingerCount;.++i)........
6a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6e 67 65 72 73 5b 69 5d 2e 6d 5f 53 74 61 74 65 ..............fingers[i].m_State
6aa0 48 69 73 74 6f 72 79 2e 44 69 73 70 6f 73 65 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 History.Dispose();..............
6ac0 20 20 20 20 61 63 74 69 76 65 54 6f 75 63 68 53 74 61 74 65 3f 2e 44 69 73 70 6f 73 65 28 29 3b ....activeTouchState?.Dispose();
6ae0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 69 76 65 54 6f 75 63 68 53 74 61 ..................activeTouchSta
6b00 74 65 20 3d 20 6e 75 6c 6c 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 te.=.null;..............}.......
6b20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 76 6f 69 64 20 55 70 64 61 74 65 41 63 74 69 76 .........public.void.UpdateActiv
6b40 65 46 69 6e 67 65 72 73 28 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 eFingers()..............{.......
6b60 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 2f 54 4f 44 4f 3a 20 64 6f 20 74 68 69 73 20 6f 6e 6c ...........////TODO:.do.this.onl
6b80 79 20 6f 6e 63 65 20 70 65 72 20 75 70 64 61 74 65 20 70 65 72 20 61 63 74 69 76 65 46 69 6e 67 y.once.per.update.per.activeFing
6ba0 65 72 73 20 67 65 74 74 65 72 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 ers.getter....................ac
6bc0 74 69 76 65 46 69 6e 67 65 72 43 6f 75 6e 74 20 3d 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 tiveFingerCount.=.0;............
6be0 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 74 6f 74 61 6c 46 ......for.(var.i.=.0;.i.<.totalF
6c00 69 6e 67 65 72 43 6f 75 6e 74 3b 20 2b 2b 69 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ingerCount;.++i)................
6c20 20 20 7b 0d 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 66 69 6e ..{......................var.fin
6c40 67 65 72 20 3d 20 66 69 6e 67 65 72 73 5b 69 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ger.=.fingers[i];...............
6c60 20 20 20 20 20 20 20 76 61 72 20 6c 61 73 74 54 6f 75 63 68 20 3d 20 66 69 6e 67 65 72 2e 63 75 .......var.lastTouch.=.finger.cu
6c80 72 72 65 6e 74 54 6f 75 63 68 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rrentTouch;.....................
6ca0 20 69 66 20 28 6c 61 73 74 54 6f 75 63 68 2e 76 61 6c 69 64 29 0d 0a 20 20 20 20 20 20 20 20 20 .if.(lastTouch.valid)...........
6cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 72 61 79 48 65 6c 70 65 72 73 2e 41 70 70 65 ...............ArrayHelpers.Appe
6ce0 6e 64 57 69 74 68 43 61 70 61 63 69 74 79 28 72 65 66 20 61 63 74 69 76 65 46 69 6e 67 65 72 73 ndWithCapacity(ref.activeFingers
6d00 2c 20 72 65 66 20 61 63 74 69 76 65 46 69 6e 67 65 72 43 6f 75 6e 74 2c 20 66 69 6e 67 65 72 29 ,.ref.activeFingerCount,.finger)
6d20 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 ;..................}............
6d40 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 75 6e 73 61 66 65 ..}................public.unsafe
6d60 20 76 6f 69 64 20 55 70 64 61 74 65 41 63 74 69 76 65 54 6f 75 63 68 65 73 28 29 0d 0a 20 20 20 .void.UpdateActiveTouches().....
6d80 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 .........{..................if.(
6da0 68 61 76 65 42 75 69 6c 74 41 63 74 69 76 65 54 6f 75 63 68 65 73 29 0d 0a 20 20 20 20 20 20 20 haveBuiltActiveTouches).........
6dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 .............return;............
6de0 20 20 20 20 20 20 20 20 2f 2f 20 43 6c 65 61 72 20 61 63 74 69 76 65 54 6f 75 63 68 65 73 20 73 ........//.Clear.activeTouches.s
6e00 74 61 74 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 61 63 74 69 76 tate...................if.(activ
6e20 65 54 6f 75 63 68 53 74 61 74 65 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 20 20 eTouchState.==.null)............
6e40 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 ......{......................act
6e60 69 76 65 54 6f 75 63 68 53 74 61 74 65 20 3d 20 6e 65 77 20 49 6e 70 75 74 53 74 61 74 65 48 69 iveTouchState.=.new.InputStateHi
6e80 73 74 6f 72 79 3c 54 6f 75 63 68 53 74 61 74 65 3e 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 story<TouchState>();............
6ea0 20 20 20 20 20 20 20 20 20 20 61 63 74 69 76 65 54 6f 75 63 68 53 74 61 74 65 2e 65 78 74 72 61 ..........activeTouchState.extra
6ec0 4d 65 6d 6f 72 79 50 65 72 52 65 63 6f 72 64 20 3d 20 55 6e 73 61 66 65 55 74 69 6c 69 74 79 2e MemoryPerRecord.=.UnsafeUtility.
6ee0 53 69 7a 65 4f 66 3c 45 78 74 72 61 44 61 74 61 50 65 72 54 6f 75 63 68 53 74 61 74 65 3e 28 29 SizeOf<ExtraDataPerTouchState>()
6f00 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 ;..................}............
6f20 20 20 20 20 20 20 65 6c 73 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......else......................
6f40 61 63 74 69 76 65 54 6f 75 63 68 53 74 61 74 65 2e 43 6c 65 61 72 28 29 3b 0d 0a 20 20 20 20 20 activeTouchState.Clear();.......
6f60 20 20 20 20 20 20 20 20 20 20 20 61 63 74 69 76 65 54 6f 75 63 68 43 6f 75 6e 74 20 3d 20 30 3b ...........activeTouchCount.=.0;
6f80 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 47 6f 20 74 68 72 6f 75 67 ....................//.Go.throug
6fa0 68 20 66 69 6e 67 65 72 73 20 61 6e 64 20 66 6f 72 20 65 61 63 68 20 6f 6e 65 2c 20 67 65 74 20 h.fingers.and.for.each.one,.get.
6fc0 74 68 65 20 74 6f 75 63 68 65 73 20 74 68 61 74 20 77 65 72 65 20 61 63 74 69 76 65 20 74 68 69 the.touches.that.were.active.thi
6fe0 73 20 75 70 64 61 74 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 s.update...................for.(
7000 76 61 72 20 69 20 3d 20 30 3b 20 69 20 3c 20 74 6f 74 61 6c 46 69 6e 67 65 72 43 6f 75 6e 74 3b var.i.=.0;.i.<.totalFingerCount;
7020 20 2b 2b 69 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 .++i)..................{........
7040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 66 69 6e 67 65 72 20 3d 20 66 69 6e 67 65 ..............var.finger.=.finge
7060 72 73 5b 69 5d 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f rs[i];........................//
7080 20 53 6b 69 70 20 67 6f 69 6e 67 20 74 68 72 6f 75 67 68 20 74 68 65 20 66 69 6e 67 65 72 27 73 .Skip.going.through.the.finger's
70a0 20 74 6f 75 63 68 65 73 20 69 66 20 74 68 65 20 66 69 6e 67 65 72 20 64 6f 65 73 20 6e 6f 74 20 .touches.if.the.finger.does.not.
70c0 68 61 76 65 20 61 6e 20 61 63 74 69 76 65 20 74 6f 75 63 68 2e 0d 0a 20 20 20 20 20 20 20 20 20 have.an.active.touch............
70e0 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 41 76 6f 69 64 73 20 64 6f 69 6e 67 20 75 6e 6e 65 63 ...........//.Avoids.doing.unnec
7100 65 73 73 61 72 79 20 77 6f 72 6b 20 6f 66 20 73 69 66 74 69 6e 67 20 74 68 72 6f 75 67 68 20 74 essary.work.of.sifting.through.t
7120 68 65 20 66 69 6e 67 65 72 27 73 20 68 69 73 74 6f 72 79 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 he.finger's.history.............
7140 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 66 69 6e 67 65 72 2e 63 75 72 72 65 6e 74 54 6f 75 ..........if.(!finger.currentTou
7160 63 68 2e 76 61 6c 69 64 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ch.valid).......................
7180 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...continue;....................
71a0 20 20 20 20 2f 2f 20 57 65 27 72 65 20 77 61 6c 6b 69 6e 67 20 6e 65 77 65 73 74 2d 66 69 72 73 ....//.We're.walking.newest-firs
71c0 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 74 6f 75 63 68 20 68 69 73 74 6f 72 79 20 62 75 74 20 t.through.the.touch.history.but.
71e0 77 61 6e 74 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 6c 69 73 74 20 6f 66 0d 0a 20 20 20 20 want.the.resulting.list.of......
7200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 61 63 74 69 76 65 20 74 6f 75 63 68 65 ................//.active.touche
7220 73 20 74 6f 20 62 65 20 6f 6c 64 65 73 74 20 66 69 72 73 74 20 28 73 6f 20 74 68 61 74 20 61 20 s.to.be.oldest.first.(so.that.a.
7240 72 65 63 6f 72 64 20 66 6f 72 20 61 6e 20 65 6e 64 65 64 20 74 6f 75 63 68 20 63 6f 6d 65 73 20 record.for.an.ended.touch.comes.
7260 62 65 66 6f 72 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 61 before......................//.a
7280 20 72 65 63 6f 72 64 20 6f 66 20 61 20 6e 65 77 20 74 6f 75 63 68 20 73 74 61 72 74 65 64 20 6f .record.of.a.new.touch.started.o
72a0 6e 20 74 68 65 20 73 61 6d 65 20 66 69 6e 67 65 72 29 2e 20 54 6f 20 61 63 68 69 65 76 65 20 74 n.the.same.finger)..To.achieve.t
72c0 68 61 74 2c 20 77 65 20 69 6e 73 65 72 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 hat,.we.insert..................
72e0 20 20 20 20 2f 2f 20 6e 65 77 20 74 6f 75 63 68 20 65 6e 74 72 69 65 73 20 66 6f 72 20 61 6e 79 ....//.new.touch.entries.for.any
7300 20 66 69 6e 67 65 72 20 61 6c 77 61 79 73 20 61 74 20 74 68 65 20 73 61 6d 65 20 69 6e 64 65 78 .finger.always.at.the.same.index
7320 20 28 69 2e 65 2e 20 77 65 20 70 72 65 70 65 6e 64 20 72 61 74 68 65 72 0d 0a 20 20 20 20 20 20 .(i.e..we.prepend.rather........
7340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 74 68 61 6e 20 61 70 70 65 6e 64 29 2e 0d 0a ..............//.than.append)...
7360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 69 6e 73 65 72 74 41 74 ....................var.insertAt
7380 20 3d 20 61 63 74 69 76 65 54 6f 75 63 68 43 6f 75 6e 74 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 .=.activeTouchCount;............
73a0 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 47 6f 20 62 61 63 6b 20 69 6e 20 74 69 6d 65 20 74 ............//.Go.back.in.time.t
73c0 68 72 6f 75 67 68 20 74 68 65 20 74 6f 75 63 68 20 72 65 63 6f 72 64 73 20 6f 6e 20 74 68 65 20 hrough.the.touch.records.on.the.
73e0 66 69 6e 67 65 72 20 61 6e 64 20 63 6f 6c 6c 65 63 74 20 61 6e 79 20 74 6f 75 63 68 0d 0a 20 20 finger.and.collect.any.touch....
7400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 61 63 74 69 76 65 20 69 6e 20 74 ..................//.active.in.t
7420 68 65 20 63 75 72 72 65 6e 74 20 66 72 61 6d 65 2e 20 4e 6f 74 65 20 74 68 61 74 20 74 68 69 73 he.current.frame..Note.that.this
7440 20 6d 61 79 20 79 69 65 6c 64 20 2a 6d 75 6c 74 69 70 6c 65 2a 20 74 6f 75 63 68 65 73 20 66 6f .may.yield.*multiple*.touches.fo
7460 72 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 66 69 r.the......................//.fi
7480 6e 67 65 72 20 61 73 20 74 68 65 72 65 20 6d 61 79 20 62 65 20 74 6f 75 63 68 65 64 20 74 68 61 nger.as.there.may.be.touched.tha
74a0 74 20 68 61 76 65 20 65 6e 64 65 64 20 69 6e 20 74 68 65 20 66 72 61 6d 65 20 77 68 69 6c 65 20 t.have.ended.in.the.frame.while.
74c0 69 6e 20 74 68 65 20 73 61 6d 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 in.the.same.....................
74e0 20 2f 2f 20 66 72 61 6d 65 2c 20 61 20 6e 65 77 20 74 6f 75 63 68 20 77 61 73 20 73 74 61 72 74 .//.frame,.a.new.touch.was.start
7500 65 64 2e 0d 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 68 69 73 ed.......................var.his
7520 74 6f 72 79 20 3d 20 66 69 6e 67 65 72 2e 6d 5f 53 74 61 74 65 48 69 73 74 6f 72 79 3b 0d 0a 20 tory.=.finger.m_StateHistory;...
7540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 74 6f 75 63 68 52 65 63 6f ...................var.touchReco
7560 72 64 43 6f 75 6e 74 20 3d 20 68 69 73 74 6f 72 79 2e 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 rdCount.=.history.Count;........
7580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 75 72 72 65 6e 74 54 6f 75 63 68 49 64 ..............var.currentTouchId
75a0 20 3d 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 .=.0;......................for.(
75c0 76 61 72 20 6e 20 3d 20 74 6f 75 63 68 52 65 63 6f 72 64 43 6f 75 6e 74 20 2d 20 31 3b 20 6e 20 var.n.=.touchRecordCount.-.1;.n.
75e0 3e 3d 20 30 3b 20 2d 2d 6e 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 >=.0;.--n)......................
7600 7b 0d 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 72 {..........................var.r
7620 65 63 6f 72 64 20 3d 20 68 69 73 74 6f 72 79 5b 6e 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ecord.=.history[n];.............
7640 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 73 74 61 74 65 20 3d 20 2a 28 54 6f 75 63 68 .............var.state.=.*(Touch
7660 53 74 61 74 65 2a 29 72 65 63 6f 72 64 2e 47 65 74 55 6e 73 61 66 65 4d 65 6d 6f 72 79 50 74 72 State*)record.GetUnsafeMemoryPtr
7680 28 29 3b 0d 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 ();..........................var
76a0 20 65 78 74 72 61 20 3d 20 28 45 78 74 72 61 44 61 74 61 50 65 72 54 6f 75 63 68 53 74 61 74 65 .extra.=.(ExtraDataPerTouchState
76c0 2a 29 72 65 63 6f 72 64 2e 47 65 74 55 6e 73 61 66 65 45 78 74 72 61 4d 65 6d 6f 72 79 50 74 72 *)record.GetUnsafeExtraMemoryPtr
76e0 28 29 3b 0d 0a 0d 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 2f ();............................/
7700 2f 20 53 6b 69 70 20 69 66 20 70 61 72 74 20 6f 66 20 61 6e 20 6f 6e 67 6f 69 6e 67 20 74 6f 75 /.Skip.if.part.of.an.ongoing.tou
7720 63 68 20 77 65 27 76 65 20 61 6c 72 65 61 64 79 20 72 65 63 6f 72 64 65 64 2e 0d 0a 20 20 20 20 ch.we've.already.recorded.......
7740 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 74 61 74 65 2e 74 6f ....................if.(state.to
7760 75 63 68 49 64 20 3d 3d 20 63 75 72 72 65 6e 74 54 6f 75 63 68 49 64 20 26 26 20 21 73 74 61 74 uchId.==.currentTouchId.&&.!stat
7780 65 2e 70 68 61 73 65 2e 49 73 45 6e 64 65 64 4f 72 43 61 6e 63 65 6c 65 64 28 29 29 0d 0a 20 20 e.phase.IsEndedOrCanceled())....
77a0 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 6f 6e 74 69 6e ..........................contin
77c0 75 65 3b 0d 0a 0d 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 2f ue;............................/
77e0 2f 20 49 66 20 74 68 65 20 74 6f 75 63 68 20 69 73 20 6f 6c 64 65 72 20 74 68 61 6e 20 74 68 65 /.If.the.touch.is.older.than.the
7800 20 63 75 72 72 65 6e 74 20 66 72 61 6d 65 20 61 6e 64 20 69 74 27 73 20 61 20 74 6f 75 63 68 20 .current.frame.and.it's.a.touch.
7820 74 68 61 74 20 68 61 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 that.has........................
7840 20 20 2f 2f 20 65 6e 64 65 64 2c 20 77 65 20 64 6f 6e 27 74 20 6e 65 65 64 20 74 6f 20 6c 6f 6f ..//.ended,.we.don't.need.to.loo
7860 6b 20 66 75 72 74 68 65 72 20 62 61 63 6b 20 69 6e 74 6f 20 74 68 65 20 68 69 73 74 6f 72 79 20 k.further.back.into.the.history.
7880 61 73 20 61 6e 79 74 68 69 6e 67 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 as.anything.....................
78a0 20 20 20 20 20 2f 2f 20 63 6f 6d 69 6e 67 20 62 65 66 6f 72 65 20 74 68 61 74 20 77 69 6c 6c 20 .....//.coming.before.that.will.
78c0 62 65 20 65 71 75 61 6c 6c 79 20 6f 75 74 64 61 74 65 64 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 be.equally.outdated.............
78e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 77 61 73 55 70 64 61 74 65 64 54 68 69 73 ..............var.wasUpdatedThis
7900 46 72 61 6d 65 20 3d 20 65 78 74 72 61 2d 3e 75 70 64 61 74 65 53 74 65 70 43 6f 75 6e 74 20 3d Frame.=.extra->updateStepCount.=
7920 3d 20 75 70 64 61 74 65 53 74 65 70 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 =.updateStepCount;..............
7940 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 77 61 73 55 70 64 61 74 65 64 54 68 69 73 46 ............if.(!wasUpdatedThisF
7960 72 61 6d 65 20 26 26 20 73 74 61 74 65 2e 70 68 61 73 65 2e 49 73 45 6e 64 65 64 4f 72 43 61 6e rame.&&.state.phase.IsEndedOrCan
7980 63 65 6c 65 64 28 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 celed())........................
79a0 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......break;....................
79c0 20 20 20 20 20 20 20 20 2f 2f 20 4d 61 6b 65 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 74 6f ........//.Make.a.copy.of.the.to
79e0 75 63 68 20 73 6f 20 74 68 61 74 20 77 65 20 63 61 6e 20 6d 6f 64 69 66 79 20 64 61 74 61 20 6c uch.so.that.we.can.modify.data.l
7a00 69 6b 65 20 64 65 6c 74 61 73 20 61 6e 64 20 70 68 61 73 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 ike.deltas.and.phase............
7a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6e 65 77 52 65 63 6f 72 64 20 3d 20 61 ...............var.newRecord.=.a
7a40 63 74 69 76 65 54 6f 75 63 68 53 74 61 74 65 2e 41 64 64 52 65 63 6f 72 64 28 72 65 63 6f 72 64 ctiveTouchState.AddRecord(record
7a60 29 3b 0d 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 );..........................var.
7a80 6e 65 77 54 6f 75 63 68 20 3d 20 6e 65 77 20 54 6f 75 63 68 28 66 69 6e 67 65 72 2c 20 6e 65 77 newTouch.=.new.Touch(finger,.new
7aa0 52 65 63 6f 72 64 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 Record);........................
7ac0 20 20 20 20 2f 2f 20 49 66 20 74 68 65 20 74 6f 75 63 68 20 68 61 73 6e 27 74 20 6d 6f 76 65 64 ....//.If.the.touch.hasn't.moved
7ae0 20 74 68 69 73 20 66 72 61 6d 65 2c 20 6d 61 72 6b 20 69 74 20 73 74 61 74 69 6f 6e 61 72 79 2e .this.frame,.mark.it.stationary.
7b00 0d 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 28 73 ..........................if.((s
7b20 74 61 74 65 2e 70 68 61 73 65 20 3d 3d 20 54 6f 75 63 68 50 68 61 73 65 2e 4d 6f 76 65 64 20 7c tate.phase.==.TouchPhase.Moved.|
7b40 7c 20 73 74 61 74 65 2e 70 68 61 73 65 20 3d 3d 20 54 6f 75 63 68 50 68 61 73 65 2e 42 65 67 61 |.state.phase.==.TouchPhase.Bega
7b60 6e 29 20 26 26 0d 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 n).&&...........................
7b80 20 20 20 21 77 61 73 55 70 64 61 74 65 64 54 68 69 73 46 72 61 6d 65 29 0d 0a 20 20 20 20 20 20 ...!wasUpdatedThisFrame)........
7ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 54 6f 75 63 68 53 74 61 ......................((TouchSta
7bc0 74 65 2a 29 6e 65 77 52 65 63 6f 72 64 2e 47 65 74 55 6e 73 61 66 65 4d 65 6d 6f 72 79 50 74 72 te*)newRecord.GetUnsafeMemoryPtr
7be0 28 29 29 2d 3e 70 68 61 73 65 20 3d 20 54 6f 75 63 68 50 68 61 73 65 2e 53 74 61 74 69 6f 6e 61 ())->phase.=.TouchPhase.Stationa
7c00 72 79 3b 0d 0a 0d 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 2f ry;............................/
7c20 2f 20 49 66 20 74 68 65 20 74 6f 75 63 68 20 69 73 20 68 61 73 6e 27 74 20 6d 6f 76 65 64 20 6f /.If.the.touch.is.hasn't.moved.o
7c40 72 20 65 6e 64 65 64 20 74 68 69 73 20 66 72 61 6d 65 2c 20 7a 65 72 6f 20 6f 75 74 20 69 74 73 r.ended.this.frame,.zero.out.its
7c60 20 64 65 6c 74 61 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .delta..........................
7c80 20 69 66 20 28 21 28 28 73 74 61 74 65 2e 70 68 61 73 65 20 3d 3d 20 54 6f 75 63 68 50 68 61 73 .if.(!((state.phase.==.TouchPhas
7ca0 65 2e 4d 6f 76 65 64 20 7c 7c 20 73 74 61 74 65 2e 70 68 61 73 65 20 3d 3d 20 54 6f 75 63 68 50 e.Moved.||.state.phase.==.TouchP
7cc0 68 61 73 65 2e 45 6e 64 65 64 29 20 26 26 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 hase.Ended).&&..................
7ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 61 73 55 70 64 61 74 65 64 54 68 69 73 46 72 61 6d ..............wasUpdatedThisFram
7d00 65 29 29 0d 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 7b 0d 0a e))..........................{..
7d20 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 28 28 54 6f ............................((To
7d40 75 63 68 53 74 61 74 65 2a 29 6e 65 77 52 65 63 6f 72 64 2e 47 65 74 55 6e 73 61 66 65 4d 65 6d uchState*)newRecord.GetUnsafeMem
7d60 6f 72 79 50 74 72 28 29 29 2d 3e 64 65 6c 74 61 20 3d 20 6e 65 77 20 56 65 63 74 6f 72 32 28 29 oryPtr())->delta.=.new.Vector2()
7d80 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 ;..........................}....
7da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0d 0a 20 20 20 20 ......................else......
7dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 ....................{...........
7de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 57 65 20 77 61 6e 74 20 61 63 ...................//.We.want.ac
7e00 63 75 6d 75 6c 61 74 65 64 20 64 65 6c 74 61 73 20 6f 6e 6c 79 20 6f 6e 20 61 63 74 69 76 65 54 cumulated.deltas.only.on.activeT
7e20 6f 75 63 68 65 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ouches..........................
7e40 20 20 20 20 20 28 28 54 6f 75 63 68 53 74 61 74 65 2a 29 6e 65 77 52 65 63 6f 72 64 2e 47 65 74 .....((TouchState*)newRecord.Get
7e60 55 6e 73 61 66 65 4d 65 6d 6f 72 79 50 74 72 28 29 29 2d 3e 64 65 6c 74 61 20 3d 0d 0a 20 20 20 UnsafeMemoryPtr())->delta.=.....
7e80 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 20 28 28 45 .............................((E
7ea0 78 74 72 61 44 61 74 61 50 65 72 54 6f 75 63 68 53 74 61 74 65 2a 29 6e 65 77 52 65 63 6f 72 64 xtraDataPerTouchState*)newRecord
7ec0 2e 47 65 74 55 6e 73 61 66 65 45 78 74 72 61 4d 65 6d 6f 72 79 50 74 72 28 29 29 2d 3e 61 63 63 .GetUnsafeExtraMemoryPtr())->acc
7ee0 75 6d 75 6c 61 74 65 64 44 65 6c 74 61 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 umulatedDelta;..................
7f00 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........}.......................
7f20 20 20 20 20 20 41 72 72 61 79 48 65 6c 70 65 72 73 2e 49 6e 73 65 72 74 41 74 57 69 74 68 43 61 .....ArrayHelpers.InsertAtWithCa
7f40 70 61 63 69 74 79 28 72 65 66 20 61 63 74 69 76 65 54 6f 75 63 68 65 73 2c 20 72 65 66 20 61 63 pacity(ref.activeTouches,.ref.ac
7f60 74 69 76 65 54 6f 75 63 68 43 6f 75 6e 74 2c 20 69 6e 73 65 72 74 41 74 2c 20 6e 65 77 54 6f 75 tiveTouchCount,.insertAt,.newTou
7f80 63 68 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 75 ch);..........................cu
7fa0 72 72 65 6e 74 54 6f 75 63 68 49 64 20 3d 20 73 74 61 74 65 2e 74 6f 75 63 68 49 64 3b 0d 0a 20 rrentTouchId.=.state.touchId;...
7fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 ...................}............
7fe0 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 61 76 65 42 ......}....................haveB
8000 75 69 6c 74 41 63 74 69 76 65 54 6f 75 63 68 65 73 20 3d 20 74 72 75 65 3b 0d 0a 20 20 20 20 20 uiltActiveTouches.=.true;.......
8020 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 69 .......}..........}............i
8040 6e 74 65 72 6e 61 6c 20 73 74 72 75 63 74 20 45 78 74 72 61 44 61 74 61 50 65 72 54 6f 75 63 68 nternal.struct.ExtraDataPerTouch
8060 53 74 61 74 65 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 State..........{..............pu
8080 62 6c 69 63 20 56 65 63 74 6f 72 32 20 61 63 63 75 6d 75 6c 61 74 65 64 44 65 6c 74 61 3b 0d 0a blic.Vector2.accumulatedDelta;..
80a0 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 75 69 6e 74 20 75 70 64 61 74 65 53 74 ............public.uint.updateSt
80c0 65 70 43 6f 75 6e 74 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 57 65 20 63 61 epCount;................//.We.ca
80e0 6e 27 74 20 67 75 61 72 61 6e 74 65 65 20 74 68 61 74 20 74 68 65 20 70 6c 61 74 66 6f 72 6d 20 n't.guarantee.that.the.platform.
8100 69 73 20 6e 6f 74 20 72 65 75 73 69 6e 67 20 74 6f 75 63 68 20 49 44 73 2e 0d 0a 20 20 20 20 20 is.not.reusing.touch.IDs........
8120 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 75 69 6e 74 20 75 6e 69 71 75 65 49 64 3b 0d 0a 0d 0a .......public.uint.uniqueId;....
8140 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 2f 54 4f 44 4f 0d 0a 20 20 20 20 20 20 20 20 20 20 ............////TODO............
8160 20 20 2f 2f 70 75 62 6c 69 63 20 75 69 6e 74 20 74 61 70 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 ..//public.uint.tapCount;.......
8180 20 20 20 7d 0d 0a 20 20 20 20 7d 0d 0a 7d 0d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...}......}..}..................
81a0 00 00 00 00 05 00 00 00 54 6f 75 63 68 00 00 00 00 00 00 00 ........Touch.......