summaryrefslogtreecommitdiff
path: root/Library/Artifacts/74/74a2f8e0c8b010ed992c9a45ec5779b4
blob: 89dbe9322409ad10ab2288397868d71458792eeb (plain)
ofshex dumpascii
0000 00 00 0f 81 00 02 80 24 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 c4 6f 02 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 .o..............................
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 10 00 00 00 49 6e 70 75 74 41 63 74 69 6f 6e 53 74 61 74 65 3e 6f 02 00 ............InputActionState>o..
10a0 75 73 69 6e 67 20 53 79 73 74 65 6d 3b 0d 0a 75 73 69 6e 67 20 53 79 73 74 65 6d 2e 43 6f 6c 6c using.System;..using.System.Coll
10c0 65 63 74 69 6f 6e 73 2e 47 65 6e 65 72 69 63 3b 0d 0a 75 73 69 6e 67 20 53 79 73 74 65 6d 2e 4c ections.Generic;..using.System.L
10e0 69 6e 71 3b 0d 0a 75 73 69 6e 67 20 53 79 73 74 65 6d 2e 52 75 6e 74 69 6d 65 2e 49 6e 74 65 72 inq;..using.System.Runtime.Inter
1100 6f 70 53 65 72 76 69 63 65 73 3b 0d 0a 75 73 69 6e 67 20 55 6e 69 74 79 2e 43 6f 6c 6c 65 63 74 opServices;..using.Unity.Collect
1120 69 6f 6e 73 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 73 2e 4c ions;..using.Unity.Collections.L
1140 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 6e 67 69 owLevel.Unsafe;..using.UnityEngi
1160 6e 65 2e 49 6e 70 75 74 53 79 73 74 65 6d 2e 43 6f 6e 74 72 6f 6c 73 3b 0d 0a 75 73 69 6e 67 20 ne.InputSystem.Controls;..using.
1180 55 6e 69 74 79 45 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 UnityEngine.InputSystem.LowLevel
11a0 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 74 65 6d ;..using.UnityEngine.InputSystem
11c0 2e 55 74 69 6c 69 74 69 65 73 3b 0d 0a 75 73 69 6e 67 20 55 6e 69 74 79 45 6e 67 69 6e 65 2e 50 .Utilities;..using.UnityEngine.P
11e0 72 6f 66 69 6c 69 6e 67 3b 0d 0a 0d 0a 2f 2f 2f 2f 54 4f 44 4f 3a 20 6e 6f 77 20 74 68 61 74 20 rofiling;....////TODO:.now.that.
1200 77 65 20 63 61 6e 20 62 69 6e 64 20 74 6f 20 63 6f 6e 74 72 6f 6c 73 20 62 79 20 64 69 73 70 6c we.can.bind.to.controls.by.displ
1220 61 79 20 6e 61 6d 65 2c 20 77 65 20 6e 65 65 64 20 74 6f 20 72 65 2d 72 65 73 6f 6c 76 65 20 63 ay.name,.we.need.to.re-resolve.c
1240 6f 6e 74 72 6f 6c 73 20 77 68 65 6e 20 74 68 6f 73 65 20 63 68 61 6e 67 65 20 28 65 2e 67 2e 20 ontrols.when.those.change.(e.g..
1260 77 68 65 6e 20 74 68 65 20 6b 65 79 62 6f 61 72 64 20 6c 61 79 6f 75 74 20 63 68 61 6e 67 65 73 when.the.keyboard.layout.changes
1280 29 0d 0a 0d 0a 2f 2f 2f 2f 54 4f 44 4f 3a 20 72 65 6d 6f 76 65 20 64 69 72 65 63 74 20 72 65 66 )....////TODO:.remove.direct.ref
12a0 65 72 65 6e 63 65 73 20 74 6f 20 49 6e 70 75 74 4d 61 6e 61 67 65 72 0d 0a 0d 0a 2f 2f 2f 2f 54 erences.to.InputManager....////T
12c0 4f 44 4f 3a 20 6d 61 6b 65 20 73 75 72 65 20 63 6f 6e 74 72 6f 6c 73 20 69 6e 20 70 65 72 2d 61 ODO:.make.sure.controls.in.per-a
12e0 63 74 69 6f 6e 20 61 6e 64 20 70 65 72 2d 6d 61 70 20 63 6f 6e 74 72 6f 6c 20 61 72 72 61 79 73 ction.and.per-map.control.arrays
1300 20 61 72 65 20 75 6e 69 71 75 65 20 28 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 61 72 72 61 79 73 .are.unique.(the.internal.arrays
1320 20 61 72 65 20 70 72 6f 62 61 62 6c 79 20 6f 6b 61 79 20 74 6f 20 68 61 76 65 20 64 75 70 6c 69 .are.probably.okay.to.have.dupli
1340 63 61 74 65 73 29 0d 0a 0d 0a 2f 2f 2f 2f 52 45 56 49 45 57 3a 20 73 68 6f 75 6c 64 20 74 68 65 cates)....////REVIEW:.should.the
1360 20 64 65 66 61 75 6c 74 20 69 6e 74 65 72 61 63 74 69 6f 6e 20 62 65 20 61 6e 20 2a 65 78 70 6c .default.interaction.be.an.*expl
1380 69 63 69 74 2a 20 69 6e 74 65 72 61 63 74 69 6f 6e 3f 0d 0a 0d 0a 2f 2f 2f 2f 52 45 56 49 45 57 icit*.interaction?....////REVIEW
13a0 3a 20 73 68 6f 75 6c 64 20 22 70 61 73 73 2d 74 68 72 6f 75 67 68 22 20 62 65 20 61 6e 20 69 6e :.should."pass-through".be.an.in
13c0 74 65 72 61 63 74 69 6f 6e 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 73 65 74 74 69 6e 67 20 6f teraction.instead.of.a.setting.o
13e0 6e 20 61 63 74 69 6f 6e 73 3f 0d 0a 0d 0a 2f 2f 2f 2f 52 45 56 49 45 57 3a 20 61 6c 6c 6f 77 20 n.actions?....////REVIEW:.allow.
1400 73 65 74 75 70 20 77 68 65 72 65 20 73 74 61 74 65 20 6d 6f 6e 69 74 6f 72 20 69 73 20 65 6e 61 setup.where.state.monitor.is.ena
1420 62 6c 65 64 20 62 75 74 20 61 63 74 69 6f 6e 20 69 73 20 64 69 73 61 62 6c 65 64 3f 0d 0a 0d 0a bled.but.action.is.disabled?....
1440 6e 61 6d 65 73 70 61 63 65 20 55 6e 69 74 79 45 6e 67 69 6e 65 2e 49 6e 70 75 74 53 79 73 74 65 namespace.UnityEngine.InputSyste
1460 6d 0d 0a 7b 0d 0a 20 20 20 20 75 73 69 6e 67 20 49 6e 70 75 74 41 63 74 69 6f 6e 4c 69 73 74 65 m..{......using.InputActionListe
1480 6e 65 72 20 3d 20 41 63 74 69 6f 6e 3c 49 6e 70 75 74 41 63 74 69 6f 6e 2e 43 61 6c 6c 62 61 63 ner.=.Action<InputAction.Callbac
14a0 6b 43 6f 6e 74 65 78 74 3e 3b 0d 0a 0d 0a 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d kContext>;........///.<summary>.
14c0 0a 20 20 20 20 2f 2f 2f 20 44 79 6e 61 6d 69 63 20 65 78 65 63 75 74 69 6f 6e 20 73 74 61 74 65 .....///.Dynamic.execution.state
14e0 20 6f 66 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 .of.one.or.more.<see.cref="Input
1500 41 63 74 69 6f 6e 4d 61 70 22 3e 61 63 74 69 6f 6e 20 6d 61 70 73 3c 2f 73 65 65 3e 20 61 6e 64 ActionMap">action.maps</see>.and
1520 0d 0a 20 20 20 20 2f 2f 2f 20 61 6c 6c 20 74 68 65 20 61 63 74 69 6f 6e 73 20 74 68 65 79 20 63 ......///.all.the.actions.they.c
1540 6f 6e 74 61 69 6e 2e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 ontain.......///.</summary>.....
1560 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 2f 2f 2f 20 54 68 65 20 61 69 6d 20 .///.<remarks>......///.The.aim.
1580 6f 66 20 74 68 69 73 20 63 6c 61 73 73 20 69 73 20 74 6f 20 62 6f 74 68 20 70 75 74 20 61 6c 6c of.this.class.is.to.both.put.all
15a0 20 74 68 65 20 64 79 6e 61 6d 69 63 20 65 78 65 63 75 74 69 6f 6e 20 73 74 61 74 65 20 69 6e 74 .the.dynamic.execution.state.int
15c0 6f 20 6f 6e 65 20 70 6c 61 63 65 20 61 73 20 77 65 6c 6c 0d 0a 20 20 20 20 2f 2f 2f 20 61 73 20 o.one.place.as.well......///.as.
15e0 74 6f 20 6f 72 67 61 6e 69 7a 65 20 73 74 61 74 65 20 69 6e 20 74 69 67 68 74 2c 20 47 43 2d 6f to.organize.state.in.tight,.GC-o
1600 70 74 69 6d 69 7a 65 64 20 61 72 72 61 79 73 2e 20 41 6c 73 6f 2c 20 62 79 20 6d 6f 76 69 6e 67 ptimized.arrays..Also,.by.moving
1620 20 73 74 61 74 65 20 6f 75 74 20 6f 66 20 69 6e 64 69 76 69 64 75 61 6c 0d 0a 20 20 20 20 2f 2f .state.out.of.individual......//
1640 2f 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 41 63 74 69 6f 6e 4d 61 70 22 3e 61 63 74 /.<see.cref="InputActionMap">act
1660 69 6f 6e 20 6d 61 70 73 3c 2f 73 65 65 3e 2c 20 77 65 20 63 61 6e 20 63 6f 6d 62 69 6e 65 20 74 ion.maps</see>,.we.can.combine.t
1680 68 65 20 73 74 61 74 65 20 6f 66 20 73 65 76 65 72 61 6c 20 6d 61 70 73 0d 0a 20 20 20 20 2f 2f he.state.of.several.maps......//
16a0 2f 20 69 6e 74 6f 20 6f 6e 65 20 73 69 6e 67 6c 65 20 6f 62 6a 65 63 74 20 77 69 74 68 20 61 20 /.into.one.single.object.with.a.
16c0 73 69 6e 67 6c 65 20 73 65 74 20 6f 66 20 61 72 72 61 79 73 2e 20 49 64 65 61 6c 6c 79 2c 20 69 single.set.of.arrays..Ideally,.i
16e0 66 20 79 6f 75 20 68 61 76 65 20 61 20 73 69 6e 67 6c 65 20 61 63 74 69 6f 6e 0d 0a 20 20 20 20 f.you.have.a.single.action......
1700 2f 2f 2f 20 61 73 73 65 74 20 69 6e 20 74 68 65 20 67 61 6d 65 2c 20 79 6f 75 20 67 65 74 20 61 ///.asset.in.the.game,.you.get.a
1720 20 73 69 6e 67 6c 65 20 49 6e 70 75 74 41 63 74 69 6f 6e 53 74 61 74 65 20 74 68 61 74 20 63 6f .single.InputActionState.that.co
1740 6e 74 61 69 6e 73 20 74 68 65 20 65 6e 74 69 72 65 20 64 79 6e 61 6d 69 63 0d 0a 20 20 20 20 2f ntains.the.entire.dynamic....../
1760 2f 2f 20 65 78 65 63 75 74 69 6f 6e 20 73 74 61 74 65 20 66 6f 72 20 79 6f 75 72 20 67 61 6d 65 //.execution.state.for.your.game
1780 27 73 20 61 63 74 69 6f 6e 73 2e 0d 0a 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 2f 2f 2f 20 4e 6f 's.actions.......///......///.No
17a0 74 65 20 74 68 61 74 20 74 68 69 73 20 63 6c 61 73 73 20 61 6c 6c 6f 63 61 74 65 73 20 75 6e 6d te.that.this.class.allocates.unm
17c0 61 6e 61 67 65 64 20 6d 65 6d 6f 72 79 2e 20 49 74 20 68 61 73 20 74 6f 20 62 65 20 64 69 73 70 anaged.memory..It.has.to.be.disp
17e0 6f 73 65 64 20 6f 66 20 6f 72 20 69 74 20 77 69 6c 6c 20 6c 65 61 6b 0d 0a 20 20 20 20 2f 2f 2f osed.of.or.it.will.leak......///
1800 20 6d 65 6d 6f 72 79 21 0d 0a 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 2f 2f 2f 20 41 6e 20 69 6e .memory!......///......///.An.in
1820 73 74 61 6e 63 65 20 6f 66 20 74 68 69 73 20 63 6c 61 73 73 20 69 73 20 61 6c 73 6f 20 75 73 65 stance.of.this.class.is.also.use
1840 64 20 66 6f 72 20 73 69 6e 67 6c 65 74 6f 6e 20 61 63 74 69 6f 6e 73 20 62 79 20 6d 65 61 6e 73 d.for.singleton.actions.by.means
1860 20 6f 66 20 74 68 65 20 68 69 64 64 65 6e 20 61 63 74 69 6f 6e 0d 0a 20 20 20 20 2f 2f 2f 20 6d .of.the.hidden.action......///.m
1880 61 70 20 77 65 20 63 72 65 61 74 65 20 66 6f 72 20 74 68 6f 73 65 20 61 63 74 69 6f 6e 73 2e 20 ap.we.create.for.those.actions..
18a0 49 6e 20 74 68 61 74 20 63 61 73 65 2c 20 74 68 65 72 65 20 77 69 6c 6c 20 62 65 20 62 6f 74 68 In.that.case,.there.will.be.both
18c0 20 61 20 68 69 64 64 65 6e 20 6d 61 70 20 69 6e 73 74 61 6e 63 65 0d 0a 20 20 20 20 2f 2f 2f 20 .a.hidden.map.instance......///.
18e0 61 73 20 77 65 6c 6c 20 61 73 20 61 6e 20 61 63 74 69 6f 6e 20 73 74 61 74 65 20 66 6f 72 20 65 as.well.as.an.action.state.for.e
1900 76 65 72 79 20 73 65 70 61 72 61 74 65 20 73 69 6e 67 6c 65 74 6f 6e 20 61 63 74 69 6f 6e 2e 20 very.separate.singleton.action..
1920 54 68 69 73 20 6d 61 6b 65 73 20 73 69 6e 67 6c 65 74 6f 6e 20 61 63 74 69 6f 6e 73 0d 0a 20 20 This.makes.singleton.actions....
1940 20 20 2f 2f 2f 20 72 65 6c 61 74 69 76 65 6c 79 20 65 78 70 65 6e 73 69 76 65 2e 0d 0a 20 20 20 ..///.relatively.expensive......
1960 20 2f 2f 2f 20 3c 2f 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 75 6e .///.</remarks>......internal.un
1980 73 61 66 65 20 63 6c 61 73 73 20 49 6e 70 75 74 41 63 74 69 6f 6e 53 74 61 74 65 20 3a 20 49 49 safe.class.InputActionState.:.II
19a0 6e 70 75 74 53 74 61 74 65 43 68 61 6e 67 65 4d 6f 6e 69 74 6f 72 2c 20 49 43 6c 6f 6e 65 61 62 nputStateChangeMonitor,.ICloneab
19c0 6c 65 2c 20 49 44 69 73 70 6f 73 61 62 6c 65 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 le,.IDisposable......{..........
19e0 70 75 62 6c 69 63 20 63 6f 6e 73 74 20 69 6e 74 20 6b 49 6e 76 61 6c 69 64 49 6e 64 65 78 20 3d public.const.int.kInvalidIndex.=
1a00 20 2d 31 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 .-1;............///.<summary>...
1a20 20 20 20 20 20 20 20 2f 2f 2f 20 41 72 72 61 79 20 6f 66 20 61 6c 6c 20 6d 61 70 73 20 61 64 64 .......///.Array.of.all.maps.add
1a40 65 64 20 74 6f 20 74 68 65 20 73 74 61 74 65 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f ed.to.the.state...........///.</
1a60 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 49 6e 70 75 74 41 63 summary>..........public.InputAc
1a80 74 69 6f 6e 4d 61 70 5b 5d 20 6d 61 70 73 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c tionMap[].maps;............///.<
1aa0 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 4c 69 73 74 20 6f 66 20 61 6c summary>..........///.List.of.al
1ac0 6c 20 72 65 73 6f 6c 76 65 64 20 63 6f 6e 74 72 6f 6c 73 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f l.resolved.controls...........//
1ae0 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 6d 61 72 /.</summary>..........///.<remar
1b00 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 41 73 20 77 65 20 64 6f 6e 27 74 20 6b 6e 6f ks>..........///.As.we.don't.kno
1b20 77 20 69 6e 20 61 64 76 61 6e 63 65 20 68 6f 77 20 6d 61 6e 79 20 63 6f 6e 74 72 6f 6c 73 20 61 w.in.advance.how.many.controls.a
1b40 20 62 69 6e 64 69 6e 67 20 6d 61 79 20 6d 61 74 63 68 20 28 69 66 20 61 6e 79 29 2c 20 77 65 20 .binding.may.match.(if.any),.we.
1b60 62 75 6d 70 20 74 68 65 20 73 69 7a 65 20 6f 66 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 74 68 bump.the.size.of..........///.th
1b80 69 73 20 61 72 72 61 79 20 69 6e 20 69 6e 63 72 65 6d 65 6e 74 73 20 64 75 72 69 6e 67 20 72 65 is.array.in.increments.during.re
1ba0 73 6f 6c 75 74 69 6f 6e 2e 20 54 68 69 73 20 6d 65 61 6e 73 20 69 74 20 6d 61 79 20 62 65 20 65 solution..This.means.it.may.be.e
1bc0 6e 64 20 75 70 20 62 65 69 6e 67 20 6c 61 72 67 65 72 20 74 68 61 6e 20 74 68 65 20 74 6f 74 61 nd.up.being.larger.than.the.tota
1be0 6c 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 6e 75 6d 62 65 72 20 6f 66 20 75 73 65 64 20 63 6f l..........///.number.of.used.co
1c00 6e 74 72 6f 6c 73 20 61 6e 64 20 68 61 76 65 20 65 6d 70 74 79 20 65 6e 74 72 69 65 73 20 61 74 ntrols.and.have.empty.entries.at
1c20 20 74 68 65 20 65 6e 64 2e 20 55 73 65 20 3c 73 65 65 20 63 72 65 66 3d 22 55 6e 6d 61 6e 61 67 .the.end..Use.<see.cref="Unmanag
1c40 65 64 4d 65 6d 6f 72 79 2e 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 22 2f 3e 20 61 6e 64 20 6e 6f 74 edMemory.controlCount"/>.and.not
1c60 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 63 3e 2e 4c 65 6e 67 74 68 3c 2f 63 3e 20 74 6f 20 ..........///.<c>.Length</c>.to.
1c80 66 69 6e 64 20 74 68 65 20 61 63 74 75 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 6e 74 72 6f find.the.actual.number.of.contro
1ca0 6c 73 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 41 6c ls...........///..........///.Al
1cc0 6c 20 62 6f 75 6e 64 20 63 6f 6e 74 72 6f 6c 73 20 61 72 65 20 69 6e 63 6c 75 64 65 64 20 69 6e l.bound.controls.are.included.in
1ce0 20 74 68 65 20 61 72 72 61 79 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 77 68 65 74 68 65 72 .the.array.regardless.of.whether
1d00 20 6f 6e 6c 79 20 61 20 70 61 72 74 69 61 6c 20 73 65 74 20 6f 66 20 61 63 74 69 6f 6e 73 0d 0a .only.a.partial.set.of.actions..
1d20 20 20 20 20 20 20 20 20 2f 2f 2f 20 69 73 20 63 75 72 72 65 6e 74 6c 79 20 65 6e 61 62 6c 65 64 ........///.is.currently.enabled
1d40 2e 20 57 68 61 74 20 75 6c 74 69 6d 61 74 65 6c 79 20 64 65 63 69 64 65 73 20 77 68 65 74 68 65 ..What.ultimately.decides.whethe
1d60 72 20 63 6f 6e 74 72 6f 6c 73 20 67 65 74 20 74 72 69 67 67 65 72 65 64 20 6f 72 20 6e 6f 74 20 r.controls.get.triggered.or.not.
1d80 69 73 20 77 68 65 74 68 65 72 20 77 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 68 61 76 65 20 is.whether.we..........///.have.
1da0 69 6e 73 74 61 6c 6c 65 64 20 73 74 61 74 65 20 6d 6f 6e 69 74 6f 72 73 20 66 6f 72 20 74 68 65 installed.state.monitors.for.the
1dc0 6d 20 6f 72 20 6e 6f 74 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 6d 61 72 6b 73 m.or.not...........///.</remarks
1de0 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 49 6e 70 75 74 43 6f 6e 74 72 6f 6c 5b 5d >..........public.InputControl[]
1e00 20 63 6f 6e 74 72 6f 6c 73 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 .controls;............///.<summa
1e20 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 41 72 72 61 79 20 6f 66 20 69 6e 73 74 61 6e ry>..........///.Array.of.instan
1e40 74 69 61 74 65 64 20 69 6e 74 65 72 61 63 74 69 6f 6e 20 6f 62 6a 65 63 74 73 2e 0d 0a 20 20 20 tiated.interaction.objects......
1e60 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 2f 2f 2f .....///.</summary>..........///
1e80 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 76 65 72 79 20 62 69 .<remarks>..........///.Every.bi
1ea0 6e 64 69 6e 67 20 74 68 61 74 20 68 61 73 20 69 6e 74 65 72 61 63 74 69 6f 6e 73 20 63 6f 72 72 nding.that.has.interactions.corr
1ec0 65 73 70 6f 6e 64 73 20 74 6f 20 61 20 73 6c 69 63 65 20 6f 66 20 74 68 69 73 20 61 72 72 61 79 esponds.to.a.slice.of.this.array
1ee0 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 49 6e 64 69 ...........///..........///.Indi
1f00 63 65 73 20 6d 61 74 63 68 20 62 65 74 77 65 65 6e 20 74 68 69 73 20 61 6e 64 20 69 6e 74 65 72 ces.match.between.this.and.inter
1f20 61 63 74 69 6f 6e 20 73 74 61 74 65 73 20 69 6e 20 3c 73 65 65 20 63 72 65 66 3d 22 6d 65 6d 6f action.states.in.<see.cref="memo
1f40 72 79 22 2f 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 ry"/>...........///.</remarks>..
1f60 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 49 49 6e 70 75 74 49 6e 74 65 72 61 63 74 69 6f 6e ........public.IInputInteraction
1f80 5b 5d 20 69 6e 74 65 72 61 63 74 69 6f 6e 73 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 [].interactions;............///.
1fa0 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 50 72 6f 63 65 73 73 6f 72 <summary>..........///.Processor
1fc0 20 6f 62 6a 65 63 74 73 20 69 6e 73 74 61 6e 74 69 61 74 65 64 20 66 6f 72 20 74 68 65 20 62 69 .objects.instantiated.for.the.bi
1fe0 6e 64 69 6e 67 73 20 69 6e 20 74 68 65 20 73 74 61 74 65 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f ndings.in.the.state...........//
2000 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 49 6e 70 /.</summary>..........public.Inp
2020 75 74 50 72 6f 63 65 73 73 6f 72 5b 5d 20 70 72 6f 63 65 73 73 6f 72 73 3b 0d 0a 0d 0a 20 20 20 utProcessor[].processors;.......
2040 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>..........///.
2060 41 72 72 61 79 20 6f 66 20 69 6e 73 74 61 6e 74 69 61 74 65 64 20 63 6f 6d 70 6f 73 69 74 65 20 Array.of.instantiated.composite.
2080 6f 62 6a 65 63 74 73 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 objects...........///.</summary>
20a0 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 49 6e 70 75 74 42 69 6e 64 69 6e 67 43 6f 6d ..........public.InputBindingCom
20c0 70 6f 73 69 74 65 5b 5d 20 63 6f 6d 70 6f 73 69 74 65 73 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 posite[].composites;............
20e0 70 75 62 6c 69 63 20 69 6e 74 20 74 6f 74 61 6c 50 72 6f 63 65 73 73 6f 72 43 6f 75 6e 74 3b 0d public.int.totalProcessorCount;.
2100 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 20 74 6f 74 61 6c 43 6f 6d 70 6f 73 69 .........public.int.totalComposi
2120 74 65 43 6f 75 6e 74 20 3d 3e 20 6d 65 6d 6f 72 79 2e 63 6f 6d 70 6f 73 69 74 65 43 6f 75 6e 74 teCount.=>.memory.compositeCount
2140 3b 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 20 74 6f 74 61 6c 4d 61 70 43 6f ;..........public.int.totalMapCo
2160 75 6e 74 20 3d 3e 20 6d 65 6d 6f 72 79 2e 6d 61 70 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 unt.=>.memory.mapCount;.........
2180 20 70 75 62 6c 69 63 20 69 6e 74 20 74 6f 74 61 6c 41 63 74 69 6f 6e 43 6f 75 6e 74 20 3d 3e 20 .public.int.totalActionCount.=>.
21a0 6d 65 6d 6f 72 79 2e 61 63 74 69 6f 6e 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 70 75 62 memory.actionCount;..........pub
21c0 6c 69 63 20 69 6e 74 20 74 6f 74 61 6c 42 69 6e 64 69 6e 67 43 6f 75 6e 74 20 3d 3e 20 6d 65 6d lic.int.totalBindingCount.=>.mem
21e0 6f 72 79 2e 62 69 6e 64 69 6e 67 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 ory.bindingCount;..........publi
2200 63 20 69 6e 74 20 74 6f 74 61 6c 49 6e 74 65 72 61 63 74 69 6f 6e 43 6f 75 6e 74 20 3d 3e 20 6d c.int.totalInteractionCount.=>.m
2220 65 6d 6f 72 79 2e 69 6e 74 65 72 61 63 74 69 6f 6e 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 emory.interactionCount;.........
2240 20 70 75 62 6c 69 63 20 69 6e 74 20 74 6f 74 61 6c 43 6f 6e 74 72 6f 6c 43 6f 75 6e 74 20 3d 3e .public.int.totalControlCount.=>
2260 20 6d 65 6d 6f 72 79 2e 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 .memory.controlCount;...........
2280 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 42 6c 6f 63 .///.<summary>..........///.Bloc
22a0 6b 20 6f 66 20 75 6e 6d 61 6e 61 67 65 64 20 6d 65 6d 6f 72 79 20 74 68 61 74 20 68 6f 6c 64 73 k.of.unmanaged.memory.that.holds
22c0 20 74 68 65 20 64 79 6e 61 6d 69 63 20 65 78 65 63 75 74 69 6f 6e 20 73 74 61 74 65 20 6f 66 20 .the.dynamic.execution.state.of.
22e0 74 68 65 20 61 63 74 69 6f 6e 73 20 61 6e 64 20 74 68 65 69 72 20 63 6f 6e 74 72 6f 6c 73 2e 0d the.actions.and.their.controls..
2300 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>.........
2320 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 57 65 20 6b .///.<remarks>..........///.We.k
2340 65 65 70 20 73 65 76 65 72 61 6c 20 61 72 72 61 79 73 20 6f 66 20 73 74 72 75 63 74 75 72 65 64 eep.several.arrays.of.structured
2360 20 64 61 74 61 20 69 6e 20 61 20 73 69 6e 67 6c 65 20 62 6c 6f 63 6b 20 6f 66 20 75 6e 6d 61 6e .data.in.a.single.block.of.unman
2380 61 67 65 64 20 6d 65 6d 6f 72 79 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 6d 61 aged.memory...........///.</rema
23a0 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 55 6e 6d 61 6e 61 67 65 64 4d 65 rks>..........public.UnmanagedMe
23c0 6d 6f 72 79 20 6d 65 6d 6f 72 79 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 41 mory.memory;............public.A
23e0 63 74 69 6f 6e 4d 61 70 49 6e 64 69 63 65 73 2a 20 6d 61 70 49 6e 64 69 63 65 73 20 3d 3e 20 6d ctionMapIndices*.mapIndices.=>.m
2400 65 6d 6f 72 79 2e 6d 61 70 49 6e 64 69 63 65 73 3b 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 emory.mapIndices;..........publi
2420 63 20 54 72 69 67 67 65 72 53 74 61 74 65 2a 20 61 63 74 69 6f 6e 53 74 61 74 65 73 20 3d 3e 20 c.TriggerState*.actionStates.=>.
2440 6d 65 6d 6f 72 79 2e 61 63 74 69 6f 6e 53 74 61 74 65 73 3b 0d 0a 20 20 20 20 20 20 20 20 70 75 memory.actionStates;..........pu
2460 62 6c 69 63 20 42 69 6e 64 69 6e 67 53 74 61 74 65 2a 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 blic.BindingState*.bindingStates
2480 20 3d 3e 20 6d 65 6d 6f 72 79 2e 62 69 6e 64 69 6e 67 53 74 61 74 65 73 3b 0d 0a 20 20 20 20 20 .=>.memory.bindingStates;.......
24a0 20 20 20 70 75 62 6c 69 63 20 49 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 74 65 2a 20 69 6e 74 65 ...public.InteractionState*.inte
24c0 72 61 63 74 69 6f 6e 53 74 61 74 65 73 20 3d 3e 20 6d 65 6d 6f 72 79 2e 69 6e 74 65 72 61 63 74 ractionStates.=>.memory.interact
24e0 69 6f 6e 53 74 61 74 65 73 3b 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 2a 20 ionStates;..........public.int*.
2500 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 54 6f 42 69 6e 64 69 6e 67 49 6e 64 65 78 20 3d 3e 20 6d 65 controlIndexToBindingIndex.=>.me
2520 6d 6f 72 79 2e 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 54 6f 42 69 6e 64 69 6e 67 49 6e 64 65 78 3b mory.controlIndexToBindingIndex;
2540 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 2a 20 65 6e 61 62 6c 65 64 43 6f 6e ..........public.int*.enabledCon
2560 74 72 6f 6c 73 20 3d 3e 20 6d 65 6d 6f 72 79 2e 65 6e 61 62 6c 65 64 43 6f 6e 74 72 6f 6c 73 3b trols.=>.memory.enabledControls;
2580 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 62 6f 6f 6c 20 6d 5f 4f 6e 42 65 66 ............private.bool.m_OnBef
25a0 6f 72 65 55 70 64 61 74 65 48 6f 6f 6b 65 64 3b 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 oreUpdateHooked;..........privat
25c0 65 20 62 6f 6f 6c 20 6d 5f 4f 6e 41 66 74 65 72 55 70 64 61 74 65 48 6f 6f 6b 65 64 3b 0d 0a 20 e.bool.m_OnAfterUpdateHooked;...
25e0 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 41 63 74 69 6f 6e 20 6d 5f 4f 6e 42 65 66 6f 72 65 .......private.Action.m_OnBefore
2600 55 70 64 61 74 65 44 65 6c 65 67 61 74 65 3b 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 UpdateDelegate;..........private
2620 20 41 63 74 69 6f 6e 20 6d 5f 4f 6e 41 66 74 65 72 55 70 64 61 74 65 44 65 6c 65 67 61 74 65 3b .Action.m_OnAfterUpdateDelegate;
2640 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>.......
2660 20 20 20 2f 2f 2f 20 49 6e 69 74 69 61 6c 69 7a 65 20 65 78 65 63 75 74 69 6f 6e 20 73 74 61 74 ...///.Initialize.execution.stat
2680 65 20 77 69 74 68 20 67 69 76 65 6e 20 72 65 73 6f 6c 76 65 64 20 62 69 6e 64 69 6e 67 20 69 6e e.with.given.resolved.binding.in
26a0 66 6f 72 6d 61 74 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 formation...........///.</summar
26c0 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 72 65 73 y>..........///.<param.name="res
26e0 6f 6c 76 65 72 22 3e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 olver"></param>..........public.
2700 76 6f 69 64 20 49 6e 69 74 69 61 6c 69 7a 65 28 49 6e 70 75 74 42 69 6e 64 69 6e 67 52 65 73 6f void.Initialize(InputBindingReso
2720 6c 76 65 72 20 72 65 73 6f 6c 76 65 72 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 lver.resolver)..........{.......
2740 20 20 20 20 20 20 20 43 6c 61 69 6d 44 61 74 61 46 72 6f 6d 28 72 65 73 6f 6c 76 65 72 29 3b 0d .......ClaimDataFrom(resolver);.
2760 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 64 64 54 6f 47 6c 6f 62 61 4c 69 73 74 28 29 3b 0d 0a .............AddToGlobaList();..
2780 20 20 20 20 20 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 76 6f ........}............internal.vo
27a0 69 64 20 43 6c 61 69 6d 44 61 74 61 46 72 6f 6d 28 49 6e 70 75 74 42 69 6e 64 69 6e 67 52 65 73 id.ClaimDataFrom(InputBindingRes
27c0 6f 6c 76 65 72 20 72 65 73 6f 6c 76 65 72 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 olver.resolver)..........{......
27e0 20 20 20 20 20 20 20 20 74 6f 74 61 6c 50 72 6f 63 65 73 73 6f 72 43 6f 75 6e 74 20 3d 20 72 65 ........totalProcessorCount.=.re
2800 73 6f 6c 76 65 72 2e 74 6f 74 61 6c 50 72 6f 63 65 73 73 6f 72 43 6f 75 6e 74 3b 0d 0a 0d 0a 20 solver.totalProcessorCount;.....
2820 20 20 20 20 20 20 20 20 20 20 20 6d 61 70 73 20 3d 20 72 65 73 6f 6c 76 65 72 2e 6d 61 70 73 3b ...........maps.=.resolver.maps;
2840 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 61 63 74 69 6f 6e 73 20 3d 20 72 65 73 ..............interactions.=.res
2860 6f 6c 76 65 72 2e 69 6e 74 65 72 61 63 74 69 6f 6e 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 olver.interactions;.............
2880 20 70 72 6f 63 65 73 73 6f 72 73 20 3d 20 72 65 73 6f 6c 76 65 72 2e 70 72 6f 63 65 73 73 6f 72 .processors.=.resolver.processor
28a0 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6d 70 6f 73 69 74 65 73 20 3d 20 72 65 73 s;..............composites.=.res
28c0 6f 6c 76 65 72 2e 63 6f 6d 70 6f 73 69 74 65 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 olver.composites;..............c
28e0 6f 6e 74 72 6f 6c 73 20 3d 20 72 65 73 6f 6c 76 65 72 2e 63 6f 6e 74 72 6f 6c 73 3b 0d 0a 0d 0a ontrols.=.resolver.controls;....
2900 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 6d 6f 72 79 20 3d 20 72 65 73 6f 6c 76 65 72 2e 6d 65 ............memory.=.resolver.me
2920 6d 6f 72 79 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 6f 6c 76 65 72 2e 6d 65 6d 6f mory;..............resolver.memo
2940 72 79 20 3d 20 6e 65 77 20 55 6e 6d 61 6e 61 67 65 64 4d 65 6d 6f 72 79 28 29 3b 0d 0a 20 20 20 ry.=.new.UnmanagedMemory();.....
2960 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 7e 49 6e 70 75 74 41 63 74 69 6f 6e 53 74 .....}............~InputActionSt
2980 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 20 20 20 20 44 65 ate()..........{..............De
29a0 73 74 72 6f 79 28 69 73 46 69 6e 61 6c 69 7a 69 6e 67 3a 20 74 72 75 65 29 3b 0d 0a 20 20 20 20 stroy(isFinalizing:.true);......
29c0 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 76 6f 69 64 20 44 69 73 ....}............public.void.Dis
29e0 70 6f 73 65 28 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 44 pose()..........{..............D
2a00 65 73 74 72 6f 79 28 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 estroy();..........}............
2a20 70 72 69 76 61 74 65 20 76 6f 69 64 20 44 65 73 74 72 6f 79 28 62 6f 6f 6c 20 69 73 46 69 6e 61 private.void.Destroy(bool.isFina
2a40 6c 69 7a 69 6e 67 20 3d 20 66 61 6c 73 65 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 lizing.=.false)..........{......
2a60 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 46 69 6e 61 6c 69 7a 69 6e 67 29 0d 0a 20 20 20 20 ........if.(!isFinalizing)......
2a80 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 66 6f 72 20 28 ........{..................for.(
2aa0 76 61 72 20 69 20 3d 20 30 3b 20 69 20 3c 20 74 6f 74 61 6c 4d 61 70 43 6f 75 6e 74 3b 20 2b 2b var.i.=.0;.i.<.totalMapCount;.++
2ac0 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 20 20 i)..................{...........
2ae0 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d 61 70 20 3d 20 6d 61 70 73 5b 69 5d 3b 0d 0a 0d ...........var.map.=.maps[i];...
2b00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 52 65 6d 6f 76 65 20 73 .....................//.Remove.s
2b20 74 61 74 65 20 63 68 61 6e 67 65 20 6d 6f 6e 69 74 6f 72 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 tate.change.monitors............
2b40 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 61 70 2e 65 6e 61 62 6c 65 64 29 0d 0a 20 20 20 ...........if.(map.enabled).....
2b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 69 73 61 62 6c 65 43 6f 6e 74 .....................DisableCont
2b80 72 6f 6c 73 28 69 2c 20 6d 61 70 49 6e 64 69 63 65 73 5b 69 5d 2e 63 6f 6e 74 72 6f 6c 53 74 61 rols(i,.mapIndices[i].controlSta
2ba0 72 74 49 6e 64 65 78 2c 20 6d 61 70 49 6e 64 69 63 65 73 5b 69 5d 2e 63 6f 6e 74 72 6f 6c 43 6f rtIndex,.mapIndices[i].controlCo
2bc0 75 6e 74 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 69 66 20 unt);........................if.
2be0 28 6d 61 70 2e 6d 5f 41 73 73 65 74 20 21 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 20 (map.m_Asset.!=.null)...........
2c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 70 2e 6d 5f 41 73 73 65 74 2e 6d 5f 53 68 61 ...............map.m_Asset.m_Sha
2c20 72 65 64 53 74 61 74 65 46 6f 72 41 6c 6c 4d 61 70 73 20 3d 20 6e 75 6c 6c 3b 0d 0a 0d 0a 20 20 redStateForAllMaps.=.null;......
2c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 70 2e 6d 5f 53 74 61 74 65 20 3d 20 ..................map.m_State.=.
2c60 6e 75 6c 6c 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 70 2e 6d null;......................map.m
2c80 5f 4d 61 70 49 6e 64 65 78 49 6e 53 74 61 74 65 20 3d 20 6b 49 6e 76 61 6c 69 64 49 6e 64 65 78 _MapIndexInState.=.kInvalidIndex
2ca0 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 70 2e 6d 5f 45 6e 61 ;......................map.m_Ena
2cc0 62 6c 65 64 41 63 74 69 6f 6e 73 43 6f 75 6e 74 20 3d 20 30 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 bledActionsCount.=.0;...........
2ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 52 65 73 65 74 20 61 63 74 69 6f 6e 20 69 6e 64 .............//.Reset.action.ind
2d00 69 63 65 73 20 6f 6e 20 74 68 65 20 6d 61 70 27 73 20 61 63 74 69 6f 6e 73 2e 0d 0a 20 20 20 20 ices.on.the.map's.actions.......
2d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 61 63 74 69 6f 6e 73 20 3d 20 6d 61 ................var.actions.=.ma
2d40 70 2e 6d 5f 41 63 74 69 6f 6e 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 p.m_Actions;....................
2d60 20 20 69 66 20 28 61 63 74 69 6f 6e 73 20 21 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 ..if.(actions.!=.null)..........
2d80 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 20 ............{...................
2da0 20 20 20 20 20 20 20 66 6f 72 20 28 76 61 72 20 6e 20 3d 20 30 3b 20 6e 20 3c 20 61 63 74 69 6f .......for.(var.n.=.0;.n.<.actio
2dc0 6e 73 2e 4c 65 6e 67 74 68 3b 20 2b 2b 6e 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ns.Length;.++n).................
2de0 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 69 6f 6e 73 5b 6e 5d 2e 6d 5f 41 63 74 69 6f 6e .............actions[n].m_Action
2e00 49 6e 64 65 78 49 6e 53 74 61 74 65 20 3d 20 6b 49 6e 76 61 6c 69 64 49 6e 64 65 78 3b 0d 0a 20 IndexInState.=.kInvalidIndex;...
2e20 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 ...................}............
2e40 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 52 65 6d 6f 76 ......}....................Remov
2e60 65 4d 61 70 46 72 6f 6d 47 6c 6f 62 61 6c 4c 69 73 74 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 eMapFromGlobalList();...........
2e80 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 6d 6f 72 79 2e 44 69 73 70 6f 73 65 ...}..............memory.Dispose
2ea0 28 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 2f 2f 2f 20 3c 73 ();..........}............///.<s
2ec0 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 43 72 65 61 74 65 20 61 20 63 6f ummary>..........///.Create.a.co
2ee0 70 79 20 6f 66 20 74 68 65 20 73 74 61 74 65 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f py.of.the.state...........///.</
2f00 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 74 75 72 6e 73 3e 3c summary>..........///.<returns><
2f20 2f 72 65 74 75 72 6e 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e /returns>..........///.<remarks>
2f40 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 68 65 20 63 6f 70 79 20 69 73 20 6e 6f 6e 2d 66 75 ..........///.The.copy.is.non-fu
2f60 6e 63 74 69 6f 6e 61 6c 20 69 6e 20 73 6f 20 66 61 72 20 61 73 20 69 74 20 63 61 6e 6e 6f 74 20 nctional.in.so.far.as.it.cannot.
2f80 62 65 20 75 73 65 64 20 74 6f 20 6b 65 65 70 20 74 72 61 63 6b 20 6f 66 20 63 68 61 6e 67 65 73 be.used.to.keep.track.of.changes
2fa0 20 6d 61 64 65 20 74 6f 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 61 6e 79 20 61 73 73 6f 63 69 .made.to..........///.any.associ
2fc0 61 74 65 64 20 61 63 74 69 6f 6e 73 2e 20 48 6f 77 65 76 65 72 2c 20 69 74 20 63 61 6e 20 62 65 ated.actions..However,.it.can.be
2fe0 20 75 73 65 64 20 74 6f 20 66 72 65 65 7a 65 20 74 68 65 20 62 69 6e 64 69 6e 67 20 72 65 73 6f .used.to.freeze.the.binding.reso
3000 6c 75 74 69 6f 6e 20 73 74 61 74 65 20 6f 66 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 61 20 70 lution.state.of..........///.a.p
3020 61 72 74 69 63 75 6c 61 72 20 73 65 74 20 6f 66 20 65 6e 61 62 6c 65 64 20 61 63 74 69 6f 6e 73 articular.set.of.enabled.actions
3040 2e 20 54 68 69 73 20 69 73 20 75 73 65 64 20 62 79 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 ..This.is.used.by.<see.cref="Inp
3060 75 74 41 63 74 69 6f 6e 54 72 61 63 65 22 2f 3e 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c utActionTrace"/>...........///.<
3080 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 49 6e 70 75 74 41 /remarks>..........public.InputA
30a0 63 74 69 6f 6e 53 74 61 74 65 20 43 6c 6f 6e 65 28 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 ctionState.Clone()..........{...
30c0 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77 20 49 6e 70 75 74 41 63 74 69 6f ...........return.new.InputActio
30e0 6e 53 74 61 74 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 nState..............{...........
3100 20 20 20 20 20 20 20 6d 61 70 73 20 3d 20 41 72 72 61 79 48 65 6c 70 65 72 73 2e 43 6f 70 79 28 .......maps.=.ArrayHelpers.Copy(
3120 6d 61 70 73 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 72 6f 6c 73 maps),..................controls
3140 20 3d 20 41 72 72 61 79 48 65 6c 70 65 72 73 2e 43 6f 70 79 28 63 6f 6e 74 72 6f 6c 73 29 2c 0d .=.ArrayHelpers.Copy(controls),.
3160 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 61 63 74 69 6f 6e 73 20 3d 20 .................interactions.=.
3180 41 72 72 61 79 48 65 6c 70 65 72 73 2e 43 6f 70 79 28 69 6e 74 65 72 61 63 74 69 6f 6e 73 29 2c ArrayHelpers.Copy(interactions),
31a0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 6f 72 73 20 3d 20 41 ..................processors.=.A
31c0 72 72 61 79 48 65 6c 70 65 72 73 2e 43 6f 70 79 28 70 72 6f 63 65 73 73 6f 72 73 29 2c 0d 0a 20 rrayHelpers.Copy(processors),...
31e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6d 70 6f 73 69 74 65 73 20 3d 20 41 72 72 61 ...............composites.=.Arra
3200 79 48 65 6c 70 65 72 73 2e 43 6f 70 79 28 63 6f 6d 70 6f 73 69 74 65 73 29 2c 0d 0a 20 20 20 20 yHelpers.Copy(composites),......
3220 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 74 61 6c 50 72 6f 63 65 73 73 6f 72 43 6f 75 6e 74 20 ............totalProcessorCount.
3240 3d 20 74 6f 74 61 6c 50 72 6f 63 65 73 73 6f 72 43 6f 75 6e 74 2c 0d 0a 20 20 20 20 20 20 20 20 =.totalProcessorCount,..........
3260 20 20 20 20 20 20 20 20 6d 65 6d 6f 72 79 20 3d 20 6d 65 6d 6f 72 79 2e 43 6c 6f 6e 65 28 29 2c ........memory.=.memory.Clone(),
3280 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 ..............};..........}.....
32a0 20 20 20 20 20 20 20 6f 62 6a 65 63 74 20 49 43 6c 6f 6e 65 61 62 6c 65 2e 43 6c 6f 6e 65 28 29 .......object.ICloneable.Clone()
32c0 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 72 6e 20 ..........{..............return.
32e0 43 6c 6f 6e 65 28 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 2f Clone();..........}............/
3300 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 68 65 63 6b 20 //.<summary>..........///.Check.
3320 69 66 20 74 68 65 20 73 74 61 74 65 20 69 73 20 63 75 72 72 65 6e 74 6c 79 20 75 73 69 6e 67 20 if.the.state.is.currently.using.
3340 61 20 63 6f 6e 74 72 6f 6c 20 66 72 6f 6d 20 74 68 65 20 67 69 76 65 6e 20 64 65 76 69 63 65 2e a.control.from.the.given.device.
3360 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 20 20 ..........///.</summary>........
3380 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 64 65 76 69 63 65 22 3e 41 6e 79 20 69 ..///.<param.name="device">Any.i
33a0 6e 70 75 74 20 64 65 76 69 63 65 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f nput.device.</param>..........//
33c0 2f 20 3c 72 65 74 75 72 6e 73 3e 54 72 75 65 20 69 66 20 61 6e 79 20 6f 66 20 74 68 65 20 6d 61 /.<returns>True.if.any.of.the.ma
33e0 70 73 20 69 6e 20 74 68 65 20 73 74 61 74 65 20 68 61 73 20 74 68 65 20 64 65 76 69 63 65 20 69 ps.in.the.state.has.the.device.i
3400 6e 20 69 74 73 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 41 63 74 69 6f 6e 4d 61 70 2e n.its.<see.cref="InputActionMap.
3420 64 65 76 69 63 65 73 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 6c 69 73 74 20 6f 72 20 devices"/>..........///.list.or.
3440 69 66 20 61 6e 79 20 6f 66 20 74 68 65 20 64 65 76 69 63 65 27 73 20 63 6f 6e 74 72 6f 6c 73 20 if.any.of.the.device's.controls.
3460 61 72 65 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 20 3c 73 65 65 20 63 72 65 66 3d 22 63 6f 6e 74 are.contained.in.<see.cref="cont
3480 72 6f 6c 73 22 2f 3e 2e 3c 2f 72 65 74 75 72 6e 73 3e 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 rols"/>.</returns>..........priv
34a0 61 74 65 20 62 6f 6f 6c 20 49 73 55 73 69 6e 67 44 65 76 69 63 65 28 49 6e 70 75 74 44 65 76 69 ate.bool.IsUsingDevice(InputDevi
34c0 63 65 20 64 65 76 69 63 65 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 ce.device)..........{...........
34e0 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 64 65 76 69 63 65 20 21 3d 20 6e 75 6c 6c 2c 20 ...Debug.Assert(device.!=.null,.
3500 22 44 65 76 69 63 65 20 69 73 20 6e 75 6c 6c 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 "Device.is.null");..............
3520 20 20 2f 2f 20 49 66 20 61 6c 6c 20 6d 61 70 73 20 68 61 76 65 20 64 65 76 69 63 65 20 72 65 73 ..//.If.all.maps.have.device.res
3540 74 72 69 63 74 69 6f 6e 73 2c 20 74 68 65 20 64 65 76 69 63 65 20 6d 75 73 74 20 62 65 20 69 6e trictions,.the.device.must.be.in
3560 20 69 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 6f 72 20 77 65 27 72 65 20 6e 6f 74 .it..............//.or.we're.not
3580 20 75 73 69 6e 67 20 69 74 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 68 61 76 65 .using.it...............var.have
35a0 4d 61 70 73 57 69 74 68 6f 75 74 44 65 76 69 63 65 52 65 73 74 72 69 63 74 69 6f 6e 73 20 3d 20 MapsWithoutDeviceRestrictions.=.
35c0 66 61 6c 73 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 76 61 72 20 69 20 3d false;..............for.(var.i.=
35e0 20 30 3b 20 69 20 3c 20 74 6f 74 61 6c 4d 61 70 43 6f 75 6e 74 3b 20 2b 2b 69 29 0d 0a 20 20 20 .0;.i.<.totalMapCount;.++i).....
3600 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 76 61 72 20 .........{..................var.
3620 6d 61 70 20 3d 20 6d 61 70 73 5b 69 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 map.=.maps[i];..................
3640 76 61 72 20 64 65 76 69 63 65 73 46 6f 72 4d 61 70 20 3d 20 6d 61 70 2e 64 65 76 69 63 65 73 3b var.devicesForMap.=.map.devices;
3660 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 64 65 76 69 63 65 73 46 ....................if.(devicesF
3680 6f 72 4d 61 70 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 orMap.==.null)..................
36a0 20 20 20 20 68 61 76 65 4d 61 70 73 57 69 74 68 6f 75 74 44 65 76 69 63 65 52 65 73 74 72 69 63 ....haveMapsWithoutDeviceRestric
36c0 74 69 6f 6e 73 20 3d 20 74 72 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 tions.=.true;..................e
36e0 6c 73 65 20 69 66 20 28 64 65 76 69 63 65 73 46 6f 72 4d 61 70 2e 56 61 6c 75 65 2e 43 6f 6e 74 lse.if.(devicesForMap.Value.Cont
3700 61 69 6e 73 28 64 65 76 69 63 65 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ains(device))...................
3720 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 20 20 20 20 7d 0d 0a ...return.true;..............}..
3740 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 68 61 76 65 4d 61 70 73 57 69 74 68 6f ..............if.(!haveMapsWitho
3760 75 74 44 65 76 69 63 65 52 65 73 74 72 69 63 74 69 6f 6e 73 29 0d 0a 20 20 20 20 20 20 20 20 20 utDeviceRestrictions)...........
3780 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 .......return.false;............
37a0 20 20 20 20 2f 2f 20 43 68 65 63 6b 20 61 6c 6c 20 6f 75 72 20 63 6f 6e 74 72 6f 6c 73 20 6f 6e ....//.Check.all.our.controls.on
37c0 65 20 62 79 20 6f 6e 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 76 61 72 20 e.by.one...............for.(var.
37e0 69 20 3d 20 30 3b 20 69 20 3c 20 74 6f 74 61 6c 43 6f 6e 74 72 6f 6c 43 6f 75 6e 74 3b 20 2b 2b i.=.0;.i.<.totalControlCount;.++
3800 69 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 6f 6e 74 72 6f 6c 73 i)..................if.(controls
3820 5b 69 5d 2e 64 65 76 69 63 65 20 3d 3d 20 64 65 76 69 63 65 29 0d 0a 20 20 20 20 20 20 20 20 20 [i].device.==.device)...........
3840 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0d 0a 0d 0a 20 20 20 20 20 ...........return.true;.........
3860 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d .......return.false;..........}.
3880 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 43 68 65 63 6b 20 69 66 20 74 68 65 20 73 74 61 74 65 ...........//.Check.if.the.state
38a0 20 77 6f 75 6c 64 20 75 73 65 20 61 20 63 6f 6e 74 72 6f 6c 20 66 72 6f 6d 20 74 68 65 20 67 69 .would.use.a.control.from.the.gi
38c0 76 65 6e 20 64 65 76 69 63 65 2e 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 62 6f 6f ven.device...........private.boo
38e0 6c 20 43 61 6e 55 73 65 44 65 76 69 63 65 28 49 6e 70 75 74 44 65 76 69 63 65 20 64 65 76 69 63 l.CanUseDevice(InputDevice.devic
3900 65 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 44 65 62 75 67 e)..........{..............Debug
3920 2e 41 73 73 65 72 74 28 64 65 76 69 63 65 20 21 3d 20 6e 75 6c 6c 2c 20 22 44 65 76 69 63 65 20 .Assert(device.!=.null,."Device.
3940 69 73 20 6e 75 6c 6c 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 66 20 is.null");................//.If.
3960 61 6c 6c 20 6d 61 70 73 20 68 61 76 65 20 64 65 76 69 63 65 20 72 65 73 74 72 69 63 74 69 6f 6e all.maps.have.device.restriction
3980 73 20 61 6e 64 20 74 68 65 20 64 65 76 69 63 65 20 69 73 6e 27 74 20 69 6e 20 74 68 65 6d 2c 20 s.and.the.device.isn't.in.them,.
39a0 77 65 20 63 61 6e 27 74 20 75 73 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 74 68 65 we.can't.use..............//.the
39c0 20 64 65 76 69 63 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 68 61 76 65 4d 61 .device...............var.haveMa
39e0 70 57 69 74 68 6f 75 74 44 65 76 69 63 65 52 65 73 74 72 69 63 74 69 6f 6e 73 20 3d 20 66 61 6c pWithoutDeviceRestrictions.=.fal
3a00 73 65 3b 0d 0a 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 se;..............for.(var.i.=.0;
3a20 20 69 20 3c 20 74 6f 74 61 6c 4d 61 70 43 6f 75 6e 74 3b 20 2b 2b 69 29 0d 0a 20 20 20 20 20 20 .i.<.totalMapCount;.++i)........
3a40 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 76 61 72 20 6d 61 70 ......{..................var.map
3a60 20 3d 20 6d 61 70 73 5b 69 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 .=.maps[i];..................var
3a80 20 64 65 76 69 63 65 73 46 6f 72 4d 61 70 20 3d 20 6d 61 70 2e 64 65 76 69 63 65 73 3b 0d 0a 0d .devicesForMap.=.map.devices;...
3aa0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 64 65 76 69 63 65 73 46 6f 72 4d .................if.(devicesForM
3ac0 61 70 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 20 ap.==.null).....................
3ae0 20 68 61 76 65 4d 61 70 57 69 74 68 6f 75 74 44 65 76 69 63 65 52 65 73 74 72 69 63 74 69 6f 6e .haveMapWithoutDeviceRestriction
3b00 73 20 3d 20 74 72 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 s.=.true;..................else.
3b20 69 66 20 28 64 65 76 69 63 65 73 46 6f 72 4d 61 70 2e 56 61 6c 75 65 2e 43 6f 6e 74 61 69 6e 73 if.(devicesForMap.Value.Contains
3b40 28 64 65 76 69 63 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 72 (device))......................r
3b60 65 74 75 72 6e 20 74 72 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 eturn.true;..............}......
3b80 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 68 61 76 65 4d 61 70 57 69 74 68 6f 75 74 44 65 76 ..........if.(!haveMapWithoutDev
3ba0 69 63 65 52 65 73 74 72 69 63 74 69 6f 6e 73 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 iceRestrictions)................
3bc0 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 ..return.false;................f
3be0 6f 72 20 28 76 61 72 20 69 20 3d 20 30 3b 20 69 20 3c 20 74 6f 74 61 6c 4d 61 70 43 6f 75 6e 74 or.(var.i.=.0;.i.<.totalMapCount
3c00 3b 20 2b 2b 69 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 ;.++i)..............{...........
3c20 20 20 20 20 20 20 20 76 61 72 20 6d 61 70 20 3d 20 6d 61 70 73 5b 69 5d 3b 0d 0a 20 20 20 20 20 .......var.map.=.maps[i];.......
3c40 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 62 69 6e 64 69 6e 67 73 20 3d 20 6d 61 70 2e 6d 5f ...........var.bindings.=.map.m_
3c60 42 69 6e 64 69 6e 67 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 Bindings;..................if.(b
3c80 69 6e 64 69 6e 67 73 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 indings.==.null)................
3ca0 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 20 ......continue;.................
3cc0 20 20 20 76 61 72 20 62 69 6e 64 69 6e 67 43 6f 75 6e 74 20 3d 20 62 69 6e 64 69 6e 67 73 2e 4c ...var.bindingCount.=.bindings.L
3ce0 65 6e 67 74 68 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 76 61 72 ength;..................for.(var
3d00 20 6e 20 3d 20 30 3b 20 6e 20 3c 20 62 69 6e 64 69 6e 67 43 6f 75 6e 74 3b 20 2b 2b 6e 29 0d 0a .n.=.0;.n.<.bindingCount;.++n)..
3d20 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 20 20 20 20 ................{...............
3d40 20 20 20 20 20 20 20 69 66 20 28 49 6e 70 75 74 43 6f 6e 74 72 6f 6c 50 61 74 68 2e 54 72 79 46 .......if.(InputControlPath.TryF
3d60 69 6e 64 43 6f 6e 74 72 6f 6c 28 64 65 76 69 63 65 2c 20 62 69 6e 64 69 6e 67 73 5b 6e 5d 2e 65 indControl(device,.bindings[n].e
3d80 66 66 65 63 74 69 76 65 50 61 74 68 29 20 21 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 ffectivePath).!=.null)..........
3da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0d 0a 20 20 ................return.true;....
3dc0 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 20 20 7d 0d 0a ..............}..............}..
3de0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d 0a 20 20 20 ..............return.false;.....
3e00 20 20 20 20 20 7d 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 .....}............///.<summary>.
3e20 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 43 68 65 63 6b 20 77 68 65 74 68 65 72 20 74 68 65 20 73 .........///.Check.whether.the.s
3e40 74 61 74 65 20 68 61 73 20 61 6e 79 20 61 63 74 69 6f 6e 73 20 74 68 61 74 20 61 72 65 20 63 75 tate.has.any.actions.that.are.cu
3e60 72 72 65 6e 74 6c 79 20 65 6e 61 62 6c 65 64 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f rrently.enabled...........///.</
3e80 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 74 75 72 6e 73 3e 3c summary>..........///.<returns><
3ea0 2f 72 65 74 75 72 6e 73 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 62 6f 6f 6c 20 48 /returns>..........public.bool.H
3ec0 61 73 45 6e 61 62 6c 65 64 41 63 74 69 6f 6e 73 28 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 asEnabledActions()..........{...
3ee0 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 3c 20 74 ...........for.(var.i.=.0;.i.<.t
3f00 6f 74 61 6c 4d 61 70 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 otalMapCount;.++i)..............
3f20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d 61 70 20 3d 20 6d 61 70 {..................var.map.=.map
3f40 73 5b 69 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 61 70 2e 65 s[i];..................if.(map.e
3f60 6e 61 62 6c 65 64 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 nabled)......................ret
3f80 75 72 6e 20 74 72 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 urn.true;..............}........
3fa0 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 20 20 20 20 7d ........return.false;..........}
3fc0 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>.......
3fe0 20 20 20 2f 2f 2f 20 53 79 6e 63 68 72 6f 6e 69 7a 65 20 74 68 65 20 63 75 72 72 65 6e 74 20 61 ...///.Synchronize.the.current.a
4000 63 74 69 6f 6e 20 73 74 61 74 65 73 20 62 61 73 65 64 20 6f 6e 20 77 68 61 74 20 74 68 65 79 20 ction.states.based.on.what.they.
4020 77 65 72 65 20 62 65 66 6f 72 65 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d were.before...........///.</summ
4040 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 6f ary>..........///.<param.name="o
4060 6c 64 53 74 61 74 65 22 3e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c ldState"></param>..........///.<
4080 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 57 65 20 64 6f 20 74 68 69 73 remarks>..........///.We.do.this
40a0 20 77 68 65 6e 20 77 65 20 68 61 76 65 20 74 6f 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 64 69 73 .when.we.have.to.temporarily.dis
40c0 61 62 6c 65 20 61 63 74 69 6f 6e 73 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 72 65 2d 72 65 73 6f able.actions.in.order.to.re-reso
40e0 6c 76 65 20 62 69 6e 64 69 6e 67 73 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 lve.bindings...........///......
4100 20 20 20 20 2f 2f 2f 20 4e 6f 74 65 20 74 68 61 74 20 77 65 20 64 6f 20 4e 4f 54 20 72 65 73 74 ....///.Note.that.we.do.NOT.rest
4120 6f 72 65 20 61 63 74 69 6f 6e 20 73 74 61 74 65 73 20 70 65 72 66 65 63 74 6c 79 2e 20 49 2e 65 ore.action.states.perfectly..I.e
4140 2e 20 77 69 6c 6c 20 77 65 20 77 69 6c 6c 20 6e 6f 74 20 70 72 65 73 65 72 76 65 20 74 72 69 67 ..will.we.will.not.preserve.trig
4160 67 65 72 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 61 6e 64 20 69 6e 74 65 72 61 63 74 69 6f 6e ger..........///.and.interaction
4180 20 73 74 61 74 65 73 20 65 78 61 63 74 6c 79 20 74 6f 20 77 68 61 74 20 74 68 65 79 20 77 65 72 .states.exactly.to.what.they.wer
41a0 65 20 62 65 66 6f 72 65 2e 20 47 69 76 65 6e 20 74 68 61 74 20 74 68 65 20 62 6f 75 6e 64 20 63 e.before..Given.that.the.bound.c
41c0 6f 6e 74 72 6f 6c 73 20 6d 61 79 20 63 68 61 6e 67 65 2c 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f ontrols.may.change,..........///
41e0 20 69 74 20 77 6f 75 6c 64 20 62 65 20 6e 6f 6e 2d 74 72 69 76 69 61 6c 20 74 6f 20 72 65 6c 69 .it.would.be.non-trivial.to.reli
4200 61 62 6c 79 20 63 6f 72 72 65 6c 61 74 65 20 74 68 65 20 6f 6c 64 20 61 6e 64 20 74 68 65 20 6e ably.correlate.the.old.and.the.n
4220 65 77 20 73 74 61 74 65 2e 20 49 6e 73 74 65 61 64 2c 20 77 65 20 73 69 6d 70 6c 79 0d 0a 20 20 ew.state..Instead,.we.simply....
4240 20 20 20 20 20 20 2f 2f 2f 20 72 65 65 6e 61 62 6c 65 20 61 6c 6c 20 74 68 65 20 61 63 74 69 6f ......///.reenable.all.the.actio
4260 6e 73 20 61 6e 64 20 63 6f 6e 74 72 6f 6c 73 20 74 68 61 74 20 77 65 72 65 20 65 6e 61 62 6c 65 ns.and.controls.that.were.enable
4280 64 20 62 65 66 6f 72 65 20 61 6e 64 20 74 68 65 6e 20 6c 65 74 20 74 68 65 20 6e 65 78 74 20 75 d.before.and.then.let.the.next.u
42a0 70 64 61 74 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 74 61 6b 65 20 69 74 20 66 72 6f 6d 20 pdate..........///.take.it.from.
42c0 74 68 65 72 65 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 there...........///.</remarks>..
42e0 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 76 6f 69 64 20 52 65 73 74 6f 72 65 41 63 74 69 6f ........public.void.RestoreActio
4300 6e 53 74 61 74 65 73 28 55 6e 6d 61 6e 61 67 65 64 4d 65 6d 6f 72 79 20 6f 6c 64 53 74 61 74 65 nStates(UnmanagedMemory.oldState
4320 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 44 65 62 75 67 2e )..........{..............Debug.
4340 41 73 73 65 72 74 28 6f 6c 64 53 74 61 74 65 2e 69 73 41 6c 6c 6f 63 61 74 65 64 2c 20 22 4f 6c Assert(oldState.isAllocated,."Ol
4360 64 20 73 74 61 74 65 20 63 6f 6e 74 61 69 6e 73 20 6e 6f 20 6d 65 6d 6f 72 79 22 29 3b 0d 0a 0d d.state.contains.no.memory");...
4380 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 54 68 69 73 20 6d 65 74 68 6f 64 20 63 61 6e 6e .............//.This.method.cann
43a0 6f 74 20 64 65 61 6c 20 77 69 74 68 20 61 63 74 69 6f 6e 73 20 61 6e 64 2f 6f 72 20 6d 61 70 73 ot.deal.with.actions.and/or.maps
43c0 20 68 61 76 69 6e 67 20 62 65 65 6e 20 72 65 6d 6f 76 65 64 2e 0d 0a 20 20 20 20 20 20 20 20 20 .having.been.removed............
43e0 20 20 20 2f 2f 20 49 74 20 44 4f 45 53 20 63 6f 70 65 20 77 69 74 68 20 62 69 6e 64 69 6e 67 73 ...//.It.DOES.cope.with.bindings
4400 20 68 61 76 65 20 62 65 65 6e 20 61 64 64 65 64 20 61 6e 64 2f 6f 72 20 72 65 6d 6f 76 65 64 2c .have.been.added.and/or.removed,
4420 20 74 68 6f 75 67 68 21 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 .though!..............Debug.Asse
4440 72 74 28 6f 6c 64 53 74 61 74 65 2e 61 63 74 69 6f 6e 43 6f 75 6e 74 20 3d 3d 20 6d 65 6d 6f 72 rt(oldState.actionCount.==.memor
4460 79 2e 61 63 74 69 6f 6e 43 6f 75 6e 74 2c 20 22 41 63 74 69 6f 6e 20 63 6f 75 6e 74 20 69 6e 20 y.actionCount,."Action.count.in.
4480 6f 6c 64 20 61 6e 64 20 6e 65 77 20 73 74 61 74 65 20 6d 75 73 74 20 62 65 20 74 68 65 20 73 61 old.and.new.state.must.be.the.sa
44a0 6d 65 22 29 3b 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 74 28 me");..............Debug.Assert(
44c0 6f 6c 64 53 74 61 74 65 2e 6d 61 70 43 6f 75 6e 74 20 3d 3d 20 6d 65 6d 6f 72 79 2e 6d 61 70 43 oldState.mapCount.==.memory.mapC
44e0 6f 75 6e 74 2c 20 22 4d 61 70 20 63 6f 75 6e 74 20 69 6e 20 6f 6c 64 20 61 6e 64 20 6e 65 77 20 ount,."Map.count.in.old.and.new.
4500 73 74 61 74 65 20 6d 75 73 74 20 62 65 20 74 68 65 20 73 61 6d 65 22 29 3b 0d 0a 0d 0a 20 20 20 state.must.be.the.same");.......
4520 20 20 20 20 20 20 20 20 20 2f 2f 20 47 6f 20 74 68 72 6f 75 67 68 20 74 68 65 20 73 74 61 74 65 .........//.Go.through.the.state
4540 20 6d 61 70 20 62 79 20 6d 61 70 20 61 6e 64 20 69 6e 20 65 61 63 68 20 6d 61 70 2c 20 62 69 6e .map.by.map.and.in.each.map,.bin
4560 64 69 6e 67 20 62 79 20 62 69 6e 64 69 6e 67 2e 20 45 6e 61 62 6c 65 0d 0a 20 20 20 20 20 20 20 ding.by.binding..Enable.........
4580 20 20 20 20 20 2f 2f 20 61 6c 6c 20 62 6f 75 6e 64 20 63 6f 6e 74 72 6f 6c 73 20 66 6f 72 20 77 .....//.all.bound.controls.for.w
45a0 68 69 63 68 20 74 68 65 20 72 65 73 70 65 63 74 69 76 65 20 61 63 74 69 6f 6e 20 69 73 6e 27 74 hich.the.respective.action.isn't
45c0 20 64 69 73 61 62 6c 65 64 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 76 61 72 .disabled...............for.(var
45e0 20 69 20 3d 20 30 3b 20 69 20 3c 20 6d 65 6d 6f 72 79 2e 62 69 6e 64 69 6e 67 43 6f 75 6e 74 3b .i.=.0;.i.<.memory.bindingCount;
4600 20 2b 2b 69 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 .++i)..............{............
4620 20 20 20 20 20 20 76 61 72 20 62 69 6e 64 69 6e 67 53 74 61 74 65 20 3d 20 26 6d 65 6d 6f 72 79 ......var.bindingState.=.&memory
4640 2e 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 69 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 .bindingStates[i];..............
4660 20 20 20 20 69 66 20 28 62 69 6e 64 69 6e 67 53 74 61 74 65 2d 3e 69 73 50 61 72 74 4f 66 43 6f ....if.(bindingState->isPartOfCo
4680 6d 70 6f 73 69 74 65 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 mposite)..................{.....
46a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 42 69 6e 64 69 6e 67 73 20 74 68 61 .................//.Bindings.tha
46c0 74 20 61 72 65 20 70 61 72 74 20 6f 66 20 63 6f 6d 70 6f 73 69 74 65 73 20 67 65 74 20 65 6e 61 t.are.part.of.composites.get.ena
46e0 62 6c 65 64 20 74 68 72 6f 75 67 68 20 74 68 65 20 63 6f 6d 70 6f 73 69 74 65 20 69 74 73 65 6c bled.through.the.composite.itsel
4700 66 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 f.......................continue
4720 3b 0d 0a 20 20 20 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 ;..................}............
4740 20 20 20 20 20 20 20 20 76 61 72 20 61 63 74 69 6f 6e 49 6e 64 65 78 20 3d 20 62 69 6e 64 69 6e ........var.actionIndex.=.bindin
4760 67 53 74 61 74 65 2d 3e 61 63 74 69 6f 6e 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 gState->actionIndex;............
4780 20 20 20 20 20 20 69 66 20 28 61 63 74 69 6f 6e 49 6e 64 65 78 20 3d 3d 20 6b 49 6e 76 61 6c 69 ......if.(actionIndex.==.kInvali
47a0 64 49 6e 64 65 78 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 dIndex)..................{......
47c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 42 69 6e 64 69 6e 67 20 69 73 20 6e 6f ................//.Binding.is.no
47e0 74 20 74 61 72 67 65 74 69 6e 67 20 61 6e 20 61 63 74 69 6f 6e 2e 0d 0a 20 20 20 20 20 20 20 20 t.targeting.an.action...........
4800 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 ............continue;...........
4820 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 2f 2f 20 53 .......}....................//.S
4840 6b 69 70 20 61 6e 79 20 62 69 6e 64 69 6e 67 20 66 6f 72 20 77 68 69 63 68 20 74 68 65 20 61 63 kip.any.binding.for.which.the.ac
4860 74 69 6f 6e 20 77 61 73 20 64 69 73 61 62 6c 65 64 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 tion.was.disabled...............
4880 20 20 20 20 2f 2f 20 4e 4f 54 45 3a 20 57 65 20 63 68 65 63 6b 20 74 68 65 20 4f 4c 44 20 53 54 ....//.NOTE:.We.check.the.OLD.ST
48a0 41 54 45 20 68 65 72 65 2e 20 54 68 65 20 70 68 61 73 65 20 69 6e 20 74 68 65 20 6e 65 77 20 73 ATE.here..The.phase.in.the.new.s
48c0 74 61 74 65 20 77 69 6c 6c 20 63 68 61 6e 67 65 20 69 6d 6d 65 64 69 61 74 65 6c 79 0d 0a 20 20 tate.will.change.immediately....
48e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 20 20 20 20 20 20 6f 6e 20 74 68 65 20 66 69 ..............//.......on.the.fi
4900 72 73 74 20 62 69 6e 64 69 6e 67 20 74 6f 20 61 6e 20 61 63 74 69 6f 6e 20 62 75 74 20 74 68 65 rst.binding.to.an.action.but.the
4920 72 65 20 6d 61 79 20 62 65 20 6d 75 6c 74 69 70 6c 65 20 62 69 6e 64 69 6e 67 73 20 6c 65 61 64 re.may.be.multiple.bindings.lead
4940 69 6e 67 20 74 6f 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 20 ing.to.the..................//..
4960 20 20 20 20 20 73 61 6d 65 20 61 63 74 69 6f 6e 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .....same.action................
4980 20 20 20 69 66 20 28 6f 6c 64 53 74 61 74 65 2e 61 63 74 69 6f 6e 53 74 61 74 65 73 5b 61 63 74 ...if.(oldState.actionStates[act
49a0 69 6f 6e 49 6e 64 65 78 5d 2e 70 68 61 73 65 20 3d 3d 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 ionIndex].phase.==.InputActionPh
49c0 61 73 65 2e 44 69 73 61 62 6c 65 64 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ase.Disabled)...................
49e0 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;....................
4a00 2f 2f 20 4d 61 72 6b 20 74 68 65 20 61 63 74 69 6f 6e 20 61 73 20 65 6e 61 62 6c 65 64 2c 20 69 //.Mark.the.action.as.enabled,.i
4a20 66 20 6e 6f 74 20 61 6c 72 65 61 64 79 20 64 6f 6e 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 f.not.already.done..............
4a40 20 20 20 20 20 76 61 72 20 61 63 74 69 6f 6e 53 74 61 74 65 20 3d 20 26 6d 65 6d 6f 72 79 2e 61 .....var.actionState.=.&memory.a
4a60 63 74 69 6f 6e 53 74 61 74 65 73 5b 61 63 74 69 6f 6e 49 6e 64 65 78 5d 3b 0d 0a 20 20 20 20 20 ctionStates[actionIndex];.......
4a80 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 61 63 74 69 6f 6e 53 74 61 74 65 2d 3e 70 68 61 73 ...........if.(actionState->phas
4aa0 65 20 3d 3d 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 44 69 73 61 62 6c 65 64 29 0d e.==.InputActionPhase.Disabled).
4ac0 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 20 20 20 20 20 .................{..............
4ae0 20 20 20 20 20 20 20 20 61 63 74 69 6f 6e 53 74 61 74 65 2d 3e 70 68 61 73 65 20 3d 20 49 6e 70 ........actionState->phase.=.Inp
4b00 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 57 61 69 74 69 6e 67 3b 0d 0a 0d 0a 20 20 20 20 20 20 utActionPhase.Waiting;..........
4b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 4b 65 65 70 20 74 72 61 63 6b 20 6f 66 20 61 ..............//.Keep.track.of.a
4b40 63 74 69 6f 6e 73 20 77 65 20 65 6e 61 62 6c 65 20 69 6e 20 65 61 63 68 20 6d 61 70 2e 0d 0a 20 ctions.we.enable.in.each.map....
4b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d 61 70 49 6e 64 65 78 20 ...................var.mapIndex.
4b80 3d 20 61 63 74 69 6f 6e 53 74 61 74 65 2d 3e 6d 61 70 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 =.actionState->mapIndex;........
4ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d 61 70 20 3d 20 6d 61 70 73 5b 6d 61 70 ..............var.map.=.maps[map
4bc0 49 6e 64 65 78 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2b 2b 6d Index];......................++m
4be0 61 70 2e 6d 5f 45 6e 61 62 6c 65 64 41 63 74 69 6f 6e 73 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 ap.m_EnabledActionsCount;.......
4c00 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 20 20 ...........}....................
4c20 2f 2f 20 45 6e 61 62 6c 65 20 61 6c 6c 20 63 6f 6e 74 72 6f 6c 73 20 6f 6e 20 74 68 65 20 62 69 //.Enable.all.controls.on.the.bi
4c40 6e 64 69 6e 67 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6e 61 62 6c 65 43 6f nding...................EnableCo
4c60 6e 74 72 6f 6c 73 28 61 63 74 69 6f 6e 53 74 61 74 65 2d 3e 6d 61 70 49 6e 64 65 78 2c 20 62 69 ntrols(actionState->mapIndex,.bi
4c80 6e 64 69 6e 67 53 74 61 74 65 2d 3e 63 6f 6e 74 72 6f 6c 53 74 61 72 74 49 6e 64 65 78 2c 0d 0a ndingState->controlStartIndex,..
4ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 69 6e 64 69 6e 67 53 74 61 74 65 ....................bindingState
4cc0 2d 3e 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d ->controlCount);..............}.
4ce0 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 4d 61 6b 65 20 73 75 72 65 20 77 65 20 67 ...............//.Make.sure.we.g
4d00 65 74 20 61 6e 20 69 6e 69 74 69 61 6c 20 73 74 61 74 65 20 63 68 65 63 6b 2e 0d 0a 20 20 20 20 et.an.initial.state.check.......
4d20 20 20 20 20 20 20 20 20 48 6f 6f 6b 4f 6e 42 65 66 6f 72 65 55 70 64 61 74 65 28 29 3b 0d 0a 0d ........HookOnBeforeUpdate();...
4d40 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 46 69 72 65 20 6e 6f 74 69 66 69 63 61 74 69 6f .............//.Fire.notificatio
4d60 6e 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 5f 4f 6e 41 63 74 69 6f 6e 43 ns...............if.(s_OnActionC
4d80 68 61 6e 67 65 2e 6c 65 6e 67 74 68 20 3e 20 30 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b hange.length.>.0)..............{
4da0 0d 0a 20 20 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 ..................for.(var.i.=.0
4dc0 3b 20 69 20 3c 20 74 6f 74 61 6c 4d 61 70 43 6f 75 6e 74 3b 20 2b 2b 69 29 0d 0a 20 20 20 20 20 ;.i.<.totalMapCount;.++i).......
4de0 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 20 20 ...........{....................
4e00 20 20 76 61 72 20 6d 61 70 20 3d 20 6d 61 70 73 5b 69 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 ..var.map.=.maps[i];............
4e20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 61 70 2e 6d 5f 53 69 6e 67 6c 65 74 6f 6e 41 63 74 ..........if.(map.m_SingletonAct
4e40 69 6f 6e 20 3d 3d 20 6e 75 6c 6c 20 26 26 20 6d 61 70 2e 6d 5f 45 6e 61 62 6c 65 64 41 63 74 69 ion.==.null.&&.map.m_EnabledActi
4e60 6f 6e 73 43 6f 75 6e 74 20 3d 3d 20 6d 61 70 2e 6d 5f 41 63 74 69 6f 6e 73 2e 4c 65 6e 67 74 68 onsCount.==.map.m_Actions.Length
4e80 53 61 66 65 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 20 Safe()).........................
4ea0 20 4e 6f 74 69 66 79 4c 69 73 74 65 6e 65 72 73 4f 66 41 63 74 69 6f 6e 43 68 61 6e 67 65 28 49 .NotifyListenersOfActionChange(I
4ec0 6e 70 75 74 41 63 74 69 6f 6e 43 68 61 6e 67 65 2e 41 63 74 69 6f 6e 4d 61 70 45 6e 61 62 6c 65 nputActionChange.ActionMapEnable
4ee0 64 2c 20 6d 61 70 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c d,.map);......................el
4f00 73 65 0d 0a 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 se......................{.......
4f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 61 63 74 69 6f 6e 73 20 3d ...................var.actions.=
4f40 20 6d 61 70 2e 61 63 74 69 6f 6e 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .map.actions;...................
4f60 20 20 20 20 20 20 20 66 6f 72 20 28 76 61 72 20 6e 20 3d 20 30 3b 20 6e 20 3c 20 61 63 74 69 6f .......for.(var.n.=.0;.n.<.actio
4f80 6e 73 2e 43 6f 75 6e 74 3b 20 2b 2b 6e 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ns.Count;.++n)..................
4fa0 20 20 20 20 20 20 20 20 20 20 20 20 4e 6f 74 69 66 79 4c 69 73 74 65 6e 65 72 73 4f 66 41 63 74 ............NotifyListenersOfAct
4fc0 69 6f 6e 43 68 61 6e 67 65 28 49 6e 70 75 74 41 63 74 69 6f 6e 43 68 61 6e 67 65 2e 41 63 74 69 ionChange(InputActionChange.Acti
4fe0 6f 6e 45 6e 61 62 6c 65 64 2c 20 61 63 74 69 6f 6e 73 5b 6e 5d 29 3b 0d 0a 20 20 20 20 20 20 20 onEnabled,.actions[n]);.........
5000 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 20 20 20 20 20 20 .............}..................
5020 7d 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 7d 0d 0a 0d 0a 20 }..............}..........}.....
5040 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 2f .......///.<summary>..........//
5060 2f 20 52 65 73 65 74 20 74 68 65 20 74 72 69 67 67 65 72 20 73 74 61 74 65 20 6f 66 20 74 68 65 /.Reset.the.trigger.state.of.the
5080 20 67 69 76 65 6e 20 61 63 74 69 6f 6e 20 73 75 63 68 20 74 68 61 74 20 74 68 65 20 61 63 74 69 .given.action.such.that.the.acti
50a0 6f 6e 20 68 61 73 20 6e 6f 20 72 65 63 6f 72 64 20 6f 66 20 62 65 69 6e 67 20 74 72 69 67 67 65 on.has.no.record.of.being.trigge
50c0 72 65 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 red...........///.</summary>....
50e0 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 61 63 74 69 6f 6e 49 6e 64 ......///.<param.name="actionInd
5100 65 78 22 3e 41 63 74 69 6f 6e 20 77 68 6f 73 65 20 73 74 61 74 65 20 74 6f 20 72 65 73 65 74 2e ex">Action.whose.state.to.reset.
5120 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d </param>..........///.<param.nam
5140 65 3d 22 74 6f 50 68 61 73 65 22 3e 50 68 61 73 65 20 74 6f 20 72 65 73 65 74 20 74 68 65 20 61 e="toPhase">Phase.to.reset.the.a
5160 63 74 69 6f 6e 20 74 6f 2e 20 4d 75 73 74 20 62 65 20 65 69 74 68 65 72 20 3c 73 65 65 20 63 72 ction.to..Must.be.either.<see.cr
5180 65 66 3d 22 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 57 61 69 74 69 6e 67 22 2f 3e 0d ef="InputActionPhase.Waiting"/>.
51a0 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 6f 72 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 .........///.or.<see.cref="Input
51c0 41 63 74 69 6f 6e 50 68 61 73 65 2e 44 69 73 61 62 6c 65 64 22 2f 3e 2e 20 4f 74 68 65 72 20 70 ActionPhase.Disabled"/>..Other.p
51e0 68 61 73 65 73 20 63 61 6e 6e 6f 74 20 62 65 20 74 72 61 6e 73 69 74 69 6f 6e 65 64 20 74 6f 20 hases.cannot.be.transitioned.to.
5200 74 68 72 6f 75 67 68 20 72 65 73 65 74 73 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 through.resets.</param>.........
5220 20 70 75 62 6c 69 63 20 76 6f 69 64 20 52 65 73 65 74 41 63 74 69 6f 6e 53 74 61 74 65 28 69 6e .public.void.ResetActionState(in
5240 74 20 61 63 74 69 6f 6e 49 6e 64 65 78 2c 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 20 t.actionIndex,.InputActionPhase.
5260 74 6f 50 68 61 73 65 20 3d 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 57 61 69 74 69 toPhase.=.InputActionPhase.Waiti
5280 6e 67 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 44 65 62 75 ng)..........{..............Debu
52a0 67 2e 41 73 73 65 72 74 28 61 63 74 69 6f 6e 49 6e 64 65 78 20 3e 3d 20 30 20 26 26 20 61 63 74 g.Assert(actionIndex.>=.0.&&.act
52c0 69 6f 6e 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 41 63 74 69 6f 6e 43 6f 75 6e 74 2c 20 22 41 63 ionIndex.<.totalActionCount,."Ac
52e0 74 69 6f 6e 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 20 77 68 65 6e 20 72 65 73 tion.index.out.of.range.when.res
5300 65 74 74 69 6e 67 20 61 63 74 69 6f 6e 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 etting.action");..............De
5320 62 75 67 2e 41 73 73 65 72 74 28 74 6f 50 68 61 73 65 20 3d 3d 20 49 6e 70 75 74 41 63 74 69 6f bug.Assert(toPhase.==.InputActio
5340 6e 50 68 61 73 65 2e 57 61 69 74 69 6e 67 20 7c 7c 20 74 6f 50 68 61 73 65 20 3d 3d 20 49 6e 70 nPhase.Waiting.||.toPhase.==.Inp
5360 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 44 69 73 61 62 6c 65 64 2c 0d 0a 20 20 20 20 20 20 20 utActionPhase.Disabled,.........
5380 20 20 20 20 20 20 20 20 20 22 50 68 61 73 65 20 6d 75 73 74 20 62 65 20 57 61 69 74 69 6e 67 20 ........."Phase.must.be.Waiting.
53a0 6f 72 20 44 69 73 61 62 6c 65 64 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f or.Disabled");................//
53c0 20 49 66 20 74 68 65 20 61 63 74 69 6f 6e 20 69 6e 20 73 74 61 72 74 65 64 20 6f 72 20 70 65 72 .If.the.action.in.started.or.per
53e0 66 6f 72 6d 65 64 20 70 68 61 73 65 2c 20 63 61 6e 63 65 6c 20 69 74 20 66 69 72 73 74 2e 0d 0a formed.phase,.cancel.it.first...
5400 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 61 63 74 69 6f 6e 53 74 61 74 65 20 3d 20 26 61 ............var.actionState.=.&a
5420 63 74 69 6f 6e 53 74 61 74 65 73 5b 61 63 74 69 6f 6e 49 6e 64 65 78 5d 3b 0d 0a 20 20 20 20 20 ctionStates[actionIndex];.......
5440 20 20 20 20 20 20 20 69 66 20 28 61 63 74 69 6f 6e 53 74 61 74 65 2d 3e 70 68 61 73 65 20 21 3d .......if.(actionState->phase.!=
5460 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 57 61 69 74 69 6e 67 29 0d 0a 20 20 20 20 .InputActionPhase.Waiting)......
5480 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 43 61 ........{..................//.Ca
54a0 6e 63 65 6c 6c 61 74 69 6f 6e 20 63 61 6c 6c 73 20 73 68 6f 75 6c 64 20 72 65 63 65 69 76 65 20 ncellation.calls.should.receive.
54c0 63 75 72 72 65 6e 74 20 74 69 6d 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 current.time...................a
54e0 63 74 69 6f 6e 53 74 61 74 65 2d 3e 74 69 6d 65 20 3d 20 49 6e 70 75 74 52 75 6e 74 69 6d 65 2e ctionState->time.=.InputRuntime.
5500 73 5f 49 6e 73 74 61 6e 63 65 2e 63 75 72 72 65 6e 74 54 69 6d 65 3b 0d 0a 0d 0a 20 20 20 20 20 s_Instance.currentTime;.........
5520 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 66 20 74 68 65 20 61 63 74 69 6f 6e 20 67 6f 74 20 ...........//.If.the.action.got.
5540 74 72 69 67 67 65 72 65 64 20 66 72 6f 6d 20 61 6e 20 69 6e 74 65 72 61 63 74 69 6f 6e 2c 20 67 triggered.from.an.interaction,.g
5560 6f 20 61 6e 64 20 72 65 73 65 74 20 61 6c 6c 20 69 6e 74 65 72 61 63 74 69 6f 6e 73 20 6f 6e 20 o.and.reset.all.interactions.on.
5580 74 68 65 20 62 69 6e 64 69 6e 67 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 the.binding..................//.
55a0 74 68 61 74 20 67 6f 74 20 74 72 69 67 67 65 72 65 64 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 that.got.triggered..............
55c0 20 20 20 20 20 69 66 20 28 61 63 74 69 6f 6e 53 74 61 74 65 2d 3e 69 6e 74 65 72 61 63 74 69 6f .....if.(actionState->interactio
55e0 6e 49 6e 64 65 78 20 21 3d 20 6b 49 6e 76 61 6c 69 64 49 6e 64 65 78 29 0d 0a 20 20 20 20 20 20 nIndex.!=.kInvalidIndex)........
5600 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 20 20 20 ..........{.....................
5620 20 76 61 72 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 20 3d 20 61 63 74 69 6f 6e 53 74 61 74 65 2d .var.bindingIndex.=.actionState-
5640 3e 62 69 6e 64 69 6e 67 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 >bindingIndex;..................
5660 20 20 20 20 69 66 20 28 62 69 6e 64 69 6e 67 49 6e 64 65 78 20 21 3d 20 6b 49 6e 76 61 6c 69 64 ....if.(bindingIndex.!=.kInvalid
5680 49 6e 64 65 78 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 Index)......................{...
56a0 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 6d 61 70 49 6e .......................var.mapIn
56c0 64 65 78 20 3d 20 61 63 74 69 6f 6e 53 74 61 74 65 2d 3e 6d 61 70 49 6e 64 65 78 3b 0d 0a 20 20 dex.=.actionState->mapIndex;....
56e0 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 69 6e 74 65 72 61 ......................var.intera
5700 63 74 69 6f 6e 43 6f 75 6e 74 20 3d 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 62 69 6e 64 69 ctionCount.=.bindingStates[bindi
5720 6e 67 49 6e 64 65 78 5d 2e 69 6e 74 65 72 61 63 74 69 6f 6e 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 ngIndex].interactionCount;......
5740 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 74 65 72 61 63 74 ....................var.interact
5760 69 6f 6e 53 74 61 72 74 49 6e 64 65 78 20 3d 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 62 69 ionStartIndex.=.bindingStates[bi
5780 6e 64 69 6e 67 49 6e 64 65 78 5d 2e 69 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 72 74 49 6e 64 65 ndingIndex].interactionStartInde
57a0 78 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 66 6f x;............................fo
57c0 72 20 28 76 61 72 20 69 20 3d 20 30 3b 20 69 20 3c 20 69 6e 74 65 72 61 63 74 69 6f 6e 43 6f 75 r.(var.i.=.0;.i.<.interactionCou
57e0 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 20 20 20 20 20 20 nt;.++i)........................
5800 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 20 20 20 20 20 20 20 ..{.............................
5820 20 76 61 72 20 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 20 3d 20 69 6e 74 65 72 61 63 74 .var.interactionIndex.=.interact
5840 69 6f 6e 53 74 61 72 74 49 6e 64 65 78 20 2b 20 69 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ionStartIndex.+.i;..............
5860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 73 65 74 49 6e 74 65 72 61 63 74 69 6f 6e ................ResetInteraction
5880 53 74 61 74 65 41 6e 64 43 61 6e 63 65 6c 49 66 4e 65 63 65 73 73 61 72 79 28 6d 61 70 49 6e 64 StateAndCancelIfNecessary(mapInd
58a0 65 78 2c 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 2c 20 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 ex,.bindingIndex,.interactionInd
58c0 65 78 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 7d 0d ex);..........................}.
58e0 0a 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 20 20 20 20 20 20 .....................}..........
5900 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 65 6c 73 65 0d ........}..................else.
5920 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 20 20 20 20 20 .................{..............
5940 20 20 20 20 20 20 20 20 2f 2f 20 4e 6f 20 69 6e 74 65 72 61 63 74 69 6f 6e 73 2e 20 43 61 6e 63 ........//.No.interactions..Canc
5960 65 6c 20 74 68 65 20 61 63 74 69 6f 6e 20 64 69 72 65 63 74 6c 79 2e 0d 0a 0d 0a 20 20 20 20 20 el.the.action.directly..........
5980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 61 63 74 69 ...............Debug.Assert(acti
59a0 6f 6e 53 74 61 74 65 2d 3e 62 69 6e 64 69 6e 67 49 6e 64 65 78 20 21 3d 20 6b 49 6e 76 61 6c 69 onState->bindingIndex.!=.kInvali
59c0 64 49 6e 64 65 78 2c 20 22 42 69 6e 64 69 6e 67 20 69 6e 64 65 78 20 6f 6e 20 74 72 69 67 67 65 dIndex,."Binding.index.on.trigge
59e0 72 20 73 74 61 74 65 20 69 73 20 69 6e 76 61 6c 69 64 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 r.state.is.invalid");...........
5a00 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 6e 64 69 6e 67 53 ...........Debug.Assert(bindingS
5a20 74 61 74 65 73 5b 61 63 74 69 6f 6e 53 74 61 74 65 2d 3e 62 69 6e 64 69 6e 67 49 6e 64 65 78 5d tates[actionState->bindingIndex]
5a40 2e 69 6e 74 65 72 61 63 74 69 6f 6e 43 6f 75 6e 74 20 3d 3d 20 30 2c 0d 0a 20 20 20 20 20 20 20 .interactionCount.==.0,.........
5a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 41 63 74 69 6f 6e 20 68 61 73 20 62 65 65 ................."Action.has.bee
5a80 6e 20 74 72 69 67 67 65 72 65 64 20 62 75 74 20 61 70 70 61 72 65 6e 74 6c 79 20 6e 6f 74 20 66 n.triggered.but.apparently.not.f
5aa0 72 6f 6d 20 61 6e 20 69 6e 74 65 72 61 63 74 69 6f 6e 20 79 65 74 20 74 68 65 72 65 27 73 20 69 rom.an.interaction.yet.there's.i
5ac0 6e 74 65 72 61 63 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20 62 69 6e 64 69 6e 67 20 74 68 61 74 20 nteractions.on.the.binding.that.
5ae0 67 6f 74 20 74 72 69 67 67 65 72 65 64 3f 21 3f 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 got.triggered?!?");.............
5b00 20 20 20 20 20 20 20 20 20 20 20 43 68 61 6e 67 65 50 68 61 73 65 4f 66 41 63 74 69 6f 6e 28 49 ...........ChangePhaseOfAction(I
5b20 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 43 61 6e 63 65 6c 65 64 2c 20 72 65 66 20 61 63 nputActionPhase.Canceled,.ref.ac
5b40 74 69 6f 6e 53 74 61 74 65 73 5b 61 63 74 69 6f 6e 49 6e 64 65 78 5d 29 3b 0d 0a 20 20 20 20 20 tionStates[actionIndex]);.......
5b60 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 7d 0d 0a 0d 0a 20 ...........}..............}.....
5b80 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 57 69 70 65 20 73 74 61 74 65 2e 0d 0a 20 20 20 20 20 ...........//.Wipe.state........
5ba0 20 20 20 20 20 20 20 76 61 72 20 73 74 61 74 65 20 3d 20 2a 61 63 74 69 6f 6e 53 74 61 74 65 3b .......var.state.=.*actionState;
5bc0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 2e 70 68 61 73 65 20 3d 20 74 6f 50 68 ..............state.phase.=.toPh
5be0 61 73 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 2e 63 6f 6e 74 72 6f 6c 49 ase;..............state.controlI
5c00 6e 64 65 78 20 3d 20 6b 49 6e 76 61 6c 69 64 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 ndex.=.kInvalidIndex;...........
5c20 20 20 20 73 74 61 74 65 2e 62 69 6e 64 69 6e 67 49 6e 64 65 78 20 3d 20 30 3b 0d 0a 20 20 20 20 ...state.bindingIndex.=.0;......
5c40 20 20 20 20 20 20 20 20 73 74 61 74 65 2e 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 20 3d ........state.interactionIndex.=
5c60 20 6b 49 6e 76 61 6c 69 64 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 .kInvalidIndex;..............sta
5c80 74 65 2e 73 74 61 72 74 54 69 6d 65 20 3d 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 te.startTime.=.0;..............s
5ca0 74 61 74 65 2e 74 69 6d 65 20 3d 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 tate.time.=.0;..............stat
5cc0 65 2e 68 61 73 4d 75 6c 74 69 70 6c 65 43 6f 6e 63 75 72 72 65 6e 74 41 63 74 75 61 74 69 6f 6e e.hasMultipleConcurrentActuation
5ce0 73 20 3d 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 2e 6c 61 s.=.false;..............state.la
5d00 73 74 54 72 69 67 67 65 72 65 64 49 6e 55 70 64 61 74 65 20 3d 20 64 65 66 61 75 6c 74 3b 0d 0a stTriggeredInUpdate.=.default;..
5d20 20 20 20 20 20 20 20 20 20 20 20 20 2a 61 63 74 69 6f 6e 53 74 61 74 65 20 3d 20 73 74 61 74 65 ............*actionState.=.state
5d40 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 72 ;..........}............public.r
5d60 65 66 20 54 72 69 67 67 65 72 53 74 61 74 65 20 46 65 74 63 68 41 63 74 69 6f 6e 53 74 61 74 65 ef.TriggerState.FetchActionState
5d80 28 49 6e 70 75 74 41 63 74 69 6f 6e 20 61 63 74 69 6f 6e 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d (InputAction.action)..........{.
5da0 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 61 63 74 69 6f 6e .............Debug.Assert(action
5dc0 20 21 3d 20 6e 75 6c 6c 2c 20 22 41 63 74 69 6f 6e 20 6d 75 73 74 20 6e 6f 74 20 62 65 20 6e 75 .!=.null,."Action.must.not.be.nu
5de0 6c 6c 22 29 3b 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 74 28 ll");..............Debug.Assert(
5e00 61 63 74 69 6f 6e 2e 6d 5f 41 63 74 69 6f 6e 4d 61 70 20 21 3d 20 6e 75 6c 6c 2c 20 22 41 63 74 action.m_ActionMap.!=.null,."Act
5e20 69 6f 6e 20 6d 75 73 74 20 68 61 76 65 20 61 6e 20 61 63 74 69 6f 6e 20 6d 61 70 22 29 3b 0d 0a ion.must.have.an.action.map");..
5e40 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 61 63 74 69 6f 6e 2e ............Debug.Assert(action.
5e60 6d 5f 41 63 74 69 6f 6e 4d 61 70 2e 6d 5f 4d 61 70 49 6e 64 65 78 49 6e 53 74 61 74 65 20 21 3d m_ActionMap.m_MapIndexInState.!=
5e80 20 6b 49 6e 76 61 6c 69 64 49 6e 64 65 78 2c 20 22 41 63 74 69 6f 6e 20 6d 75 73 74 20 68 61 76 .kInvalidIndex,."Action.must.hav
5ea0 65 20 69 6e 64 65 78 20 73 65 74 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 e.index.set");..............Debu
5ec0 67 2e 41 73 73 65 72 74 28 6d 61 70 73 2e 43 6f 6e 74 61 69 6e 73 28 61 63 74 69 6f 6e 2e 6d 5f g.Assert(maps.Contains(action.m_
5ee0 41 63 74 69 6f 6e 4d 61 70 29 2c 20 22 41 63 74 69 6f 6e 20 6d 61 70 20 6d 75 73 74 20 62 65 20 ActionMap),."Action.map.must.be.
5f00 63 6f 6e 74 61 69 6e 65 64 20 69 6e 20 73 74 61 74 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 contained.in.state");...........
5f20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 61 63 74 69 6f 6e 2e 6d 5f 41 63 74 69 6f 6e 49 ...Debug.Assert(action.m_ActionI
5f40 6e 64 65 78 49 6e 53 74 61 74 65 20 3e 3d 20 30 20 26 26 20 61 63 74 69 6f 6e 2e 6d 5f 41 63 74 ndexInState.>=.0.&&.action.m_Act
5f60 69 6f 6e 49 6e 64 65 78 49 6e 53 74 61 74 65 20 3c 20 74 6f 74 61 6c 41 63 74 69 6f 6e 43 6f 75 ionIndexInState.<.totalActionCou
5f80 6e 74 2c 20 22 41 63 74 69 6f 6e 20 69 6e 64 65 78 20 69 73 20 6f 75 74 20 6f 66 20 72 61 6e 67 nt,."Action.index.is.out.of.rang
5fa0 65 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 72 65 66 20 61 e");................return.ref.a
5fc0 63 74 69 6f 6e 53 74 61 74 65 73 5b 61 63 74 69 6f 6e 2e 6d 5f 41 63 74 69 6f 6e 49 6e 64 65 78 ctionStates[action.m_ActionIndex
5fe0 49 6e 53 74 61 74 65 5d 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 InState];..........}............
6000 70 75 62 6c 69 63 20 41 63 74 69 6f 6e 4d 61 70 49 6e 64 69 63 65 73 20 46 65 74 63 68 4d 61 70 public.ActionMapIndices.FetchMap
6020 49 6e 64 69 63 65 73 28 49 6e 70 75 74 41 63 74 69 6f 6e 4d 61 70 20 6d 61 70 29 0d 0a 20 20 20 Indices(InputActionMap.map).....
6040 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 74 .....{..............Debug.Assert
6060 28 6d 61 70 20 21 3d 20 6e 75 6c 6c 2c 20 22 4d 75 73 74 20 6d 75 73 74 20 6e 6f 74 20 62 65 20 (map.!=.null,."Must.must.not.be.
6080 6e 75 6c 6c 22 29 3b 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 null");..............Debug.Asser
60a0 74 28 6d 61 70 73 2e 43 6f 6e 74 61 69 6e 73 28 6d 61 70 29 2c 20 22 4d 61 70 20 6d 75 73 74 20 t(maps.Contains(map),."Map.must.
60c0 62 65 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 20 73 74 61 74 65 22 29 3b 0d 0a 20 20 20 20 20 20 be.contained.in.state");........
60e0 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 61 70 49 6e 64 69 63 65 73 5b 6d 61 70 2e 6d 5f 4d 61 ......return.mapIndices[map.m_Ma
6100 70 49 6e 64 65 78 49 6e 53 74 61 74 65 5d 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 pIndexInState];..........}......
6120 20 20 20 20 20 20 70 75 62 6c 69 63 20 76 6f 69 64 20 45 6e 61 62 6c 65 41 6c 6c 41 63 74 69 6f ......public.void.EnableAllActio
6140 6e 73 28 49 6e 70 75 74 41 63 74 69 6f 6e 4d 61 70 20 6d 61 70 29 0d 0a 20 20 20 20 20 20 20 20 ns(InputActionMap.map)..........
6160 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 74 28 6d 61 70 20 {..............Debug.Assert(map.
6180 21 3d 20 6e 75 6c 6c 2c 20 22 4d 61 70 20 6d 75 73 74 20 6e 6f 74 20 62 65 20 6e 75 6c 6c 22 29 !=.null,."Map.must.not.be.null")
61a0 3b 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 74 28 6d 61 70 2e ;..............Debug.Assert(map.
61c0 6d 5f 41 63 74 69 6f 6e 73 20 21 3d 20 6e 75 6c 6c 2c 20 22 4d 61 70 20 6d 75 73 74 20 68 61 76 m_Actions.!=.null,."Map.must.hav
61e0 65 20 61 63 74 69 6f 6e 73 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e e.actions");..............Debug.
6200 41 73 73 65 72 74 28 6d 61 70 73 2e 43 6f 6e 74 61 69 6e 73 28 6d 61 70 29 2c 20 22 4d 61 70 20 Assert(maps.Contains(map),."Map.
6220 6d 75 73 74 20 62 65 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 20 73 74 61 74 65 22 29 3b 0d 0a 0d must.be.contained.in.state");...
6240 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 45 6e 61 62 6c 65 20 61 6c 6c 20 63 6f 6e 74 72 .............//.Enable.all.contr
6260 6f 6c 73 20 69 6e 20 6d 61 70 20 74 68 61 74 20 61 72 65 6e 27 74 20 61 6c 72 65 61 64 79 20 65 ols.in.map.that.aren't.already.e
6280 6e 61 62 6c 65 64 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 45 6e 61 62 6c 65 43 6f 6e 74 72 nabled...............EnableContr
62a0 6f 6c 73 28 6d 61 70 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 50 75 74 20 ols(map);................//.Put.
62c0 61 6c 6c 20 61 63 74 69 6f 6e 73 20 74 68 61 74 20 61 72 65 6e 27 74 20 61 6c 72 65 61 64 79 20 all.actions.that.aren't.already.
62e0 65 6e 62 61 6c 65 64 20 69 6e 74 6f 20 77 61 69 74 69 6e 67 20 73 74 61 74 65 2e 0d 0a 20 20 20 enbaled.into.waiting.state......
6300 20 20 20 20 20 20 20 20 20 76 61 72 20 6d 61 70 49 6e 64 65 78 20 3d 20 6d 61 70 2e 6d 5f 4d 61 .........var.mapIndex.=.map.m_Ma
6320 70 49 6e 64 65 78 49 6e 53 74 61 74 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 pIndexInState;..............Debu
6340 67 2e 41 73 73 65 72 74 28 6d 61 70 49 6e 64 65 78 20 3e 3d 20 30 20 26 26 20 6d 61 70 49 6e 64 g.Assert(mapIndex.>=.0.&&.mapInd
6360 65 78 20 3c 20 74 6f 74 61 6c 4d 61 70 43 6f 75 6e 74 2c 20 22 4d 61 70 20 69 6e 64 65 78 20 6f ex.<.totalMapCount,."Map.index.o
6380 6e 20 49 6e 70 75 74 41 63 74 69 6f 6e 4d 61 70 20 69 73 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 n.InputActionMap.is.out.of.range
63a0 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 61 63 74 69 6f 6e 43 6f 75 6e 74 ");..............var.actionCount
63c0 20 3d 20 6d 61 70 49 6e 64 69 63 65 73 5b 6d 61 70 49 6e 64 65 78 5d 2e 61 63 74 69 6f 6e 43 6f .=.mapIndices[mapIndex].actionCo
63e0 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 61 63 74 69 6f 6e 53 74 61 72 unt;..............var.actionStar
6400 74 49 6e 64 65 78 20 3d 20 6d 61 70 49 6e 64 69 63 65 73 5b 6d 61 70 49 6e 64 65 78 5d 2e 61 63 tIndex.=.mapIndices[mapIndex].ac
6420 74 69 6f 6e 53 74 61 72 74 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 tionStartIndex;..............for
6440 20 28 76 61 72 20 69 20 3d 20 30 3b 20 69 20 3c 20 61 63 74 69 6f 6e 43 6f 75 6e 74 3b 20 2b 2b .(var.i.=.0;.i.<.actionCount;.++
6460 69 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 20 i)..............{...............
6480 20 20 20 76 61 72 20 61 63 74 69 6f 6e 49 6e 64 65 78 20 3d 20 61 63 74 69 6f 6e 53 74 61 72 74 ...var.actionIndex.=.actionStart
64a0 49 6e 64 65 78 20 2b 20 69 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 Index.+.i;..................if.(
64c0 61 63 74 69 6f 6e 53 74 61 74 65 73 5b 61 63 74 69 6f 6e 49 6e 64 65 78 5d 2e 69 73 44 69 73 61 actionStates[actionIndex].isDisa
64e0 62 6c 65 64 29 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 69 6f bled)......................actio
6500 6e 53 74 61 74 65 73 5b 61 63 74 69 6f 6e 49 6e 64 65 78 5d 2e 70 68 61 73 65 20 3d 20 49 6e 70 nStates[actionIndex].phase.=.Inp
6520 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 57 61 69 74 69 6e 67 3b 0d 0a 20 20 20 20 20 20 20 20 utActionPhase.Waiting;..........
6540 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 70 2e 6d 5f 45 6e 61 62 6c 65 64 ....}..............map.m_Enabled
6560 41 63 74 69 6f 6e 73 43 6f 75 6e 74 20 3d 20 61 63 74 69 6f 6e 43 6f 75 6e 74 3b 0d 0a 0d 0a 20 ActionsCount.=.actionCount;.....
6580 20 20 20 20 20 20 20 20 20 20 20 48 6f 6f 6b 4f 6e 42 65 66 6f 72 65 55 70 64 61 74 65 28 29 3b ...........HookOnBeforeUpdate();
65a0 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 4d 61 6b 65 20 73 75 72 65 20 74 68 61 ................//.Make.sure.tha
65c0 74 20 69 66 20 77 65 20 68 61 70 70 65 6e 20 74 6f 20 67 65 74 20 68 65 72 65 20 77 69 74 68 20 t.if.we.happen.to.get.here.with.
65e0 6f 6e 65 20 6f 66 20 74 68 65 20 68 69 64 64 65 6e 20 61 63 74 69 6f 6e 20 6d 61 70 73 20 77 65 one.of.the.hidden.action.maps.we
6600 20 63 72 65 61 74 65 20 66 6f 72 20 73 69 6e 67 6c 65 74 6f 6e 0d 0a 20 20 20 20 20 20 20 20 20 .create.for.singleton...........
6620 20 20 20 2f 2f 20 61 63 74 69 6f 6e 2c 20 77 65 20 6e 6f 74 69 66 79 20 6f 6e 20 74 68 65 20 61 ...//.action,.we.notify.on.the.a
6640 63 74 69 6f 6e 2c 20 6e 6f 74 20 74 68 65 20 68 69 64 64 65 6e 20 6d 61 70 2e 0d 0a 20 20 20 20 ction,.not.the.hidden.map.......
6660 20 20 20 20 20 20 20 20 69 66 20 28 6d 61 70 2e 6d 5f 53 69 6e 67 6c 65 74 6f 6e 41 63 74 69 6f ........if.(map.m_SingletonActio
6680 6e 20 21 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 4e 6f 74 69 n.!=.null)..................Noti
66a0 66 79 4c 69 73 74 65 6e 65 72 73 4f 66 41 63 74 69 6f 6e 43 68 61 6e 67 65 28 49 6e 70 75 74 41 fyListenersOfActionChange(InputA
66c0 63 74 69 6f 6e 43 68 61 6e 67 65 2e 41 63 74 69 6f 6e 45 6e 61 62 6c 65 64 2c 20 6d 61 70 2e 6d ctionChange.ActionEnabled,.map.m
66e0 5f 53 69 6e 67 6c 65 74 6f 6e 41 63 74 69 6f 6e 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 _SingletonAction);..............
6700 65 6c 73 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 6f 74 69 66 79 4c 69 73 74 else..................NotifyList
6720 65 6e 65 72 73 4f 66 41 63 74 69 6f 6e 43 68 61 6e 67 65 28 49 6e 70 75 74 41 63 74 69 6f 6e 43 enersOfActionChange(InputActionC
6740 68 61 6e 67 65 2e 41 63 74 69 6f 6e 4d 61 70 45 6e 61 62 6c 65 64 2c 20 6d 61 70 29 3b 0d 0a 20 hange.ActionMapEnabled,.map);...
6760 20 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 76 6f 69 64 .......}............private.void
6780 20 45 6e 61 62 6c 65 43 6f 6e 74 72 6f 6c 73 28 49 6e 70 75 74 41 63 74 69 6f 6e 4d 61 70 20 6d .EnableControls(InputActionMap.m
67a0 61 70 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 44 65 62 75 ap)..........{..............Debu
67c0 67 2e 41 73 73 65 72 74 28 6d 61 70 20 21 3d 20 6e 75 6c 6c 2c 20 22 4d 61 70 20 6d 75 73 74 20 g.Assert(map.!=.null,."Map.must.
67e0 6e 6f 74 20 62 65 20 6e 75 6c 6c 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 not.be.null");..............Debu
6800 67 2e 41 73 73 65 72 74 28 6d 61 70 2e 6d 5f 41 63 74 69 6f 6e 73 20 21 3d 20 6e 75 6c 6c 2c 20 g.Assert(map.m_Actions.!=.null,.
6820 22 4d 61 70 20 6d 75 73 74 20 68 61 76 65 20 61 63 74 69 6f 6e 73 22 29 3b 0d 0a 20 20 20 20 20 "Map.must.have.actions");.......
6840 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 6d 61 70 73 2e 43 6f 6e 74 61 69 6e .......Debug.Assert(maps.Contain
6860 73 28 6d 61 70 29 2c 20 22 4d 61 70 20 6d 75 73 74 20 62 65 20 63 6f 6e 74 61 69 6e 65 64 20 69 s(map),."Map.must.be.contained.i
6880 6e 20 73 74 61 74 65 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d 61 n.state");................var.ma
68a0 70 49 6e 64 65 78 20 3d 20 6d 61 70 2e 6d 5f 4d 61 70 49 6e 64 65 78 49 6e 53 74 61 74 65 3b 0d pIndex.=.map.m_MapIndexInState;.
68c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 6d 61 70 49 6e 64 .............Debug.Assert(mapInd
68e0 65 78 20 3e 3d 20 30 20 26 26 20 6d 61 70 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 4d 61 70 43 6f ex.>=.0.&&.mapIndex.<.totalMapCo
6900 75 6e 74 2c 20 22 4d 61 70 20 69 6e 64 65 78 20 6f 6e 20 49 6e 70 75 74 41 63 74 69 6f 6e 4d 61 unt,."Map.index.on.InputActionMa
6920 70 20 69 73 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 p.is.out.of.range");............
6940 20 20 20 20 2f 2f 20 49 6e 73 74 61 6c 6c 20 73 74 61 74 65 20 6d 6f 6e 69 74 6f 72 73 20 66 6f ....//.Install.state.monitors.fo
6960 72 20 61 6c 6c 20 63 6f 6e 74 72 6f 6c 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 r.all.controls...............var
6980 20 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 20 3d 20 6d 61 70 49 6e 64 69 63 65 73 5b 6d 61 70 49 6e .controlCount.=.mapIndices[mapIn
69a0 64 65 78 5d 2e 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 dex].controlCount;..............
69c0 76 61 72 20 63 6f 6e 74 72 6f 6c 53 74 61 72 74 49 6e 64 65 78 20 3d 20 6d 61 70 49 6e 64 69 63 var.controlStartIndex.=.mapIndic
69e0 65 73 5b 6d 61 70 49 6e 64 65 78 5d 2e 63 6f 6e 74 72 6f 6c 53 74 61 72 74 49 6e 64 65 78 3b 0d es[mapIndex].controlStartIndex;.
6a00 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 20 3e 20 .............if.(controlCount.>.
6a20 30 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6e 61 62 6c 65 43 6f 6e 74 72 6f 0)..................EnableContro
6a40 6c 73 28 6d 61 70 49 6e 64 65 78 2c 20 63 6f 6e 74 72 6f 6c 53 74 61 72 74 49 6e 64 65 78 2c 20 ls(mapIndex,.controlStartIndex,.
6a60 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 controlCount);..........}.......
6a80 20 20 20 20 20 70 75 62 6c 69 63 20 76 6f 69 64 20 45 6e 61 62 6c 65 53 69 6e 67 6c 65 41 63 74 .....public.void.EnableSingleAct
6aa0 69 6f 6e 28 49 6e 70 75 74 41 63 74 69 6f 6e 20 61 63 74 69 6f 6e 29 0d 0a 20 20 20 20 20 20 20 ion(InputAction.action).........
6ac0 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 74 28 61 63 74 .{..............Debug.Assert(act
6ae0 69 6f 6e 20 21 3d 20 6e 75 6c 6c 2c 20 22 41 63 74 69 6f 6e 20 6d 75 73 74 20 6e 6f 74 20 62 65 ion.!=.null,."Action.must.not.be
6b00 20 6e 75 6c 6c 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 .null");..............Debug.Asse
6b20 72 74 28 61 63 74 69 6f 6e 2e 6d 5f 41 63 74 69 6f 6e 4d 61 70 20 21 3d 20 6e 75 6c 6c 2c 20 22 rt(action.m_ActionMap.!=.null,."
6b40 41 63 74 69 6f 6e 20 6d 75 73 74 20 68 61 76 65 20 61 63 74 69 6f 6e 20 6d 61 70 22 29 3b 0d 0a Action.must.have.action.map");..
6b60 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 6d 61 70 73 2e 43 6f ............Debug.Assert(maps.Co
6b80 6e 74 61 69 6e 73 28 61 63 74 69 6f 6e 2e 6d 5f 41 63 74 69 6f 6e 4d 61 70 29 2c 20 22 41 63 74 ntains(action.m_ActionMap),."Act
6ba0 69 6f 6e 20 6d 61 70 20 6d 75 73 74 20 62 65 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 20 73 74 61 ion.map.must.be.contained.in.sta
6bc0 74 65 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 45 6e 61 62 6c 65 43 6f 6e 74 72 te");................EnableContr
6be0 6f 6c 73 28 61 63 74 69 6f 6e 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 50 ols(action);................//.P
6c00 75 74 20 61 63 74 69 6f 6e 20 69 6e 74 6f 20 77 61 69 74 69 6e 67 20 73 74 61 74 65 2e 0d 0a 20 ut.action.into.waiting.state....
6c20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 61 63 74 69 6f 6e 49 6e 64 65 78 20 3d 20 61 63 74 ...........var.actionIndex.=.act
6c40 69 6f 6e 2e 6d 5f 41 63 74 69 6f 6e 49 6e 64 65 78 49 6e 53 74 61 74 65 3b 0d 0a 20 20 20 20 20 ion.m_ActionIndexInState;.......
6c60 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 61 63 74 69 6f 6e 49 6e 64 65 78 20 .......Debug.Assert(actionIndex.
6c80 3e 3d 20 30 20 26 26 20 61 63 74 69 6f 6e 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 41 63 74 69 6f >=.0.&&.actionIndex.<.totalActio
6ca0 6e 43 6f 75 6e 74 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 41 63 74 69 6f 6e nCount,.................."Action
6cc0 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 20 77 68 65 6e 20 65 6e 61 62 6c 69 6e .index.out.of.range.when.enablin
6ce0 67 20 73 69 6e 67 6c 65 20 61 63 74 69 6f 6e 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 g.single.action");..............
6d00 61 63 74 69 6f 6e 53 74 61 74 65 73 5b 61 63 74 69 6f 6e 49 6e 64 65 78 5d 2e 70 68 61 73 65 20 actionStates[actionIndex].phase.
6d20 3d 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 57 61 69 74 69 6e 67 3b 0d 0a 20 20 20 =.InputActionPhase.Waiting;.....
6d40 20 20 20 20 20 20 20 20 20 2b 2b 61 63 74 69 6f 6e 2e 6d 5f 41 63 74 69 6f 6e 4d 61 70 2e 6d 5f .........++action.m_ActionMap.m_
6d60 45 6e 61 62 6c 65 64 41 63 74 69 6f 6e 73 43 6f 75 6e 74 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 EnabledActionsCount;............
6d80 20 20 20 20 48 6f 6f 6b 4f 6e 42 65 66 6f 72 65 55 70 64 61 74 65 28 29 3b 0d 0a 20 20 20 20 20 ....HookOnBeforeUpdate();.......
6da0 20 20 20 20 20 20 20 4e 6f 74 69 66 79 4c 69 73 74 65 6e 65 72 73 4f 66 41 63 74 69 6f 6e 43 68 .......NotifyListenersOfActionCh
6dc0 61 6e 67 65 28 49 6e 70 75 74 41 63 74 69 6f 6e 43 68 61 6e 67 65 2e 41 63 74 69 6f 6e 45 6e 61 ange(InputActionChange.ActionEna
6de0 62 6c 65 64 2c 20 61 63 74 69 6f 6e 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 bled,.action);..........}.......
6e00 20 20 20 20 20 70 72 69 76 61 74 65 20 76 6f 69 64 20 45 6e 61 62 6c 65 43 6f 6e 74 72 6f 6c 73 .....private.void.EnableControls
6e20 28 49 6e 70 75 74 41 63 74 69 6f 6e 20 61 63 74 69 6f 6e 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d (InputAction.action)..........{.
6e40 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 61 63 74 69 6f 6e .............Debug.Assert(action
6e60 20 21 3d 20 6e 75 6c 6c 2c 20 22 41 63 74 69 6f 6e 20 6d 75 73 74 20 6e 6f 74 20 62 65 20 6e 75 .!=.null,."Action.must.not.be.nu
6e80 6c 6c 22 29 3b 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 74 28 ll");..............Debug.Assert(
6ea0 61 63 74 69 6f 6e 2e 6d 5f 41 63 74 69 6f 6e 4d 61 70 20 21 3d 20 6e 75 6c 6c 2c 20 22 41 63 74 action.m_ActionMap.!=.null,."Act
6ec0 69 6f 6e 20 6d 75 73 74 20 68 61 76 65 20 61 63 74 69 6f 6e 20 6d 61 70 22 29 3b 0d 0a 20 20 20 ion.must.have.action.map");.....
6ee0 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 6d 61 70 73 2e 43 6f 6e 74 61 .........Debug.Assert(maps.Conta
6f00 69 6e 73 28 61 63 74 69 6f 6e 2e 6d 5f 41 63 74 69 6f 6e 4d 61 70 29 2c 20 22 4d 61 70 20 6d 75 ins(action.m_ActionMap),."Map.mu
6f20 73 74 20 62 65 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 20 73 74 61 74 65 22 29 3b 0d 0a 0d 0a 20 st.be.contained.in.state");.....
6f40 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 61 63 74 69 6f 6e 49 6e 64 65 78 20 3d 20 61 63 74 ...........var.actionIndex.=.act
6f60 69 6f 6e 2e 6d 5f 41 63 74 69 6f 6e 49 6e 64 65 78 49 6e 53 74 61 74 65 3b 0d 0a 20 20 20 20 20 ion.m_ActionIndexInState;.......
6f80 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 61 63 74 69 6f 6e 49 6e 64 65 78 20 .......Debug.Assert(actionIndex.
6fa0 3e 3d 20 30 20 26 26 20 61 63 74 69 6f 6e 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 41 63 74 69 6f >=.0.&&.actionIndex.<.totalActio
6fc0 6e 43 6f 75 6e 74 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 41 63 74 69 6f 6e nCount,.................."Action
6fe0 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 20 77 68 65 6e 20 65 6e 61 62 6c 69 6e .index.out.of.range.when.enablin
7000 67 20 63 6f 6e 74 72 6f 6c 73 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 g.controls");................var
7020 20 6d 61 70 20 3d 20 61 63 74 69 6f 6e 2e 6d 5f 41 63 74 69 6f 6e 4d 61 70 3b 0d 0a 20 20 20 20 .map.=.action.m_ActionMap;......
7040 20 20 20 20 20 20 20 20 76 61 72 20 6d 61 70 49 6e 64 65 78 20 3d 20 6d 61 70 2e 6d 5f 4d 61 70 ........var.mapIndex.=.map.m_Map
7060 49 6e 64 65 78 49 6e 53 74 61 74 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 IndexInState;..............Debug
7080 2e 41 73 73 65 72 74 28 6d 61 70 49 6e 64 65 78 20 3e 3d 20 30 20 26 26 20 6d 61 70 49 6e 64 65 .Assert(mapIndex.>=.0.&&.mapInde
70a0 78 20 3c 20 74 6f 74 61 6c 4d 61 70 43 6f 75 6e 74 2c 20 22 4d 61 70 20 69 6e 64 65 78 20 6f 75 x.<.totalMapCount,."Map.index.ou
70c0 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 t.of.range");................//.
70e0 47 6f 20 74 68 72 6f 75 67 68 20 61 6c 6c 20 62 69 6e 64 69 6e 67 73 20 69 6e 20 74 68 65 20 6d Go.through.all.bindings.in.the.m
7100 61 70 20 61 6e 64 20 66 6f 72 20 61 6c 6c 20 74 68 61 74 20 62 65 6c 6f 6e 67 20 74 6f 20 74 68 ap.and.for.all.that.belong.to.th
7120 65 20 67 69 76 65 6e 20 61 63 74 69 6f 6e 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 e.given.action,..............//.
7140 65 6e 61 62 6c 65 20 74 68 65 20 61 73 73 6f 63 69 61 74 65 64 20 63 6f 6e 74 72 6f 6c 73 2e 0d enable.the.associated.controls..
7160 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 62 69 6e 64 69 6e 67 53 74 61 72 74 49 6e 64 .............var.bindingStartInd
7180 65 78 20 3d 20 6d 61 70 49 6e 64 69 63 65 73 5b 6d 61 70 49 6e 64 65 78 5d 2e 62 69 6e 64 69 6e ex.=.mapIndices[mapIndex].bindin
71a0 67 53 74 61 72 74 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 62 69 gStartIndex;..............var.bi
71c0 6e 64 69 6e 67 43 6f 75 6e 74 20 3d 20 6d 61 70 49 6e 64 69 63 65 73 5b 6d 61 70 49 6e 64 65 78 ndingCount.=.mapIndices[mapIndex
71e0 5d 2e 62 69 6e 64 69 6e 67 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 ].bindingCount;..............var
7200 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 50 74 72 20 3d 20 6d 65 6d 6f 72 79 2e 62 69 6e 64 69 .bindingStatesPtr.=.memory.bindi
7220 6e 67 53 74 61 74 65 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 76 61 72 20 ngStates;..............for.(var.
7240 69 20 3d 20 30 3b 20 69 20 3c 20 62 69 6e 64 69 6e 67 43 6f 75 6e 74 3b 20 2b 2b 69 29 0d 0a 20 i.=.0;.i.<.bindingCount;.++i)...
7260 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 76 61 ...........{..................va
7280 72 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 20 3d 20 62 69 6e 64 69 6e 67 53 74 61 72 74 49 6e 64 r.bindingIndex.=.bindingStartInd
72a0 65 78 20 2b 20 69 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 62 69 6e ex.+.i;..................var.bin
72c0 64 69 6e 67 53 74 61 74 65 20 3d 20 26 62 69 6e 64 69 6e 67 53 74 61 74 65 73 50 74 72 5b 62 69 dingState.=.&bindingStatesPtr[bi
72e0 6e 64 69 6e 67 49 6e 64 65 78 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 ndingIndex];..................if
7300 20 28 62 69 6e 64 69 6e 67 53 74 61 74 65 2d 3e 61 63 74 69 6f 6e 49 6e 64 65 78 20 21 3d 20 61 .(bindingState->actionIndex.!=.a
7320 63 74 69 6f 6e 49 6e 64 65 78 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ctionIndex).....................
7340 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 2f 2f .continue;....................//
7360 20 43 6f 6d 70 6f 73 69 74 65 73 20 65 6e 61 62 6c 65 20 65 6e 2d 62 6c 6f 63 20 74 68 72 6f 75 .Composites.enable.en-bloc.throu
7380 67 68 20 74 68 65 20 63 6f 6d 70 6f 73 69 74 65 20 62 69 6e 64 69 6e 67 20 69 74 73 65 6c 66 2e gh.the.composite.binding.itself.
73a0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 69 6e 64 69 6e 67 53 74 61 ..................if.(bindingSta
73c0 74 65 2d 3e 69 73 50 61 72 74 4f 66 43 6f 6d 70 6f 73 69 74 65 29 0d 0a 20 20 20 20 20 20 20 20 te->isPartOfComposite)..........
73e0 20 20 20 20 20 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 ............continue;...........
7400 20 20 20 20 20 20 20 20 20 76 61 72 20 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 20 3d 20 62 69 6e 64 .........var.controlCount.=.bind
7420 69 6e 67 53 74 61 74 65 2d 3e 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 ingState->controlCount;.........
7440 20 20 20 20 20 20 20 20 20 69 66 20 28 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 20 3d 3d 20 30 29 0d .........if.(controlCount.==.0).
7460 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0d 0a .....................continue;..
7480 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6e 61 62 6c 65 43 6f 6e 74 72 6f 6c 73 ..................EnableControls
74a0 28 6d 61 70 49 6e 64 65 78 2c 20 62 69 6e 64 69 6e 67 53 74 61 74 65 2d 3e 63 6f 6e 74 72 6f 6c (mapIndex,.bindingState->control
74c0 53 74 61 72 74 49 6e 64 65 78 2c 20 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 29 3b 0d 0a 20 20 20 20 StartIndex,.controlCount);......
74e0 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 20 20 ........}..........}............
7500 70 75 62 6c 69 63 20 76 6f 69 64 20 44 69 73 61 62 6c 65 41 6c 6c 41 63 74 69 6f 6e 73 28 49 6e public.void.DisableAllActions(In
7520 70 75 74 41 63 74 69 6f 6e 4d 61 70 20 6d 61 70 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 putActionMap.map)..........{....
7540 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 6d 61 70 20 21 3d 20 6e 75 ..........Debug.Assert(map.!=.nu
7560 6c 6c 2c 20 22 4d 61 70 20 6d 75 73 74 20 6e 6f 74 20 62 65 20 6e 75 6c 6c 22 29 3b 0d 0a 20 20 ll,."Map.must.not.be.null");....
7580 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 6d 61 70 2e 6d 5f 41 63 74 ..........Debug.Assert(map.m_Act
75a0 69 6f 6e 73 20 21 3d 20 6e 75 6c 6c 2c 20 22 4d 61 70 20 6d 75 73 74 20 68 61 76 65 20 61 63 74 ions.!=.null,."Map.must.have.act
75c0 69 6f 6e 73 22 29 3b 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 ions");..............Debug.Asser
75e0 74 28 6d 61 70 73 2e 43 6f 6e 74 61 69 6e 73 28 6d 61 70 29 2c 20 22 4d 61 70 20 6d 75 73 74 20 t(maps.Contains(map),."Map.must.
7600 62 65 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 20 73 74 61 74 65 22 29 3b 0d 0a 0d 0a 20 20 20 20 be.contained.in.state");........
7620 20 20 20 20 20 20 20 20 44 69 73 61 62 6c 65 43 6f 6e 74 72 6f 6c 73 28 6d 61 70 29 3b 0d 0a 0d ........DisableControls(map);...
7640 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 4d 61 72 6b 20 61 6c 6c 20 61 63 74 69 6f 6e 73 .............//.Mark.all.actions
7660 20 61 73 20 64 69 73 61 62 6c 65 64 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d .as.disabled...............var.m
7680 61 70 49 6e 64 65 78 20 3d 20 6d 61 70 2e 6d 5f 4d 61 70 49 6e 64 65 78 49 6e 53 74 61 74 65 3b apIndex.=.map.m_MapIndexInState;
76a0 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 74 28 6d 61 70 49 6e ..............Debug.Assert(mapIn
76c0 64 65 78 20 3e 3d 20 30 20 26 26 20 6d 61 70 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 4d 61 70 43 dex.>=.0.&&.mapIndex.<.totalMapC
76e0 6f 75 6e 74 2c 20 22 4d 61 70 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 3b ount,."Map.index.out.of.range");
7700 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 61 63 74 69 6f 6e 53 74 61 72 74 49 6e 64 ..............var.actionStartInd
7720 65 78 20 3d 20 6d 61 70 49 6e 64 69 63 65 73 5b 6d 61 70 49 6e 64 65 78 5d 2e 61 63 74 69 6f 6e ex.=.mapIndices[mapIndex].action
7740 53 74 61 72 74 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 61 63 74 StartIndex;..............var.act
7760 69 6f 6e 43 6f 75 6e 74 20 3d 20 6d 61 70 49 6e 64 69 63 65 73 5b 6d 61 70 49 6e 64 65 78 5d 2e ionCount.=.mapIndices[mapIndex].
7780 61 63 74 69 6f 6e 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 76 actionCount;..............for.(v
77a0 61 72 20 69 20 3d 20 30 3b 20 69 20 3c 20 61 63 74 69 6f 6e 43 6f 75 6e 74 3b 20 2b 2b 69 29 0d ar.i.=.0;.i.<.actionCount;.++i).
77c0 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 .............{..................
77e0 76 61 72 20 61 63 74 69 6f 6e 49 6e 64 65 78 20 3d 20 61 63 74 69 6f 6e 53 74 61 72 74 49 6e 64 var.actionIndex.=.actionStartInd
7800 65 78 20 2b 20 69 3b 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 ex.+.i;..................if.(act
7820 69 6f 6e 53 74 61 74 65 73 5b 61 63 74 69 6f 6e 49 6e 64 65 78 5d 2e 70 68 61 73 65 20 21 3d 20 ionStates[actionIndex].phase.!=.
7840 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 44 69 73 61 62 6c 65 64 29 0d 0a 20 20 20 20 InputActionPhase.Disabled)......
7860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 73 65 74 41 63 74 69 6f 6e 53 74 61 74 65 ................ResetActionState
7880 28 61 63 74 69 6f 6e 49 6e 64 65 78 2c 20 74 6f 50 68 61 73 65 3a 20 49 6e 70 75 74 41 63 74 69 (actionIndex,.toPhase:.InputActi
78a0 6f 6e 50 68 61 73 65 2e 44 69 73 61 62 6c 65 64 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 onPhase.Disabled);..............
78c0 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 70 2e 6d 5f 45 6e 61 62 6c 65 64 41 63 74 69 }..............map.m_EnabledActi
78e0 6f 6e 73 43 6f 75 6e 74 20 3d 20 30 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 onsCount.=.0;................//.
7900 4d 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 69 66 20 77 65 20 68 61 70 70 65 6e 20 74 6f 20 67 Make.sure.that.if.we.happen.to.g
7920 65 74 20 68 65 72 65 20 77 69 74 68 20 6f 6e 65 20 6f 66 20 74 68 65 20 68 69 64 64 65 6e 20 61 et.here.with.one.of.the.hidden.a
7940 63 74 69 6f 6e 20 6d 61 70 73 20 77 65 20 63 72 65 61 74 65 20 66 6f 72 20 73 69 6e 67 6c 65 74 ction.maps.we.create.for.singlet
7960 6f 6e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 61 63 74 69 6f 6e 2c 20 77 65 20 6e 6f on..............//.action,.we.no
7980 74 69 66 79 20 6f 6e 20 74 68 65 20 61 63 74 69 6f 6e 2c 20 6e 6f 74 20 74 68 65 20 68 69 64 64 tify.on.the.action,.not.the.hidd
79a0 65 6e 20 6d 61 70 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 61 70 2e 6d 5f 53 en.map...............if.(map.m_S
79c0 69 6e 67 6c 65 74 6f 6e 41 63 74 69 6f 6e 20 21 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 ingletonAction.!=.null).........
79e0 20 20 20 20 20 20 20 20 20 4e 6f 74 69 66 79 4c 69 73 74 65 6e 65 72 73 4f 66 41 63 74 69 6f 6e .........NotifyListenersOfAction
7a00 43 68 61 6e 67 65 28 49 6e 70 75 74 41 63 74 69 6f 6e 43 68 61 6e 67 65 2e 41 63 74 69 6f 6e 44 Change(InputActionChange.ActionD
7a20 69 73 61 62 6c 65 64 2c 20 6d 61 70 2e 6d 5f 53 69 6e 67 6c 65 74 6f 6e 41 63 74 69 6f 6e 29 3b isabled,.map.m_SingletonAction);
7a40 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..............else..............
7a60 20 20 20 20 4e 6f 74 69 66 79 4c 69 73 74 65 6e 65 72 73 4f 66 41 63 74 69 6f 6e 43 68 61 6e 67 ....NotifyListenersOfActionChang
7a80 65 28 49 6e 70 75 74 41 63 74 69 6f 6e 43 68 61 6e 67 65 2e 41 63 74 69 6f 6e 4d 61 70 44 69 73 e(InputActionChange.ActionMapDis
7aa0 61 62 6c 65 64 2c 20 6d 61 70 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 abled,.map);..........}.........
7ac0 20 20 20 70 72 69 76 61 74 65 20 76 6f 69 64 20 44 69 73 61 62 6c 65 43 6f 6e 74 72 6f 6c 73 28 ...private.void.DisableControls(
7ae0 49 6e 70 75 74 41 63 74 69 6f 6e 4d 61 70 20 6d 61 70 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a InputActionMap.map)..........{..
7b00 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 6d 61 70 20 21 3d 20 ............Debug.Assert(map.!=.
7b20 6e 75 6c 6c 2c 20 22 4d 61 70 20 6d 75 73 74 20 6e 6f 74 20 62 65 20 6e 75 6c 6c 22 29 3b 0d 0a null,."Map.must.not.be.null");..
7b40 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 6d 61 70 2e 6d 5f 41 ............Debug.Assert(map.m_A
7b60 63 74 69 6f 6e 73 20 21 3d 20 6e 75 6c 6c 2c 20 22 4d 61 70 20 6d 75 73 74 20 68 61 76 65 20 61 ctions.!=.null,."Map.must.have.a
7b80 63 74 69 6f 6e 73 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 ctions");..............Debug.Ass
7ba0 65 72 74 28 6d 61 70 73 2e 43 6f 6e 74 61 69 6e 73 28 6d 61 70 29 2c 20 22 4d 61 70 20 6d 75 73 ert(maps.Contains(map),."Map.mus
7bc0 74 20 62 65 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 20 73 74 61 74 65 22 29 3b 0d 0a 0d 0a 20 20 t.be.contained.in.state");......
7be0 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d 61 70 49 6e 64 65 78 20 3d 20 6d 61 70 2e 6d 5f 4d ..........var.mapIndex.=.map.m_M
7c00 61 70 49 6e 64 65 78 49 6e 53 74 61 74 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 apIndexInState;..............Deb
7c20 75 67 2e 41 73 73 65 72 74 28 6d 61 70 49 6e 64 65 78 20 3e 3d 20 30 20 26 26 20 6d 61 70 49 6e ug.Assert(mapIndex.>=.0.&&.mapIn
7c40 64 65 78 20 3c 20 74 6f 74 61 6c 4d 61 70 43 6f 75 6e 74 2c 20 22 4d 61 70 20 69 6e 64 65 78 20 dex.<.totalMapCount,."Map.index.
7c60 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f out.of.range");................/
7c80 2f 20 52 65 6d 6f 76 65 20 73 74 61 74 65 20 6d 6f 6e 69 74 6f 72 73 20 66 72 6f 6d 20 61 6c 6c /.Remove.state.monitors.from.all
7ca0 20 63 6f 6e 74 72 6f 6c 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 6f 6e 74 .controls...............var.cont
7cc0 72 6f 6c 43 6f 75 6e 74 20 3d 20 6d 61 70 49 6e 64 69 63 65 73 5b 6d 61 70 49 6e 64 65 78 5d 2e rolCount.=.mapIndices[mapIndex].
7ce0 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 controlCount;..............var.c
7d00 6f 6e 74 72 6f 6c 53 74 61 72 74 49 6e 64 65 78 20 3d 20 6d 61 70 49 6e 64 69 63 65 73 5b 6d 61 ontrolStartIndex.=.mapIndices[ma
7d20 70 49 6e 64 65 78 5d 2e 63 6f 6e 74 72 6f 6c 53 74 61 72 74 49 6e 64 65 78 3b 0d 0a 20 20 20 20 pIndex].controlStartIndex;......
7d40 20 20 20 20 20 20 20 20 69 66 20 28 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 20 3e 20 30 29 0d 0a 20 ........if.(controlCount.>.0)...
7d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 69 73 61 62 6c 65 43 6f 6e 74 72 6f 6c 73 28 6d ...............DisableControls(m
7d80 61 70 49 6e 64 65 78 2c 20 63 6f 6e 74 72 6f 6c 53 74 61 72 74 49 6e 64 65 78 2c 20 63 6f 6e 74 apIndex,.controlStartIndex,.cont
7da0 72 6f 6c 43 6f 75 6e 74 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 rolCount);..........}...........
7dc0 20 70 75 62 6c 69 63 20 76 6f 69 64 20 44 69 73 61 62 6c 65 53 69 6e 67 6c 65 41 63 74 69 6f 6e .public.void.DisableSingleAction
7de0 28 49 6e 70 75 74 41 63 74 69 6f 6e 20 61 63 74 69 6f 6e 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d (InputAction.action)..........{.
7e00 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 61 63 74 69 6f 6e .............Debug.Assert(action
7e20 20 21 3d 20 6e 75 6c 6c 2c 20 22 41 63 74 69 6f 6e 20 6d 75 73 74 20 6e 6f 74 20 62 65 20 6e 75 .!=.null,."Action.must.not.be.nu
7e40 6c 6c 22 29 3b 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 74 28 ll");..............Debug.Assert(
7e60 61 63 74 69 6f 6e 2e 6d 5f 41 63 74 69 6f 6e 4d 61 70 20 21 3d 20 6e 75 6c 6c 2c 20 22 41 63 74 action.m_ActionMap.!=.null,."Act
7e80 69 6f 6e 20 6d 75 73 74 20 68 61 76 65 20 61 63 74 69 6f 6e 20 6d 61 70 22 29 3b 0d 0a 20 20 20 ion.must.have.action.map");.....
7ea0 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 6d 61 70 73 2e 43 6f 6e 74 61 .........Debug.Assert(maps.Conta
7ec0 69 6e 73 28 61 63 74 69 6f 6e 2e 6d 5f 41 63 74 69 6f 6e 4d 61 70 29 2c 20 22 41 63 74 69 6f 6e ins(action.m_ActionMap),."Action
7ee0 20 6d 61 70 20 6d 75 73 74 20 62 65 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 20 73 74 61 74 65 22 .map.must.be.contained.in.state"
7f00 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 69 73 61 62 6c 65 43 6f 6e 74 72 6f 6c );................DisableControl
7f20 73 28 61 63 74 69 6f 6e 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 52 65 73 65 74 41 63 74 s(action);..............ResetAct
7f40 69 6f 6e 53 74 61 74 65 28 61 63 74 69 6f 6e 2e 6d 5f 41 63 74 69 6f 6e 49 6e 64 65 78 49 6e 53 ionState(action.m_ActionIndexInS
7f60 74 61 74 65 2c 20 74 6f 50 68 61 73 65 3a 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e tate,.toPhase:.InputActionPhase.
7f80 44 69 73 61 62 6c 65 64 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 2d 61 63 74 69 6f 6e Disabled);..............--action
7fa0 2e 6d 5f 41 63 74 69 6f 6e 4d 61 70 2e 6d 5f 45 6e 61 62 6c 65 64 41 63 74 69 6f 6e 73 43 6f 75 .m_ActionMap.m_EnabledActionsCou
7fc0 6e 74 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 4e 6f 74 69 66 79 4c 69 73 74 65 6e 65 nt;................NotifyListene
7fe0 72 73 4f 66 41 63 74 69 6f 6e 43 68 61 6e 67 65 28 49 6e 70 75 74 41 63 74 69 6f 6e 43 68 61 6e rsOfActionChange(InputActionChan
8000 67 65 2e 41 63 74 69 6f 6e 44 69 73 61 62 6c 65 64 2c 20 61 63 74 69 6f 6e 29 3b 0d 0a 20 20 20 ge.ActionDisabled,.action);.....
8020 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 76 6f 69 64 20 44 .....}............private.void.D
8040 69 73 61 62 6c 65 43 6f 6e 74 72 6f 6c 73 28 49 6e 70 75 74 41 63 74 69 6f 6e 20 61 63 74 69 6f isableControls(InputAction.actio
8060 6e 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 44 65 62 75 67 n)..........{..............Debug
8080 2e 41 73 73 65 72 74 28 61 63 74 69 6f 6e 20 21 3d 20 6e 75 6c 6c 2c 20 22 41 63 74 69 6f 6e 20 .Assert(action.!=.null,."Action.
80a0 6d 75 73 74 20 6e 6f 74 20 62 65 20 6e 75 6c 6c 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 must.not.be.null");.............
80c0 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 61 63 74 69 6f 6e 2e 6d 5f 41 63 74 69 6f 6e 4d 61 70 .Debug.Assert(action.m_ActionMap
80e0 20 21 3d 20 6e 75 6c 6c 2c 20 22 41 63 74 69 6f 6e 20 6d 75 73 74 20 68 61 76 65 20 61 63 74 69 .!=.null,."Action.must.have.acti
8100 6f 6e 20 6d 61 70 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 on.map");..............Debug.Ass
8120 65 72 74 28 6d 61 70 73 2e 43 6f 6e 74 61 69 6e 73 28 61 63 74 69 6f 6e 2e 6d 5f 41 63 74 69 6f ert(maps.Contains(action.m_Actio
8140 6e 4d 61 70 29 2c 20 22 41 63 74 69 6f 6e 20 6d 61 70 20 6d 75 73 74 20 62 65 20 63 6f 6e 74 61 nMap),."Action.map.must.be.conta
8160 69 6e 65 64 20 69 6e 20 73 74 61 74 65 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ined.in.state");................
8180 76 61 72 20 61 63 74 69 6f 6e 49 6e 64 65 78 20 3d 20 61 63 74 69 6f 6e 2e 6d 5f 41 63 74 69 6f var.actionIndex.=.action.m_Actio
81a0 6e 49 6e 64 65 78 49 6e 53 74 61 74 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 nIndexInState;..............Debu
81c0 67 2e 41 73 73 65 72 74 28 61 63 74 69 6f 6e 49 6e 64 65 78 20 3e 3d 20 30 20 26 26 20 61 63 74 g.Assert(actionIndex.>=.0.&&.act
81e0 69 6f 6e 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 41 63 74 69 6f 6e 43 6f 75 6e 74 2c 0d 0a 20 20 ionIndex.<.totalActionCount,....
8200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 41 63 74 69 6f 6e 20 69 6e 64 65 78 20 6f 75 74 20 .............."Action.index.out.
8220 6f 66 20 72 61 6e 67 65 20 77 68 65 6e 20 64 69 73 61 62 6c 69 6e 67 20 63 6f 6e 74 72 6f 6c 73 of.range.when.disabling.controls
8240 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d 61 70 20 3d 20 61 63 74 ");................var.map.=.act
8260 69 6f 6e 2e 6d 5f 41 63 74 69 6f 6e 4d 61 70 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 ion.m_ActionMap;..............va
8280 72 20 6d 61 70 49 6e 64 65 78 20 3d 20 6d 61 70 2e 6d 5f 4d 61 70 49 6e 64 65 78 49 6e 53 74 61 r.mapIndex.=.map.m_MapIndexInSta
82a0 74 65 3b 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 74 28 6d 61 te;..............Debug.Assert(ma
82c0 70 49 6e 64 65 78 20 3e 3d 20 30 20 26 26 20 6d 61 70 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 4d pIndex.>=.0.&&.mapIndex.<.totalM
82e0 61 70 43 6f 75 6e 74 2c 20 22 4d 61 70 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 apCount,."Map.index.out.of.range
8300 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 47 6f 20 74 68 72 6f 75 67 68 ");................//.Go.through
8320 20 61 6c 6c 20 62 69 6e 64 69 6e 67 73 20 69 6e 20 74 68 65 20 6d 61 70 20 61 6e 64 20 66 6f 72 .all.bindings.in.the.map.and.for
8340 20 61 6c 6c 20 74 68 61 74 20 62 65 6c 6f 6e 67 20 74 6f 20 74 68 65 20 67 69 76 65 6e 20 61 63 .all.that.belong.to.the.given.ac
8360 74 69 6f 6e 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 64 69 73 61 62 6c 65 20 74 68 tion,..............//.disable.th
8380 65 20 61 73 73 6f 63 69 61 74 65 64 20 63 6f 6e 74 72 6f 6c 73 2e 0d 0a 20 20 20 20 20 20 20 20 e.associated.controls...........
83a0 20 20 20 20 76 61 72 20 62 69 6e 64 69 6e 67 53 74 61 72 74 49 6e 64 65 78 20 3d 20 6d 61 70 49 ....var.bindingStartIndex.=.mapI
83c0 6e 64 69 63 65 73 5b 6d 61 70 49 6e 64 65 78 5d 2e 62 69 6e 64 69 6e 67 53 74 61 72 74 49 6e 64 ndices[mapIndex].bindingStartInd
83e0 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 62 69 6e 64 69 6e 67 43 6f 75 6e ex;..............var.bindingCoun
8400 74 20 3d 20 6d 61 70 49 6e 64 69 63 65 73 5b 6d 61 70 49 6e 64 65 78 5d 2e 62 69 6e 64 69 6e 67 t.=.mapIndices[mapIndex].binding
8420 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 62 69 6e 64 69 6e 67 53 Count;..............var.bindingS
8440 74 61 74 65 73 50 74 72 20 3d 20 6d 65 6d 6f 72 79 2e 62 69 6e 64 69 6e 67 53 74 61 74 65 73 3b tatesPtr.=.memory.bindingStates;
8460 0d 0a 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.
8480 3c 20 62 69 6e 64 69 6e 67 43 6f 75 6e 74 3b 20 2b 2b 69 29 0d 0a 20 20 20 20 20 20 20 20 20 20 <.bindingCount;.++i)............
84a0 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 62 69 6e 64 69 6e 67 ..{..................var.binding
84c0 49 6e 64 65 78 20 3d 20 62 69 6e 64 69 6e 67 53 74 61 72 74 49 6e 64 65 78 20 2b 20 69 3b 0d 0a Index.=.bindingStartIndex.+.i;..
84e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 62 69 6e 64 69 6e 67 53 74 61 74 65 ................var.bindingState
8500 20 3d 20 26 62 69 6e 64 69 6e 67 53 74 61 74 65 73 50 74 72 5b 62 69 6e 64 69 6e 67 49 6e 64 65 .=.&bindingStatesPtr[bindingInde
8520 78 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 69 6e 64 69 6e 67 x];..................if.(binding
8540 53 74 61 74 65 2d 3e 61 63 74 69 6f 6e 49 6e 64 65 78 20 21 3d 20 61 63 74 69 6f 6e 49 6e 64 65 State->actionIndex.!=.actionInde
8560 78 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 x)......................continue
8580 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 43 6f 6d 70 6f 73 69 74 ;....................//.Composit
85a0 65 73 20 65 6e 61 62 6c 65 20 65 6e 2d 62 6c 6f 63 20 74 68 72 6f 75 67 68 20 74 68 65 20 63 6f es.enable.en-bloc.through.the.co
85c0 6d 70 6f 73 69 74 65 20 62 69 6e 64 69 6e 67 20 69 74 73 65 6c 66 2e 0d 0a 20 20 20 20 20 20 20 mposite.binding.itself..........
85e0 20 20 20 20 20 20 20 20 20 69 66 20 28 62 69 6e 64 69 6e 67 53 74 61 74 65 2d 3e 69 73 50 61 72 .........if.(bindingState->isPar
8600 74 4f 66 43 6f 6d 70 6f 73 69 74 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tOfComposite)...................
8620 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;....................
8640 76 61 72 20 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 20 3d 20 62 69 6e 64 69 6e 67 53 74 61 74 65 2d var.controlCount.=.bindingState-
8660 3e 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 >controlCount;..................
8680 69 66 20 28 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 20 3d 3d 20 30 29 0d 0a 20 20 20 20 20 20 20 20 if.(controlCount.==.0)..........
86a0 20 20 20 20 20 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 ............continue;...........
86c0 20 20 20 20 20 20 20 20 20 44 69 73 61 62 6c 65 43 6f 6e 74 72 6f 6c 73 28 6d 61 70 49 6e 64 65 .........DisableControls(mapInde
86e0 78 2c 20 62 69 6e 64 69 6e 67 53 74 61 74 65 2d 3e 63 6f 6e 74 72 6f 6c 53 74 61 72 74 49 6e 64 x,.bindingState->controlStartInd
8700 65 78 2c 20 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ex,.controlCount);..............
8720 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 2f 52 45 56 49 }..........}............////REVI
8740 45 57 3a 20 63 61 6e 20 77 65 20 68 61 76 65 20 61 20 6d 65 74 68 6f 64 20 6f 6e 20 49 6e 70 75 EW:.can.we.have.a.method.on.Inpu
8760 74 4d 61 6e 61 67 65 72 20 64 6f 69 6e 67 20 74 68 69 73 20 69 6e 20 62 75 6c 6b 3f 0d 0a 0d 0a tManager.doing.this.in.bulk?....
8780 20 20 20 20 20 20 20 20 2f 2f 2f 2f 4e 4f 54 45 3a 20 54 68 69 73 20 6d 75 73 74 20 6e 6f 74 20 ........////NOTE:.This.must.not.
87a0 65 6e 61 62 6c 65 20 6f 6e 6c 79 20 61 20 70 61 72 74 69 61 6c 20 73 65 74 20 6f 66 20 63 6f 6e enable.only.a.partial.set.of.con
87c0 74 72 6f 6c 73 20 6f 6e 20 61 20 62 69 6e 64 69 6e 67 20 28 63 75 72 72 65 6e 74 6c 79 20 77 65 trols.on.a.binding.(currently.we
87e0 20 68 61 76 65 20 6e 6f 20 73 65 74 75 70 20 74 68 61 74 20 77 6f 75 6c 64 20 6c 65 61 64 20 74 .have.no.setup.that.would.lead.t
8800 6f 20 74 68 61 74 29 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 76 6f 69 64 20 45 6e o.that)..........private.void.En
8820 61 62 6c 65 43 6f 6e 74 72 6f 6c 73 28 69 6e 74 20 6d 61 70 49 6e 64 65 78 2c 20 69 6e 74 20 63 ableControls(int.mapIndex,.int.c
8840 6f 6e 74 72 6f 6c 53 74 61 72 74 49 6e 64 65 78 2c 20 69 6e 74 20 6e 75 6d 43 6f 6e 74 72 6f 6c ontrolStartIndex,.int.numControl
8860 73 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 44 65 62 75 67 s)..........{..............Debug
8880 2e 41 73 73 65 72 74 28 63 6f 6e 74 72 6f 6c 73 20 21 3d 20 6e 75 6c 6c 2c 20 22 53 74 61 74 65 .Assert(controls.!=.null,."State
88a0 20 6d 75 73 74 20 68 61 76 65 20 63 6f 6e 74 72 6f 6c 73 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 .must.have.controls");..........
88c0 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 63 6f 6e 74 72 6f 6c 53 74 61 72 74 49 6e 64 ....Debug.Assert(controlStartInd
88e0 65 78 20 3e 3d 20 30 20 26 26 20 28 63 6f 6e 74 72 6f 6c 53 74 61 72 74 49 6e 64 65 78 20 3c 20 ex.>=.0.&&.(controlStartIndex.<.
8900 74 6f 74 61 6c 43 6f 6e 74 72 6f 6c 43 6f 75 6e 74 20 7c 7c 20 6e 75 6d 43 6f 6e 74 72 6f 6c 73 totalControlCount.||.numControls
8920 20 3d 3d 20 30 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 43 6f 6e 74 72 6f .==.0),.................."Contro
8940 6c 20 73 74 61 72 74 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d 0a 20 l.start.index.out.of.range");...
8960 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 63 6f 6e 74 72 6f 6c 53 ...........Debug.Assert(controlS
8980 74 61 72 74 49 6e 64 65 78 20 2b 20 6e 75 6d 43 6f 6e 74 72 6f 6c 73 20 3c 3d 20 74 6f 74 61 6c tartIndex.+.numControls.<=.total
89a0 43 6f 6e 74 72 6f 6c 43 6f 75 6e 74 2c 20 22 43 6f 6e 74 72 6f 6c 20 72 61 6e 67 65 20 6f 75 74 ControlCount,."Control.range.out
89c0 20 6f 66 20 62 6f 75 6e 64 73 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 .of.bounds");................var
89e0 20 6d 61 6e 61 67 65 72 20 3d 20 49 6e 70 75 74 53 79 73 74 65 6d 2e 73 5f 4d 61 6e 61 67 65 72 .manager.=.InputSystem.s_Manager
8a00 3b 0d 0a 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 ;..............for.(var.i.=.0;.i
8a20 20 3c 20 6e 75 6d 43 6f 6e 74 72 6f 6c 73 3b 20 2b 2b 69 29 0d 0a 20 20 20 20 20 20 20 20 20 20 .<.numControls;.++i)............
8a40 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 63 6f 6e 74 72 6f 6c ..{..................var.control
8a60 49 6e 64 65 78 20 3d 20 63 6f 6e 74 72 6f 6c 53 74 61 72 74 49 6e 64 65 78 20 2b 20 69 3b 0d 0a Index.=.controlStartIndex.+.i;..
8a80 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 57 65 20 64 6f 6e 27 74 20 77 61 ..................//.We.don't.wa
8aa0 6e 74 20 74 6f 20 61 64 64 20 6d 75 6c 74 69 70 6c 65 20 73 74 61 74 65 20 6d 6f 6e 69 74 6f 72 nt.to.add.multiple.state.monitor
8ac0 73 20 66 6f 72 20 74 68 65 20 73 61 6d 65 20 63 6f 6e 74 72 6f 6c 2e 20 54 68 69 73 20 63 61 6e s.for.the.same.control..This.can
8ae0 20 68 61 70 70 65 6e 20 69 66 20 65 6e 61 62 6c 69 6e 67 0d 0a 20 20 20 20 20 20 20 20 20 20 20 .happen.if.enabling.............
8b00 20 20 20 20 20 2f 2f 20 73 69 6e 67 6c 65 20 61 63 74 69 6f 6e 73 20 69 73 20 6d 69 78 65 64 20 .....//.single.actions.is.mixed.
8b20 77 69 74 68 20 65 6e 61 62 6c 69 6e 67 20 61 63 74 69 6f 6e 73 20 6d 61 70 73 20 63 6f 6e 74 61 with.enabling.actions.maps.conta
8b40 69 6e 69 6e 67 20 74 68 65 6d 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 ining.them...................if.
8b60 28 49 73 43 6f 6e 74 72 6f 6c 45 6e 61 62 6c 65 64 28 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 29 29 (IsControlEnabled(controlIndex))
8b80 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0d ......................continue;.
8ba0 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 62 69 6e 64 69 6e 67 49 6e ...................var.bindingIn
8bc0 64 65 78 20 3d 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 54 6f 42 69 6e 64 69 6e 67 49 6e 64 65 78 dex.=.controlIndexToBindingIndex
8be0 5b 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 [controlIndex];.................
8c00 20 76 61 72 20 6d 61 70 43 6f 6e 74 72 6f 6c 41 6e 64 42 69 6e 64 69 6e 67 49 6e 64 65 78 20 3d .var.mapControlAndBindingIndex.=
8c20 20 54 6f 43 6f 6d 62 69 6e 65 64 4d 61 70 41 6e 64 43 6f 6e 74 72 6f 6c 41 6e 64 42 69 6e 64 69 .ToCombinedMapAndControlAndBindi
8c40 6e 67 49 6e 64 65 78 28 6d 61 70 49 6e 64 65 78 2c 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 2c 20 ngIndex(mapIndex,.controlIndex,.
8c60 62 69 6e 64 69 6e 67 49 6e 64 65 78 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 bindingIndex);..................
8c80 76 61 72 20 62 69 6e 64 69 6e 67 53 74 61 74 65 50 74 72 20 3d 20 26 62 69 6e 64 69 6e 67 53 74 var.bindingStatePtr.=.&bindingSt
8ca0 61 74 65 73 5b 62 69 6e 64 69 6e 67 49 6e 64 65 78 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ates[bindingIndex];.............
8cc0 20 20 20 20 20 69 66 20 28 62 69 6e 64 69 6e 67 53 74 61 74 65 50 74 72 2d 3e 77 61 6e 74 73 49 .....if.(bindingStatePtr->wantsI
8ce0 6e 69 74 69 61 6c 53 74 61 74 65 43 68 65 63 6b 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 nitialStateCheck)...............
8d00 20 20 20 20 20 20 20 62 69 6e 64 69 6e 67 53 74 61 74 65 50 74 72 2d 3e 69 6e 69 74 69 61 6c 53 .......bindingStatePtr->initialS
8d20 74 61 74 65 43 68 65 63 6b 50 65 6e 64 69 6e 67 20 3d 20 74 72 75 65 3b 0d 0a 20 20 20 20 20 20 tateCheckPending.=.true;........
8d40 20 20 20 20 20 20 20 20 20 20 6d 61 6e 61 67 65 72 2e 41 64 64 53 74 61 74 65 43 68 61 6e 67 65 ..........manager.AddStateChange
8d60 4d 6f 6e 69 74 6f 72 28 63 6f 6e 74 72 6f 6c 73 5b 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 5d 2c 20 Monitor(controls[controlIndex],.
8d80 74 68 69 73 2c 20 6d 61 70 43 6f 6e 74 72 6f 6c 41 6e 64 42 69 6e 64 69 6e 67 49 6e 64 65 78 29 this,.mapControlAndBindingIndex)
8da0 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 74 43 6f 6e 74 72 6f 6c 45 ;....................SetControlE
8dc0 6e 61 62 6c 65 64 28 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 2c 20 74 72 75 65 29 3b 0d 0a 20 20 20 nabled(controlIndex,.true);.....
8de0 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 20 .........}..........}...........
8e00 20 70 72 69 76 61 74 65 20 76 6f 69 64 20 44 69 73 61 62 6c 65 43 6f 6e 74 72 6f 6c 73 28 69 6e .private.void.DisableControls(in
8e20 74 20 6d 61 70 49 6e 64 65 78 2c 20 69 6e 74 20 63 6f 6e 74 72 6f 6c 53 74 61 72 74 49 6e 64 65 t.mapIndex,.int.controlStartInde
8e40 78 2c 20 69 6e 74 20 6e 75 6d 43 6f 6e 74 72 6f 6c 73 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a x,.int.numControls)..........{..
8e60 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 63 6f 6e 74 72 6f 6c ............Debug.Assert(control
8e80 73 20 21 3d 20 6e 75 6c 6c 2c 20 22 53 74 61 74 65 20 6d 75 73 74 20 68 61 76 65 20 63 6f 6e 74 s.!=.null,."State.must.have.cont
8ea0 72 6f 6c 73 22 29 3b 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 rols");..............Debug.Asser
8ec0 74 28 63 6f 6e 74 72 6f 6c 53 74 61 72 74 49 6e 64 65 78 20 3e 3d 20 30 20 26 26 20 28 63 6f 6e t(controlStartIndex.>=.0.&&.(con
8ee0 74 72 6f 6c 53 74 61 72 74 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 43 6f 6e 74 72 6f 6c 43 6f 75 trolStartIndex.<.totalControlCou
8f00 6e 74 20 7c 7c 20 6e 75 6d 43 6f 6e 74 72 6f 6c 73 20 3d 3d 20 30 29 2c 0d 0a 20 20 20 20 20 20 nt.||.numControls.==.0),........
8f20 20 20 20 20 20 20 20 20 20 20 22 43 6f 6e 74 72 6f 6c 20 73 74 61 72 74 20 69 6e 64 65 78 20 6f .........."Control.start.index.o
8f40 75 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 ut.of.range");..............Debu
8f60 67 2e 41 73 73 65 72 74 28 63 6f 6e 74 72 6f 6c 53 74 61 72 74 49 6e 64 65 78 20 2b 20 6e 75 6d g.Assert(controlStartIndex.+.num
8f80 43 6f 6e 74 72 6f 6c 73 20 3c 3d 20 74 6f 74 61 6c 43 6f 6e 74 72 6f 6c 43 6f 75 6e 74 2c 20 22 Controls.<=.totalControlCount,."
8fa0 43 6f 6e 74 72 6f 6c 20 72 61 6e 67 65 20 6f 75 74 20 6f 66 20 62 6f 75 6e 64 73 22 29 3b 0d 0a Control.range.out.of.bounds");..
8fc0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d 61 6e 61 67 65 72 20 3d 20 49 6e 70 75 ..............var.manager.=.Inpu
8fe0 74 53 79 73 74 65 6d 2e 73 5f 4d 61 6e 61 67 65 72 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 tSystem.s_Manager;..............
9000 66 6f 72 20 28 76 61 72 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 75 6d 43 6f 6e 74 72 6f 6c 73 3b for.(var.i.=.0;.i.<.numControls;
9020 20 2b 2b 69 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 .++i)..............{............
9040 20 20 20 20 20 20 76 61 72 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3d 20 63 6f 6e 74 72 6f 6c ......var.controlIndex.=.control
9060 53 74 61 72 74 49 6e 64 65 78 20 2b 20 69 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 StartIndex.+.i;.................
9080 20 69 66 20 28 21 49 73 43 6f 6e 74 72 6f 6c 45 6e 61 62 6c 65 64 28 63 6f 6e 74 72 6f 6c 49 6e .if.(!IsControlEnabled(controlIn
90a0 64 65 78 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 dex))......................conti
90c0 6e 75 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 62 69 6e 64 nue;....................var.bind
90e0 69 6e 67 49 6e 64 65 78 20 3d 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 54 6f 42 69 6e 64 69 6e 67 ingIndex.=.controlIndexToBinding
9100 49 6e 64 65 78 5b 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 Index[controlIndex];............
9120 20 20 20 20 20 20 76 61 72 20 6d 61 70 43 6f 6e 74 72 6f 6c 41 6e 64 42 69 6e 64 69 6e 67 49 6e ......var.mapControlAndBindingIn
9140 64 65 78 20 3d 20 54 6f 43 6f 6d 62 69 6e 65 64 4d 61 70 41 6e 64 43 6f 6e 74 72 6f 6c 41 6e 64 dex.=.ToCombinedMapAndControlAnd
9160 42 69 6e 64 69 6e 67 49 6e 64 65 78 28 6d 61 70 49 6e 64 65 78 2c 20 63 6f 6e 74 72 6f 6c 49 6e BindingIndex(mapIndex,.controlIn
9180 64 65 78 2c 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 dex,.bindingIndex);.............
91a0 20 20 20 20 20 76 61 72 20 62 69 6e 64 69 6e 67 53 74 61 74 65 50 74 72 20 3d 20 26 62 69 6e 64 .....var.bindingStatePtr.=.&bind
91c0 69 6e 67 53 74 61 74 65 73 5b 62 69 6e 64 69 6e 67 49 6e 64 65 78 5d 3b 0d 0a 20 20 20 20 20 20 ingStates[bindingIndex];........
91e0 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 69 6e 64 69 6e 67 53 74 61 74 65 50 74 72 2d 3e 77 ..........if.(bindingStatePtr->w
9200 61 6e 74 73 49 6e 69 74 69 61 6c 53 74 61 74 65 43 68 65 63 6b 29 0d 0a 20 20 20 20 20 20 20 20 antsInitialStateCheck)..........
9220 20 20 20 20 20 20 20 20 20 20 20 20 62 69 6e 64 69 6e 67 53 74 61 74 65 50 74 72 2d 3e 69 6e 69 ............bindingStatePtr->ini
9240 74 69 61 6c 53 74 61 74 65 43 68 65 63 6b 50 65 6e 64 69 6e 67 20 3d 20 66 61 6c 73 65 3b 0d 0a tialStateCheckPending.=.false;..
9260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6e 61 67 65 72 2e 52 65 6d 6f 76 65 53 74 ................manager.RemoveSt
9280 61 74 65 43 68 61 6e 67 65 4d 6f 6e 69 74 6f 72 28 63 6f 6e 74 72 6f 6c 73 5b 63 6f 6e 74 72 6f ateChangeMonitor(controls[contro
92a0 6c 49 6e 64 65 78 5d 2c 20 74 68 69 73 2c 20 6d 61 70 43 6f 6e 74 72 6f 6c 41 6e 64 42 69 6e 64 lIndex],.this,.mapControlAndBind
92c0 69 6e 67 49 6e 64 65 78 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 ingIndex);....................Se
92e0 74 43 6f 6e 74 72 6f 6c 45 6e 61 62 6c 65 64 28 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 2c 20 66 61 tControlEnabled(controlIndex,.fa
9300 6c 73 65 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 7d 0d lse);..............}..........}.
9320 0a 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 62 6f 6f 6c 20 49 73 43 6f 6e 74 72 6f ...........private.bool.IsContro
9340 6c 45 6e 61 62 6c 65 64 28 69 6e 74 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 29 0d 0a 20 20 20 20 lEnabled(int.controlIndex)......
9360 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 69 6e 74 49 6e 64 65 78 20 ....{..............var.intIndex.
9380 3d 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 2f 20 33 32 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 =.controlIndex./.32;............
93a0 20 20 76 61 72 20 69 6e 74 4d 61 73 6b 20 3d 20 31 20 3c 3c 20 28 63 6f 6e 74 72 6f 6c 49 6e 64 ..var.intMask.=.1.<<.(controlInd
93c0 65 78 20 25 20 33 32 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 65 ex.%.32);..............return.(e
93e0 6e 61 62 6c 65 64 43 6f 6e 74 72 6f 6c 73 5b 69 6e 74 49 6e 64 65 78 5d 20 26 20 69 6e 74 4d 61 nabledControls[intIndex].&.intMa
9400 73 6b 29 20 21 3d 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 sk).!=.0;..........}............
9420 70 72 69 76 61 74 65 20 76 6f 69 64 20 53 65 74 43 6f 6e 74 72 6f 6c 45 6e 61 62 6c 65 64 28 69 private.void.SetControlEnabled(i
9440 6e 74 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 2c 20 62 6f 6f 6c 20 73 74 61 74 65 29 0d 0a 20 20 nt.controlIndex,.bool.state)....
9460 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 69 6e 74 49 6e 64 65 ......{..............var.intInde
9480 78 20 3d 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 2f 20 33 32 3b 0d 0a 20 20 20 20 20 20 20 20 x.=.controlIndex./.32;..........
94a0 20 20 20 20 76 61 72 20 69 6e 74 4d 61 73 6b 20 3d 20 31 20 3c 3c 20 28 63 6f 6e 74 72 6f 6c 49 ....var.intMask.=.1.<<.(controlI
94c0 6e 64 65 78 20 25 20 33 32 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 ndex.%.32);................if.(s
94e0 74 61 74 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 61 62 6c 65 64 43 6f tate)..................enabledCo
9500 6e 74 72 6f 6c 73 5b 69 6e 74 49 6e 64 65 78 5d 20 7c 3d 20 69 6e 74 4d 61 73 6b 3b 0d 0a 20 20 ntrols[intIndex].|=.intMask;....
9520 20 20 20 20 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 ..........else..................
9540 65 6e 61 62 6c 65 64 43 6f 6e 74 72 6f 6c 73 5b 69 6e 74 49 6e 64 65 78 5d 20 26 3d 20 7e 69 6e enabledControls[intIndex].&=.~in
9560 74 4d 61 73 6b 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 72 69 tMask;..........}............pri
9580 76 61 74 65 20 76 6f 69 64 20 48 6f 6f 6b 4f 6e 42 65 66 6f 72 65 55 70 64 61 74 65 28 29 0d 0a vate.void.HookOnBeforeUpdate()..
95a0 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 6d 5f 4f 6e 42 ........{..............if.(m_OnB
95c0 65 66 6f 72 65 55 70 64 61 74 65 48 6f 6f 6b 65 64 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 eforeUpdateHooked)..............
95e0 20 20 20 20 72 65 74 75 72 6e 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d ....return;................if.(m
9600 5f 4f 6e 42 65 66 6f 72 65 55 70 64 61 74 65 44 65 6c 65 67 61 74 65 20 3d 3d 20 6e 75 6c 6c 29 _OnBeforeUpdateDelegate.==.null)
9620 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 4f 6e 42 65 66 6f 72 65 55 70 64 61 ..................m_OnBeforeUpda
9640 74 65 44 65 6c 65 67 61 74 65 20 3d 20 4f 6e 42 65 66 6f 72 65 49 6e 69 74 69 61 6c 55 70 64 61 teDelegate.=.OnBeforeInitialUpda
9660 74 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 70 75 74 53 79 73 74 65 6d 2e 73 5f 4d te;..............InputSystem.s_M
9680 61 6e 61 67 65 72 2e 6f 6e 42 65 66 6f 72 65 55 70 64 61 74 65 20 2b 3d 20 6d 5f 4f 6e 42 65 66 anager.onBeforeUpdate.+=.m_OnBef
96a0 6f 72 65 55 70 64 61 74 65 44 65 6c 65 67 61 74 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 oreUpdateDelegate;..............
96c0 6d 5f 4f 6e 42 65 66 6f 72 65 55 70 64 61 74 65 48 6f 6f 6b 65 64 20 3d 20 74 72 75 65 3b 0d 0a m_OnBeforeUpdateHooked.=.true;..
96e0 20 20 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 76 6f 69 ........}............private.voi
9700 64 20 55 6e 68 6f 6f 6b 4f 6e 42 65 66 6f 72 65 55 70 64 61 74 65 28 29 0d 0a 20 20 20 20 20 20 d.UnhookOnBeforeUpdate()........
9720 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 6d 5f 4f 6e 42 65 66 6f 72 65 ..{..............if.(!m_OnBefore
9740 55 70 64 61 74 65 48 6f 6f 6b 65 64 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 UpdateHooked)..................r
9760 65 74 75 72 6e 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 70 75 74 53 79 73 74 65 eturn;................InputSyste
9780 6d 2e 73 5f 4d 61 6e 61 67 65 72 2e 6f 6e 42 65 66 6f 72 65 55 70 64 61 74 65 20 2d 3d 20 6d 5f m.s_Manager.onBeforeUpdate.-=.m_
97a0 4f 6e 42 65 66 6f 72 65 55 70 64 61 74 65 44 65 6c 65 67 61 74 65 3b 0d 0a 20 20 20 20 20 20 20 OnBeforeUpdateDelegate;.........
97c0 20 20 20 20 20 6d 5f 4f 6e 42 65 66 6f 72 65 55 70 64 61 74 65 48 6f 6f 6b 65 64 20 3d 20 66 61 .....m_OnBeforeUpdateHooked.=.fa
97e0 6c 73 65 3b 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 20 57 65 lse;..........}............//.We
9800 20 68 6f 6f 6b 20 74 68 69 73 20 69 6e 74 6f 20 49 6e 70 75 74 4d 61 6e 61 67 65 72 2e 6f 6e 42 .hook.this.into.InputManager.onB
9820 65 66 6f 72 65 55 70 64 61 74 65 20 65 76 65 72 79 20 74 69 6d 65 20 61 63 74 69 6f 6e 73 20 61 eforeUpdate.every.time.actions.a
9840 72 65 20 65 6e 61 62 6c 65 64 20 61 6e 64 20 74 68 65 6e 20 74 61 6b 65 20 69 74 20 6f 66 66 0d re.enabled.and.then.take.it.off.
9860 0a 20 20 20 20 20 20 20 20 2f 2f 20 74 68 65 20 6c 69 73 74 20 61 66 74 65 72 20 74 68 65 20 66 .........//.the.list.after.the.f
9880 69 72 73 74 20 63 61 6c 6c 2e 20 49 6e 73 69 64 65 20 68 65 72 65 20 77 65 20 63 68 65 63 6b 20 irst.call..Inside.here.we.check.
98a0 77 68 65 74 68 65 72 20 61 6e 79 20 61 63 74 69 6f 6e 73 20 77 65 20 65 6e 61 62 6c 65 64 20 61 whether.any.actions.we.enabled.a
98c0 6c 72 65 61 64 79 20 68 61 76 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 6e 6f 6e 2d 64 65 66 61 lready.have..........//.non-defa
98e0 75 6c 74 20 73 74 61 74 65 20 6f 6e 20 62 6f 75 6e 64 20 63 6f 6e 74 72 6f 6c 73 2e 0d 0a 20 20 ult.state.on.bound.controls.....
9900 20 20 20 20 20 20 2f 2f 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 4e 4f 54 45 3a 20 57 65 20 64 6f ......//..........//.NOTE:.We.do
9920 20 74 68 69 73 20 61 73 20 61 20 63 61 6c 6c 62 61 63 6b 20 66 72 6f 6d 20 6f 6e 42 65 66 6f 72 .this.as.a.callback.from.onBefor
9940 65 55 70 64 61 74 65 20 72 61 74 68 65 72 20 74 68 61 6e 20 64 69 72 65 63 74 6c 79 20 77 68 65 eUpdate.rather.than.directly.whe
9960 6e 20 74 68 65 20 61 63 74 69 6f 6e 20 69 73 20 65 6e 61 62 6c 65 64 0d 0a 20 20 20 20 20 20 20 n.the.action.is.enabled.........
9980 20 2f 2f 20 20 20 20 20 20 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 74 68 65 20 63 61 6c .//.......to.ensure.that.the.cal
99a0 6c 62 61 63 6b 73 20 68 61 70 70 65 6e 20 64 75 72 69 6e 67 20 69 6e 70 75 74 20 70 72 6f 63 65 lbacks.happen.during.input.proce
99c0 73 73 69 6e 67 20 61 6e 64 20 6e 6f 74 20 72 61 6e 64 6f 6d 6c 79 20 66 72 6f 6d 20 77 68 65 72 ssing.and.not.randomly.from.wher
99e0 65 76 65 72 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 20 20 20 20 20 20 61 6e 20 61 63 74 69 6f 6e ever..........//.......an.action
9a00 20 68 61 70 70 65 6e 73 20 74 6f 20 62 65 20 65 6e 61 62 6c 65 64 2e 0d 0a 20 20 20 20 20 20 20 .happens.to.be.enabled..........
9a20 20 70 72 69 76 61 74 65 20 76 6f 69 64 20 4f 6e 42 65 66 6f 72 65 49 6e 69 74 69 61 6c 55 70 64 .private.void.OnBeforeInitialUpd
9a40 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 20 20 20 20 69 66 ate()..........{..............if
9a60 20 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 79 70 65 20 3d .(InputState.currentUpdateType.=
9a80 3d 20 49 6e 70 75 74 55 70 64 61 74 65 54 79 70 65 2e 42 65 66 6f 72 65 52 65 6e 64 65 72 29 0d =.InputUpdateType.BeforeRender).
9aa0 0a 20 20 20 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 .................return;........
9ac0 20 20 20 20 20 20 20 20 2f 2f 20 52 65 6d 6f 76 65 20 75 73 20 66 72 6f 6d 20 74 68 65 20 63 61 ........//.Remove.us.from.the.ca
9ae0 6c 6c 62 61 63 6b 20 61 73 20 74 68 65 20 70 72 6f 63 65 73 73 69 6e 67 20 77 65 27 72 65 20 64 llback.as.the.processing.we're.d
9b00 6f 69 6e 67 20 68 65 72 65 20 69 73 20 61 20 6f 6e 65 2d 74 69 6d 65 20 74 68 69 6e 67 2e 0d 0a oing.here.is.a.one-time.thing...
9b20 20 20 20 20 20 20 20 20 20 20 20 20 55 6e 68 6f 6f 6b 4f 6e 42 65 66 6f 72 65 55 70 64 61 74 65 ............UnhookOnBeforeUpdate
9b40 28 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 50 72 6f 66 69 6c 65 72 2e 42 65 67 69 ();................Profiler.Begi
9b60 6e 53 61 6d 70 6c 65 28 22 49 6e 69 74 69 61 6c 41 63 74 69 6f 6e 53 74 61 74 65 43 68 65 63 6b nSample("InitialActionStateCheck
9b80 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 54 68 65 20 63 6f 6d 70 6f 73 ");................//.The.compos
9ba0 69 74 65 20 6c 6f 67 69 63 20 72 65 6c 69 65 73 20 6f 6e 20 74 68 65 20 65 76 65 6e 74 20 49 44 ite.logic.relies.on.the.event.ID
9bc0 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 20 77 68 65 74 68 65 72 20 61 20 63 6f 6d 70 6f 73 69 74 .to.determine.whether.a.composit
9be0 65 20 62 69 6e 64 69 6e 67 20 73 68 6f 75 6c 64 20 74 72 69 67 67 65 72 20 61 67 61 69 6e 0d 0a e.binding.should.trigger.again..
9c00 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 77 68 65 6e 20 61 6c 72 65 61 64 79 20 74 72 69 67 ............//.when.already.trig
9c20 67 65 72 65 64 2e 20 4d 61 6b 65 20 75 70 20 61 20 66 61 6b 65 20 65 76 65 6e 74 20 77 69 74 68 gered..Make.up.a.fake.event.with
9c40 20 6a 75 73 74 20 61 6e 20 49 44 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 69 6e .just.an.ID...............var.in
9c60 70 75 74 45 76 65 6e 74 20 3d 20 6e 65 77 20 49 6e 70 75 74 45 76 65 6e 74 20 7b 65 76 65 6e 74 putEvent.=.new.InputEvent.{event
9c80 49 64 20 3d 20 31 32 33 34 7d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 65 76 65 Id.=.1234};..............var.eve
9ca0 6e 74 50 74 72 20 3d 20 6e 65 77 20 49 6e 70 75 74 45 76 65 6e 74 50 74 72 28 26 69 6e 70 75 74 ntPtr.=.new.InputEventPtr(&input
9cc0 45 76 65 6e 74 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 55 73 65 20 63 75 Event);................//.Use.cu
9ce0 72 72 65 6e 74 20 74 69 6d 65 20 61 73 20 74 69 6d 65 20 6f 66 20 63 6f 6e 74 72 6f 6c 20 73 74 rrent.time.as.time.of.control.st
9d00 61 74 65 20 63 68 61 6e 67 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 74 69 6d ate.change...............var.tim
9d20 65 20 3d 20 49 6e 70 75 74 52 75 6e 74 69 6d 65 2e 73 5f 49 6e 73 74 61 6e 63 65 2e 63 75 72 72 e.=.InputRuntime.s_Instance.curr
9d40 65 6e 74 54 69 6d 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 2f 52 45 56 49 entTime;................////REVI
9d60 45 57 3a 20 73 68 6f 75 6c 64 20 77 65 20 73 74 6f 72 65 20 74 68 69 73 20 64 61 74 61 20 69 6e EW:.should.we.store.this.data.in
9d80 20 61 20 73 65 70 61 72 61 74 65 20 70 6c 61 63 65 20 72 61 74 68 65 72 20 74 68 61 6e 20 67 6f .a.separate.place.rather.than.go
9da0 20 74 68 72 6f 75 67 68 20 61 6c 6c 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 3f 0d 0a 0d 0a 20 .through.all.bindingStates?.....
9dc0 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 47 6f 20 74 68 72 6f 75 67 68 20 61 6c 6c 20 62 69 6e ...........//.Go.through.all.bin
9de0 64 69 6e 67 20 73 74 61 74 65 73 20 61 6e 64 20 66 6f 72 20 65 76 65 72 79 20 62 69 6e 64 69 6e ding.states.and.for.every.bindin
9e00 67 20 74 68 61 74 20 6e 65 65 64 73 20 61 6e 20 69 6e 69 74 69 61 6c 20 73 74 61 74 65 20 63 68 g.that.needs.an.initial.state.ch
9e20 65 63 6b 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 67 6f 20 74 68 72 6f 75 67 68 20 eck,..............//.go.through.
9e40 61 6c 6c 20 62 6f 75 6e 64 20 63 6f 6e 74 72 6f 6c 73 20 61 6e 64 20 66 6f 72 20 65 61 63 68 20 all.bound.controls.and.for.each.
9e60 6f 6e 65 20 74 68 61 74 20 69 73 6e 27 74 20 69 6e 20 69 74 73 20 64 65 66 61 75 6c 74 20 73 74 one.that.isn't.in.its.default.st
9e80 61 74 65 2c 20 70 72 65 74 65 6e 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 74 68 61 ate,.pretend..............//.tha
9ea0 74 20 74 68 65 20 63 6f 6e 74 72 6f 6c 20 6a 75 73 74 20 67 6f 74 20 61 63 74 75 61 74 65 64 2e t.the.control.just.got.actuated.
9ec0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 76 61 72 20 62 69 6e 64 69 6e 67 49 6e ..............for.(var.bindingIn
9ee0 64 65 78 20 3d 20 30 3b 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 42 69 6e dex.=.0;.bindingIndex.<.totalBin
9f00 64 69 6e 67 43 6f 75 6e 74 3b 20 2b 2b 62 69 6e 64 69 6e 67 49 6e 64 65 78 29 0d 0a 20 20 20 20 dingCount;.++bindingIndex)......
9f20 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 21 ........{..................if.(!
9f40 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 62 69 6e 64 69 6e 67 49 6e 64 65 78 5d 2e 69 6e 69 74 bindingStates[bindingIndex].init
9f60 69 61 6c 53 74 61 74 65 43 68 65 63 6b 50 65 6e 64 69 6e 67 29 0d 0a 20 20 20 20 20 20 20 20 20 ialStateCheckPending)...........
9f80 20 20 20 20 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 ...........continue;............
9fa0 20 20 20 20 20 20 20 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 62 69 6e 64 69 6e 67 49 6e 64 ........bindingStates[bindingInd
9fc0 65 78 5d 2e 69 6e 69 74 69 61 6c 53 74 61 74 65 43 68 65 63 6b 50 65 6e 64 69 6e 67 20 3d 20 66 ex].initialStateCheckPending.=.f
9fe0 61 6c 73 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d 61 70 alse;....................var.map
a000 49 6e 64 65 78 20 3d 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 62 69 6e 64 69 6e 67 49 6e 64 Index.=.bindingStates[bindingInd
a020 65 78 5d 2e 6d 61 70 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 ex].mapIndex;..................v
a040 61 72 20 63 6f 6e 74 72 6f 6c 53 74 61 72 74 49 6e 64 65 78 20 3d 20 62 69 6e 64 69 6e 67 53 74 ar.controlStartIndex.=.bindingSt
a060 61 74 65 73 5b 62 69 6e 64 69 6e 67 49 6e 64 65 78 5d 2e 63 6f 6e 74 72 6f 6c 53 74 61 72 74 49 ates[bindingIndex].controlStartI
a080 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 6f 6e 74 72 ndex;..................var.contr
a0a0 6f 6c 43 6f 75 6e 74 20 3d 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 62 69 6e 64 69 6e 67 49 olCount.=.bindingStates[bindingI
a0c0 6e 64 65 78 5d 2e 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 ndex].controlCount;.............
a0e0 20 20 20 20 20 20 20 66 6f 72 20 28 76 61 72 20 6e 20 3d 20 30 3b 20 6e 20 3c 20 63 6f 6e 74 72 .......for.(var.n.=.0;.n.<.contr
a100 6f 6c 43 6f 75 6e 74 3b 20 2b 2b 6e 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b olCount;.++n)..................{
a120 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 63 6f 6e 74 72 6f ......................var.contro
a140 6c 49 6e 64 65 78 20 3d 20 63 6f 6e 74 72 6f 6c 53 74 61 72 74 49 6e 64 65 78 20 2b 20 6e 3b 0d lIndex.=.controlStartIndex.+.n;.
a160 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 63 6f 6e 74 72 6f 6c .....................var.control
a180 20 3d 20 63 6f 6e 74 72 6f 6c 73 5b 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 5d 3b 0d 0a 0d 0a 20 20 .=.controls[controlIndex];......
a1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 63 6f 6e 74 72 6f 6c 2e 43 ..................if.(!control.C
a1c0 68 65 63 6b 53 74 61 74 65 49 73 41 74 44 65 66 61 75 6c 74 28 29 29 0d 0a 20 20 20 20 20 20 20 heckStateIsAtDefault()).........
a1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 6f 63 65 73 73 43 6f 6e 74 72 6f 6c 53 .................ProcessControlS
a200 74 61 74 65 43 68 61 6e 67 65 28 6d 61 70 49 6e 64 65 78 2c 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 tateChange(mapIndex,.controlInde
a220 78 2c 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 2c 20 74 69 6d 65 2c 20 65 76 65 6e 74 50 74 72 29 x,.bindingIndex,.time,.eventPtr)
a240 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 ;..................}............
a260 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 50 72 6f 66 69 6c 65 72 2e 45 6e 64 53 ..}................Profiler.EndS
a280 61 6d 70 6c 65 28 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 2f ample();..........}............/
a2a0 2f 20 43 61 6c 6c 65 64 20 66 72 6f 6d 20 49 6e 70 75 74 4d 61 6e 61 67 65 72 20 77 68 65 6e 20 /.Called.from.InputManager.when.
a2c0 6f 6e 65 20 6f 66 20 6f 75 72 20 73 74 61 74 65 20 63 68 61 6e 67 65 20 6d 6f 6e 69 74 6f 72 73 one.of.our.state.change.monitors
a2e0 20 68 61 73 20 66 69 72 65 64 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 54 65 6c 6c 73 20 75 73 .has.fired...........//.Tells.us
a300 20 74 68 65 20 74 69 6d 65 20 6f 66 20 74 68 65 20 63 68 61 6e 67 65 20 2a 61 63 63 6f 72 64 69 .the.time.of.the.change.*accordi
a320 6e 67 20 74 6f 20 74 68 65 20 73 74 61 74 65 20 65 76 65 6e 74 73 20 63 6f 6d 69 6e 67 20 69 6e ng.to.the.state.events.coming.in
a340 2a 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 41 6c 73 6f 20 74 65 6c 6c 73 20 75 73 20 77 68 69 *...........//.Also.tells.us.whi
a360 63 68 20 63 6f 6e 74 72 6f 6c 20 6f 66 20 74 68 65 20 63 6f 6e 74 72 6f 6c 73 20 77 65 20 61 72 ch.control.of.the.controls.we.ar
a380 65 20 62 69 6e 64 69 6e 67 20 74 6f 20 74 72 69 67 67 65 72 65 64 20 74 68 65 0d 0a 20 20 20 20 e.binding.to.triggered.the......
a3a0 20 20 20 20 2f 2f 20 63 68 61 6e 67 65 20 61 6e 64 20 72 65 6c 61 79 73 20 74 68 65 20 62 69 6e ....//.change.and.relays.the.bin
a3c0 64 69 6e 67 20 69 6e 64 65 78 20 77 65 20 67 61 76 65 20 69 74 20 77 68 65 6e 20 77 65 20 63 61 ding.index.we.gave.it.when.we.ca
a3e0 6c 6c 65 64 20 41 64 64 43 68 61 6e 67 65 4d 6f 6e 69 74 6f 72 2e 0d 0a 20 20 20 20 20 20 20 20 lled.AddChangeMonitor...........
a400 76 6f 69 64 20 49 49 6e 70 75 74 53 74 61 74 65 43 68 61 6e 67 65 4d 6f 6e 69 74 6f 72 2e 4e 6f void.IInputStateChangeMonitor.No
a420 74 69 66 79 43 6f 6e 74 72 6f 6c 53 74 61 74 65 43 68 61 6e 67 65 64 28 49 6e 70 75 74 43 6f 6e tifyControlStateChanged(InputCon
a440 74 72 6f 6c 20 63 6f 6e 74 72 6f 6c 2c 20 64 6f 75 62 6c 65 20 74 69 6d 65 2c 0d 0a 20 20 20 20 trol.control,.double.time,......
a460 20 20 20 20 20 20 20 20 49 6e 70 75 74 45 76 65 6e 74 50 74 72 20 65 76 65 6e 74 50 74 72 2c 20 ........InputEventPtr.eventPtr,.
a480 6c 6f 6e 67 20 6d 61 70 43 6f 6e 74 72 6f 6c 41 6e 64 42 69 6e 64 69 6e 67 49 6e 64 65 78 29 0d long.mapControlAndBindingIndex).
a4a0 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 69 66 20 55 4e 49 54 .........{..............#if.UNIT
a4c0 59 5f 45 44 49 54 4f 52 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 49 6e 70 75 74 53 Y_EDITOR..............if.(InputS
a4e0 74 61 74 65 2e 63 75 72 72 65 6e 74 55 70 64 61 74 65 54 79 70 65 20 3d 3d 20 49 6e 70 75 74 55 tate.currentUpdateType.==.InputU
a500 70 64 61 74 65 54 79 70 65 2e 45 64 69 74 6f 72 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 pdateType.Editor)...............
a520 20 20 20 72 65 74 75 72 6e 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 65 6e 64 69 66 0d 0a ...return;..............#endif..
a540 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 53 70 6c 69 74 55 70 4d 61 70 41 6e 64 43 6f 6e 74 72 ..............SplitUpMapAndContr
a560 6f 6c 41 6e 64 42 69 6e 64 69 6e 67 49 6e 64 65 78 28 6d 61 70 43 6f 6e 74 72 6f 6c 41 6e 64 42 olAndBindingIndex(mapControlAndB
a580 69 6e 64 69 6e 67 49 6e 64 65 78 2c 20 6f 75 74 20 76 61 72 20 6d 61 70 49 6e 64 65 78 2c 20 6f indingIndex,.out.var.mapIndex,.o
a5a0 75 74 20 76 61 72 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 2c 20 6f 75 74 20 76 61 72 20 62 69 6e ut.var.controlIndex,.out.var.bin
a5c0 64 69 6e 67 49 6e 64 65 78 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 50 72 6f 63 65 73 73 dingIndex);..............Process
a5e0 43 6f 6e 74 72 6f 6c 53 74 61 74 65 43 68 61 6e 67 65 28 6d 61 70 49 6e 64 65 78 2c 20 63 6f 6e ControlStateChange(mapIndex,.con
a600 74 72 6f 6c 49 6e 64 65 78 2c 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 2c 20 74 69 6d 65 2c 20 65 trolIndex,.bindingIndex,.time,.e
a620 76 65 6e 74 50 74 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 ventPtr);..........}............
a640 76 6f 69 64 20 49 49 6e 70 75 74 53 74 61 74 65 43 68 61 6e 67 65 4d 6f 6e 69 74 6f 72 2e 4e 6f void.IInputStateChangeMonitor.No
a660 74 69 66 79 54 69 6d 65 72 45 78 70 69 72 65 64 28 49 6e 70 75 74 43 6f 6e 74 72 6f 6c 20 63 6f tifyTimerExpired(InputControl.co
a680 6e 74 72 6f 6c 2c 20 64 6f 75 62 6c 65 20 74 69 6d 65 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ntrol,.double.time,.............
a6a0 20 6c 6f 6e 67 20 6d 61 70 43 6f 6e 74 72 6f 6c 41 6e 64 42 69 6e 64 69 6e 67 49 6e 64 65 78 2c .long.mapControlAndBindingIndex,
a6c0 20 69 6e 74 20 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 29 0d 0a 20 20 20 20 20 20 20 20 .int.interactionIndex)..........
a6e0 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 53 70 6c 69 74 55 70 4d 61 70 41 6e 64 43 6f 6e 74 {..............SplitUpMapAndCont
a700 72 6f 6c 41 6e 64 42 69 6e 64 69 6e 67 49 6e 64 65 78 28 6d 61 70 43 6f 6e 74 72 6f 6c 41 6e 64 rolAndBindingIndex(mapControlAnd
a720 42 69 6e 64 69 6e 67 49 6e 64 65 78 2c 20 6f 75 74 20 76 61 72 20 6d 61 70 49 6e 64 65 78 2c 20 BindingIndex,.out.var.mapIndex,.
a740 6f 75 74 20 76 61 72 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 2c 20 6f 75 74 20 76 61 72 20 62 69 out.var.controlIndex,.out.var.bi
a760 6e 64 69 6e 67 49 6e 64 65 78 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 50 72 6f 63 65 73 ndingIndex);..............Proces
a780 73 54 69 6d 65 6f 75 74 28 74 69 6d 65 2c 20 6d 61 70 49 6e 64 65 78 2c 20 63 6f 6e 74 72 6f 6c sTimeout(time,.mapIndex,.control
a7a0 49 6e 64 65 78 2c 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 2c 20 69 6e 74 65 72 61 63 74 69 6f 6e Index,.bindingIndex,.interaction
a7c0 49 6e 64 65 78 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 2f 2f Index);..........}............//
a7e0 20 57 65 20 6d 61 6e 67 6c 65 20 74 68 65 20 76 61 72 69 6f 75 73 20 69 6e 64 69 63 65 73 20 77 .We.mangle.the.various.indices.w
a800 65 20 75 73 65 20 69 6e 74 6f 20 61 20 73 69 6e 67 6c 65 20 6c 6f 6e 67 20 66 6f 72 20 61 73 73 e.use.into.a.single.long.for.ass
a820 6f 63 69 61 74 69 6f 6e 20 77 69 74 68 20 73 74 61 74 65 20 63 68 61 6e 67 65 0d 0a 20 20 20 20 ociation.with.state.change......
a840 20 20 20 20 2f 2f 20 6d 6f 6e 69 74 6f 72 73 2e 20 57 68 69 6c 65 20 77 65 20 63 6f 75 6c 64 20 ....//.monitors..While.we.could.
a860 6c 6f 6f 6b 20 75 70 20 6d 61 70 20 61 6e 64 20 62 69 6e 64 69 6e 67 20 69 6e 64 69 63 65 73 20 look.up.map.and.binding.indices.
a880 66 72 6f 6d 20 63 6f 6e 74 72 6f 6c 20 69 6e 64 69 63 65 73 2c 20 6b 65 65 70 69 6e 67 0d 0a 20 from.control.indices,.keeping...
a8a0 20 20 20 20 20 20 20 2f 2f 20 61 6c 6c 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 74 6f .......//.all.the.information.to
a8c0 67 65 74 68 65 72 20 61 76 6f 69 64 73 20 68 61 76 69 6e 67 20 74 6f 20 75 6e 6e 65 63 65 73 73 gether.avoids.having.to.unnecess
a8e0 61 72 69 6c 79 20 6a 75 6d 70 20 61 72 6f 75 6e 64 20 69 6e 20 6d 65 6d 6f 72 79 20 74 6f 20 67 arily.jump.around.in.memory.to.g
a900 72 61 62 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 74 68 65 20 76 61 72 69 6f 75 73 20 70 69 65 63 rab..........//.the.various.piec
a920 65 73 20 6f 66 20 64 61 74 61 2e 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 73 es.of.data.............private.s
a940 74 61 74 69 63 20 6c 6f 6e 67 20 54 6f 43 6f 6d 62 69 6e 65 64 4d 61 70 41 6e 64 43 6f 6e 74 72 tatic.long.ToCombinedMapAndContr
a960 6f 6c 41 6e 64 42 69 6e 64 69 6e 67 49 6e 64 65 78 28 69 6e 74 20 6d 61 70 49 6e 64 65 78 2c 20 olAndBindingIndex(int.mapIndex,.
a980 69 6e 74 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 2c 20 69 6e 74 20 62 69 6e 64 69 6e 67 49 6e 64 int.controlIndex,.int.bindingInd
a9a0 65 78 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 76 61 72 20 ex)..........{..............var.
a9c0 72 65 73 75 6c 74 20 3d 20 28 6c 6f 6e 67 29 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 3b 0d 0a 20 20 result.=.(long)controlIndex;....
a9e0 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 20 7c 3d 20 28 6c 6f 6e 67 29 62 69 6e 64 69 6e ..........result.|=.(long)bindin
aa00 67 49 6e 64 65 78 20 3c 3c 20 33 32 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c gIndex.<<.32;..............resul
aa20 74 20 7c 3d 20 28 6c 6f 6e 67 29 6d 61 70 49 6e 64 65 78 20 3c 3c 20 34 38 3b 0d 0a 20 20 20 20 t.|=.(long)mapIndex.<<.48;......
aa40 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 72 65 73 75 6c 74 3b 0d 0a 20 20 20 20 20 20 20 20 ........return.result;..........
aa60 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 76 6f 69 64 }............private.static.void
aa80 20 53 70 6c 69 74 55 70 4d 61 70 41 6e 64 43 6f 6e 74 72 6f 6c 41 6e 64 42 69 6e 64 69 6e 67 49 .SplitUpMapAndControlAndBindingI
aaa0 6e 64 65 78 28 6c 6f 6e 67 20 6d 61 70 43 6f 6e 74 72 6f 6c 41 6e 64 42 69 6e 64 69 6e 67 49 6e ndex(long.mapControlAndBindingIn
aac0 64 65 78 2c 20 6f 75 74 20 69 6e 74 20 6d 61 70 49 6e 64 65 78 2c 0d 0a 20 20 20 20 20 20 20 20 dex,.out.int.mapIndex,..........
aae0 20 20 20 20 6f 75 74 20 69 6e 74 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 2c 20 6f 75 74 20 69 6e ....out.int.controlIndex,.out.in
ab00 74 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 t.bindingIndex)..........{......
ab20 20 20 20 20 20 20 20 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3d 20 28 69 6e 74 29 28 6d 61 70 ........controlIndex.=.(int)(map
ab40 43 6f 6e 74 72 6f 6c 41 6e 64 42 69 6e 64 69 6e 67 49 6e 64 65 78 20 26 20 30 78 66 66 66 66 66 ControlAndBindingIndex.&.0xfffff
ab60 66 66 66 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 20 fff);..............bindingIndex.
ab80 3d 20 28 69 6e 74 29 28 28 6d 61 70 43 6f 6e 74 72 6f 6c 41 6e 64 42 69 6e 64 69 6e 67 49 6e 64 =.(int)((mapControlAndBindingInd
aba0 65 78 20 3e 3e 20 33 32 29 20 26 20 30 78 66 66 66 66 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 ex.>>.32).&.0xffff);............
abc0 20 20 6d 61 70 49 6e 64 65 78 20 3d 20 28 69 6e 74 29 28 6d 61 70 43 6f 6e 74 72 6f 6c 41 6e 64 ..mapIndex.=.(int)(mapControlAnd
abe0 42 69 6e 64 69 6e 67 49 6e 64 65 78 20 3e 3e 20 34 38 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d BindingIndex.>>.48);..........}.
ac00 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 20 ...........///.<summary>........
ac20 20 20 2f 2f 2f 20 50 72 6f 63 65 73 73 20 61 20 73 74 61 74 65 20 63 68 61 6e 67 65 20 74 68 61 ..///.Process.a.state.change.tha
ac40 74 20 68 61 73 20 68 61 70 70 65 6e 65 64 20 69 6e 20 6f 6e 65 20 6f 66 20 74 68 65 20 63 6f 6e t.has.happened.in.one.of.the.con
ac60 74 72 6f 6c 73 20 61 74 74 61 63 68 65 64 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 74 6f 20 74 trols.attached..........///.to.t
ac80 68 69 73 20 61 63 74 69 6f 6e 20 6d 61 70 20 73 74 61 74 65 2e 0d 0a 20 20 20 20 20 20 20 20 2f his.action.map.state.........../
aca0 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 70 61 72 61 //.</summary>..........///.<para
acc0 6d 20 6e 61 6d 65 3d 22 6d 61 70 49 6e 64 65 78 22 3e 49 6e 64 65 78 20 6f 66 20 74 68 65 20 61 m.name="mapIndex">Index.of.the.a
ace0 63 74 69 6f 6e 20 6d 61 70 20 74 6f 20 77 68 69 63 68 20 74 68 65 20 62 69 6e 64 69 6e 67 20 62 ction.map.to.which.the.binding.b
ad00 65 6c 6f 6e 67 73 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 elongs.</param>..........///.<pa
ad20 72 61 6d 20 6e 61 6d 65 3d 22 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 22 3e 49 6e 64 65 78 20 6f 66 ram.name="controlIndex">Index.of
ad40 20 74 68 65 20 63 6f 6e 74 72 6f 6c 20 74 68 61 74 20 63 68 61 6e 67 65 64 20 73 74 61 74 65 2e .the.control.that.changed.state.
ad60 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d </param>..........///.<param.nam
ad80 65 3d 22 62 69 6e 64 69 6e 67 49 6e 64 65 78 22 3e 49 6e 64 65 78 20 6f 66 20 74 68 65 20 62 69 e="bindingIndex">Index.of.the.bi
ada0 6e 64 69 6e 67 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 65 20 67 69 76 65 6e 20 nding.associated.with.the.given.
adc0 63 6f 6e 74 72 6f 6c 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 control.</param>..........///.<p
ade0 61 72 61 6d 20 6e 61 6d 65 3d 22 74 69 6d 65 22 3e 54 68 65 20 74 69 6d 65 73 74 61 6d 70 20 61 aram.name="time">The.timestamp.a
ae00 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 65 20 73 74 61 74 65 20 63 68 61 6e 67 65 20 ssociated.with.the.state.change.
ae20 28 63 6f 6d 65 73 20 66 72 6f 6d 20 74 68 65 20 73 74 61 74 65 20 63 68 61 6e 67 65 20 65 76 65 (comes.from.the.state.change.eve
ae40 6e 74 29 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d nt).</param>..........///.<param
ae60 20 6e 61 6d 65 3d 22 65 76 65 6e 74 50 74 72 22 3e 45 76 65 6e 74 20 28 69 66 20 61 6e 79 29 20 .name="eventPtr">Event.(if.any).
ae80 74 68 61 74 20 74 72 69 67 67 65 72 65 64 20 74 68 65 20 73 74 61 74 65 20 63 68 61 6e 67 65 2e that.triggered.the.state.change.
aea0 3c 2f 70 61 72 61 6d 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 </param>..........///.<remarks>.
aec0 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 68 69 73 20 69 73 20 77 68 65 72 65 20 77 65 20 65 6e .........///.This.is.where.we.en
aee0 64 20 75 70 20 69 66 20 6f 6e 65 20 6f 66 20 74 68 65 20 73 74 61 74 65 20 6d 6f 6e 69 74 6f 72 d.up.if.one.of.the.state.monitor
af00 73 20 77 65 27 76 65 20 70 75 74 20 69 6e 20 74 68 65 20 73 79 73 74 65 6d 20 68 61 73 20 74 72 s.we've.put.in.the.system.has.tr
af20 69 67 67 65 72 65 64 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 46 72 6f 6d 20 68 65 72 65 20 iggered...........///.From.here.
af40 77 65 20 67 6f 20 62 61 63 6b 20 74 6f 20 74 68 65 20 61 73 73 6f 63 69 61 74 65 64 20 62 69 6e we.go.back.to.the.associated.bin
af60 64 69 6e 67 20 61 6e 64 20 74 68 65 6e 20 6c 65 74 20 69 74 20 66 69 67 75 72 65 20 6f 75 74 20 ding.and.then.let.it.figure.out.
af80 77 68 61 74 20 74 68 65 20 73 74 61 74 65 20 63 68 61 6e 67 65 0d 0a 20 20 20 20 20 20 20 20 2f what.the.state.change........../
afa0 2f 2f 20 6d 65 61 6e 73 20 66 6f 72 20 69 74 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 //.means.for.it...........///...
afc0 20 20 20 20 20 20 20 2f 2f 2f 20 4e 6f 74 65 20 74 68 61 74 20 77 65 20 67 65 74 20 63 61 6c 6c .......///.Note.that.we.get.call
afe0 65 64 20 66 6f 72 20 61 6e 79 20 63 68 61 6e 67 65 20 69 6e 20 73 74 61 74 65 20 65 76 65 6e 20 ed.for.any.change.in.state.even.
b000 69 66 20 74 68 65 20 63 68 61 6e 67 65 20 69 6e 20 73 74 61 74 65 20 64 6f 65 73 20 6e 6f 74 20 if.the.change.in.state.does.not.
b020 61 63 74 75 61 6c 6c 79 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 72 65 73 75 6c 74 20 69 6e 20 actually..........///.result.in.
b040 61 20 63 68 61 6e 67 65 20 6f 66 20 76 61 6c 75 65 20 6f 6e 20 74 68 65 20 72 65 73 70 65 63 74 a.change.of.value.on.the.respect
b060 69 76 65 20 63 6f 6e 74 72 6f 6c 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 6d 61 ive.control...........///.</rema
b080 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 76 6f 69 64 20 50 72 6f 63 65 rks>..........private.void.Proce
b0a0 73 73 43 6f 6e 74 72 6f 6c 53 74 61 74 65 43 68 61 6e 67 65 28 69 6e 74 20 6d 61 70 49 6e 64 65 ssControlStateChange(int.mapInde
b0c0 78 2c 20 69 6e 74 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 2c 20 69 6e 74 20 62 69 6e 64 69 6e 67 x,.int.controlIndex,.int.binding
b0e0 49 6e 64 65 78 2c 20 64 6f 75 62 6c 65 20 74 69 6d 65 2c 20 49 6e 70 75 74 45 76 65 6e 74 50 74 Index,.double.time,.InputEventPt
b100 72 20 65 76 65 6e 74 50 74 72 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 r.eventPtr)..........{..........
b120 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 6d 61 70 49 6e 64 65 78 20 3e 3d 20 30 20 26 ....Debug.Assert(mapIndex.>=.0.&
b140 26 20 6d 61 70 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 4d 61 70 43 6f 75 6e 74 2c 20 22 4d 61 70 &.mapIndex.<.totalMapCount,."Map
b160 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 .index.out.of.range");..........
b180 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3e 3d ....Debug.Assert(controlIndex.>=
b1a0 20 30 20 26 26 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 43 6f 6e 74 72 6f .0.&&.controlIndex.<.totalContro
b1c0 6c 43 6f 75 6e 74 2c 20 22 43 6f 6e 74 72 6f 6c 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 72 61 lCount,."Control.index.out.of.ra
b1e0 6e 67 65 22 29 3b 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 74 nge");..............Debug.Assert
b200 28 62 69 6e 64 69 6e 67 49 6e 64 65 78 20 3e 3d 20 30 20 26 26 20 62 69 6e 64 69 6e 67 49 6e 64 (bindingIndex.>=.0.&&.bindingInd
b220 65 78 20 3c 20 74 6f 74 61 6c 42 69 6e 64 69 6e 67 43 6f 75 6e 74 2c 20 22 42 69 6e 64 69 6e 67 ex.<.totalBindingCount,."Binding
b240 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 .index.out.of.range");..........
b260 20 20 20 20 20 20 76 61 72 20 62 69 6e 64 69 6e 67 53 74 61 74 65 50 74 72 20 3d 20 26 62 69 6e ......var.bindingStatePtr.=.&bin
b280 64 69 6e 67 53 74 61 74 65 73 5b 62 69 6e 64 69 6e 67 49 6e 64 65 78 5d 3b 0d 0a 20 20 20 20 20 dingStates[bindingIndex];.......
b2a0 20 20 20 20 20 20 20 76 61 72 20 61 63 74 69 6f 6e 49 6e 64 65 78 20 3d 20 62 69 6e 64 69 6e 67 .......var.actionIndex.=.binding
b2c0 53 74 61 74 65 50 74 72 2d 3e 61 63 74 69 6f 6e 49 6e 64 65 78 3b 0d 0a 0d 0a 20 20 20 20 20 20 StatePtr->actionIndex;..........
b2e0 20 20 20 20 20 20 76 61 72 20 74 72 69 67 67 65 72 20 3d 20 6e 65 77 20 54 72 69 67 67 65 72 53 ......var.trigger.=.new.TriggerS
b300 74 61 74 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 20 tate..............{.............
b320 20 20 20 20 20 6d 61 70 49 6e 64 65 78 20 3d 20 6d 61 70 49 6e 64 65 78 2c 0d 0a 20 20 20 20 20 .....mapIndex.=.mapIndex,.......
b340 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3d 20 63 6f 6e 74 72 6f ...........controlIndex.=.contro
b360 6c 49 6e 64 65 78 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 69 6e 64 69 6e 67 lIndex,..................binding
b380 49 6e 64 65 78 20 3d 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 2c 0d 0a 20 20 20 20 20 20 20 20 20 Index.=.bindingIndex,...........
b3a0 20 20 20 20 20 20 20 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 20 3d 20 6b 49 6e 76 61 6c .......interactionIndex.=.kInval
b3c0 69 64 49 6e 64 65 78 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 69 6d 65 20 3d idIndex,..................time.=
b3e0 20 74 69 6d 65 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 72 74 54 69 6d .time,..................startTim
b400 65 20 3d 20 74 69 6d 65 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 73 50 61 73 e.=.time,..................isPas
b420 73 54 68 72 6f 75 67 68 20 3d 20 61 63 74 69 6f 6e 49 6e 64 65 78 20 21 3d 20 6b 49 6e 76 61 6c sThrough.=.actionIndex.!=.kInval
b440 69 64 49 6e 64 65 78 20 26 26 20 61 63 74 69 6f 6e 53 74 61 74 65 73 5b 61 63 74 69 6f 6e 49 6e idIndex.&&.actionStates[actionIn
b460 64 65 78 5d 2e 69 73 50 61 73 73 54 68 72 6f 75 67 68 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 dex].isPassThrough,.............
b480 20 7d 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 66 20 77 65 20 68 61 76 65 .};................//.If.we.have
b4a0 20 70 65 6e 64 69 6e 67 20 69 6e 69 74 69 61 6c 20 73 74 61 74 65 20 63 68 65 63 6b 73 20 74 68 .pending.initial.state.checks.th
b4c0 61 74 20 77 69 6c 6c 20 72 75 6e 20 69 6e 20 74 68 65 20 6e 65 78 74 20 75 70 64 61 74 65 2c 0d at.will.run.in.the.next.update,.
b4e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 66 6f 72 63 65 2d 72 65 73 65 74 20 74 68 65 20 .............//.force-reset.the.
b500 66 6c 61 67 20 6f 6e 20 74 68 65 20 63 6f 6e 74 72 6f 6c 20 74 68 61 74 20 6a 75 73 74 20 74 72 flag.on.the.control.that.just.tr
b520 69 67 67 65 72 65 64 2e 20 54 68 69 73 20 65 6e 73 75 72 65 73 20 74 68 61 74 20 77 65 27 72 65 iggered..This.ensures.that.we're
b540 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 6e 6f 74 20 74 72 69 67 67 65 72 69 6e 67 20 ..............//.not.triggering.
b560 61 6e 20 61 63 74 69 6f 6e 20 74 77 69 63 65 20 66 72 6f 6d 20 74 68 65 20 73 61 6d 65 20 73 74 an.action.twice.from.the.same.st
b580 61 74 65 20 63 68 61 6e 67 65 20 69 6e 20 63 61 73 65 20 74 68 65 20 69 6e 69 74 69 61 6c 20 73 ate.change.in.case.the.initial.s
b5a0 74 61 74 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 63 68 65 63 6b 20 68 61 70 70 65 tate..............//.check.happe
b5c0 6e 73 20 6c 61 74 65 72 20 28 73 65 65 20 41 63 74 69 6f 6e 73 5f 56 61 6c 75 65 41 63 74 69 6f ns.later.(see.Actions_ValueActio
b5e0 6e 73 45 6e 61 62 6c 65 64 49 6e 4f 6e 45 76 65 6e 74 5f 44 6f 4e 6f 74 52 65 61 63 74 54 6f 43 nsEnabledInOnEvent_DoNotReactToC
b600 75 72 72 65 6e 74 53 74 61 74 65 4f 66 43 6f 6e 74 72 6f 6c 54 77 69 63 65 29 2e 0d 0a 20 20 20 urrentStateOfControlTwice)......
b620 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 4f 6e 42 65 66 6f 72 65 55 70 64 61 74 65 48 6f 6f .........if.(m_OnBeforeUpdateHoo
b640 6b 65 64 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 69 6e 64 69 6e 67 53 74 61 ked)..................bindingSta
b660 74 65 50 74 72 2d 3e 69 6e 69 74 69 61 6c 53 74 61 74 65 43 68 65 63 6b 50 65 6e 64 69 6e 67 20 tePtr->initialStateCheckPending.
b680 3d 20 66 61 6c 73 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 66 20 74 68 =.false;................//.If.th
b6a0 65 20 62 69 6e 64 69 6e 67 20 69 73 20 70 61 72 74 20 6f 66 20 61 20 63 6f 6d 70 6f 73 69 74 65 e.binding.is.part.of.a.composite
b6c0 2c 20 63 68 65 63 6b 20 66 6f 72 20 69 6e 74 65 72 61 63 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20 ,.check.for.interactions.on.the.
b6e0 63 6f 6d 70 6f 73 69 74 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 69 74 73 65 6c 66 composite..............//.itself
b700 20 61 6e 64 20 67 69 76 65 20 74 68 65 6d 20 61 20 66 69 72 73 74 20 73 68 6f 74 20 61 74 20 70 .and.give.them.a.first.shot.at.p
b720 72 6f 63 65 73 73 69 6e 67 20 74 68 65 20 76 61 6c 75 65 20 63 68 61 6e 67 65 2e 0d 0a 20 20 20 rocessing.the.value.change......
b740 20 20 20 20 20 20 20 20 20 76 61 72 20 68 61 76 65 49 6e 74 65 72 61 63 74 69 6f 6e 73 4f 6e 43 .........var.haveInteractionsOnC
b760 6f 6d 70 6f 73 69 74 65 20 3d 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 omposite.=.false;..............i
b780 66 20 28 62 69 6e 64 69 6e 67 53 74 61 74 65 50 74 72 2d 3e 69 73 50 61 72 74 4f 66 43 6f 6d 70 f.(bindingStatePtr->isPartOfComp
b7a0 6f 73 69 74 65 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 osite)..............{...........
b7c0 20 20 20 20 20 20 20 76 61 72 20 63 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 49 6e 64 65 78 .......var.compositeBindingIndex
b7e0 20 3d 20 62 69 6e 64 69 6e 67 53 74 61 74 65 50 74 72 2d 3e 63 6f 6d 70 6f 73 69 74 65 4f 72 43 .=.bindingStatePtr->compositeOrC
b800 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 ompositeBindingIndex;...........
b820 20 20 20 20 20 20 20 76 61 72 20 63 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 50 74 72 20 3d .......var.compositeBindingPtr.=
b840 20 26 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 63 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 .&bindingStates[compositeBinding
b860 49 6e 64 65 78 5d 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 66 Index];....................//.If
b880 20 74 68 65 20 63 6f 6d 70 6f 73 69 74 65 20 68 61 73 20 61 6c 72 65 61 64 79 20 62 65 65 6e 20 .the.composite.has.already.been.
b8a0 74 72 69 67 67 65 72 65 64 20 66 72 6f 6d 20 74 68 65 20 76 65 72 79 20 73 61 6d 65 20 65 76 65 triggered.from.the.very.same.eve
b8c0 6e 74 2c 20 69 67 6e 6f 72 65 20 69 74 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nt,.ignore.it...................
b8e0 2f 2f 20 45 78 61 6d 70 6c 65 3a 20 4b 65 79 62 6f 61 72 64 53 74 61 74 65 20 63 68 61 6e 67 65 //.Example:.KeyboardState.change
b900 20 74 68 61 74 20 69 6e 63 6c 75 64 65 73 20 62 6f 74 68 20 41 20 61 6e 64 20 57 20 6b 65 79 20 .that.includes.both.A.and.W.key.
b920 73 74 61 74 65 20 63 68 61 6e 67 65 73 20 61 6e 64 20 77 65 27 72 65 20 6c 6f 6f 6b 69 6e 67 0d state.changes.and.we're.looking.
b940 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 20 20 20 20 20 20 20 20 20 61 74 20 .................//..........at.
b960 61 20 57 41 53 44 20 63 6f 6d 70 6f 73 69 74 65 20 62 69 6e 64 69 6e 67 2e 20 54 68 65 72 65 27 a.WASD.composite.binding..There'
b980 73 20 61 20 73 74 61 74 65 20 63 68 61 6e 67 65 20 6d 6f 6e 69 74 6f 72 20 6f 6e 20 62 6f 74 68 s.a.state.change.monitor.on.both
b9a0 20 74 68 65 20 41 20 61 6e 64 20 74 68 65 20 57 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .the.A.and.the.W................
b9c0 20 20 2f 2f 20 20 20 20 20 20 20 20 20 20 6b 65 79 20 61 6e 64 20 74 68 75 73 20 74 68 65 20 6d ..//..........key.and.thus.the.m
b9e0 61 6e 61 67 65 72 20 77 69 6c 6c 20 6e 6f 74 69 66 79 20 75 73 20 69 6e 64 69 76 69 64 75 61 6c anager.will.notify.us.individual
ba00 6c 79 20 6f 66 20 62 6f 74 68 20 63 68 61 6e 67 65 73 2e 20 48 6f 77 65 76 65 72 2c 20 77 65 0d ly.of.both.changes..However,.we.
ba20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 20 20 20 20 20 20 20 20 20 77 61 6e .................//..........wan
ba40 74 20 74 6f 20 70 65 72 66 6f 72 6d 20 74 68 65 20 61 63 74 69 6f 6e 20 6f 6e 6c 79 20 6f 6e 63 t.to.perform.the.action.only.onc
ba60 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 53 68 6f 75 6c 64 49 67 e...................if.(ShouldIg
ba80 6e 6f 72 65 43 6f 6e 74 72 6f 6c 53 74 61 74 65 43 68 61 6e 67 65 4f 6e 43 6f 6d 70 6f 73 69 74 noreControlStateChangeOnComposit
baa0 65 42 69 6e 64 69 6e 67 28 63 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 50 74 72 2c 20 65 76 eBinding(compositeBindingPtr,.ev
bac0 65 6e 74 50 74 72 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 entPtr))......................re
bae0 74 75 72 6e 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 43 6f 6d 6d turn;....................//.Comm
bb00 6f 6e 20 63 6f 6e 66 6c 69 63 74 20 72 65 73 6f 6c 75 74 69 6f 6e 2e 20 57 65 20 64 6f 20 74 68 on.conflict.resolution..We.do.th
bb20 69 73 20 2a 61 66 74 65 72 2a 20 74 68 65 20 63 68 65 63 6b 20 61 62 6f 76 65 20 61 73 20 69 74 is.*after*.the.check.above.as.it
bb40 20 69 73 20 6d 6f 72 65 20 65 78 70 65 6e 73 69 76 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 .is.more.expensive..............
bb60 20 20 20 20 20 69 66 20 28 53 68 6f 75 6c 64 49 67 6e 6f 72 65 43 6f 6e 74 72 6f 6c 53 74 61 74 .....if.(ShouldIgnoreControlStat
bb80 65 43 68 61 6e 67 65 28 72 65 66 20 74 72 69 67 67 65 72 2c 20 61 63 74 69 6f 6e 49 6e 64 65 78 eChange(ref.trigger,.actionIndex
bba0 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0d ))......................return;.
bbc0 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 52 75 6e 20 74 68 72 6f 75 67 ...................//.Run.throug
bbe0 68 20 69 6e 74 65 72 61 63 74 69 6f 6e 73 20 6f 6e 20 63 6f 6d 70 6f 73 69 74 65 2e 0d 0a 20 20 h.interactions.on.composite.....
bc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 69 6e 74 65 72 61 63 74 69 6f 6e 43 6f 75 ..............var.interactionCou
bc20 6e 74 4f 6e 43 6f 6d 70 6f 73 69 74 65 20 3d 20 63 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 ntOnComposite.=.compositeBinding
bc40 50 74 72 2d 3e 69 6e 74 65 72 61 63 74 69 6f 6e 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 Ptr->interactionCount;..........
bc60 20 20 20 20 20 20 20 20 69 66 20 28 69 6e 74 65 72 61 63 74 69 6f 6e 43 6f 75 6e 74 4f 6e 43 6f ........if.(interactionCountOnCo
bc80 6d 70 6f 73 69 74 65 20 3e 20 30 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d mposite.>.0)..................{.
bca0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 61 76 65 49 6e 74 65 72 61 63 .....................haveInterac
bcc0 74 69 6f 6e 73 4f 6e 43 6f 6d 70 6f 73 69 74 65 20 3d 20 74 72 75 65 3b 0d 0a 20 20 20 20 20 20 tionsOnComposite.=.true;........
bce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 6f 63 65 73 73 49 6e 74 65 72 61 63 74 69 6f 6e ..............ProcessInteraction
bd00 73 28 72 65 66 20 74 72 69 67 67 65 72 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s(ref.trigger,..................
bd20 20 20 20 20 20 20 20 20 63 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 50 74 72 2d 3e 69 6e 74 ........compositeBindingPtr->int
bd40 65 72 61 63 74 69 6f 6e 53 74 61 72 74 49 6e 64 65 78 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 eractionStartIndex,.............
bd60 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 61 63 74 69 6f 6e 43 6f 75 6e 74 4f 6e 43 .............interactionCountOnC
bd80 6f 6d 70 6f 73 69 74 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 omposite);..................}...
bda0 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 65 6c 73 65 20 69 ...........}..............else.i
bdc0 66 20 28 53 68 6f 75 6c 64 49 67 6e 6f 72 65 43 6f 6e 74 72 6f 6c 53 74 61 74 65 43 68 61 6e 67 f.(ShouldIgnoreControlStateChang
bde0 65 28 72 65 66 20 74 72 69 67 67 65 72 2c 20 61 63 74 69 6f 6e 49 6e 64 65 78 29 29 0d 0a 20 20 e(ref.trigger,.actionIndex))....
be00 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 72 65 74 ..........{..................ret
be20 75 72 6e 3b 0d 0a 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 urn;..............}.............
be40 20 20 20 2f 2f 20 49 66 20 77 65 20 68 61 76 65 20 69 6e 74 65 72 61 63 74 69 6f 6e 73 2c 20 6c ...//.If.we.have.interactions,.l
be60 65 74 20 74 68 65 6d 20 64 6f 20 61 6c 6c 20 74 68 65 20 70 72 6f 63 65 73 73 69 6e 67 2e 20 54 et.them.do.all.the.processing..T
be80 68 65 20 70 72 65 73 65 6e 63 65 20 6f 66 20 61 6e 20 69 6e 74 65 72 61 63 74 69 6f 6e 0d 0a 20 he.presence.of.an.interaction...
bea0 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 65 73 73 65 6e 74 69 61 6c 6c 79 20 62 79 70 61 73 73 ...........//.essentially.bypass
bec0 65 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 70 68 61 73 65 20 70 72 6f 67 72 65 73 73 69 6f 6e es.the.default.phase.progression
bee0 20 6c 6f 67 69 63 20 6f 66 20 61 6e 20 61 63 74 69 6f 6e 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 .logic.of.an.action.............
bf00 20 20 76 61 72 20 69 6e 74 65 72 61 63 74 69 6f 6e 43 6f 75 6e 74 20 3d 20 62 69 6e 64 69 6e 67 ..var.interactionCount.=.binding
bf20 53 74 61 74 65 50 74 72 2d 3e 69 6e 74 65 72 61 63 74 69 6f 6e 43 6f 75 6e 74 3b 0d 0a 20 20 20 StatePtr->interactionCount;.....
bf40 20 20 20 20 20 20 20 20 20 69 66 20 28 69 6e 74 65 72 61 63 74 69 6f 6e 43 6f 75 6e 74 20 3e 20 .........if.(interactionCount.>.
bf60 30 20 26 26 20 21 62 69 6e 64 69 6e 67 53 74 61 74 65 50 74 72 2d 3e 69 73 50 61 72 74 4f 66 43 0.&&.!bindingStatePtr->isPartOfC
bf80 6f 6d 70 6f 73 69 74 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 omposite)..............{........
bfa0 20 20 20 20 20 20 20 20 20 20 50 72 6f 63 65 73 73 49 6e 74 65 72 61 63 74 69 6f 6e 73 28 72 65 ..........ProcessInteractions(re
bfc0 66 20 74 72 69 67 67 65 72 2c 20 62 69 6e 64 69 6e 67 53 74 61 74 65 50 74 72 2d 3e 69 6e 74 65 f.trigger,.bindingStatePtr->inte
bfe0 72 61 63 74 69 6f 6e 53 74 61 72 74 49 6e 64 65 78 2c 20 69 6e 74 65 72 61 63 74 69 6f 6e 43 6f ractionStartIndex,.interactionCo
c000 75 6e 74 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 unt);..............}............
c020 20 20 65 6c 73 65 20 69 66 20 28 21 68 61 76 65 49 6e 74 65 72 61 63 74 69 6f 6e 73 4f 6e 43 6f ..else.if.(!haveInteractionsOnCo
c040 6d 70 6f 73 69 74 65 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 mposite)..............{.........
c060 20 20 20 20 20 20 20 20 20 50 72 6f 63 65 73 73 44 65 66 61 75 6c 74 49 6e 74 65 72 61 63 74 69 .........ProcessDefaultInteracti
c080 6f 6e 28 72 65 66 20 74 72 69 67 67 65 72 2c 20 61 63 74 69 6f 6e 49 6e 64 65 78 29 3b 0d 0a 20 on(ref.trigger,.actionIndex);...
c0a0 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 ...........}..........}.........
c0c0 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 57 68 ...///.<summary>..........///.Wh
c0e0 65 74 68 65 72 20 74 68 65 20 67 69 76 65 6e 20 73 74 61 74 65 20 63 68 61 6e 67 65 20 6f 6e 20 ether.the.given.state.change.on.
c100 61 20 63 6f 6d 70 6f 73 69 74 65 20 62 69 6e 64 69 6e 67 20 73 68 6f 75 6c 64 20 62 65 20 69 67 a.composite.binding.should.be.ig
c120 6e 6f 72 65 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 nored...........///.</summary>..
c140 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 62 69 6e 64 69 6e 67 ........///.<param.name="binding
c160 22 3e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e "></param>..........///.<param.n
c180 61 6d 65 3d 22 65 76 65 6e 74 50 74 72 22 3e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 ame="eventPtr"></param>.........
c1a0 20 2f 2f 2f 20 3c 72 65 74 75 72 6e 73 3e 3c 2f 72 65 74 75 72 6e 73 3e 0d 0a 20 20 20 20 20 20 .///.<returns></returns>........
c1c0 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
c1e0 68 20 73 74 61 74 65 20 65 76 65 6e 74 20 6d 61 79 20 63 68 61 6e 67 65 20 74 68 65 20 73 74 61 h.state.event.may.change.the.sta
c200 74 65 20 6f 66 20 61 72 62 69 74 72 61 72 79 20 6d 61 6e 79 20 63 6f 6e 74 72 6f 6c 73 20 6f 6e te.of.arbitrary.many.controls.on
c220 20 61 20 64 65 76 69 63 65 20 61 6e 64 20 74 68 75 73 20 6d 61 79 20 74 72 69 67 67 65 72 0d 0a .a.device.and.thus.may.trigger..
c240 20 20 20 20 20 20 20 20 2f 2f 2f 20 73 65 76 65 72 61 6c 20 62 69 6e 64 69 6e 67 73 20 61 74 20 ........///.several.bindings.at.
c260 6f 6e 63 65 20 74 68 61 74 20 61 72 65 20 70 61 72 74 20 6f 66 20 74 68 65 20 73 61 6d 65 20 63 once.that.are.part.of.the.same.c
c280 6f 6d 70 6f 73 69 74 65 20 62 69 6e 64 69 6e 67 2e 20 57 65 20 73 74 69 6c 6c 20 77 61 6e 74 20 omposite.binding..We.still.want.
c2a0 74 6f 20 74 72 69 67 67 65 72 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 63 6f 6d 70 to.trigger.the..........///.comp
c2c0 6f 73 69 74 65 20 62 69 6e 64 69 6e 67 20 6f 6e 6c 79 20 6f 6e 63 65 20 66 6f 72 20 74 68 65 20 osite.binding.only.once.for.the.
c2e0 65 76 65 6e 74 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 event...........///..........///
c300 20 54 6f 20 64 6f 20 73 6f 2c 20 77 65 20 73 74 6f 72 65 20 74 68 65 20 49 44 20 6f 66 20 74 68 .To.do.so,.we.store.the.ID.of.th
c320 65 20 65 76 65 6e 74 20 6f 6e 20 74 68 65 20 62 69 6e 64 69 6e 67 20 61 6e 64 20 69 67 6e 6f 72 e.event.on.the.binding.and.ignor
c340 65 20 65 76 65 6e 74 73 20 69 66 20 74 68 65 79 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 0d 0a e.events.if.they.have.the.same..
c360 20 20 20 20 20 20 20 20 2f 2f 2f 20 49 44 20 61 73 20 74 68 65 20 6f 6e 65 20 77 65 27 76 65 20 ........///.ID.as.the.one.we've.
c380 61 6c 72 65 61 64 79 20 72 65 63 6f 72 64 65 64 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c already.recorded...........///.<
c3a0 2f 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 /remarks>..........private.stati
c3c0 63 20 62 6f 6f 6c 20 53 68 6f 75 6c 64 49 67 6e 6f 72 65 43 6f 6e 74 72 6f 6c 53 74 61 74 65 43 c.bool.ShouldIgnoreControlStateC
c3e0 68 61 6e 67 65 4f 6e 43 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 28 42 69 6e 64 69 6e 67 53 hangeOnCompositeBinding(BindingS
c400 74 61 74 65 2a 20 62 69 6e 64 69 6e 67 2c 20 49 6e 70 75 74 45 76 65 6e 74 2a 20 65 76 65 6e 74 tate*.binding,.InputEvent*.event
c420 50 74 72 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 Ptr)..........{..............if.
c440 28 65 76 65 6e 74 50 74 72 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 (eventPtr.==.null)..............
c460 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ....return.false;...............
c480 20 76 61 72 20 65 76 65 6e 74 49 64 20 3d 20 65 76 65 6e 74 50 74 72 2d 3e 65 76 65 6e 74 49 64 .var.eventId.=.eventPtr->eventId
c4a0 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 69 6e 64 69 6e 67 2d 3e 74 72 69 67 ;..............if.(binding->trig
c4c0 67 65 72 45 76 65 6e 74 49 64 46 6f 72 43 6f 6d 70 6f 73 69 74 65 20 3d 3d 20 65 76 65 6e 74 49 gerEventIdForComposite.==.eventI
c4e0 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 74 72 75 65 3b d)..................return.true;
c500 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 69 6e 64 69 6e 67 2d 3e 74 72 69 67 67 65 72 ................binding->trigger
c520 45 76 65 6e 74 49 64 46 6f 72 43 6f 6d 70 6f 73 69 74 65 20 3d 20 65 76 65 6e 74 49 64 3b 0d 0a EventIdForComposite.=.eventId;..
c540 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 20 ............return.false;.......
c560 20 20 20 7d 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 ...}............///.<summary>...
c580 20 20 20 20 20 20 20 2f 2f 2f 20 57 68 65 74 68 65 72 20 74 68 65 20 67 69 76 65 6e 20 63 6f 6e .......///.Whether.the.given.con
c5a0 74 72 6f 6c 20 73 74 61 74 65 20 73 68 6f 75 6c 64 20 62 65 20 69 67 6e 6f 72 65 64 2e 0d 0a 20 trol.state.should.be.ignored....
c5c0 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 2f .......///.</summary>........../
c5e0 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 74 72 69 67 67 65 72 22 3e 3c 2f 70 61 72 61 6d //.<param.name="trigger"></param
c600 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 61 63 74 69 >..........///.<param.name="acti
c620 6f 6e 49 6e 64 65 78 22 3e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c onIndex"></param>..........///.<
c640 72 65 74 75 72 6e 73 3e 3c 2f 72 65 74 75 72 6e 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 returns></returns>..........///.
c660 3c 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 49 66 20 61 6e 20 61 63 74 <remarks>..........///.If.an.act
c680 69 6f 6e 20 68 61 73 20 6d 75 6c 74 69 70 6c 65 20 63 6f 6e 74 72 6f 6c 73 20 62 6f 75 6e 64 20 ion.has.multiple.controls.bound.
c6a0 74 6f 20 69 74 2c 20 63 6f 6e 74 72 6f 6c 20 73 74 61 74 65 20 63 68 61 6e 67 65 73 20 6f 6e 20 to.it,.control.state.changes.on.
c6c0 74 68 65 20 61 63 74 69 6f 6e 20 6d 61 79 20 63 6f 6e 66 6c 69 63 74 20 77 69 74 68 20 65 61 63 the.action.may.conflict.with.eac
c6e0 68 20 6f 74 68 65 72 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 49 66 20 74 68 61 74 20 68 61 h.other...........///.If.that.ha
c700 70 70 65 6e 73 2c 20 77 65 20 72 65 73 6f 6c 76 65 20 74 68 65 20 63 6f 6e 66 6c 69 63 74 20 62 ppens,.we.resolve.the.conflict.b
c720 79 20 61 6c 77 61 79 73 20 73 74 69 63 6b 69 6e 67 20 74 6f 20 74 68 65 20 6d 6f 73 74 20 61 63 y.always.sticking.to.the.most.ac
c740 74 75 61 74 65 64 20 63 6f 6e 74 72 6f 6c 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 tuated.control...........///....
c760 20 20 20 20 20 20 2f 2f 2f 20 50 61 73 73 2d 74 68 72 6f 75 67 68 20 61 63 74 69 6f 6e 73 20 28 ......///.Pass-through.actions.(
c780 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 41 63 74 69 6f 6e 2e 70 61 73 73 54 68 72 6f 75 <see.cref="InputAction.passThrou
c7a0 67 68 22 2f 3e 29 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 62 79 70 61 73 73 20 63 6f 6e 66 6c 69 gh"/>).will.always.bypass.confli
c7c0 63 74 20 72 65 73 6f 6c 75 74 69 6f 6e 20 61 6e 64 20 72 65 73 70 6f 6e 64 0d 0a 20 20 20 20 20 ct.resolution.and.respond.......
c7e0 20 20 20 2f 2f 2f 20 74 6f 20 65 76 65 72 79 20 76 61 6c 75 65 20 63 68 61 6e 67 65 2e 0d 0a 20 ...///.to.every.value.change....
c800 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 41 63 74 69 6f 6e 73 20 .......///..........///.Actions.
c820 74 68 61 74 20 61 72 65 20 72 65 73 6f 6c 76 65 64 20 74 6f 20 6f 6e 6c 79 20 61 20 73 69 6e 67 that.are.resolved.to.only.a.sing
c840 6c 65 20 63 6f 6e 74 72 6f 6c 20 77 69 6c 6c 20 65 61 72 6c 79 20 6f 75 74 20 6f 66 20 63 6f 6e le.control.will.early.out.of.con
c860 66 6c 69 63 74 20 72 65 73 6f 6c 75 74 69 6f 6e 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a flict.resolution...........///..
c880 20 20 20 20 20 20 20 20 2f 2f 2f 20 41 63 74 69 6f 6e 73 20 74 68 61 74 20 61 72 65 20 62 6f 75 ........///.Actions.that.are.bou
c8a0 6e 64 20 74 6f 20 6d 75 6c 74 69 70 6c 65 20 63 6f 6e 74 72 6f 6c 73 20 62 75 74 20 68 61 76 65 nd.to.multiple.controls.but.have
c8c0 20 6f 6e 6c 79 20 6f 6e 65 20 63 6f 6e 74 72 6f 6c 20 61 63 74 75 61 74 65 64 20 77 69 6c 6c 20 .only.one.control.actuated.will.
c8e0 65 61 72 6c 79 20 6f 75 74 20 6f 66 20 63 6f 6e 66 6c 69 63 74 0d 0a 20 20 20 20 20 20 20 20 2f early.out.of.conflict........../
c900 2f 2f 20 72 65 73 6f 6c 75 74 69 6f 6e 20 61 73 20 77 65 6c 6c 2e 0d 0a 20 20 20 20 20 20 20 20 //.resolution.as.well...........
c920 2f 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 63 6f 6e 66 6c ///..........///.Note.that.confl
c940 69 63 74 20 72 65 73 6f 6c 75 74 69 6f 6e 20 68 65 72 65 20 69 73 20 65 6e 74 69 72 65 6c 79 20 ict.resolution.here.is.entirely.
c960 74 69 65 64 20 74 6f 20 6d 61 67 6e 69 74 75 64 65 2e 20 54 68 69 73 20 69 67 6e 6f 72 65 73 20 tied.to.magnitude..This.ignores.
c980 6f 74 68 65 72 20 71 75 61 6c 69 74 69 65 73 20 74 68 61 74 20 74 68 65 20 76 61 6c 75 65 0d 0a other.qualities.that.the.value..
c9a0 20 20 20 20 20 20 20 20 2f 2f 2f 20 6f 66 20 61 20 63 6f 6e 74 72 6f 6c 20 6d 61 79 20 68 61 76 ........///.of.a.control.may.hav
c9c0 65 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 6f 6e 65 20 32 44 20 76 65 63 74 6f 72 20 6d 61 e..For.example,.one.2D.vector.ma
c9e0 79 20 68 61 76 65 20 61 20 73 69 6d 69 6c 61 72 20 6d 61 67 6e 69 74 75 64 65 20 74 6f 20 61 6e y.have.a.similar.magnitude.to.an
ca00 6f 74 68 65 72 20 79 65 74 20 70 6f 69 6e 74 20 69 6e 20 61 6e 0d 0a 20 20 20 20 20 20 20 20 2f other.yet.point.in.an........../
ca20 2f 2f 20 65 6e 74 69 72 65 6c 79 20 64 69 66 66 65 72 65 6e 74 20 64 69 72 65 63 74 69 6f 6e 2e //.entirely.different.direction.
ca40 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 68 65 72 65 ..........///..........///.There
ca60 20 61 72 65 20 6f 74 68 65 72 20 63 6f 6e 66 6c 69 63 74 20 72 65 73 6f 6c 75 74 69 6f 6e 20 6d .are.other.conflict.resolution.m
ca80 65 63 68 61 6e 69 73 6d 73 20 74 68 61 74 20 63 6f 75 6c 64 20 62 65 20 75 73 65 64 2e 20 46 6f echanisms.that.could.be.used..Fo
caa0 72 20 65 78 61 6d 70 6c 65 2c 20 77 65 20 63 6f 75 6c 64 20 61 76 65 72 61 67 65 20 74 68 65 20 r.example,.we.could.average.the.
cac0 76 61 6c 75 65 73 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 66 72 6f 6d 20 61 6c 6c 20 63 6f 6e values..........///.from.all.con
cae0 74 72 6f 6c 73 2e 20 48 6f 77 65 76 65 72 2c 20 69 74 20 77 6f 75 6c 64 20 6e 6f 74 20 6e 65 63 trols..However,.it.would.not.nec
cb00 65 73 73 61 72 69 6c 79 20 72 65 73 75 6c 74 20 69 6e 20 6d 6f 72 65 20 75 73 65 66 75 6c 20 63 essarily.result.in.more.useful.c
cb20 6f 6e 66 6c 69 63 74 20 72 65 73 6f 6c 75 74 69 6f 6e 20 61 6e 64 20 77 6f 75 6c 64 0d 0a 20 20 onflict.resolution.and.would....
cb40 20 20 20 20 20 20 2f 2f 2f 20 61 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 20 62 65 20 6d 75 ......///.at.the.same.time.be.mu
cb60 63 68 20 6d 6f 72 65 20 65 78 70 65 6e 73 69 76 65 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 ch.more.expensive...........///.
cb80 3c 2f 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 62 6f 6f 6c </remarks>..........private.bool
cba0 20 53 68 6f 75 6c 64 49 67 6e 6f 72 65 43 6f 6e 74 72 6f 6c 53 74 61 74 65 43 68 61 6e 67 65 28 .ShouldIgnoreControlStateChange(
cbc0 72 65 66 20 54 72 69 67 67 65 72 53 74 61 74 65 20 74 72 69 67 67 65 72 2c 20 69 6e 74 20 61 63 ref.TriggerState.trigger,.int.ac
cbe0 74 69 6f 6e 49 6e 64 65 78 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 tionIndex)..........{...........
cc00 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 61 63 74 69 6f 6e 49 6e 64 65 78 20 3e 3d 20 30 ...Debug.Assert(actionIndex.>=.0
cc20 20 26 26 20 61 63 74 69 6f 6e 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 41 63 74 69 6f 6e 43 6f 75 .&&.actionIndex.<.totalActionCou
cc40 6e 74 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 41 63 74 69 6f 6e 20 69 6e 64 nt,.................."Action.ind
cc60 65 78 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 20 77 68 65 6e 20 63 68 65 63 6b 69 6e 67 20 66 6f ex.out.of.range.when.checking.fo
cc80 72 20 63 6f 6e 66 6c 69 63 74 69 6e 67 20 63 6f 6e 74 72 6f 6c 20 69 6e 70 75 74 22 29 3b 0d 0a r.conflicting.control.input");..
cca0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 54 68 65 20 67 6f 61 6c 20 6f 66 20 74 68 69 ..............//.The.goal.of.thi
ccc0 73 20 6d 65 74 68 6f 64 20 69 73 20 74 6f 20 70 72 6f 76 69 64 65 20 63 6f 6e 66 6c 69 63 74 20 s.method.is.to.provide.conflict.
cce0 72 65 73 6f 6c 75 74 69 6f 6e 20 62 75 74 20 64 6f 20 73 6f 20 4f 4e 4c 59 20 69 66 20 69 74 20 resolution.but.do.so.ONLY.if.it.
cd00 69 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 72 65 61 6c 6c 79 20 6e 65 65 64 65 64 is..............//.really.needed
cd20 2e 20 49 6e 20 74 68 65 20 76 61 73 74 20 6d 61 6a 6f 72 69 74 79 20 6f 66 20 63 61 73 65 73 2c ..In.the.vast.majority.of.cases,
cd40 20 74 68 69 73 20 6d 65 74 68 6f 64 20 73 68 6f 75 6c 64 20 64 6f 20 61 6c 6d 6f 73 74 20 6e 6f .this.method.should.do.almost.no
cd60 74 68 69 6e 67 20 61 6e 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 73 69 6d 70 6c 79 thing.and..............//.simply
cd80 20 72 65 74 75 72 6e 20 73 74 72 61 69 67 68 74 20 61 77 61 79 2e 0d 0a 0d 0a 20 20 20 20 20 20 .return.straight.away...........
cda0 20 20 20 20 20 20 2f 2f 20 49 66 20 63 6f 6e 66 6c 69 63 74 20 72 65 73 6f 6c 75 74 69 6f 6e 20 ......//.If.conflict.resolution.
cdc0 69 73 20 64 69 73 61 62 6c 65 64 20 6f 6e 20 74 68 65 20 61 63 74 69 6f 6e 2c 20 65 61 72 6c 79 is.disabled.on.the.action,.early
cde0 20 6f 75 74 2e 20 54 68 69 73 20 69 73 20 74 68 65 20 63 61 73 65 20 66 6f 72 20 70 61 73 73 2d .out..This.is.the.case.for.pass-
ce00 74 68 72 6f 75 67 68 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 61 63 74 69 6f 6e 73 20 through..............//.actions.
ce20 61 6e 64 20 66 6f 72 20 61 63 74 69 6f 6e 73 20 74 68 61 74 20 63 61 6e 6e 6f 74 20 67 65 74 20 and.for.actions.that.cannot.get.
ce40 69 6e 74 6f 20 61 6e 20 61 6d 62 69 67 75 6f 75 73 20 73 74 61 74 65 20 62 61 73 65 64 20 6f 6e into.an.ambiguous.state.based.on
ce60 20 74 68 65 20 63 6f 6e 74 72 6f 6c 73 20 74 68 65 79 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 .the.controls.they..............
ce80 2f 2f 20 61 72 65 20 62 6f 75 6e 64 20 74 6f 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 //.are.bound.to...............va
cea0 72 20 61 63 74 69 6f 6e 53 74 61 74 65 20 3d 20 26 61 63 74 69 6f 6e 53 74 61 74 65 73 5b 61 63 r.actionState.=.&actionStates[ac
cec0 74 69 6f 6e 49 6e 64 65 78 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 61 63 tionIndex];..............if.(!ac
cee0 74 69 6f 6e 53 74 61 74 65 2d 3e 6d 61 79 4e 65 65 64 43 6f 6e 66 6c 69 63 74 52 65 73 6f 6c 75 tionState->mayNeedConflictResolu
cf00 74 69 6f 6e 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 66 61 tion)..................return.fa
cf20 6c 73 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 41 6e 79 74 68 69 6e 67 20 lse;................//.Anything.
cf40 70 61 73 74 20 68 65 72 65 20 68 61 70 70 65 6e 73 20 6f 6e 6c 79 20 66 6f 72 20 61 63 74 69 6f past.here.happens.only.for.actio
cf60 6e 73 20 74 68 61 74 20 6d 61 79 20 68 61 76 65 20 63 6f 6e 66 6c 69 63 74 73 2e 0d 0a 20 20 20 ns.that.may.have.conflicts......
cf80 20 20 20 20 20 20 20 20 20 2f 2f 20 41 6e 79 74 68 69 6e 67 20 62 65 6c 6f 77 20 68 65 72 65 20 .........//.Anything.below.here.
cfa0 77 65 20 77 61 6e 74 20 74 6f 20 61 76 6f 69 64 20 65 78 65 63 75 74 69 6e 67 20 77 68 65 6e 65 we.want.to.avoid.executing.whene
cfc0 76 65 72 20 77 65 20 63 61 6e 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 ver.we.can...............Debug.A
cfe0 73 73 65 72 74 28 61 63 74 69 6f 6e 53 74 61 74 65 2d 3e 6d 61 79 4e 65 65 64 43 6f 6e 66 6c 69 ssert(actionState->mayNeedConfli
d000 63 74 52 65 73 6f 6c 75 74 69 6f 6e 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 50 72 ctResolution);................Pr
d020 6f 66 69 6c 65 72 2e 42 65 67 69 6e 53 61 6d 70 6c 65 28 22 49 6e 70 75 74 41 63 74 69 6f 6e 52 ofiler.BeginSample("InputActionR
d040 65 73 6f 6c 76 65 43 6f 6e 66 6c 69 63 74 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 esolveConflict");...............
d060 20 2f 2f 20 43 6f 6d 70 75 74 65 20 6d 61 67 6e 69 74 75 64 65 2c 20 69 66 20 6e 65 63 65 73 73 .//.Compute.magnitude,.if.necess
d080 61 72 79 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 4e 4f 54 45 3a 20 54 68 69 73 20 ary...............//.NOTE:.This.
d0a0 77 69 6c 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 74 61 6b 65 20 63 6f 6d 70 6f 73 69 74 will.automatically.take.composit
d0c0 65 73 20 69 6e 74 6f 20 61 63 63 6f 75 6e 74 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 es.into.account...............if
d0e0 20 28 21 74 72 69 67 67 65 72 2e 68 61 76 65 4d 61 67 6e 69 74 75 64 65 29 0d 0a 20 20 20 20 20 .(!trigger.haveMagnitude).......
d100 20 20 20 20 20 20 20 20 20 20 20 74 72 69 67 67 65 72 2e 6d 61 67 6e 69 74 75 64 65 20 3d 20 43 ...........trigger.magnitude.=.C
d120 6f 6d 70 75 74 65 4d 61 67 6e 69 74 75 64 65 28 74 72 69 67 67 65 72 2e 62 69 6e 64 69 6e 67 49 omputeMagnitude(trigger.bindingI
d140 6e 64 65 78 2c 20 74 72 69 67 67 65 72 2e 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 29 3b 0d 0a 0d 0a ndex,.trigger.controlIndex);....
d160 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 57 65 20 74 61 6b 65 20 61 20 6c 6f 63 61 6c 20 63 ............//.We.take.a.local.c
d180 6f 70 79 20 6f 66 20 74 68 69 73 20 76 61 6c 75 65 2c 20 73 6f 20 77 65 20 63 61 6e 20 63 68 61 opy.of.this.value,.so.we.can.cha
d1a0 6e 67 65 20 69 74 20 74 6f 20 75 73 65 20 74 68 65 20 73 74 61 72 74 69 6e 67 20 63 6f 6e 74 72 nge.it.to.use.the.starting.contr
d1c0 6f 6c 20 6f 66 20 63 6f 6d 70 6f 73 69 74 65 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f ol.of.composites..............//
d1e0 20 66 6f 72 20 73 69 6d 70 6c 65 72 20 63 6f 6e 66 6c 69 63 74 20 72 65 73 6f 6c 75 74 69 6f 6e .for.simpler.conflict.resolution
d200 20 28 73 6f 20 63 6f 6d 70 6f 73 69 74 65 73 20 61 6c 77 61 79 73 20 75 73 65 20 74 68 65 20 73 .(so.composites.always.use.the.s
d220 61 6d 65 20 76 61 6c 75 65 29 2c 20 62 75 74 20 73 74 69 6c 6c 20 72 65 70 6f 72 74 20 74 68 65 ame.value),.but.still.report.the
d240 20 61 63 74 75 61 6c 6c 79 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 61 63 74 75 61 74 .actually..............//.actuat
d260 65 64 20 63 6f 6e 74 72 6f 6c 20 74 6f 20 74 68 65 20 75 73 65 72 2e 0d 0a 20 20 20 20 20 20 20 ed.control.to.the.user..........
d280 20 20 20 20 20 76 61 72 20 74 72 69 67 67 65 72 43 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3d 20 74 .....var.triggerControlIndex.=.t
d2a0 72 69 67 67 65 72 2e 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 rigger.controlIndex;............
d2c0 20 20 20 20 2f 2f 20 55 70 64 61 74 65 20 6d 61 67 6e 69 74 75 64 65 20 73 74 6f 72 65 64 20 69 ....//.Update.magnitude.stored.i
d2e0 6e 20 73 74 61 74 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 69 6e 64 69 6e n.state...............if.(bindin
d300 67 53 74 61 74 65 73 5b 74 72 69 67 67 65 72 2e 62 69 6e 64 69 6e 67 49 6e 64 65 78 5d 2e 69 73 gStates[trigger.bindingIndex].is
d320 50 61 72 74 4f 66 43 6f 6d 70 6f 73 69 74 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d PartOfComposite)..............{.
d340 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 43 6f 6e 74 72 6f 6c 20 69 73 20 70 .................//.Control.is.p
d360 61 72 74 20 6f 66 20 61 20 63 6f 6d 70 6f 73 69 74 65 2e 20 53 74 6f 72 65 20 6d 61 67 6e 69 74 art.of.a.composite..Store.magnit
d380 75 64 65 20 69 6e 20 63 6f 6d 70 6f 73 69 74 65 4d 61 67 6e 69 74 75 64 65 73 2e 0d 0a 20 20 20 ude.in.compositeMagnitudes......
d3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 4e 4f 54 45 3a 20 54 68 69 73 20 70 61 74 68 20 .............//.NOTE:.This.path.
d3c0 68 65 72 65 20 69 6d 70 6c 69 65 73 20 74 68 61 74 20 77 65 20 6e 65 76 65 72 20 73 74 6f 72 65 here.implies.that.we.never.store
d3e0 20 6d 61 67 6e 69 74 75 64 65 73 20 69 6e 64 69 76 69 64 75 61 6c 6c 79 20 66 6f 72 20 63 6f 6e .magnitudes.individually.for.con
d400 74 72 6f 6c 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 20 20 20 20 20 20 trols..................//.......
d420 74 68 61 74 20 61 72 65 20 70 61 72 74 20 6f 66 20 63 6f 6d 70 6f 73 69 74 65 73 2e 0d 0a 20 20 that.are.part.of.composites.....
d440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 ..............var.compositeBindi
d460 6e 67 49 6e 64 65 78 20 3d 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 74 72 69 67 67 65 72 2e ngIndex.=.bindingStates[trigger.
d480 62 69 6e 64 69 6e 67 49 6e 64 65 78 5d 2e 63 6f 6d 70 6f 73 69 74 65 4f 72 43 6f 6d 70 6f 73 69 bindingIndex].compositeOrComposi
d4a0 74 65 42 69 6e 64 69 6e 67 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 teBindingIndex;.................
d4c0 20 76 61 72 20 63 6f 6d 70 6f 73 69 74 65 49 6e 64 65 78 20 3d 20 62 69 6e 64 69 6e 67 53 74 61 .var.compositeIndex.=.bindingSta
d4e0 74 65 73 5b 63 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 49 6e 64 65 78 5d 2e 63 6f 6d 70 6f tes[compositeBindingIndex].compo
d500 73 69 74 65 4f 72 43 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 49 6e 64 65 78 3b 0d 0a 20 20 siteOrCompositeBindingIndex;....
d520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 6d 6f 72 79 2e 63 6f 6d 70 6f 73 69 74 65 4d 61 ..............memory.compositeMa
d540 67 6e 69 74 75 64 65 73 5b 63 6f 6d 70 6f 73 69 74 65 49 6e 64 65 78 5d 20 3d 20 74 72 69 67 67 gnitudes[compositeIndex].=.trigg
d560 65 72 2e 6d 61 67 6e 69 74 75 64 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 er.magnitude;...................
d580 20 2f 2f 20 46 6f 72 20 61 63 74 69 6f 6e 73 20 74 68 61 74 20 6e 65 65 64 20 63 6f 6e 66 6c 69 .//.For.actions.that.need.confli
d5a0 63 74 20 72 65 73 6f 6c 75 74 69 6f 6e 2c 20 77 65 20 66 6f 72 63 65 20 54 72 69 67 67 65 72 53 ct.resolution,.we.force.TriggerS
d5c0 74 61 74 65 2e 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 74 6f 20 74 68 65 0d 0a 20 20 20 20 20 20 tate.controlIndex.to.the........
d5e0 20 20 20 20 20 20 20 20 20 20 2f 2f 20 66 69 72 73 74 20 63 6f 6e 74 72 6f 6c 20 69 6e 20 61 20 ..........//.first.control.in.a.
d600 63 6f 6d 70 6f 73 69 74 65 2e 20 4f 74 68 65 72 77 69 73 65 20 69 74 20 62 65 63 6f 6d 65 73 20 composite..Otherwise.it.becomes.
d620 6d 75 63 68 20 68 61 72 64 65 72 20 74 6f 20 74 65 6c 6c 20 69 66 20 74 68 65 20 77 65 20 68 61 much.harder.to.tell.if.the.we.ha
d640 76 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 6d 75 6c 74 69 70 6c 65 20 ve..................//.multiple.
d660 63 6f 6e 63 75 72 72 65 6e 74 20 61 63 74 75 61 74 69 6f 6e 73 20 6f 72 20 6e 6f 74 2e 0d 0a 20 concurrent.actuations.or.not....
d680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 53 69 6e 63 65 20 63 6f 6d 70 6f 73 69 74 ...............//.Since.composit
d6a0 65 73 20 61 6c 77 61 79 73 20 65 76 61 6c 75 61 74 65 20 61 73 20 61 20 77 68 6f 6c 65 20 69 6e es.always.evaluate.as.a.whole.in
d6c0 73 74 65 61 64 20 6f 66 20 61 73 20 73 69 6e 67 6c 65 20 63 6f 6e 74 72 6f 6c 73 2c 20 68 61 76 stead.of.as.single.controls,.hav
d6e0 69 6e 67 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 74 72 69 67 67 65 72 43 ing..................//.triggerC
d700 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 64 69 66 66 65 72 20 66 72 6f 6d 20 74 68 65 20 73 74 61 74 ontrolIndex.differ.from.the.stat
d720 65 20 6d 6f 6e 69 74 6f 72 20 74 68 61 74 20 66 69 72 65 64 20 73 68 6f 75 6c 64 20 62 65 20 66 e.monitor.that.fired.should.be.f
d740 69 6e 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 72 69 67 67 65 72 43 6f 6e ine...................triggerCon
d760 74 72 6f 6c 49 6e 64 65 78 20 3d 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 63 6f 6d 70 6f 73 trolIndex.=.bindingStates[compos
d780 69 74 65 42 69 6e 64 69 6e 67 49 6e 64 65 78 5d 2e 63 6f 6e 74 72 6f 6c 53 74 61 72 74 49 6e 64 iteBindingIndex].controlStartInd
d7a0 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 ex;..................Debug.Asser
d7c0 74 28 74 72 69 67 67 65 72 43 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3e 3d 20 30 20 26 26 20 74 72 t(triggerControlIndex.>=.0.&&.tr
d7e0 69 67 67 65 72 43 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 43 6f 6e 74 72 6f 6c iggerControlIndex.<.totalControl
d800 43 6f 75 6e 74 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 43 6f 6e Count,......................"Con
d820 74 72 6f 6c 20 73 74 61 72 74 20 69 6e 64 65 78 20 6f 6e 20 63 6f 6d 70 6f 73 69 74 65 20 62 69 trol.start.index.on.composite.bi
d840 6e 64 69 6e 67 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 nding.out.of.range");...........
d860 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0d 0a 20 20 20 20 20 20 20 20 ...}..............else..........
d880 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 ....{..................Debug.Ass
d8a0 65 72 74 28 21 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 74 72 69 67 67 65 72 2e 62 69 6e 64 69 ert(!bindingStates[trigger.bindi
d8c0 6e 67 49 6e 64 65 78 5d 2e 69 73 43 6f 6d 70 6f 73 69 74 65 2c 0d 0a 20 20 20 20 20 20 20 20 20 ngIndex].isComposite,...........
d8e0 20 20 20 20 20 20 20 20 20 20 20 22 43 6f 6d 70 6f 73 69 74 65 20 73 68 6f 75 6c 64 20 6e 6f 74 ..........."Composite.should.not
d900 20 74 72 69 67 67 65 72 20 64 69 72 65 63 74 6c 79 20 66 72 6f 6d 20 61 20 63 6f 6e 74 72 6f 6c .trigger.directly.from.a.control
d920 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 22 4e 6f 72 6d 61 ");....................//."Norma
d940 6c 22 20 63 6f 6e 74 72 6f 6c 2e 20 53 74 6f 72 65 20 6d 61 67 6e 69 74 75 64 65 20 69 6e 20 63 l".control..Store.magnitude.in.c
d960 6f 6e 74 72 6f 6c 4d 61 67 6e 69 74 75 64 65 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ontrolMagnitudes................
d980 20 20 20 6d 65 6d 6f 72 79 2e 63 6f 6e 74 72 6f 6c 4d 61 67 6e 69 74 75 64 65 73 5b 74 72 69 67 ...memory.controlMagnitudes[trig
d9a0 67 65 72 43 6f 6e 74 72 6f 6c 49 6e 64 65 78 5d 20 3d 20 74 72 69 67 67 65 72 2e 6d 61 67 6e 69 gerControlIndex].=.trigger.magni
d9c0 74 75 64 65 3b 0d 0a 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 tude;..............}............
d9e0 20 20 20 20 2f 2f 20 4e 65 76 65 72 20 69 67 6e 6f 72 65 20 73 74 61 74 65 20 63 68 61 6e 67 65 ....//.Never.ignore.state.change
da00 73 20 66 6f 72 20 61 63 74 69 6f 6e 73 20 74 68 61 74 20 61 72 65 6e 27 74 20 63 75 72 72 65 6e s.for.actions.that.aren't.curren
da20 74 6c 79 20 64 72 69 76 65 6e 20 62 79 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 61 6e tly.driven.by..............//.an
da40 79 74 68 69 6e 67 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 61 63 74 69 6f 6e 53 ything...............if.(actionS
da60 74 61 74 65 2d 3e 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3d 3d 20 6b 49 6e 76 61 6c 69 64 49 6e tate->controlIndex.==.kInvalidIn
da80 64 65 78 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 dex)..............{.............
daa0 20 20 20 20 20 50 72 6f 66 69 6c 65 72 2e 45 6e 64 53 61 6d 70 6c 65 28 29 3b 0d 0a 20 20 20 20 .....Profiler.EndSample();......
dac0 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 20 ............return.false;.......
dae0 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 66 20 74 68 .......}................//.If.th
db00 65 20 63 6f 6e 74 72 6f 6c 20 69 73 20 61 63 74 75 61 74 65 64 20 2a 6d 6f 72 65 2a 20 74 68 61 e.control.is.actuated.*more*.tha
db20 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 65 76 65 6c 20 6f 66 20 61 63 74 75 61 74 69 6f 6e n.the.current.level.of.actuation
db40 20 77 65 20 72 65 63 6f 72 64 65 64 20 66 6f 72 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20 20 20 .we.recorded.for.the............
db60 20 20 2f 2f 20 61 63 74 69 6f 6e 2c 20 77 65 20 70 72 6f 63 65 73 73 20 74 68 65 20 73 74 61 74 ..//.action,.we.process.the.stat
db80 65 20 63 68 61 6e 67 65 20 6e 6f 72 6d 61 6c 6c 79 2e 20 49 66 20 74 68 69 73 20 69 73 6e 27 74 e.change.normally..If.this.isn't
dba0 20 74 68 65 20 63 6f 6e 74 72 6f 6c 20 74 68 61 74 20 69 73 20 61 6c 72 65 61 64 79 0d 0a 20 20 .the.control.that.is.already....
dbc0 20 20 20 20 20 20 20 20 20 20 2f 2f 20 64 72 69 76 69 6e 67 20 74 68 65 20 61 63 74 69 6f 6e 2c ..........//.driving.the.action,
dbe0 20 69 74 20 77 69 6c 6c 20 62 65 63 6f 6d 65 20 74 68 65 20 6f 6e 65 20 6e 6f 77 2e 0d 0a 20 20 .it.will.become.the.one.now.....
dc00 20 20 20 20 20 20 20 20 20 20 2f 2f 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 4e 4f 54 ..........//..............//.NOT
dc20 45 3a 20 46 6f 72 20 63 6f 6d 70 6f 73 69 74 65 73 2c 20 77 65 27 72 65 20 6c 6f 6f 6b 69 6e 67 E:.For.composites,.we're.looking
dc40 20 61 74 20 74 68 65 20 63 6f 6d 62 69 6e 65 64 20 61 63 74 75 61 74 69 6f 6e 20 6f 66 20 74 68 .at.the.combined.actuation.of.th
dc60 65 20 65 6e 74 69 72 65 20 62 69 6e 64 69 6e 67 20 68 65 72 65 2c 0d 0a 20 20 20 20 20 20 20 20 e.entire.binding.here,..........
dc80 20 20 20 20 2f 2f 20 20 20 20 20 20 20 6e 6f 74 20 6a 75 73 74 20 61 74 20 74 68 65 20 61 63 74 ....//.......not.just.at.the.act
dca0 75 61 74 69 6f 6e 20 6c 65 76 65 6c 20 6f 66 20 74 68 65 20 69 6e 64 69 76 69 64 75 61 6c 20 63 uation.level.of.the.individual.c
dcc0 6f 6e 74 72 6f 6c 2e 20 43 6f 6d 70 75 74 65 4d 61 67 6e 69 74 75 64 65 28 29 0d 0a 20 20 20 20 ontrol..ComputeMagnitude()......
dce0 20 20 20 20 20 20 20 20 2f 2f 20 20 20 20 20 20 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 74 ........//.......automatically.t
dd00 61 6b 65 73 20 63 61 72 65 20 6f 66 20 74 68 61 74 20 66 6f 72 20 75 73 2e 0d 0a 20 20 20 20 20 akes.care.of.that.for.us........
dd20 20 20 20 20 20 20 20 69 66 20 28 74 72 69 67 67 65 72 2e 6d 61 67 6e 69 74 75 64 65 20 3e 20 61 .......if.(trigger.magnitude.>.a
dd40 63 74 69 6f 6e 53 74 61 74 65 2d 3e 6d 61 67 6e 69 74 75 64 65 29 0d 0a 20 20 20 20 20 20 20 20 ctionState->magnitude)..........
dd60 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 49 66 20 74 68 69 ....{..................//.If.thi
dd80 73 20 69 73 20 6e 6f 74 20 74 68 65 20 63 6f 6e 74 72 6f 6c 20 74 68 61 74 20 69 73 20 63 75 72 s.is.not.the.control.that.is.cur
dda0 72 65 6e 74 6c 79 20 64 72 69 76 69 6e 67 20 74 68 65 20 61 63 74 69 6f 6e 2c 20 77 65 20 6b 6e rently.driving.the.action,.we.kn
ddc0 6f 77 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 74 68 65 72 65 20 61 72 65 ow..................//.there.are
dde0 20 6d 75 6c 74 69 70 6c 65 20 63 6f 6e 74 72 6f 6c 73 20 74 68 61 74 20 61 72 65 20 63 6f 6e 63 .multiple.controls.that.are.conc
de00 75 72 72 65 6e 74 6c 79 20 61 63 74 75 61 74 65 64 20 6f 6e 20 74 68 65 20 63 6f 6e 74 72 6f 6c urrently.actuated.on.the.control
de20 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 52 65 6d 65 6d 62 65 72 20 74 ...................//.Remember.t
de40 68 61 74 20 73 6f 20 74 68 61 74 20 77 68 65 6e 20 74 68 65 20 63 6f 6e 74 72 6f 6c 73 20 61 72 hat.so.that.when.the.controls.ar
de60 65 20 72 65 6c 65 61 73 65 64 20 61 67 61 69 6e 2c 20 77 65 20 63 61 6e 20 6d 6f 72 65 0d 0a 20 e.released.again,.we.can.more...
de80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 65 66 66 69 63 69 65 6e 74 6c 79 20 64 65 ...............//.efficiently.de
dea0 74 65 72 6d 69 6e 65 20 77 68 65 74 68 65 72 20 77 65 20 6e 65 65 64 20 74 6f 20 74 61 6b 65 20 termine.whether.we.need.to.take.
dec0 6d 75 6c 74 69 70 6c 65 20 62 6f 75 6e 64 20 63 6f 6e 74 72 6f 6c 73 20 69 6e 74 6f 0d 0a 20 20 multiple.bound.controls.into....
dee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 61 63 63 6f 75 6e 74 20 6f 72 20 6e 6f 74 2e ..............//.account.or.not.
df00 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 4e 4f 54 45 3a 20 46 6f 72 20 63 ..................//.NOTE:.For.c
df20 6f 6d 70 6f 73 69 74 65 73 2c 20 77 65 20 68 61 76 65 20 66 6f 72 63 65 64 20 74 72 69 67 67 65 omposites,.we.have.forced.trigge
df40 72 43 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 74 6f 20 74 68 65 20 66 69 72 73 74 20 63 6f 6e 74 72 rControlIndex.to.the.first.contr
df60 6f 6c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 20 20 20 20 20 20 69 6e 20 ol..................//.......in.
df80 74 68 65 20 63 6f 6d 70 6f 73 69 74 65 2e 20 53 65 65 20 61 62 6f 76 65 2e 0d 0a 20 20 20 20 20 the.composite..See.above........
dfa0 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 72 69 67 67 65 72 2e 6d 61 67 6e 69 74 75 64 65 ...........if.(trigger.magnitude
dfc0 20 3e 20 30 20 26 26 20 74 72 69 67 67 65 72 43 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 21 3d 20 61 .>.0.&&.triggerControlIndex.!=.a
dfe0 63 74 69 6f 6e 53 74 61 74 65 2d 3e 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 26 26 20 61 63 74 69 ctionState->controlIndex.&&.acti
e000 6f 6e 53 74 61 74 65 2d 3e 6d 61 67 6e 69 74 75 64 65 20 3e 20 30 29 0d 0a 20 20 20 20 20 20 20 onState->magnitude.>.0).........
e020 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 69 6f 6e 53 74 61 74 65 2d 3e 68 61 73 4d 75 6c .............actionState->hasMul
e040 74 69 70 6c 65 43 6f 6e 63 75 72 72 65 6e 74 41 63 74 75 61 74 69 6f 6e 73 20 3d 20 74 72 75 65 tipleConcurrentActuations.=.true
e060 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 6f 66 69 6c 65 72 2e 45 6e ;....................Profiler.En
e080 64 53 61 6d 70 6c 65 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 dSample();..................retu
e0a0 72 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 0d 0a 20 20 20 20 rn.false;..............}........
e0c0 20 20 20 20 20 20 20 20 76 61 72 20 61 63 74 69 6f 6e 53 74 61 74 65 43 6f 6e 74 72 6f 6c 49 6e ........var.actionStateControlIn
e0e0 64 65 78 20 3d 20 61 63 74 69 6f 6e 53 74 61 74 65 2d 3e 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 3b dex.=.actionState->controlIndex;
e100 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b ..............if.(bindingStates[
e120 61 63 74 69 6f 6e 53 74 61 74 65 2d 3e 62 69 6e 64 69 6e 67 49 6e 64 65 78 5d 2e 69 73 50 61 72 actionState->bindingIndex].isPar
e140 74 4f 66 43 6f 6d 70 6f 73 69 74 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 tOfComposite)..............{....
e160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 ..............var.compositeBindi
e180 6e 67 49 6e 64 65 78 20 3d 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 61 63 74 69 6f 6e 53 74 ngIndex.=.bindingStates[actionSt
e1a0 61 74 65 2d 3e 62 69 6e 64 69 6e 67 49 6e 64 65 78 5d 2e 63 6f 6d 70 6f 73 69 74 65 4f 72 43 6f ate->bindingIndex].compositeOrCo
e1c0 6d 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 mpositeBindingIndex;............
e1e0 20 20 20 20 20 20 61 63 74 69 6f 6e 53 74 61 74 65 43 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3d 20 ......actionStateControlIndex.=.
e200 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 63 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 49 6e bindingStates[compositeBindingIn
e220 64 65 78 5d 2e 63 6f 6e 74 72 6f 6c 53 74 61 72 74 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 dex].controlStartIndex;.........
e240 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 66 20 74 68 65 20 .....}................//.If.the.
e260 63 6f 6e 74 72 6f 6c 20 69 73 20 61 63 74 75 61 74 65 64 20 2a 6c 65 73 73 2a 20 74 68 65 6e 20 control.is.actuated.*less*.then.
e280 74 68 65 20 63 75 72 72 65 6e 74 20 6c 65 76 65 6c 20 6f 66 20 61 63 74 75 61 74 69 6f 6e 20 77 the.current.level.of.actuation.w
e2a0 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 72 65 63 6f 72 64 65 64 20 66 6f 72 20 74 e..............//.recorded.for.t
e2c0 68 65 20 61 63 74 69 6f 6e 20 2a 61 6e 64 2a 20 74 68 65 20 63 6f 6e 74 72 6f 6c 20 74 68 61 74 he.action.*and*.the.control.that
e2e0 20 63 68 61 6e 67 65 64 20 69 73 20 74 68 65 20 6f 6e 65 20 74 68 61 74 20 69 73 20 63 75 72 72 .changed.is.the.one.that.is.curr
e300 65 6e 74 6c 79 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 64 72 69 76 69 6e 67 20 74 68 ently..............//.driving.th
e320 65 20 61 63 74 69 6f 6e 2c 20 77 65 20 68 61 76 65 20 74 6f 20 63 68 65 63 6b 20 77 68 65 74 68 e.action,.we.have.to.check.wheth
e340 65 72 20 74 68 65 72 65 20 69 73 20 61 6e 6f 74 68 65 72 20 61 63 74 75 61 74 69 6f 6e 0d 0a 20 er.there.is.another.actuation...
e360 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 74 68 61 74 20 69 73 20 6e 6f 77 20 2a 68 69 67 68 65 ...........//.that.is.now.*highe
e380 72 2a 20 74 68 61 6e 20 77 68 61 74 20 77 65 27 72 65 20 67 65 74 74 69 6e 67 20 66 72 6f 6d 20 r*.than.what.we're.getting.from.
e3a0 74 68 65 20 63 75 72 72 65 6e 74 20 63 6f 6e 74 72 6f 6c 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 the.current.control.............
e3c0 20 20 69 66 20 28 74 72 69 67 67 65 72 2e 6d 61 67 6e 69 74 75 64 65 20 3c 20 61 63 74 69 6f 6e ..if.(trigger.magnitude.<.action
e3e0 53 74 61 74 65 2d 3e 6d 61 67 6e 69 74 75 64 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b State->magnitude)..............{
e400 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 66 20 77 65 27 72 65 20 6e 6f ..................//.If.we're.no
e420 74 20 63 75 72 72 65 6e 74 6c 79 20 64 72 69 76 69 6e 67 20 74 68 65 20 61 63 74 69 6f 6e 2c 20 t.currently.driving.the.action,.
e440 69 74 27 73 20 73 69 6d 70 6c 65 2e 20 44 6f 65 73 6e 27 74 20 6d 61 74 74 65 72 20 74 68 61 74 it's.simple..Doesn't.matter.that
e460 20 77 65 20 6c 6f 77 65 72 65 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 .we.lowered..................//.
e480 61 63 74 75 61 74 69 6f 6e 20 61 73 20 77 65 20 64 69 64 6e 27 74 20 68 61 76 65 20 74 68 65 20 actuation.as.we.didn't.have.the.
e4a0 68 69 67 68 65 73 74 20 61 63 74 75 61 74 69 6f 6e 20 61 6e 79 77 61 79 2e 0d 0a 20 20 20 20 20 highest.actuation.anyway........
e4c0 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 72 69 67 67 65 72 43 6f 6e 74 72 6f 6c 49 6e 64 ...........if.(triggerControlInd
e4e0 65 78 20 21 3d 20 61 63 74 69 6f 6e 53 74 61 74 65 43 6f 6e 74 72 6f 6c 49 6e 64 65 78 29 0d 0a ex.!=.actionStateControlIndex)..
e500 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 20 20 20 20 ................{...............
e520 20 20 20 20 20 20 20 50 72 6f 66 69 6c 65 72 2e 45 6e 64 53 61 6d 70 6c 65 28 29 3b 0d 0a 20 20 .......Profiler.EndSample();....
e540 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 45 57 3a 20 73 68 ..................////REVIEW:.sh
e560 6f 75 6c 64 20 77 65 20 2a 63 6f 75 6e 74 2a 20 61 63 74 75 61 74 69 6f 6e 73 20 69 6e 73 74 65 ould.we.*count*.actuations.inste
e580 61 64 3f 20 28 70 72 6f 62 6c 65 6d 20 69 73 20 74 68 61 74 20 74 68 65 6e 20 77 65 20 68 61 76 ad?.(problem.is.that.then.we.hav
e5a0 65 20 74 6f 20 72 65 6c 69 61 62 6c 79 20 64 65 74 65 72 6d 69 6e 65 20 77 68 65 6e 20 61 20 63 e.to.reliably.determine.when.a.c
e5c0 6f 6e 74 72 6f 6c 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 ontrol......................////
e5e0 20 20 20 20 20 20 20 20 66 69 72 73 74 20 61 63 74 75 61 74 65 73 3b 20 74 68 65 20 63 75 72 72 ........first.actuates;.the.curr
e600 65 6e 74 20 73 6f 6c 75 74 69 6f 6e 20 77 69 6c 6c 20 6f 63 63 61 73 69 6f 6e 61 6c 6c 79 20 72 ent.solution.will.occasionally.r
e620 75 6e 20 63 6f 6e 66 6c 69 63 74 20 72 65 73 6f 6c 75 74 69 6f 6e 20 77 68 65 6e 20 69 74 20 64 un.conflict.resolution.when.it.d
e640 6f 65 73 6e 27 74 20 68 61 76 65 20 74 6f 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 oesn't.have.to..................
e660 20 20 20 20 2f 2f 2f 2f 20 20 20 20 20 20 20 20 62 75 74 20 77 6f 6e 27 74 20 72 65 71 75 69 72 ....////........but.won't.requir
e680 65 20 74 68 65 20 65 78 74 72 61 20 62 6f 6f 6b 6b 65 65 70 69 6e 67 29 0d 0a 20 20 20 20 20 20 e.the.extra.bookkeeping)........
e6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 44 6f 20 4e 4f 54 20 6c 65 74 20 74 68 69 73 ..............//.Do.NOT.let.this
e6c0 20 63 6f 6e 74 72 6f 6c 20 73 74 61 74 65 20 63 68 61 6e 67 65 20 61 66 66 65 63 74 20 74 68 65 .control.state.change.affect.the
e6e0 20 61 63 74 69 6f 6e 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f .action.......................//
e700 20 4e 4f 54 45 3a 20 57 65 20 64 6f 20 6e 6f 74 20 75 70 64 61 74 65 20 68 61 73 4d 75 6c 74 69 .NOTE:.We.do.not.update.hasMulti
e720 70 6c 65 43 6f 6e 63 75 72 72 65 6e 74 41 63 74 75 61 74 69 6f 6e 73 20 68 65 72 65 20 77 68 69 pleConcurrentActuations.here.whi
e740 63 68 20 6d 65 61 6e 73 20 74 68 61 74 20 69 74 20 6d 61 79 0d 0a 20 20 20 20 20 20 20 20 20 20 ch.means.that.it.may............
e760 20 20 20 20 20 20 20 20 20 20 2f 2f 20 20 20 20 20 20 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 62 ..........//.......temporarily.b
e780 65 20 77 72 6f 6e 67 2e 20 49 66 20 74 68 61 74 20 68 61 70 70 65 6e 73 2c 20 77 65 20 77 69 6c e.wrong..If.that.happens,.we.wil
e7a0 6c 20 65 6e 64 20 75 70 20 65 76 65 6e 74 75 61 6c 6c 79 20 72 75 6e 6e 69 6e 67 20 74 68 65 0d l.end.up.eventually.running.the.
e7c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 20 20 20 20 20 20 63 6f .....................//.......co
e7e0 6e 66 6c 69 63 74 20 72 65 73 6f 6c 75 74 69 6f 6e 20 63 6f 64 65 20 62 65 6c 6f 77 20 65 76 65 nflict.resolution.code.below.eve
e800 6e 20 77 68 65 6e 20 77 65 20 74 65 63 68 6e 69 63 61 6c 6c 79 20 77 6f 75 6c 64 6e 27 74 20 6e n.when.we.technically.wouldn't.n
e820 65 65 64 20 74 6f 20 62 75 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 eed.to.but......................
e840 2f 2f 20 20 20 20 20 20 20 69 74 27 6c 6c 20 73 79 6e 63 20 74 68 65 20 61 63 74 75 61 74 69 6f //.......it'll.sync.the.actuatio
e860 6e 20 73 74 61 74 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 n.state.......................re
e880 74 75 72 6e 20 74 72 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d turn.true;..................}...
e8a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 66 20 77 65 20 64 6f 6e 27 74 20 .................//.If.we.don't.
e8c0 68 61 76 65 20 6d 75 6c 74 69 70 6c 65 20 63 6f 6e 74 72 6f 6c 73 20 74 68 61 74 20 61 72 65 20 have.multiple.controls.that.are.
e8e0 63 75 72 72 65 6e 74 6c 79 20 61 63 74 75 61 74 65 64 2c 20 69 74 27 73 20 73 69 6d 70 6c 65 2e currently.actuated,.it's.simple.
e900 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 61 63 74 69 6f 6e 53 74 61 ..................if.(!actionSta
e920 74 65 2d 3e 68 61 73 4d 75 6c 74 69 70 6c 65 43 6f 6e 63 75 72 72 65 6e 74 41 63 74 75 61 74 69 te->hasMultipleConcurrentActuati
e940 6f 6e 73 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 ons)..................{.........
e960 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 6f 66 69 6c 65 72 2e 45 6e 64 53 61 6d 70 6c 65 28 .............Profiler.EndSample(
e980 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 );......................return.f
e9a0 61 6c 73 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 alse;..................}........
e9c0 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 2f 52 45 56 49 45 57 3a 20 69 73 20 74 68 65 72 65 ............////REVIEW:.is.there
e9e0 20 61 20 73 69 6d 70 6c 65 72 20 77 61 79 20 77 65 20 63 61 6e 20 64 6f 20 74 68 69 73 3f 3f 3f .a.simpler.way.we.can.do.this???
ea00 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 53 6f 2c 20 6e 6f 77 20 77 ....................//.So,.now.w
ea20 65 20 6b 6e 6f 77 20 77 65 20 61 72 65 20 61 63 74 75 61 6c 6c 79 20 6c 6f 6f 6b 69 6e 67 20 61 e.know.we.are.actually.looking.a
ea40 74 20 61 20 70 6f 74 65 6e 74 69 61 6c 20 63 6f 6e 66 6c 69 63 74 2e 20 4d 75 6c 74 69 70 6c 65 t.a.potential.conflict..Multiple
ea60 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 63 6f 6e 74 72 6f 6c 73 20 62 6f ..................//.controls.bo
ea80 75 6e 64 20 74 6f 20 74 68 65 20 61 63 74 69 6f 6e 20 61 72 65 20 61 63 74 75 61 74 65 64 20 62 und.to.the.action.are.actuated.b
eaa0 75 74 20 77 65 20 64 6f 6e 27 74 20 79 65 74 20 6b 6e 6f 77 20 77 68 65 74 68 65 72 0d 0a 20 20 ut.we.don't.yet.know.whether....
eac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 61 6e 79 20 6f 66 20 74 68 65 6d 20 69 73 20 ..............//.any.of.them.is.
eae0 61 63 74 75 61 74 65 64 20 2a 6d 6f 72 65 2a 20 74 68 61 6e 20 74 68 65 20 63 6f 6e 74 72 6f 6c actuated.*more*.than.the.control
eb00 20 74 68 61 74 20 68 61 64 20 6a 75 73 74 20 63 68 61 6e 67 65 64 20 76 61 6c 75 65 2e 0d 0a 20 .that.had.just.changed.value....
eb20 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 68 20 74 68 65 ...............//.Go.through.the
eb40 20 62 69 6e 64 69 6e 67 73 20 66 6f 72 20 74 68 65 20 61 63 74 69 6f 6e 20 61 6e 64 20 73 65 65 .bindings.for.the.action.and.see
eb60 20 77 68 61 74 20 77 65 27 76 65 20 67 6f 74 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .what.we've.got.................
eb80 20 20 76 61 72 20 62 69 6e 64 69 6e 67 53 74 61 72 74 49 6e 64 65 78 20 3d 20 6d 65 6d 6f 72 79 ..var.bindingStartIndex.=.memory
eba0 2e 61 63 74 69 6f 6e 42 69 6e 64 69 6e 67 49 6e 64 69 63 65 73 41 6e 64 43 6f 75 6e 74 73 5b 61 .actionBindingIndicesAndCounts[a
ebc0 63 74 69 6f 6e 49 6e 64 65 78 20 2a 20 32 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ctionIndex.*.2];................
ebe0 20 20 76 61 72 20 62 69 6e 64 69 6e 67 43 6f 75 6e 74 20 3d 20 6d 65 6d 6f 72 79 2e 61 63 74 69 ..var.bindingCount.=.memory.acti
ec00 6f 6e 42 69 6e 64 69 6e 67 49 6e 64 69 63 65 73 41 6e 64 43 6f 75 6e 74 73 5b 61 63 74 69 6f 6e onBindingIndicesAndCounts[action
ec20 49 6e 64 65 78 20 2a 20 32 20 2b 20 31 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 Index.*.2.+.1];.................
ec40 20 76 61 72 20 68 69 67 68 65 73 74 41 63 74 75 61 74 69 6f 6e 4c 65 76 65 6c 20 3d 20 74 72 69 .var.highestActuationLevel.=.tri
ec60 67 67 65 72 2e 6d 61 67 6e 69 74 75 64 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 gger.magnitude;.................
ec80 20 76 61 72 20 63 6f 6e 74 72 6f 6c 57 69 74 68 48 69 67 68 65 73 74 41 63 74 75 61 74 69 6f 6e .var.controlWithHighestActuation
eca0 20 3d 20 6b 49 6e 76 61 6c 69 64 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .=.kInvalidIndex;...............
ecc0 20 20 20 76 61 72 20 62 69 6e 64 69 6e 67 57 69 74 68 48 69 67 68 65 73 74 41 63 74 75 61 74 69 ...var.bindingWithHighestActuati
ece0 6f 6e 20 3d 20 6b 49 6e 76 61 6c 69 64 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 on.=.kInvalidIndex;.............
ed00 20 20 20 20 20 76 61 72 20 6e 75 6d 41 63 74 75 61 74 69 6f 6e 73 20 3d 20 30 3b 0d 0a 20 20 20 .....var.numActuations.=.0;.....
ed20 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 3c .............for.(var.i.=.0;.i.<
ed40 20 62 69 6e 64 69 6e 67 43 6f 75 6e 74 3b 20 2b 2b 69 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 .bindingCount;.++i).............
ed60 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 76 61 72 20 .....{......................var.
ed80 62 69 6e 64 69 6e 67 49 6e 64 65 78 20 3d 20 6d 65 6d 6f 72 79 2e 61 63 74 69 6f 6e 42 69 6e 64 bindingIndex.=.memory.actionBind
eda0 69 6e 67 49 6e 64 69 63 65 73 5b 62 69 6e 64 69 6e 67 53 74 61 72 74 49 6e 64 65 78 20 2b 20 69 ingIndices[bindingStartIndex.+.i
edc0 5d 3b 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 62 69 6e 64 ];......................var.bind
ede0 69 6e 67 20 3d 20 26 6d 65 6d 6f 72 79 2e 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 62 69 6e 64 ing.=.&memory.bindingStates[bind
ee00 69 6e 67 49 6e 64 65 78 5d 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ingIndex];......................
ee20 20 20 69 66 20 28 62 69 6e 64 69 6e 67 2d 3e 69 73 43 6f 6d 70 6f 73 69 74 65 29 0d 0a 20 20 20 ..if.(binding->isComposite).....
ee40 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 20 20 20 .................{..............
ee60 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 43 6f 6d 70 6f 73 69 74 65 20 62 69 6e 64 69 6e 67 ............//.Composite.binding
ee80 73 20 72 65 73 75 6c 74 20 69 6e 20 61 20 73 69 6e 67 6c 65 20 61 63 74 75 61 74 69 6f 6e 20 76 s.result.in.a.single.actuation.v
eea0 61 6c 75 65 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 68 6f 77 0d 0a 20 20 20 20 20 20 20 20 alue.regardless.of.how..........
eec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 6d 61 6e 79 20 63 6f 6e 74 72 6f 6c 73 ................//.many.controls
eee0 20 61 72 65 20 62 6f 75 6e 64 20 74 68 72 6f 75 67 68 20 74 68 65 20 70 61 72 74 73 20 6f 66 20 .are.bound.through.the.parts.of.
ef00 74 68 65 20 63 6f 6d 70 6f 73 69 74 65 2e 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 the.composite...................
ef20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 66 69 72 73 74 43 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 ..........var.firstControlIndex.
ef40 3d 20 62 69 6e 64 69 6e 67 2d 3e 63 6f 6e 74 72 6f 6c 53 74 61 72 74 49 6e 64 65 78 3b 0d 0a 20 =.binding->controlStartIndex;...
ef60 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 63 6f 6d 70 6f .......................var.compo
ef80 73 69 74 65 49 6e 64 65 78 20 3d 20 62 69 6e 64 69 6e 67 2d 3e 63 6f 6d 70 6f 73 69 74 65 4f 72 siteIndex.=.binding->compositeOr
efa0 43 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 49 6e 64 65 78 3b 0d 0a 0d 0a 20 20 20 20 20 20 CompositeBindingIndex;..........
efc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 66 ..................Debug.Assert(f
efe0 69 72 73 74 43 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3e 3d 20 30 20 26 26 20 66 69 72 73 74 43 6f irstControlIndex.>=.0.&&.firstCo
f000 6e 74 72 6f 6c 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 43 6f 6e 74 72 6f 6c 43 6f 75 6e 74 2c 0d ntrolIndex.<.totalControlCount,.
f020 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 43 6f ............................."Co
f040 6e 74 72 6f 6c 20 73 74 61 72 74 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 20 6f ntrol.start.index.out.of.range.o
f060 6e 20 63 6f 6d 70 6f 73 69 74 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n.composite");..................
f080 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 63 6f 6d 70 6f 73 69 74 65 49 6e ........Debug.Assert(compositeIn
f0a0 64 65 78 20 3e 3d 20 30 20 26 26 20 63 6f 6d 70 6f 73 69 74 65 49 6e 64 65 78 20 3c 20 74 6f 74 dex.>=.0.&&.compositeIndex.<.tot
f0c0 61 6c 43 6f 6d 70 6f 73 69 74 65 43 6f 75 6e 74 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 alCompositeCount,...............
f0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 43 6f 6d 70 6f 73 69 74 65 20 69 6e 64 65 78 20 ..............."Composite.index.
f100 6f 75 74 20 6f 66 20 72 61 6e 67 65 20 6f 6e 20 63 6f 6d 70 6f 73 69 74 65 22 29 3b 0d 0a 0d 0a out.of.range.on.composite");....
f120 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 6d 61 67 6e ........................var.magn
f140 69 74 75 64 65 20 3d 20 6d 65 6d 6f 72 79 2e 63 6f 6d 70 6f 73 69 74 65 4d 61 67 6e 69 74 75 64 itude.=.memory.compositeMagnitud
f160 65 73 5b 63 6f 6d 70 6f 73 69 74 65 49 6e 64 65 78 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 es[compositeIndex];.............
f180 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 61 67 6e 69 74 75 64 65 20 3e 20 30 29 0d .............if.(magnitude.>.0).
f1a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2b 2b 6e .............................++n
f1c0 75 6d 41 63 74 75 61 74 69 6f 6e 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 umActuations;...................
f1e0 20 20 20 20 20 20 20 69 66 20 28 6d 61 67 6e 69 74 75 64 65 20 3e 20 68 69 67 68 65 73 74 41 63 .......if.(magnitude.>.highestAc
f200 74 75 61 74 69 6f 6e 4c 65 76 65 6c 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tuationLevel)...................
f220 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 20 20 20 20 20 20 .......{........................
f240 20 20 20 20 20 20 63 6f 6e 74 72 6f 6c 57 69 74 68 48 69 67 68 65 73 74 41 63 74 75 61 74 69 6f ......controlWithHighestActuatio
f260 6e 20 3d 20 66 69 72 73 74 43 6f 6e 74 72 6f 6c 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 n.=.firstControlIndex;..........
f280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 69 6e 64 69 6e 67 57 69 74 68 48 ....................bindingWithH
f2a0 69 67 68 65 73 74 41 63 74 75 61 74 69 6f 6e 20 3d 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 54 6f ighestActuation.=.controlIndexTo
f2c0 42 69 6e 64 69 6e 67 49 6e 64 65 78 5b 66 69 72 73 74 43 6f 6e 74 72 6f 6c 49 6e 64 65 78 5d 3b BindingIndex[firstControlIndex];
f2e0 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 20 20 20 68 69 ..............................hi
f300 67 68 65 73 74 41 63 74 75 61 74 69 6f 6e 4c 65 76 65 6c 20 3d 20 6d 61 67 6e 69 74 75 64 65 3b ghestActuationLevel.=.magnitude;
f320 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 20 ..........................}.....
f340 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 20 20 .................}..............
f360 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 21 62 69 6e 64 69 6e 67 2d 3e 69 73 50 61 72 ........else.if.(!binding->isPar
f380 74 4f 66 43 6f 6d 70 6f 73 69 74 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tOfComposite)...................
f3a0 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 20 20 20 20 2f 2f ...{..........................//
f3c0 20 43 68 65 63 6b 20 61 63 74 75 61 74 69 6f 6e 20 6f 66 20 65 61 63 68 20 63 6f 6e 74 72 6f 6c .Check.actuation.of.each.control
f3e0 20 6f 6e 20 74 68 65 20 62 69 6e 64 69 6e 67 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .on.the.binding.................
f400 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 76 61 72 20 6e 20 3d 20 30 3b 20 6e 20 3c 20 62 69 ..........for.(var.n.=.0;.n.<.bi
f420 6e 64 69 6e 67 2d 3e 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 3b 20 2b 2b 6e 29 0d 0a 20 20 20 20 20 nding->controlCount;.++n).......
f440 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 20 ...................{............
f460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 6f 6e 74 72 6f 6c 49 6e 64 ..................var.controlInd
f480 65 78 20 3d 20 62 69 6e 64 69 6e 67 2d 3e 63 6f 6e 74 72 6f 6c 53 74 61 72 74 49 6e 64 65 78 20 ex.=.binding->controlStartIndex.
f4a0 2b 20 6e 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 20 20 +.n;............................
f4c0 20 20 76 61 72 20 6d 61 67 6e 69 74 75 64 65 20 3d 20 6d 65 6d 6f 72 79 2e 63 6f 6e 74 72 6f 6c ..var.magnitude.=.memory.control
f4e0 4d 61 67 6e 69 74 75 64 65 73 5b 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 5d 3b 0d 0a 0d 0a 20 20 20 Magnitudes[controlIndex];.......
f500 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 69 66 20 28 6d 61 67 .........................if.(mag
f520 6e 69 74 75 64 65 20 3e 20 30 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nitude.>.0).....................
f540 20 20 20 20 20 20 20 20 20 20 20 20 20 2b 2b 6e 75 6d 41 63 74 75 61 74 69 6f 6e 73 3b 0d 0a 0d .............++numActuations;...
f560 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 .............................if.
f580 28 6d 61 67 6e 69 74 75 64 65 20 3e 20 68 69 67 68 65 73 74 41 63 74 75 61 74 69 6f 6e 4c 65 76 (magnitude.>.highestActuationLev
f5a0 65 6c 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 20 20 20 el).............................
f5c0 20 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 20 20 20 20 .{..............................
f5e0 20 20 20 20 63 6f 6e 74 72 6f 6c 57 69 74 68 48 69 67 68 65 73 74 41 63 74 75 61 74 69 6f 6e 20 ....controlWithHighestActuation.
f600 3d 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 =.controlIndex;.................
f620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 69 6e 64 69 6e 67 57 69 74 68 48 69 67 68 .................bindingWithHigh
f640 65 73 74 41 63 74 75 61 74 69 6f 6e 20 3d 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 3b 0d 0a 20 20 estActuation.=.bindingIndex;....
f660 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 20 68 69 ..............................hi
f680 67 68 65 73 74 41 63 74 75 61 74 69 6f 6e 4c 65 76 65 6c 20 3d 20 6d 61 67 6e 69 74 75 64 65 3b ghestActuationLevel.=.magnitude;
f6a0 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 20 20 20 7d 0d ..............................}.
f6c0 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 20 20 .........................}......
f6e0 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 20 20 20 ................}...............
f700 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 55 70 64 61 74 ...}....................//.Updat
f720 65 20 6f 75 72 20 72 65 63 6f 72 64 20 6f 66 20 77 68 65 74 68 65 72 20 74 68 65 72 65 20 61 72 e.our.record.of.whether.there.ar
f740 65 20 6d 75 6c 74 69 70 6c 65 20 63 6f 6e 63 75 72 72 65 6e 74 20 61 63 74 75 61 74 69 6f 6e 73 e.multiple.concurrent.actuations
f760 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6d 41 63 74 75 61 74 ...................if.(numActuat
f780 69 6f 6e 73 20 3c 3d 20 31 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ions.<=.1)......................
f7a0 61 63 74 69 6f 6e 53 74 61 74 65 2d 3e 68 61 73 4d 75 6c 74 69 70 6c 65 43 6f 6e 63 75 72 72 65 actionState->hasMultipleConcurre
f7c0 6e 74 41 63 74 75 61 74 69 6f 6e 73 20 3d 20 66 61 6c 73 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 ntActuations.=.false;...........
f7e0 20 20 20 20 20 20 20 20 20 2f 2f 20 49 66 20 77 65 20 64 69 64 6e 27 74 20 66 69 6e 64 20 61 20 .........//.If.we.didn't.find.a.
f800 63 6f 6e 74 72 6f 6c 20 77 69 74 68 20 61 20 68 69 67 68 65 72 20 61 63 74 75 61 74 69 6f 6e 20 control.with.a.higher.actuation.
f820 6c 65 76 65 6c 2c 20 74 68 65 6e 20 67 6f 20 61 6e 64 20 70 72 6f 63 65 73 73 0d 0a 20 20 20 20 level,.then.go.and.process......
f840 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 74 68 65 20 63 6f 6e 74 72 6f 6c 20 76 61 6c 75 65 ............//.the.control.value
f860 20 63 68 61 6e 67 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 6f .change...................if.(co
f880 6e 74 72 6f 6c 57 69 74 68 48 69 67 68 65 73 74 41 63 74 75 61 74 69 6f 6e 20 21 3d 20 6b 49 6e ntrolWithHighestActuation.!=.kIn
f8a0 76 61 6c 69 64 49 6e 64 65 78 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a validIndex)..................{..
f8c0 20 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 64 6f 20 68 61 76 ....................//.We.do.hav
f8e0 65 20 61 20 63 6f 6e 74 72 6f 6c 20 77 69 74 68 20 61 20 68 69 67 68 65 72 20 61 63 74 75 61 74 e.a.control.with.a.higher.actuat
f900 69 6f 6e 20 6c 65 76 65 6c 2e 20 53 77 69 74 63 68 20 66 72 6f 6d 20 6f 75 72 20 63 75 72 72 65 ion.level..Switch.from.our.curre
f920 6e 74 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 63 6f 6e 74 72 nt......................//.contr
f940 6f 6c 20 74 6f 20 70 72 6f 63 65 73 73 69 6e 67 20 74 68 65 20 63 6f 6e 74 72 6f 6c 20 77 69 74 ol.to.processing.the.control.wit
f960 68 20 74 68 65 20 6e 6f 77 20 68 69 67 68 65 73 74 20 61 63 74 75 61 74 69 6f 6e 20 6c 65 76 65 h.the.now.highest.actuation.leve
f980 6c 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 0d 0a 20 20 20 20 l.......................//......
f9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 4e 4f 54 45 3a 20 57 65 20 61 72 65 20 ................//.NOTE:.We.are.
f9c0 70 72 6f 63 65 73 73 69 6e 67 20 61 6e 20 61 72 74 69 66 69 63 69 61 6c 20 63 6f 6e 74 72 6f 6c processing.an.artificial.control
f9e0 20 73 74 61 74 65 20 63 68 61 6e 67 65 20 68 65 72 65 2e 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 0d .state.change.here..Information.
fa00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 20 20 20 20 20 20 73 75 .....................//.......su
fa20 63 68 20 61 73 20 74 68 65 20 74 69 6d 65 73 74 61 6d 70 20 77 69 6c 6c 20 6e 6f 74 20 63 6f 72 ch.as.the.timestamp.will.not.cor
fa40 72 65 73 70 6f 6e 64 20 74 6f 20 77 68 65 6e 20 74 68 65 20 63 6f 6e 74 72 6f 6c 20 61 63 74 75 respond.to.when.the.control.actu
fa60 61 6c 6c 79 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 20 20 20 ally......................//....
fa80 20 20 20 63 68 61 6e 67 65 64 20 76 61 6c 75 65 2e 20 48 6f 77 65 76 65 72 2c 20 69 66 20 77 65 ...changed.value..However,.if.we
faa0 20 73 6b 69 70 20 70 72 6f 63 65 73 73 69 6e 67 20 74 68 69 73 20 61 73 20 61 20 73 65 70 61 72 .skip.processing.this.as.a.separ
fac0 61 74 65 20 63 6f 6e 74 72 6f 6c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ate.control.....................
fae0 20 2f 2f 20 20 20 20 20 20 20 63 68 61 6e 67 65 20 68 65 72 65 2c 20 69 6e 74 65 72 61 63 74 69 .//.......change.here,.interacti
fb00 6f 6e 73 20 6d 61 79 20 6e 6f 74 20 62 65 68 61 76 65 20 70 72 6f 70 65 72 6c 79 20 61 73 20 74 ons.may.not.behave.properly.as.t
fb20 68 65 79 20 77 6f 75 6c 64 20 6e 6f 74 20 62 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 hey.would.not.be................
fb40 20 20 20 20 20 20 2f 2f 20 20 20 20 20 20 20 73 65 65 69 6e 67 20 74 68 61 74 20 77 65 20 6a 75 ......//.......seeing.that.we.ju
fb60 73 74 20 6c 6f 77 65 72 65 64 20 74 68 65 20 61 63 74 75 61 74 69 6f 6e 20 6c 65 76 65 6c 20 6f st.lowered.the.actuation.level.o
fb80 6e 20 74 68 65 20 61 63 74 69 6f 6e 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n.the.action....................
fba0 20 20 20 74 72 69 67 67 65 72 2e 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3d 20 63 6f 6e 74 72 6f ...trigger.controlIndex.=.contro
fbc0 6c 57 69 74 68 48 69 67 68 65 73 74 41 63 74 75 61 74 69 6f 6e 3b 0d 0a 20 20 20 20 20 20 20 20 lWithHighestActuation;..........
fbe0 20 20 20 20 20 20 20 20 20 20 20 20 74 72 69 67 67 65 72 2e 62 69 6e 64 69 6e 67 49 6e 64 65 78 ............trigger.bindingIndex
fc00 20 3d 20 62 69 6e 64 69 6e 67 57 69 74 68 48 69 67 68 65 73 74 41 63 74 75 61 74 69 6f 6e 3b 0d .=.bindingWithHighestActuation;.
fc20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 72 69 67 67 65 72 2e 6d 61 67 .....................trigger.mag
fc40 6e 69 74 75 64 65 20 3d 20 68 69 67 68 65 73 74 41 63 74 75 61 74 69 6f 6e 4c 65 76 65 6c 3b 0d nitude.=.highestActuationLevel;.
fc60 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 6f 66 69 6c 65 72 2e .......................Profiler.
fc80 45 6e 64 53 61 6d 70 6c 65 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 EndSample();....................
fca0 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..return.false;.................
fcc0 20 7d 0d 0a 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 .}..............}...............
fce0 20 50 72 6f 66 69 6c 65 72 2e 45 6e 64 53 61 6d 70 6c 65 28 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 .Profiler.EndSample();..........
fd00 20 20 20 20 20 20 2f 2f 20 49 66 20 77 65 27 72 65 20 6e 6f 74 20 72 65 61 6c 6c 79 20 65 66 66 ......//.If.we're.not.really.eff
fd20 65 63 74 69 6e 67 20 61 6e 79 20 63 68 61 6e 67 65 20 6f 6e 20 74 68 65 20 61 63 74 69 6f 6e 2c ecting.any.change.on.the.action,
fd40 20 69 67 6e 6f 72 65 20 74 68 65 20 63 6f 6e 74 72 6f 6c 20 73 74 61 74 65 20 63 68 61 6e 67 65 .ignore.the.control.state.change
fd60 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 4e 4f 54 45 3a 20 57 65 20 6d 61 79 20 62 ...............//.NOTE:.We.may.b
fd80 65 20 6c 6f 6f 6b 69 6e 67 20 61 74 20 61 20 63 6f 6e 74 72 6f 6c 20 68 65 72 65 20 74 68 61 74 e.looking.at.a.control.here.that
fda0 20 70 6f 69 6e 74 73 20 69 6e 20 61 20 63 6f 6d 70 6c 65 74 65 6c 79 20 64 69 72 65 63 74 69 6f .points.in.a.completely.directio
fdc0 6e 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 65 76 65 6e 0d 0a 20 20 20 20 20 20 20 20 20 20 n,.for.example,.even............
fde0 20 20 2f 2f 20 20 20 20 20 20 20 74 68 6f 75 67 68 20 69 74 20 68 61 73 20 74 68 65 20 73 61 6d ..//.......though.it.has.the.sam
fe00 65 20 6d 61 67 6e 69 74 75 64 65 2e 20 48 6f 77 65 76 65 72 2c 20 77 65 20 72 65 71 75 69 72 65 e.magnitude..However,.we.require
fe20 20 61 20 63 6f 6e 74 72 6f 6c 20 74 6f 20 2a 68 69 67 68 65 72 2a 20 61 62 73 6f 6c 75 74 65 20 .a.control.to.*higher*.absolute.
fe40 61 63 74 75 61 74 69 6f 6e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 20 20 20 20 20 20 actuation..............//.......
fe60 62 65 66 6f 72 65 20 77 65 20 6c 65 74 20 69 74 20 64 72 69 76 65 20 74 68 65 20 61 63 74 69 6f before.we.let.it.drive.the.actio
fe80 6e 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 4d 61 74 68 66 2e 41 70 70 72 6f 78 n...............if.(Mathf.Approx
fea0 69 6d 61 74 65 6c 79 28 74 72 69 67 67 65 72 2e 6d 61 67 6e 69 74 75 64 65 2c 20 61 63 74 69 6f imately(trigger.magnitude,.actio
fec0 6e 53 74 61 74 65 2d 3e 6d 61 67 6e 69 74 75 64 65 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 nState->magnitude)).............
fee0 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 48 6f 77 65 76 65 72 2c 20 .{..................//.However,.
ff00 69 66 20 77 65 20 68 61 76 65 20 63 68 61 6e 67 65 64 20 74 68 65 20 63 6f 6e 74 72 6f 6c 20 74 if.we.have.changed.the.control.t
ff20 6f 20 61 20 64 69 66 66 65 72 65 6e 74 20 63 6f 6e 74 72 6f 6c 20 6f 6e 20 74 68 65 20 73 61 6d o.a.different.control.on.the.sam
ff40 65 20 63 6f 6d 70 6f 73 69 74 65 2c 20 77 65 20 2a 73 68 6f 75 6c 64 2a 20 6c 65 74 0d 0a 20 20 e.composite,.we.*should*.let....
ff60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 69 74 20 64 72 69 76 65 20 74 68 65 20 61 63 ..............//.it.drive.the.ac
ff80 74 69 6f 6e 20 2d 20 74 68 69 73 20 69 73 20 6c 69 6b 65 20 61 20 64 69 72 65 63 74 69 6f 6e 20 tion.-.this.is.like.a.direction.
ffa0 63 68 61 6e 67 65 20 6f 6e 20 74 68 65 20 73 61 6d 65 20 63 6f 6e 74 72 6f 6c 2e 0d 0a 20 20 20 change.on.the.same.control......
ffc0 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 74 .............if.(bindingStates[t
ffe0 72 69 67 67 65 72 2e 62 69 6e 64 69 6e 67 49 6e 64 65 78 5d 2e 69 73 50 61 72 74 4f 66 43 6f 6d rigger.bindingIndex].isPartOfCom
10000 70 6f 73 69 74 65 20 26 26 20 74 72 69 67 67 65 72 43 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3d 3d posite.&&.triggerControlIndex.==
10020 20 61 63 74 69 6f 6e 53 74 61 74 65 43 6f 6e 74 72 6f 6c 49 6e 64 65 78 29 0d 0a 20 20 20 20 20 .actionStateControlIndex).......
10040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d 0a 20 20 ...............return.false;....
10060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 72 69 67 67 65 72 2e 6d 61 67 6e 69 74 ..............if.(trigger.magnit
10080 75 64 65 20 3e 20 30 20 26 26 20 74 72 69 67 67 65 72 43 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 21 ude.>.0.&&.triggerControlIndex.!
100a0 3d 20 61 63 74 69 6f 6e 53 74 61 74 65 2d 3e 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 29 0d 0a 20 20 =.actionState->controlIndex)....
100c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 69 6f 6e 53 74 61 74 65 2d 3e 68 ..................actionState->h
100e0 61 73 4d 75 6c 74 69 70 6c 65 43 6f 6e 63 75 72 72 65 6e 74 41 63 74 75 61 74 69 6f 6e 73 20 3d asMultipleConcurrentActuations.=
10100 20 74 72 75 65 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 74 .true;..................return.t
10120 72 75 65 3b 0d 0a 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 rue;..............}.............
10140 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 ...return.false;..........}.....
10160 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 2f .......///.<summary>..........//
10180 2f 20 57 68 65 6e 20 74 68 65 72 65 20 69 73 20 6e 6f 20 69 6e 74 65 72 61 63 74 69 6f 6e 20 6f /.When.there.is.no.interaction.o
101a0 6e 20 61 6e 20 61 63 74 69 6f 6e 2c 20 74 68 69 73 20 6d 65 74 68 6f 64 20 70 65 72 66 6f 72 6d n.an.action,.this.method.perform
101c0 20 74 68 65 20 64 65 66 61 75 6c 74 20 69 6e 74 65 72 61 63 74 69 6f 6e 20 6c 6f 67 69 63 20 74 .the.default.interaction.logic.t
101e0 68 61 74 20 77 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 72 75 6e 20 77 68 65 6e 20 61 20 62 hat.we..........///.run.when.a.b
10200 6f 75 6e 64 20 63 6f 6e 74 72 6f 6c 20 63 68 61 6e 67 65 73 20 76 61 6c 75 65 2e 0d 0a 20 20 20 ound.control.changes.value......
10220 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 2f 2f 2f .....///.</summary>..........///
10240 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 74 72 69 67 67 65 72 22 3e 43 6f 6e 74 72 6f 6c 20 74 .<param.name="trigger">Control.t
10260 72 69 67 67 65 72 20 73 74 61 74 65 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 2f rigger.state.</param>........../
10280 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 61 63 74 69 6f 6e 49 6e 64 65 78 22 3e 3c 2f 70 //.<param.name="actionIndex"></p
102a0 61 72 61 6d 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 20 aram>..........///.<remarks>....
102c0 20 20 20 20 20 20 2f 2f 2f 20 54 68 65 20 64 65 66 61 75 6c 74 20 69 6e 74 65 72 61 63 74 69 6f ......///.The.default.interactio
102e0 6e 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 69 74 73 20 6f 77 6e 20 3c 73 65 65 20 63 72 65 n.does.not.have.its.own.<see.cre
10300 66 3d 22 49 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 74 65 22 2f 3e 2e 20 57 68 61 74 65 76 65 72 f="InteractionState"/>..Whatever
10320 20 77 65 20 64 6f 20 69 6e 20 68 65 72 65 2c 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 77 65 20 .we.do.in.here,..........///.we.
10340 73 74 6f 72 65 20 64 69 72 65 63 74 6c 79 20 6f 6e 20 74 68 65 20 61 63 74 69 6f 6e 20 73 74 61 store.directly.on.the.action.sta
10360 74 65 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 68 te...........///..........///.Th
10380 65 20 64 65 66 61 75 6c 74 20 69 6e 74 65 72 61 63 74 69 6f 6e 20 69 73 20 62 61 73 69 63 61 6c e.default.interaction.is.basical
103a0 6c 79 20 61 20 73 6f 72 74 20 6f 66 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 20 77 68 65 72 65 20 ly.a.sort.of.optimization.where.
103c0 77 65 20 64 6f 6e 27 74 20 72 65 71 75 69 72 65 20 68 61 76 69 6e 67 20 61 6e 20 65 78 70 6c 69 we.don't.require.having.an.expli
103e0 63 69 74 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 69 6e 74 65 72 61 63 74 69 6f 6e 20 6f 62 6a cit..........///.interaction.obj
10400 65 63 74 2e 20 43 6f 6e 63 65 70 74 75 61 6c 6c 79 2c 20 69 74 20 63 61 6e 20 62 65 20 74 68 6f ect..Conceptually,.it.can.be.tho
10420 75 67 68 74 20 6f 66 2c 20 68 6f 77 65 76 65 72 2c 20 61 73 20 70 75 74 74 69 6e 67 20 74 68 69 ught.of,.however,.as.putting.thi
10440 73 20 69 6e 74 65 72 61 63 74 69 6f 6e 20 6f 6e 20 61 6e 79 0d 0a 20 20 20 20 20 20 20 20 2f 2f s.interaction.on.any..........//
10460 2f 20 62 69 6e 64 69 6e 67 20 74 68 61 74 20 64 6f 65 73 6e 27 74 20 68 61 76 65 20 61 6e 79 20 /.binding.that.doesn't.have.any.
10480 6f 74 68 65 72 20 69 6e 74 65 72 61 63 74 69 6f 6e 20 6f 6e 20 69 74 2e 0d 0a 20 20 20 20 20 20 other.interaction.on.it.........
104a0 20 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 70 72 69 76 61 74 ..///.</remarks>..........privat
104c0 65 20 76 6f 69 64 20 50 72 6f 63 65 73 73 44 65 66 61 75 6c 74 49 6e 74 65 72 61 63 74 69 6f 6e e.void.ProcessDefaultInteraction
104e0 28 72 65 66 20 54 72 69 67 67 65 72 53 74 61 74 65 20 74 72 69 67 67 65 72 2c 20 69 6e 74 20 61 (ref.TriggerState.trigger,.int.a
10500 63 74 69 6f 6e 49 6e 64 65 78 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 ctionIndex)..........{..........
10520 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 61 63 74 69 6f 6e 49 6e 64 65 78 20 3e 3d 20 ....Debug.Assert(actionIndex.>=.
10540 30 20 26 26 20 61 63 74 69 6f 6e 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 41 63 74 69 6f 6e 43 6f 0.&&.actionIndex.<.totalActionCo
10560 75 6e 74 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 41 63 74 69 6f 6e 20 69 6e unt,.................."Action.in
10580 64 65 78 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 20 77 68 65 6e 20 70 72 6f 63 65 73 73 69 6e 67 dex.out.of.range.when.processing
105a0 20 64 65 66 61 75 6c 74 20 69 6e 74 65 72 61 63 74 69 6f 6e 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 .default.interaction");.........
105c0 20 20 20 20 20 20 20 73 77 69 74 63 68 20 28 61 63 74 69 6f 6e 53 74 61 74 65 73 5b 61 63 74 69 .......switch.(actionStates[acti
105e0 6f 6e 49 6e 64 65 78 5d 2e 70 68 61 73 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a onIndex].phase)..............{..
10600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 49 6e 70 75 74 41 63 74 69 6f 6e ................case.InputAction
10620 50 68 61 73 65 2e 57 61 69 74 69 6e 67 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 Phase.Waiting:..................
10640 7b 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 50 61 73 73 2d 74 {......................//.Pass-t
10660 68 72 6f 75 67 68 20 61 63 74 69 6f 6e 73 20 77 65 20 70 65 72 66 6f 72 6d 20 6f 6e 20 65 76 65 hrough.actions.we.perform.on.eve
10680 72 79 20 76 61 6c 75 65 20 63 68 61 6e 67 65 20 61 6e 64 20 74 68 65 6e 20 67 6f 20 62 61 63 6b ry.value.change.and.then.go.back
106a0 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 74 6f 20 77 61 69 74 ......................//.to.wait
106c0 69 6e 67 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 72 ing.......................if.(tr
106e0 69 67 67 65 72 2e 69 73 50 61 73 73 54 68 72 6f 75 67 68 29 0d 0a 20 20 20 20 20 20 20 20 20 20 igger.isPassThrough)............
10700 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 20 20 20 ..........{.....................
10720 20 20 20 20 20 43 68 61 6e 67 65 50 68 61 73 65 4f 66 41 63 74 69 6f 6e 28 49 6e 70 75 74 41 63 .....ChangePhaseOfAction(InputAc
10740 74 69 6f 6e 50 68 61 73 65 2e 50 65 72 66 6f 72 6d 65 64 2c 20 72 65 66 20 74 72 69 67 67 65 72 tionPhase.Performed,.ref.trigger
10760 2c 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 20 20 20 70 ,..............................p
10780 68 61 73 65 41 66 74 65 72 50 65 72 66 6f 72 6d 65 64 4f 72 43 61 6e 63 65 6c 65 64 3a 20 49 6e haseAfterPerformedOrCanceled:.In
107a0 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 57 61 69 74 69 6e 67 29 3b 0d 0a 20 20 20 20 20 20 putActionPhase.Waiting);........
107c0 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 20 20 20 ..................break;........
107e0 20 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 ..............}.................
10800 20 20 20 20 20 20 20 2f 2f 20 49 67 6e 6f 72 65 20 69 66 20 74 68 65 20 63 6f 6e 74 72 6f 6c 20 .......//.Ignore.if.the.control.
10820 68 61 73 20 6e 6f 74 20 63 72 6f 73 73 65 64 20 69 74 73 20 61 63 74 75 61 74 69 6f 6e 20 74 68 has.not.crossed.its.actuation.th
10840 72 65 73 68 6f 6c 64 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 reshold.......................if
10860 20 28 49 73 41 63 74 75 61 74 65 64 28 72 65 66 20 74 72 69 67 67 65 72 29 29 0d 0a 20 20 20 20 .(IsActuated(ref.trigger))......
10880 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 20 20 20 20 ................{...............
108a0 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 47 6f 20 69 6e 74 6f 20 73 74 61 72 74 65 64 2c 20 74 ...........//.Go.into.started,.t
108c0 68 65 6e 20 70 65 72 66 6f 72 6d 20 61 6e 64 20 74 68 65 6e 20 67 6f 20 62 61 63 6b 20 74 6f 20 hen.perform.and.then.go.back.to.
108e0 73 74 61 72 74 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 20 20 started.........................
10900 20 20 43 68 61 6e 67 65 50 68 61 73 65 4f 66 41 63 74 69 6f 6e 28 49 6e 70 75 74 41 63 74 69 6f ..ChangePhaseOfAction(InputActio
10920 6e 50 68 61 73 65 2e 53 74 61 72 74 65 64 2c 20 72 65 66 20 74 72 69 67 67 65 72 29 3b 0d 0a 20 nPhase.Started,.ref.trigger);...
10940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 68 61 6e 67 65 50 68 61 .......................ChangePha
10960 73 65 4f 66 41 63 74 69 6f 6e 28 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 50 65 72 66 seOfAction(InputActionPhase.Perf
10980 6f 72 6d 65 64 2c 20 72 65 66 20 74 72 69 67 67 65 72 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ormed,.ref.trigger,.............
109a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 68 61 73 65 41 66 74 65 72 50 65 72 66 6f .................phaseAfterPerfo
109c0 72 6d 65 64 4f 72 43 61 6e 63 65 6c 65 64 3a 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 rmedOrCanceled:.InputActionPhase
109e0 2e 53 74 61 72 74 65 64 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .Started);......................
10a00 7d 0d 0a 0d 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 }........................break;.
10a20 0a 20 20 20 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 .................}..............
10a40 20 20 20 20 20 20 63 61 73 65 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 53 74 61 72 ......case.InputActionPhase.Star
10a60 74 65 64 3a 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 ted:..................{.........
10a80 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 49 73 41 63 74 75 61 74 65 64 28 72 65 66 .............if.(!IsActuated(ref
10aa0 20 74 72 69 67 67 65 72 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .trigger))......................
10ac0 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 2f 2f 20 43 6f {..........................//.Co
10ae0 6e 74 72 6f 6c 20 77 65 6e 74 20 62 61 63 6b 20 74 6f 20 62 65 6c 6f 77 20 61 63 74 75 61 74 69 ntrol.went.back.to.below.actuati
10b00 6f 6e 20 74 68 72 65 73 68 6f 6c 64 2e 20 43 61 6e 63 65 6c 20 69 6e 74 65 72 61 63 74 69 6f 6e on.threshold..Cancel.interaction
10b20 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 20 43 68 61 6e 67 ...........................Chang
10b40 65 50 68 61 73 65 4f 66 41 63 74 69 6f 6e 28 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e ePhaseOfAction(InputActionPhase.
10b60 43 61 6e 63 65 6c 65 64 2c 20 72 65 66 20 74 72 69 67 67 65 72 29 3b 0d 0a 20 20 20 20 20 20 20 Canceled,.ref.trigger);.........
10b80 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 20 20 20 20 20 20 .............}..................
10ba0 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 7b 0d ....else......................{.
10bc0 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 2f 20 43 6f 6e 74 .........................//.Cont
10be0 72 6f 6c 20 63 68 61 6e 67 65 64 20 76 61 6c 75 65 20 61 62 6f 76 65 20 6d 61 67 6e 69 74 75 64 rol.changed.value.above.magnitud
10c00 65 20 74 68 72 65 73 68 6f 6c 64 2e 20 50 65 72 66 6f 72 6d 20 61 6e 64 20 72 65 6d 61 69 6e 20 e.threshold..Perform.and.remain.
10c20 73 74 61 72 74 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 20 20 started.........................
10c40 20 20 43 68 61 6e 67 65 50 68 61 73 65 4f 66 41 63 74 69 6f 6e 28 49 6e 70 75 74 41 63 74 69 6f ..ChangePhaseOfAction(InputActio
10c60 6e 50 68 61 73 65 2e 50 65 72 66 6f 72 6d 65 64 2c 20 72 65 66 20 74 72 69 67 67 65 72 2c 0d 0a nPhase.Performed,.ref.trigger,..
10c80 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 70 68 61 73 ............................phas
10ca0 65 41 66 74 65 72 50 65 72 66 6f 72 6d 65 64 4f 72 43 61 6e 63 65 6c 65 64 3a 20 49 6e 70 75 74 eAfterPerformedOrCanceled:.Input
10cc0 41 63 74 69 6f 6e 50 68 61 73 65 2e 53 74 61 72 74 65 64 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 ActionPhase.Started);...........
10ce0 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 20 20 20 20 20 20 ...........}....................
10d00 20 20 62 72 65 61 6b 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 ..break;..................}.....
10d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 ...............case.InputActionP
10d40 68 61 73 65 2e 50 65 72 66 6f 72 6d 65 64 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 hase.Performed:.................
10d60 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 .{......................Debug.As
10d80 73 65 72 74 28 61 63 74 69 6f 6e 53 74 61 74 65 73 5b 61 63 74 69 6f 6e 49 6e 64 65 78 5d 2e 69 sert(actionStates[actionIndex].i
10da0 73 50 61 73 73 54 68 72 6f 75 67 68 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 sPassThrough,...................
10dc0 20 20 20 20 20 20 20 22 4f 6e 6c 79 20 70 61 73 73 2d 74 68 72 6f 75 67 68 20 61 63 74 69 6f 6e ......."Only.pass-through.action
10de0 73 20 73 68 6f 75 6c 64 20 62 65 20 6c 65 66 74 20 69 6e 20 70 65 72 66 6f 72 6d 65 64 20 73 74 s.should.be.left.in.performed.st
10e00 61 74 65 20 62 79 20 64 65 66 61 75 6c 74 20 69 6e 74 65 72 61 63 74 69 6f 6e 22 29 3b 0d 0a 20 ate.by.default.interaction");...
10e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 68 61 6e 67 65 50 68 61 73 65 4f 66 ...................ChangePhaseOf
10e40 41 63 74 69 6f 6e 28 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 50 65 72 66 6f 72 6d 65 Action(InputActionPhase.Performe
10e60 64 2c 20 72 65 66 20 74 72 69 67 67 65 72 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d,.ref.trigger,.................
10e80 20 20 20 20 20 20 20 20 20 70 68 61 73 65 41 66 74 65 72 50 65 72 66 6f 72 6d 65 64 4f 72 43 61 .........phaseAfterPerformedOrCa
10ea0 6e 63 65 6c 65 64 3a 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 50 65 72 66 6f 72 6d nceled:.InputActionPhase.Perform
10ec0 65 64 29 3b 0d 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 ed);......................break;
10ee0 0d 0a 20 20 20 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 ..................}.............
10f00 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......default:.................
10f20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 66 61 6c 73 65 2c 20 22 53 68 6f 75 6c 64 .....Debug.Assert(false,."Should
10f40 20 6e 6f 74 20 67 65 74 20 68 65 72 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .not.get.here");................
10f60 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 ......break;..............}.....
10f80 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 76 6f 69 64 20 50 .....}............private.void.P
10fa0 72 6f 63 65 73 73 49 6e 74 65 72 61 63 74 69 6f 6e 73 28 72 65 66 20 54 72 69 67 67 65 72 53 74 rocessInteractions(ref.TriggerSt
10fc0 61 74 65 20 74 72 69 67 67 65 72 2c 20 69 6e 74 20 69 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 72 ate.trigger,.int.interactionStar
10fe0 74 49 6e 64 65 78 2c 20 69 6e 74 20 69 6e 74 65 72 61 63 74 69 6f 6e 43 6f 75 6e 74 29 0d 0a 20 tIndex,.int.interactionCount)...
11000 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 6f 6e 74 65 78 .......{..............var.contex
11020 74 20 3d 20 6e 65 77 20 49 6e 70 75 74 49 6e 74 65 72 61 63 74 69 6f 6e 43 6f 6e 74 65 78 74 0d t.=.new.InputInteractionContext.
11040 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 .............{..................
11060 6d 5f 53 74 61 74 65 20 3d 20 74 68 69 73 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 m_State.=.this,.................
11080 20 6d 5f 54 72 69 67 67 65 72 53 74 61 74 65 20 3d 20 74 72 69 67 67 65 72 0d 0a 20 20 20 20 20 .m_TriggerState.=.trigger.......
110a0 20 20 20 20 20 20 20 7d 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 76 61 .......};................for.(va
110c0 72 20 69 20 3d 20 30 3b 20 69 20 3c 20 69 6e 74 65 72 61 63 74 69 6f 6e 43 6f 75 6e 74 3b 20 2b r.i.=.0;.i.<.interactionCount;.+
110e0 2b 69 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 +i)..............{..............
11100 20 20 20 20 76 61 72 20 69 6e 64 65 78 20 3d 20 69 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 72 74 ....var.index.=.interactionStart
11120 49 6e 64 65 78 20 2b 20 69 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 Index.+.i;..................var.
11140 73 74 61 74 65 20 3d 20 69 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 74 65 73 5b 69 6e 64 65 78 5d state.=.interactionStates[index]
11160 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 69 6e 74 65 72 61 63 74 69 ;..................var.interacti
11180 6f 6e 20 3d 20 69 6e 74 65 72 61 63 74 69 6f 6e 73 5b 69 6e 64 65 78 5d 3b 0d 0a 0d 0a 20 20 20 on.=.interactions[index];.......
111a0 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 65 78 74 2e 6d 5f 54 72 69 67 67 65 72 53 74 .............context.m_TriggerSt
111c0 61 74 65 2e 70 68 61 73 65 20 3d 20 73 74 61 74 65 2e 70 68 61 73 65 3b 0d 0a 20 20 20 20 20 20 ate.phase.=.state.phase;........
111e0 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 65 78 74 2e 6d 5f 54 72 69 67 67 65 72 53 74 61 74 65 ..........context.m_TriggerState
11200 2e 73 74 61 72 74 54 69 6d 65 20 3d 20 73 74 61 74 65 2e 73 74 61 72 74 54 69 6d 65 3b 0d 0a 20 .startTime.=.state.startTime;...
11220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 65 78 74 2e 6d 5f 54 72 69 67 67 65 72 ...............context.m_Trigger
11240 53 74 61 74 65 2e 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 20 3d 20 69 6e 64 65 78 3b 0d State.interactionIndex.=.index;.
11260 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 61 63 74 69 6f 6e 2e 50 ...................interaction.P
11280 72 6f 63 65 73 73 28 72 65 66 20 63 6f 6e 74 65 78 74 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 rocess(ref.context);............
112a0 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 70 72 69 76 61 74 ..}..........}............privat
112c0 65 20 76 6f 69 64 20 50 72 6f 63 65 73 73 54 69 6d 65 6f 75 74 28 64 6f 75 62 6c 65 20 74 69 6d e.void.ProcessTimeout(double.tim
112e0 65 2c 20 69 6e 74 20 6d 61 70 49 6e 64 65 78 2c 20 69 6e 74 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 e,.int.mapIndex,.int.controlInde
11300 78 2c 20 69 6e 74 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 2c 20 69 6e 74 20 69 6e 74 65 72 61 63 x,.int.bindingIndex,.int.interac
11320 74 69 6f 6e 49 6e 64 65 78 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 tionIndex)..........{...........
11340 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3e 3d 20 ...Debug.Assert(controlIndex.>=.
11360 30 20 26 26 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 43 6f 6e 74 72 6f 6c 0.&&.controlIndex.<.totalControl
11380 43 6f 75 6e 74 2c 20 22 43 6f 6e 74 72 6f 6c 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 72 61 6e Count,."Control.index.out.of.ran
113a0 67 65 22 29 3b 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 74 28 ge");..............Debug.Assert(
113c0 62 69 6e 64 69 6e 67 49 6e 64 65 78 20 3e 3d 20 30 20 26 26 20 62 69 6e 64 69 6e 67 49 6e 64 65 bindingIndex.>=.0.&&.bindingInde
113e0 78 20 3c 20 74 6f 74 61 6c 42 69 6e 64 69 6e 67 43 6f 75 6e 74 2c 20 22 42 69 6e 64 69 6e 67 20 x.<.totalBindingCount,."Binding.
11400 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 index.out.of.range");...........
11420 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 ...Debug.Assert(interactionIndex
11440 20 3e 3d 20 30 20 26 26 20 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 20 3c 20 74 6f 74 61 .>=.0.&&.interactionIndex.<.tota
11460 6c 49 6e 74 65 72 61 63 74 69 6f 6e 43 6f 75 6e 74 2c 20 22 49 6e 74 65 72 61 63 74 69 6f 6e 20 lInteractionCount,."Interaction.
11480 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 index.out.of.range");...........
114a0 20 20 20 20 20 76 61 72 20 63 75 72 72 65 6e 74 53 74 61 74 65 20 3d 20 69 6e 74 65 72 61 63 74 .....var.currentState.=.interact
114c0 69 6f 6e 53 74 61 74 65 73 5b 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 5d 3b 0d 0a 0d 0a ionStates[interactionIndex];....
114e0 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 6f 6e 74 65 78 74 20 3d 20 6e 65 77 20 49 6e ............var.context.=.new.In
11500 70 75 74 49 6e 74 65 72 61 63 74 69 6f 6e 43 6f 6e 74 65 78 74 0d 0a 20 20 20 20 20 20 20 20 20 putInteractionContext...........
11520 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 53 74 61 74 65 20 3d 20 ...{..................m_State.=.
11540 74 68 69 73 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 54 72 69 67 67 65 72 this,..................m_Trigger
11560 53 74 61 74 65 20 3d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 State.=......................new
11580 20 54 72 69 67 67 65 72 53 74 61 74 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b .TriggerState..................{
115a0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 68 61 73 65 20 3d 20 63 75 ......................phase.=.cu
115c0 72 72 65 6e 74 53 74 61 74 65 2e 70 68 61 73 65 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 rrentState.phase,...............
115e0 20 20 20 20 20 20 20 74 69 6d 65 20 3d 20 74 69 6d 65 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 .......time.=.time,.............
11600 20 20 20 20 20 20 20 20 20 6d 61 70 49 6e 64 65 78 20 3d 20 6d 61 70 49 6e 64 65 78 2c 0d 0a 20 .........mapIndex.=.mapIndex,...
11620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 ...................controlIndex.
11640 3d 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 =.controlIndex,.................
11660 20 20 20 20 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 20 3d 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 .....bindingIndex.=.bindingIndex
11680 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 61 63 74 69 ,......................interacti
116a0 6f 6e 49 6e 64 65 78 20 3d 20 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 2c 0d 0a 20 20 20 onIndex.=.interactionIndex,.....
116c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 72 74 54 69 6d 65 20 3d 20 63 75 72 .................startTime.=.cur
116e0 72 65 6e 74 53 74 61 74 65 2e 73 74 61 72 74 54 69 6d 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 rentState.startTime.............
11700 20 20 20 20 20 7d 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 69 6d 65 72 48 61 .....},..................timerHa
11720 73 45 78 70 69 72 65 64 20 3d 20 74 72 75 65 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b sExpired.=.true,..............};
11740 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 72 65 6e 74 53 74 61 74 65 2e 69 73 54 ................currentState.isT
11760 69 6d 65 72 52 75 6e 6e 69 6e 67 20 3d 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 imerRunning.=.false;............
11780 20 20 69 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 74 65 73 5b 69 6e 74 65 72 61 63 74 69 6f 6e 49 ..interactionStates[interactionI
117a0 6e 64 65 78 5d 20 3d 20 63 75 72 72 65 6e 74 53 74 61 74 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 ndex].=.currentState;...........
117c0 20 20 20 20 20 2f 2f 20 4c 65 74 20 69 6e 74 65 72 61 63 74 69 6f 6e 20 68 61 6e 64 6c 65 20 74 .....//.Let.interaction.handle.t
117e0 69 6d 65 72 20 65 78 70 69 72 61 74 69 6f 6e 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e imer.expiration...............in
11800 74 65 72 61 63 74 69 6f 6e 73 5b 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 5d 2e 50 72 6f teractions[interactionIndex].Pro
11820 63 65 73 73 28 72 65 66 20 63 6f 6e 74 65 78 74 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d cess(ref.context);..........}...
11840 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 76 6f 69 64 20 53 74 61 72 74 54 69 6d 65 .........internal.void.StartTime
11860 6f 75 74 28 66 6c 6f 61 74 20 73 65 63 6f 6e 64 73 2c 20 72 65 66 20 54 72 69 67 67 65 72 53 74 out(float.seconds,.ref.TriggerSt
11880 61 74 65 20 74 72 69 67 67 65 72 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 ate.trigger)..........{.........
118a0 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 74 72 69 67 67 65 72 2e 6d 61 70 49 6e 64 .....Debug.Assert(trigger.mapInd
118c0 65 78 20 3e 3d 20 30 20 26 26 20 74 72 69 67 67 65 72 2e 6d 61 70 49 6e 64 65 78 20 3c 20 74 6f ex.>=.0.&&.trigger.mapIndex.<.to
118e0 74 61 6c 4d 61 70 43 6f 75 6e 74 2c 20 22 4d 61 70 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 72 talMapCount,."Map.index.out.of.r
11900 61 6e 67 65 22 29 3b 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 ange");..............Debug.Asser
11920 74 28 74 72 69 67 67 65 72 2e 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3e 3d 20 30 20 26 26 20 74 t(trigger.controlIndex.>=.0.&&.t
11940 72 69 67 67 65 72 2e 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 43 6f 6e 74 72 rigger.controlIndex.<.totalContr
11960 6f 6c 43 6f 75 6e 74 2c 20 22 43 6f 6e 74 72 6f 6c 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 72 olCount,."Control.index.out.of.r
11980 61 6e 67 65 22 29 3b 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 ange");..............Debug.Asser
119a0 74 28 74 72 69 67 67 65 72 2e 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 20 3e 3d 20 30 20 t(trigger.interactionIndex.>=.0.
119c0 26 26 20 74 72 69 67 67 65 72 2e 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 20 3c 20 74 6f &&.trigger.interactionIndex.<.to
119e0 74 61 6c 49 6e 74 65 72 61 63 74 69 6f 6e 43 6f 75 6e 74 2c 20 22 49 6e 74 65 72 61 63 74 69 6f talInteractionCount,."Interactio
11a00 6e 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 n.index.out.of.range");.........
11a20 20 20 20 20 20 20 20 76 61 72 20 6d 61 6e 61 67 65 72 20 3d 20 49 6e 70 75 74 53 79 73 74 65 6d .......var.manager.=.InputSystem
11a40 2e 73 5f 4d 61 6e 61 67 65 72 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 75 72 .s_Manager;..............var.cur
11a60 72 65 6e 74 54 69 6d 65 20 3d 20 74 72 69 67 67 65 72 2e 74 69 6d 65 3b 0d 0a 20 20 20 20 20 20 rentTime.=.trigger.time;........
11a80 20 20 20 20 20 20 76 61 72 20 63 6f 6e 74 72 6f 6c 20 3d 20 63 6f 6e 74 72 6f 6c 73 5b 74 72 69 ......var.control.=.controls[tri
11aa0 67 67 65 72 2e 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 gger.controlIndex];.............
11ac0 20 76 61 72 20 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 20 3d 20 74 72 69 67 67 65 72 2e .var.interactionIndex.=.trigger.
11ae0 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 interactionIndex;..............v
11b00 61 72 20 6d 6f 6e 69 74 6f 72 49 6e 64 65 78 20 3d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ar.monitorIndex.=...............
11b20 20 20 20 54 6f 43 6f 6d 62 69 6e 65 64 4d 61 70 41 6e 64 43 6f 6e 74 72 6f 6c 41 6e 64 42 69 6e ...ToCombinedMapAndControlAndBin
11b40 64 69 6e 67 49 6e 64 65 78 28 74 72 69 67 67 65 72 2e 6d 61 70 49 6e 64 65 78 2c 20 74 72 69 67 dingIndex(trigger.mapIndex,.trig
11b60 67 65 72 2e 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 2c 20 74 72 69 67 67 65 72 2e 62 69 6e 64 69 6e ger.controlIndex,.trigger.bindin
11b80 67 49 6e 64 65 78 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 66 20 74 68 gIndex);................//.If.th
11ba0 65 72 65 27 73 20 61 6c 72 65 61 64 79 20 61 20 74 69 6d 65 6f 75 74 20 72 75 6e 6e 69 6e 67 2c ere's.already.a.timeout.running,
11bc0 20 63 61 6e 63 65 6c 20 69 74 20 66 69 72 73 74 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 .cancel.it.first...............i
11be0 66 20 28 69 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 74 65 73 5b 69 6e 74 65 72 61 63 74 69 6f 6e f.(interactionStates[interaction
11c00 49 6e 64 65 78 5d 2e 69 73 54 69 6d 65 72 52 75 6e 6e 69 6e 67 29 0d 0a 20 20 20 20 20 20 20 20 Index].isTimerRunning)..........
11c20 20 20 20 20 20 20 20 20 53 74 6f 70 54 69 6d 65 6f 75 74 28 74 72 69 67 67 65 72 2e 6d 61 70 49 ........StopTimeout(trigger.mapI
11c40 6e 64 65 78 2c 20 74 72 69 67 67 65 72 2e 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 2c 20 74 72 69 67 ndex,.trigger.controlIndex,.trig
11c60 67 65 72 2e 62 69 6e 64 69 6e 67 49 6e 64 65 78 2c 20 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 ger.bindingIndex,.interactionInd
11c80 65 78 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 41 64 64 20 6e 65 77 20 74 ex);................//.Add.new.t
11ca0 69 6d 65 6f 75 74 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6e 61 67 65 72 2e 41 64 64 imeout...............manager.Add
11cc0 53 74 61 74 65 43 68 61 6e 67 65 4d 6f 6e 69 74 6f 72 54 69 6d 65 6f 75 74 28 63 6f 6e 74 72 6f StateChangeMonitorTimeout(contro
11ce0 6c 2c 20 74 68 69 73 2c 20 63 75 72 72 65 6e 74 54 69 6d 65 20 2b 20 73 65 63 6f 6e 64 73 2c 20 l,.this,.currentTime.+.seconds,.
11d00 6d 6f 6e 69 74 6f 72 49 6e 64 65 78 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 monitorIndex,..................i
11d20 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 nteractionIndex);...............
11d40 20 2f 2f 20 55 70 64 61 74 65 20 73 74 61 74 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 .//.Update.state...............v
11d60 61 72 20 69 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 74 65 20 3d 20 69 6e 74 65 72 61 63 74 69 6f ar.interactionState.=.interactio
11d80 6e 53 74 61 74 65 73 5b 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 5d 3b 0d 0a 20 20 20 20 nStates[interactionIndex];......
11da0 20 20 20 20 20 20 20 20 69 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 74 65 2e 69 73 54 69 6d 65 72 ........interactionState.isTimer
11dc0 52 75 6e 6e 69 6e 67 20 3d 20 74 72 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 Running.=.true;..............int
11de0 65 72 61 63 74 69 6f 6e 53 74 61 74 65 73 5b 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 5d eractionStates[interactionIndex]
11e00 20 3d 20 69 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 74 65 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d .=.interactionState;..........}.
11e20 0a 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 76 6f 69 64 20 53 74 6f 70 54 69 6d 65 ...........private.void.StopTime
11e40 6f 75 74 28 69 6e 74 20 6d 61 70 49 6e 64 65 78 2c 20 69 6e 74 20 63 6f 6e 74 72 6f 6c 49 6e 64 out(int.mapIndex,.int.controlInd
11e60 65 78 2c 20 69 6e 74 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 2c 20 69 6e 74 20 69 6e 74 65 72 61 ex,.int.bindingIndex,.int.intera
11e80 63 74 69 6f 6e 49 6e 64 65 78 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 ctionIndex)..........{..........
11ea0 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 6d 61 70 49 6e 64 65 78 20 3e 3d 20 30 20 26 ....Debug.Assert(mapIndex.>=.0.&
11ec0 26 20 6d 61 70 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 4d 61 70 43 6f 75 6e 74 2c 20 22 4d 61 70 &.mapIndex.<.totalMapCount,."Map
11ee0 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 .index.out.of.range");..........
11f00 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3e 3d ....Debug.Assert(controlIndex.>=
11f20 20 30 20 26 26 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 43 6f 6e 74 72 6f .0.&&.controlIndex.<.totalContro
11f40 6c 43 6f 75 6e 74 2c 20 22 43 6f 6e 74 72 6f 6c 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 72 61 lCount,."Control.index.out.of.ra
11f60 6e 67 65 22 29 3b 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 74 nge");..............Debug.Assert
11f80 28 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 20 3e 3d 20 30 20 26 26 20 69 6e 74 65 72 61 (interactionIndex.>=.0.&&.intera
11fa0 63 74 69 6f 6e 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 49 6e 74 65 72 61 63 74 69 6f 6e 43 6f 75 ctionIndex.<.totalInteractionCou
11fc0 6e 74 2c 20 22 49 6e 74 65 72 61 63 74 69 6f 6e 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 72 61 nt,."Interaction.index.out.of.ra
11fe0 6e 67 65 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d 61 6e 61 67 65 nge");................var.manage
12000 72 20 3d 20 49 6e 70 75 74 53 79 73 74 65 6d 2e 73 5f 4d 61 6e 61 67 65 72 3b 0d 0a 20 20 20 20 r.=.InputSystem.s_Manager;......
12020 20 20 20 20 20 20 20 20 76 61 72 20 6d 6f 6e 69 74 6f 72 49 6e 64 65 78 20 3d 0d 0a 20 20 20 20 ........var.monitorIndex.=......
12040 20 20 20 20 20 20 20 20 20 20 20 20 54 6f 43 6f 6d 62 69 6e 65 64 4d 61 70 41 6e 64 43 6f 6e 74 ............ToCombinedMapAndCont
12060 72 6f 6c 41 6e 64 42 69 6e 64 69 6e 67 49 6e 64 65 78 28 6d 61 70 49 6e 64 65 78 2c 20 63 6f 6e rolAndBindingIndex(mapIndex,.con
12080 74 72 6f 6c 49 6e 64 65 78 2c 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 29 3b 0d 0a 0d 0a 20 20 20 trolIndex,.bindingIndex);.......
120a0 20 20 20 20 20 20 20 20 20 6d 61 6e 61 67 65 72 2e 52 65 6d 6f 76 65 53 74 61 74 65 43 68 61 6e .........manager.RemoveStateChan
120c0 67 65 4d 6f 6e 69 74 6f 72 54 69 6d 65 6f 75 74 28 74 68 69 73 2c 20 6d 6f 6e 69 74 6f 72 49 6e geMonitorTimeout(this,.monitorIn
120e0 64 65 78 2c 20 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 29 3b 0d 0a 0d 0a 20 20 20 20 20 dex,.interactionIndex);.........
12100 20 20 20 20 20 20 20 2f 2f 20 55 70 64 61 74 65 20 73 74 61 74 65 2e 0d 0a 20 20 20 20 20 20 20 .......//.Update.state..........
12120 20 20 20 20 20 76 61 72 20 69 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 74 65 20 3d 20 69 6e 74 65 .....var.interactionState.=.inte
12140 72 61 63 74 69 6f 6e 53 74 61 74 65 73 5b 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 5d 3b ractionStates[interactionIndex];
12160 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 74 65 2e 69 ..............interactionState.i
12180 73 54 69 6d 65 72 52 75 6e 6e 69 6e 67 20 3d 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 20 20 20 20 sTimerRunning.=.false;..........
121a0 20 20 20 20 69 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 74 65 73 5b 69 6e 74 65 72 61 63 74 69 6f ....interactionStates[interactio
121c0 6e 49 6e 64 65 78 5d 20 3d 20 69 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 74 65 3b 0d 0a 20 20 20 nIndex].=.interactionState;.....
121e0 20 20 20 20 20 7d 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 .....}............///.<summary>.
12200 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 50 65 72 66 6f 72 6d 20 61 20 70 68 61 73 65 20 63 68 61 .........///.Perform.a.phase.cha
12220 6e 67 65 20 6f 6e 20 74 68 65 20 67 69 76 65 6e 20 69 6e 74 65 72 61 63 74 69 6f 6e 2e 20 4f 6e nge.on.the.given.interaction..On
12240 6c 79 20 76 69 73 69 62 6c 65 20 74 6f 20 6f 62 73 65 72 76 65 72 73 0d 0a 20 20 20 20 20 20 20 ly.visible.to.observers.........
12260 20 2f 2f 2f 20 69 66 20 69 74 20 68 61 70 70 65 6e 73 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 .///.if.it.happens.to.change.the
12280 20 70 68 61 73 65 20 6f 66 20 74 68 65 20 61 63 74 69 6f 6e 2c 20 74 6f 6f 2e 0d 0a 20 20 20 20 .phase.of.the.action,.too.......
122a0 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 2f 2f 2f 20 ....///.</summary>..........///.
122c0 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 6e 65 77 50 68 61 73 65 22 3e 4e 65 77 20 70 68 61 73 65 <param.name="newPhase">New.phase
122e0 20 74 6f 20 74 72 61 6e 73 69 74 69 6f 6e 20 74 68 65 20 69 6e 74 65 72 61 63 74 69 6f 6e 20 74 .to.transition.the.interaction.t
12300 6f 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e o.</param>..........///.<param.n
12320 61 6d 65 3d 22 74 72 69 67 67 65 72 22 3e 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 ame="trigger">Information.about.
12340 74 68 65 20 62 69 6e 64 69 6e 67 20 61 6e 64 20 63 6f 6e 74 72 6f 6c 20 74 68 61 74 20 74 72 69 the.binding.and.control.that.tri
12360 67 67 65 72 65 64 20 74 68 65 20 70 68 61 73 65 20 63 68 61 6e 67 65 2e 3c 2f 70 61 72 61 6d 3e ggered.the.phase.change.</param>
12380 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 70 68 61 73 65 ..........///.<param.name="phase
123a0 41 66 74 65 72 50 65 72 66 6f 72 6d 65 64 22 3e 49 66 20 3c 70 61 72 61 6d 72 65 66 20 6e 61 6d AfterPerformed">If.<paramref.nam
123c0 65 3d 22 6e 65 77 50 68 61 73 65 22 2f 3e 20 69 73 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 e="newPhase"/>.is.<see.cref="Inp
123e0 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 50 65 72 66 6f 72 6d 65 64 22 2f 3e 2c 0d 0a 20 20 20 utActionPhase.Performed"/>,.....
12400 20 20 20 20 20 2f 2f 2f 20 74 68 69 73 20 64 65 74 65 72 6d 69 6e 65 73 20 77 68 69 63 68 20 70 .....///.this.determines.which.p
12420 68 61 73 65 20 74 6f 20 74 72 61 6e 73 69 74 69 6f 6e 20 74 6f 20 61 66 74 65 72 20 74 68 65 20 hase.to.transition.to.after.the.
12440 61 63 74 69 6f 6e 20 68 61 73 20 62 65 65 6e 20 70 65 72 66 6f 72 6d 65 64 2e 20 54 68 69 73 20 action.has.been.performed..This.
12460 77 6f 75 6c 64 20 75 73 75 61 6c 6c 79 20 62 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 would.usually.be..........///.<s
12480 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 57 61 69 74 69 6e ee.cref="InputActionPhase.Waitin
124a0 67 22 2f 3e 20 28 64 65 66 61 75 6c 74 29 2c 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 g"/>.(default),.<see.cref="Input
124c0 41 63 74 69 6f 6e 50 68 61 73 65 2e 53 74 61 72 74 65 64 22 2f 3e 20 28 69 66 20 74 68 65 20 61 ActionPhase.Started"/>.(if.the.a
124e0 63 74 69 6f 6e 20 69 73 20 73 75 70 70 6f 73 65 64 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 74 ction.is.supposed..........///.t
12500 6f 20 62 65 20 6f 73 63 69 6c 6c 61 74 65 20 62 65 74 77 65 65 6e 20 73 74 61 72 74 65 64 20 61 o.be.oscillate.between.started.a
12520 6e 64 20 70 65 72 66 6f 72 6d 65 64 29 2c 20 6f 72 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 nd.performed),.or.<see.cref="Inp
12540 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 50 65 72 66 6f 72 6d 65 64 22 2f 3e 20 28 69 66 20 74 utActionPhase.Performed"/>.(if.t
12560 68 65 20 61 63 74 69 6f 6e 20 69 73 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 73 75 70 70 6f 73 he.action.is..........///.suppos
12580 65 64 20 74 6f 20 70 65 72 66 6f 72 6d 20 6f 76 65 72 20 61 6e 64 20 6f 76 65 72 20 61 67 61 69 ed.to.perform.over.and.over.agai
125a0 6e 20 75 6e 74 69 6c 20 63 61 6e 63 65 6c 65 64 29 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 n.until.canceled).</param>......
125c0 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 4d ....///.<remarks>..........///.M
125e0 75 6c 74 69 70 6c 65 20 69 6e 74 65 72 61 63 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20 73 61 6d 65 ultiple.interactions.on.the.same
12600 20 62 69 6e 64 69 6e 67 20 63 61 6e 20 62 65 20 73 74 61 72 74 65 64 20 63 6f 6e 63 75 72 72 65 .binding.can.be.started.concurre
12620 6e 74 6c 79 20 62 75 74 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 66 69 72 73 74 20 ntly.but.the..........///.first.
12640 69 6e 74 65 72 61 63 74 69 6f 6e 20 74 68 61 74 20 73 74 61 72 74 73 20 77 69 6c 6c 20 67 65 74 interaction.that.starts.will.get
12660 20 74 6f 20 64 72 69 76 65 20 61 6e 20 61 63 74 69 6f 6e 20 75 6e 74 69 6c 20 69 74 20 65 69 74 .to.drive.an.action.until.it.eit
12680 68 65 72 20 63 61 6e 63 65 6c 73 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 6f 72 20 70 65 72 66 her.cancels..........///.or.perf
126a0 6f 72 6d 73 20 74 68 65 20 61 63 74 69 6f 6e 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 orms.the.action...........///...
126c0 20 20 20 20 20 20 20 2f 2f 2f 20 49 66 20 61 6e 20 69 6e 74 65 72 61 63 74 69 6f 6e 20 64 72 69 .......///.If.an.interaction.dri
126e0 76 69 6e 67 20 61 6e 20 61 63 74 69 6f 6e 20 70 65 72 66 6f 72 6d 73 20 69 74 2c 20 61 6c 6c 20 ving.an.action.performs.it,.all.
12700 69 6e 74 65 72 61 63 74 69 6f 6e 73 20 77 69 6c 6c 20 72 65 73 65 74 20 61 6e 64 0d 0a 20 20 20 interactions.will.reset.and.....
12720 20 20 20 20 20 2f 2f 2f 20 67 6f 20 62 61 63 6b 20 77 61 69 74 69 6e 67 2e 0d 0a 20 20 20 20 20 .....///.go.back.waiting........
12740 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 49 66 20 61 6e 20 69 6e 74 65 72 61 ...///..........///.If.an.intera
12760 63 74 69 6f 6e 20 64 72 69 76 69 6e 67 20 61 6e 20 61 63 74 69 6f 6e 20 63 61 6e 63 65 6c 73 20 ction.driving.an.action.cancels.
12780 69 74 2c 20 74 68 65 20 6e 65 78 74 20 69 6e 74 65 72 61 63 74 69 6f 6e 20 69 6e 20 74 68 65 20 it,.the.next.interaction.in.the.
127a0 6c 69 73 74 20 77 68 69 63 68 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 68 61 73 20 61 6c 72 65 list.which..........///.has.alre
127c0 61 64 79 20 73 74 61 72 74 65 64 20 77 69 6c 6c 20 67 65 74 20 74 6f 20 64 72 69 76 65 20 74 68 ady.started.will.get.to.drive.th
127e0 65 20 61 63 74 69 6f 6e 20 28 65 78 61 6d 70 6c 65 3a 20 61 20 54 61 70 49 6e 74 65 72 61 63 74 e.action.(example:.a.TapInteract
12800 69 6f 6e 20 61 6e 64 20 61 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 53 6c 6f 77 54 61 70 49 6e ion.and.a..........///.SlowTapIn
12820 74 65 72 61 63 74 69 6f 6e 20 62 6f 74 68 20 73 74 61 72 74 20 61 6e 64 20 74 68 65 20 54 61 70 teraction.both.start.and.the.Tap
12840 49 6e 74 65 72 61 63 74 69 6f 6e 20 67 65 74 73 20 74 6f 20 64 72 69 76 65 20 74 68 65 20 61 63 Interaction.gets.to.drive.the.ac
12860 74 69 6f 6e 20 62 65 63 61 75 73 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 69 74 20 63 6f 6d tion.because..........///.it.com
12880 65 73 20 66 69 72 73 74 3b 20 74 68 65 6e 20 74 68 65 20 54 61 70 49 6e 74 65 72 61 63 74 69 6f es.first;.then.the.TapInteractio
128a0 6e 20 63 61 6e 63 65 6c 73 20 62 65 63 61 75 73 65 20 74 68 65 20 62 75 74 74 6f 6e 20 69 73 20 n.cancels.because.the.button.is.
128c0 68 65 6c 64 20 66 6f 72 20 74 6f 6f 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 6c 6f 6e 67 20 61 held.for.too..........///.long.a
128e0 6e 64 20 74 68 65 20 53 6c 6f 77 54 61 70 49 6e 74 65 72 61 63 74 69 6f 6e 20 77 69 6c 6c 20 67 nd.the.SlowTapInteraction.will.g
12900 65 74 20 74 6f 20 64 72 69 76 65 20 74 68 65 20 61 63 74 69 6f 6e 20 6e 65 78 74 29 2e 0d 0a 20 et.to.drive.the.action.next)....
12920 20 20 20 20 20 20 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 69 .......///.</remarks>..........i
12940 6e 74 65 72 6e 61 6c 20 76 6f 69 64 20 43 68 61 6e 67 65 50 68 61 73 65 4f 66 49 6e 74 65 72 61 nternal.void.ChangePhaseOfIntera
12960 63 74 69 6f 6e 28 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 20 6e 65 77 50 68 61 73 65 2c ction(InputActionPhase.newPhase,
12980 20 72 65 66 20 54 72 69 67 67 65 72 53 74 61 74 65 20 74 72 69 67 67 65 72 2c 0d 0a 20 20 20 20 .ref.TriggerState.trigger,......
129a0 20 20 20 20 20 20 20 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 20 70 68 61 73 65 41 66 ........InputActionPhase.phaseAf
129c0 74 65 72 50 65 72 66 6f 72 6d 65 64 20 3d 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e terPerformed.=.InputActionPhase.
129e0 57 61 69 74 69 6e 67 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 Waiting)..........{.............
12a00 20 76 61 72 20 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 20 3d 20 74 72 69 67 67 65 72 2e .var.interactionIndex.=.trigger.
12a20 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 interactionIndex;..............v
12a40 61 72 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 20 3d 20 74 72 69 67 67 65 72 2e 62 69 6e 64 69 6e ar.bindingIndex.=.trigger.bindin
12a60 67 49 6e 64 65 78 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 gIndex;................Debug.Ass
12a80 65 72 74 28 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 20 3e 3d 20 30 20 26 26 20 69 6e 74 ert(interactionIndex.>=.0.&&.int
12aa0 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 49 6e 74 65 72 61 63 74 69 6f 6e eractionIndex.<.totalInteraction
12ac0 43 6f 75 6e 74 2c 20 22 49 6e 74 65 72 61 63 74 69 6f 6e 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 Count,."Interaction.index.out.of
12ae0 20 72 61 6e 67 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 .range");..............Debug.Ass
12b00 65 72 74 28 62 69 6e 64 69 6e 67 49 6e 64 65 78 20 3e 3d 20 30 20 26 26 20 62 69 6e 64 69 6e 67 ert(bindingIndex.>=.0.&&.binding
12b20 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 42 69 6e 64 69 6e 67 43 6f 75 6e 74 2c 20 22 42 69 6e 64 Index.<.totalBindingCount,."Bind
12b40 69 6e 67 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d 0a 0d 0a 20 20 20 ing.index.out.of.range");.......
12b60 20 20 20 20 20 20 20 20 20 2f 2f 2f 2f 54 4f 44 4f 3a 20 6e 65 65 64 20 74 6f 20 6d 61 6b 65 20 .........////TODO:.need.to.make.
12b80 73 75 72 65 20 74 68 61 74 20 70 65 72 66 6f 72 6d 65 64 20 61 6e 64 20 63 61 6e 63 65 6c 65 64 sure.that.performed.and.canceled
12ba0 20 70 68 61 73 65 20 63 68 61 6e 67 65 73 20 68 61 70 70 65 6e 20 6f 6e 20 74 68 65 20 2a 73 61 .phase.changes.happen.on.the.*sa
12bc0 6d 65 2a 20 62 69 6e 64 69 6e 67 26 63 6f 6e 74 72 6f 6c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 me*.binding&control.............
12be0 20 2f 2f 2f 2f 20 20 20 20 20 20 61 73 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 74 68 65 20 70 .////......as.the.start.of.the.p
12c00 68 61 73 65 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 70 68 61 73 65 41 66 74 hase................var.phaseAft
12c20 65 72 50 65 72 66 6f 72 6d 65 64 4f 72 43 61 6e 63 65 6c 65 64 20 3d 20 49 6e 70 75 74 41 63 74 erPerformedOrCanceled.=.InputAct
12c40 69 6f 6e 50 68 61 73 65 2e 57 61 69 74 69 6e 67 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 ionPhase.Waiting;..............i
12c60 66 20 28 6e 65 77 50 68 61 73 65 20 3d 3d 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e f.(newPhase.==.InputActionPhase.
12c80 50 65 72 66 6f 72 6d 65 64 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 68 61 73 Performed)..................phas
12ca0 65 41 66 74 65 72 50 65 72 66 6f 72 6d 65 64 4f 72 43 61 6e 63 65 6c 65 64 20 3d 20 70 68 61 73 eAfterPerformedOrCanceled.=.phas
12cc0 65 41 66 74 65 72 50 65 72 66 6f 72 6d 65 64 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 eAfterPerformed;................
12ce0 2f 2f 20 41 6e 79 20 74 69 6d 65 20 61 6e 20 69 6e 74 65 72 61 63 74 69 6f 6e 20 63 68 61 6e 67 //.Any.time.an.interaction.chang
12d00 65 73 20 70 68 61 73 65 2c 20 77 65 20 63 61 6e 63 65 6c 20 61 6c 6c 20 70 65 6e 64 69 6e 67 20 es.phase,.we.cancel.all.pending.
12d20 74 69 6d 65 6f 75 74 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 6e 74 65 72 timeouts...............if.(inter
12d40 61 63 74 69 6f 6e 53 74 61 74 65 73 5b 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 5d 2e 69 actionStates[interactionIndex].i
12d60 73 54 69 6d 65 72 52 75 6e 6e 69 6e 67 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 sTimerRunning)..................
12d80 53 74 6f 70 54 69 6d 65 6f 75 74 28 74 72 69 67 67 65 72 2e 6d 61 70 49 6e 64 65 78 2c 20 74 72 StopTimeout(trigger.mapIndex,.tr
12da0 69 67 67 65 72 2e 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 2c 20 74 72 69 67 67 65 72 2e 62 69 6e 64 igger.controlIndex,.trigger.bind
12dc0 69 6e 67 49 6e 64 65 78 2c 20 74 72 69 67 67 65 72 2e 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 ingIndex,.trigger.interactionInd
12de0 65 78 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 55 70 64 61 74 65 20 69 6e ex);................//.Update.in
12e00 74 65 72 61 63 74 69 6f 6e 20 73 74 61 74 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e teraction.state...............in
12e20 74 65 72 61 63 74 69 6f 6e 53 74 61 74 65 73 5b 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 teractionStates[interactionIndex
12e40 5d 2e 70 68 61 73 65 20 3d 20 6e 65 77 50 68 61 73 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ].phase.=.newPhase;.............
12e60 20 69 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 74 65 73 5b 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e .interactionStates[interactionIn
12e80 64 65 78 5d 2e 74 72 69 67 67 65 72 43 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3d 20 74 72 69 67 67 dex].triggerControlIndex.=.trigg
12ea0 65 72 2e 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e er.controlIndex;..............in
12ec0 74 65 72 61 63 74 69 6f 6e 53 74 61 74 65 73 5b 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 teractionStates[interactionIndex
12ee0 5d 2e 73 74 61 72 74 54 69 6d 65 20 3d 20 74 72 69 67 67 65 72 2e 73 74 61 72 74 54 69 6d 65 3b ].startTime.=.trigger.startTime;
12f00 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 2f 52 45 56 49 45 57 3a 20 49 66 20 77 ................////REVIEW:.If.w
12f20 65 20 77 61 6e 74 20 74 6f 20 64 65 66 65 72 20 74 72 69 67 67 65 72 69 6e 67 20 6f 66 20 61 63 e.want.to.defer.triggering.of.ac
12f40 74 69 6f 6e 73 2c 20 74 68 69 73 20 69 73 20 74 68 65 20 70 6f 69 6e 74 20 77 68 65 72 65 20 77 tions,.this.is.the.point.where.w
12f60 65 20 70 72 6f 62 61 62 6c 79 20 6e 65 65 64 20 74 6f 20 63 75 74 20 74 68 69 6e 67 73 20 6f 66 e.probably.need.to.cut.things.of
12f80 66 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 53 65 65 20 69 66 20 69 74 20 61 66 66 65 f..............//.See.if.it.affe
12fa0 63 74 73 20 74 68 65 20 70 68 61 73 65 20 6f 66 20 61 6e 20 61 73 73 6f 63 69 61 74 65 64 20 61 cts.the.phase.of.an.associated.a
12fc0 63 74 69 6f 6e 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 61 63 74 69 6f 6e 49 6e ction...............var.actionIn
12fe0 64 65 78 20 3d 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 62 69 6e 64 69 6e 67 49 6e 64 65 78 dex.=.bindingStates[bindingIndex
13000 5d 2e 61 63 74 69 6f 6e 49 6e 64 65 78 3b 20 2f 2f 20 57 65 20 61 6c 72 65 61 64 79 20 68 61 64 ].actionIndex;.//.We.already.had
13020 20 74 6f 20 74 61 70 20 74 68 69 73 20 61 72 72 61 79 20 61 6e 64 20 65 6e 74 72 79 20 69 6e 20 .to.tap.this.array.and.entry.in.
13040 50 72 6f 63 65 73 73 43 6f 6e 74 72 6f 6c 53 74 61 74 65 43 68 61 6e 67 65 2e 0d 0a 20 20 20 20 ProcessControlStateChange.......
13060 20 20 20 20 20 20 20 20 69 66 20 28 61 63 74 69 6f 6e 49 6e 64 65 78 20 21 3d 20 2d 31 29 0d 0a ........if.(actionIndex.!=.-1)..
13080 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 69 ............{..................i
130a0 66 20 28 61 63 74 69 6f 6e 53 74 61 74 65 73 5b 61 63 74 69 6f 6e 49 6e 64 65 78 5d 2e 70 68 61 f.(actionStates[actionIndex].pha
130c0 73 65 20 3d 3d 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 57 61 69 74 69 6e 67 29 0d se.==.InputActionPhase.Waiting).
130e0 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 20 20 20 20 20 .................{..............
13100 20 20 20 20 20 20 20 20 2f 2f 20 57 65 27 72 65 20 74 68 65 20 66 69 72 73 74 20 69 6e 74 65 72 ........//.We're.the.first.inter
13120 61 63 74 69 6f 6e 20 74 6f 20 67 6f 20 74 6f 20 74 68 65 20 73 74 61 72 74 20 70 68 61 73 65 2e action.to.go.to.the.start.phase.
13140 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 68 61 6e 67 65 50 68 61 73 ......................ChangePhas
13160 65 4f 66 41 63 74 69 6f 6e 28 6e 65 77 50 68 61 73 65 2c 20 72 65 66 20 74 72 69 67 67 65 72 2c eOfAction(newPhase,.ref.trigger,
13180 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 70 68 61 73 65 41 ..........................phaseA
131a0 66 74 65 72 50 65 72 66 6f 72 6d 65 64 4f 72 43 61 6e 63 65 6c 65 64 3a 20 70 68 61 73 65 41 66 fterPerformedOrCanceled:.phaseAf
131c0 74 65 72 50 65 72 66 6f 72 6d 65 64 4f 72 43 61 6e 63 65 6c 65 64 29 3b 0d 0a 20 20 20 20 20 20 terPerformedOrCanceled);........
131e0 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 20 20 20 20 65 6c 73 ..........}..................els
13200 65 20 69 66 20 28 6e 65 77 50 68 61 73 65 20 3d 3d 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 e.if.(newPhase.==.InputActionPha
13220 73 65 2e 43 61 6e 63 65 6c 65 64 20 26 26 20 61 63 74 69 6f 6e 53 74 61 74 65 73 5b 61 63 74 69 se.Canceled.&&.actionStates[acti
13240 6f 6e 49 6e 64 65 78 5d 2e 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 20 3d 3d 20 74 72 69 onIndex].interactionIndex.==.tri
13260 67 67 65 72 2e 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 29 0d 0a 20 20 20 20 20 20 20 20 gger.interactionIndex)..........
13280 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 20 20 20 20 2f ........{....................../
132a0 2f 20 57 65 27 72 65 20 63 61 6e 63 65 6c 69 6e 67 20 62 75 74 20 6d 61 79 62 65 20 74 68 65 72 /.We're.canceling.but.maybe.ther
132c0 65 27 73 20 61 6e 6f 74 68 65 72 20 69 6e 74 65 72 61 63 74 69 6f 6e 20 72 65 61 64 79 0d 0a 20 e's.another.interaction.ready...
132e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 74 6f 20 67 6f 20 69 6e 74 6f ...................//.to.go.into
13300 20 73 74 61 72 74 20 70 68 61 73 65 2e 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .start.phase....................
13320 20 20 20 20 20 43 68 61 6e 67 65 50 68 61 73 65 4f 66 41 63 74 69 6f 6e 28 6e 65 77 50 68 61 73 .....ChangePhaseOfAction(newPhas
13340 65 2c 20 72 65 66 20 74 72 69 67 67 65 72 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 e,.ref.trigger);................
13360 20 20 20 20 20 20 20 20 76 61 72 20 69 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 72 74 49 6e 64 65 ........var.interactionStartInde
13380 78 20 3d 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 62 69 6e 64 69 6e 67 49 6e 64 65 78 5d 2e x.=.bindingStates[bindingIndex].
133a0 69 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 72 74 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 interactionStartIndex;..........
133c0 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6e 75 6d 49 6e 74 65 72 61 63 74 69 6f 6e 73 20 ............var.numInteractions.
133e0 3d 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 62 69 6e 64 69 6e 67 49 6e 64 65 78 5d 2e 69 6e =.bindingStates[bindingIndex].in
13400 74 65 72 61 63 74 69 6f 6e 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 teractionCount;.................
13420 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 6e 75 6d 49 6e 74 65 .....for.(var.i.=.0;.i.<.numInte
13440 72 61 63 74 69 6f 6e 73 3b 20 2b 2b 69 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ractions;.++i)..................
13460 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 20 20 20 20 76 ....{..........................v
13480 61 72 20 69 6e 64 65 78 20 3d 20 69 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 72 74 49 6e 64 65 78 ar.index.=.interactionStartIndex
134a0 20 2b 20 69 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 69 .+.i;..........................i
134c0 66 20 28 69 6e 64 65 78 20 21 3d 20 74 72 69 67 67 65 72 2e 69 6e 74 65 72 61 63 74 69 6f 6e 49 f.(index.!=.trigger.interactionI
134e0 6e 64 65 78 20 26 26 20 69 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 74 65 73 5b 69 6e 64 65 78 5d ndex.&&.interactionStates[index]
13500 2e 70 68 61 73 65 20 3d 3d 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 53 74 61 72 74 .phase.==.InputActionPhase.Start
13520 65 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 20 20 20 7b 0d 0a ed)..........................{..
13540 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 76 61 72 20 ............................var.
13560 73 74 61 72 74 54 69 6d 65 20 3d 20 69 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 74 65 73 5b 69 6e startTime.=.interactionStates[in
13580 64 65 78 5d 2e 73 74 61 72 74 54 69 6d 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 dex].startTime;.................
135a0 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 74 72 69 67 67 65 72 46 6f 72 49 6e 74 65 72 .............var.triggerForInter
135c0 61 63 74 69 6f 6e 20 3d 20 6e 65 77 20 54 72 69 67 67 65 72 53 74 61 74 65 0d 0a 20 20 20 20 20 action.=.new.TriggerState.......
135e0 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 20 20 20 20 20 20 .......................{........
13600 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 70 68 61 73 65 20 ..........................phase.
13620 3d 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 53 74 61 72 74 65 64 2c 0d 0a 20 20 20 =.InputActionPhase.Started,.....
13640 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 63 6f 6e .............................con
13660 74 72 6f 6c 49 6e 64 65 78 20 3d 20 69 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 74 65 73 5b 69 6e trolIndex.=.interactionStates[in
13680 64 65 78 5d 2e 74 72 69 67 67 65 72 43 6f 6e 74 72 6f 6c 49 6e 64 65 78 2c 0d 0a 20 20 20 20 20 dex].triggerControlIndex,.......
136a0 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 62 69 6e 64 69 ...........................bindi
136c0 6e 67 49 6e 64 65 78 20 3d 20 74 72 69 67 67 65 72 2e 62 69 6e 64 69 6e 67 49 6e 64 65 78 2c 0d ngIndex.=.trigger.bindingIndex,.
136e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
13700 20 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 20 3d 20 69 6e 64 65 78 2c 0d 0a 20 20 20 20 .interactionIndex.=.index,......
13720 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 74 69 6d 65 ............................time
13740 20 3d 20 73 74 61 72 74 54 69 6d 65 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .=.startTime,...................
13760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 72 74 54 69 6d 65 20 3d 20 73 74 61 72 74 ...............startTime.=.start
13780 54 69 6d 65 2c 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 Time,...........................
137a0 20 20 20 7d 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 20 ...};...........................
137c0 20 20 20 43 68 61 6e 67 65 50 68 61 73 65 4f 66 41 63 74 69 6f 6e 28 49 6e 70 75 74 41 63 74 69 ...ChangePhaseOfAction(InputActi
137e0 6f 6e 50 68 61 73 65 2e 53 74 61 72 74 65 64 2c 20 72 65 66 20 74 72 69 67 67 65 72 46 6f 72 49 onPhase.Started,.ref.triggerForI
13800 6e 74 65 72 61 63 74 69 6f 6e 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nteraction);....................
13820 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........break;................
13840 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 20 20 20 20 20 20 20 ..........}.....................
13860 20 7d 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 .}..................}...........
13880 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 61 63 74 69 6f 6e 53 74 61 74 65 73 5b 61 63 74 .......else.if.(actionStates[act
138a0 69 6f 6e 49 6e 64 65 78 5d 2e 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 20 3d 3d 20 74 72 ionIndex].interactionIndex.==.tr
138c0 69 67 67 65 72 2e 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 29 0d 0a 20 20 20 20 20 20 20 igger.interactionIndex).........
138e0 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 20 20 20 20 .........{......................
13900 2f 2f 20 41 6e 79 20 6f 74 68 65 72 20 70 68 61 73 65 20 63 68 61 6e 67 65 20 67 6f 65 73 20 74 //.Any.other.phase.change.goes.t
13920 6f 20 61 63 74 69 6f 6e 20 69 66 20 77 65 27 72 65 20 74 68 65 20 69 6e 74 65 72 61 63 74 69 6f o.action.if.we're.the.interactio
13940 6e 20 64 72 69 76 69 6e 67 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f n.driving....................../
13960 2f 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 68 61 73 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 /.the.current.phase.............
13980 20 20 20 20 20 20 20 20 20 20 43 68 61 6e 67 65 50 68 61 73 65 4f 66 41 63 74 69 6f 6e 28 6e 65 ..........ChangePhaseOfAction(ne
139a0 77 50 68 61 73 65 2c 20 72 65 66 20 74 72 69 67 67 65 72 2c 20 70 68 61 73 65 41 66 74 65 72 50 wPhase,.ref.trigger,.phaseAfterP
139c0 65 72 66 6f 72 6d 65 64 4f 72 43 61 6e 63 65 6c 65 64 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 erformedOrCanceled);............
139e0 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 57 65 27 72 65 20 74 68 65 20 69 6e 74 65 72 61 63 ............//.We're.the.interac
13a00 74 69 6f 6e 20 64 72 69 76 69 6e 67 20 74 68 65 20 61 63 74 69 6f 6e 20 61 6e 64 20 77 65 20 70 tion.driving.the.action.and.we.p
13a20 65 72 66 6f 72 6d 65 64 20 74 68 65 20 61 63 74 69 6f 6e 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 erformed.the.action,............
13a40 20 20 20 20 20 20 20 20 20 20 2f 2f 20 73 6f 20 72 65 73 65 74 20 61 6e 79 20 6f 74 68 65 72 20 ..........//.so.reset.any.other.
13a60 69 6e 74 65 72 61 63 74 69 6f 6e 20 74 6f 20 77 61 69 74 69 6e 67 20 73 74 61 74 65 2e 0d 0a 20 interaction.to.waiting.state....
13a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6e 65 77 50 68 61 73 65 20 ...................if.(newPhase.
13aa0 3d 3d 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 50 65 72 66 6f 72 6d 65 64 29 0d 0a ==.InputActionPhase.Performed)..
13ac0 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 ....................{...........
13ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 69 6e 74 65 72 61 63 74 69 6f 6e 53 74 ...............var.interactionSt
13b00 61 72 74 49 6e 64 65 78 20 3d 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 62 69 6e 64 69 6e 67 artIndex.=.bindingStates[binding
13b20 49 6e 64 65 78 5d 2e 69 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 72 74 49 6e 64 65 78 3b 0d 0a 20 Index].interactionStartIndex;...
13b40 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 6e 75 6d 49 6e .......................var.numIn
13b60 74 65 72 61 63 74 69 6f 6e 73 20 3d 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 62 69 6e 64 69 teractions.=.bindingStates[bindi
13b80 6e 67 49 6e 64 65 78 5d 2e 69 6e 74 65 72 61 63 74 69 6f 6e 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 ngIndex].interactionCount;......
13ba0 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 61 72 20 69 20 3d ....................for.(var.i.=
13bc0 20 30 3b 20 69 20 3c 20 6e 75 6d 49 6e 74 65 72 61 63 74 69 6f 6e 73 3b 20 2b 2b 69 29 0d 0a 20 .0;.i.<.numInteractions;.++i)...
13be0 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 20 20 20 20 20 20 .......................{........
13c00 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 69 6e 64 65 78 20 ......................var.index.
13c20 3d 20 69 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 72 74 49 6e 64 65 78 20 2b 20 69 3b 0d 0a 20 20 =.interactionStartIndex.+.i;....
13c40 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 69 66 20 28 69 6e ..........................if.(in
13c60 64 65 78 20 21 3d 20 74 72 69 67 67 65 72 2e 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 29 dex.!=.trigger.interactionIndex)
13c80 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 20 20 20 20 20 ................................
13ca0 20 20 52 65 73 65 74 49 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 74 65 28 74 72 69 67 67 65 72 2e ..ResetInteractionState(trigger.
13cc0 6d 61 70 49 6e 64 65 78 2c 20 74 72 69 67 67 65 72 2e 62 69 6e 64 69 6e 67 49 6e 64 65 78 2c 20 mapIndex,.trigger.bindingIndex,.
13ce0 69 6e 64 65 78 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 index);.........................
13d00 20 7d 0d 0a 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 20 20 20 .}......................}.......
13d20 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 7d 0d 0a 0d 0a 20 ...........}..............}.....
13d40 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 66 20 74 68 65 20 69 6e 74 65 72 61 63 74 69 6f 6e ...........//.If.the.interaction
13d60 20 70 65 72 66 6f 72 6d 65 64 20 6f 72 20 63 61 6e 63 65 6c 65 64 2c 20 67 6f 20 62 61 63 6b 20 .performed.or.canceled,.go.back.
13d80 74 6f 20 77 61 69 74 69 6e 67 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 45 78 63 65 to.waiting...............//.Exce
13da0 70 74 69 6f 6e 3a 20 69 66 20 69 74 20 77 61 73 20 70 65 72 66 6f 72 6d 65 64 20 61 6e 64 20 77 ption:.if.it.was.performed.and.w
13dc0 65 27 72 65 20 74 6f 20 72 65 6d 61 69 6e 20 69 6e 20 73 74 61 72 74 65 64 20 73 74 61 74 65 2c e're.to.remain.in.started.state,
13de0 20 73 65 74 20 74 68 65 20 69 6e 74 65 72 61 63 74 69 6f 6e 0d 0a 20 20 20 20 20 20 20 20 20 20 .set.the.interaction............
13e00 20 20 2f 2f 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 20 73 74 61 72 74 65 64 2e 20 4e 6f 74 65 ..//............to.started..Note
13e20 20 74 68 61 74 20 66 6f 72 20 74 68 61 74 20 70 68 61 73 65 20 74 72 61 6e 73 69 74 69 6f 6e 2c .that.for.that.phase.transition,
13e40 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 63 61 6c 6c 62 61 63 6b 73 20 62 65 69 6e 67 0d 0a 20 .there.are.no.callbacks.being...
13e60 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 20 20 20 20 20 20 20 20 20 20 20 74 72 69 67 67 65 72 ...........//............trigger
13e80 65 64 20 28 69 2e 65 2e 20 77 65 20 64 6f 6e 27 74 20 63 61 6c 6c 20 27 73 74 61 72 74 65 64 27 ed.(i.e..we.don't.call.'started'
13ea0 20 65 76 65 72 79 20 74 69 6d 65 20 61 66 74 65 72 20 27 70 65 72 66 6f 72 6d 65 64 27 29 2e 0d .every.time.after.'performed')..
13ec0 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6e 65 77 50 68 61 73 65 20 3d 3d 20 49 6e 70 .............if.(newPhase.==.Inp
13ee0 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 50 65 72 66 6f 72 6d 65 64 20 26 26 20 70 68 61 73 65 utActionPhase.Performed.&&.phase
13f00 41 66 74 65 72 50 65 72 66 6f 72 6d 65 64 20 21 3d 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 AfterPerformed.!=.InputActionPha
13f20 73 65 2e 57 61 69 74 69 6e 67 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 se.Waiting)..............{......
13f40 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 74 65 73 5b 69 6e ............interactionStates[in
13f60 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 5d 2e 70 68 61 73 65 20 3d 20 70 68 61 73 65 41 66 74 teractionIndex].phase.=.phaseAft
13f80 65 72 50 65 72 66 6f 72 6d 65 64 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 erPerformed;..............}.....
13fa0 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 6e 65 77 50 68 61 73 65 20 3d 3d 20 49 6e .........else.if.(newPhase.==.In
13fc0 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 50 65 72 66 6f 72 6d 65 64 20 7c 7c 20 6e 65 77 50 putActionPhase.Performed.||.newP
13fe0 68 61 73 65 20 3d 3d 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 43 61 6e 63 65 6c 65 hase.==.InputActionPhase.Cancele
14000 64 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 20 d)..............{...............
14020 20 20 20 52 65 73 65 74 49 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 74 65 28 74 72 69 67 67 65 72 ...ResetInteractionState(trigger
14040 2e 6d 61 70 49 6e 64 65 78 2c 20 74 72 69 67 67 65 72 2e 62 69 6e 64 69 6e 67 49 6e 64 65 78 2c .mapIndex,.trigger.bindingIndex,
14060 20 74 72 69 67 67 65 72 2e 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 29 3b 0d 0a 20 20 20 .trigger.interactionIndex);.....
14080 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 2f 54 4f 44 4f .........}..............////TODO
140a0 3a 20 72 65 73 65 74 20 65 6e 74 69 72 65 20 63 68 61 69 6e 0d 0a 20 20 20 20 20 20 20 20 7d 0d :.reset.entire.chain..........}.
140c0 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 20 ...........///.<summary>........
140e0 20 20 2f 2f 2f 20 43 68 61 6e 67 65 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 68 61 73 65 20 6f ..///.Change.the.current.phase.o
14100 66 20 74 68 65 20 61 63 74 69 6f 6e 20 72 65 66 65 72 65 6e 63 65 64 20 62 79 20 3c 70 61 72 61 f.the.action.referenced.by.<para
14120 6d 72 65 66 20 6e 61 6d 65 3d 22 74 72 69 67 67 65 72 22 2f 3e 20 74 6f 20 3c 70 61 72 61 6d 72 mref.name="trigger"/>.to.<paramr
14140 65 66 20 6e 61 6d 65 3d 22 6e 65 77 50 68 61 73 65 22 2f 3e 2e 0d 0a 20 20 20 20 20 20 20 20 2f ef.name="newPhase"/>.........../
14160 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 70 61 72 61 //.</summary>..........///.<para
14180 6d 20 6e 61 6d 65 3d 22 6e 65 77 50 68 61 73 65 22 3e 4e 65 77 20 70 68 61 73 65 20 74 6f 20 74 m.name="newPhase">New.phase.to.t
141a0 72 61 6e 73 69 74 69 6f 6e 20 74 6f 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 2f ransition.to.</param>........../
141c0 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 74 72 69 67 67 65 72 22 3e 54 72 69 67 67 65 72 //.<param.name="trigger">Trigger
141e0 20 74 68 61 74 20 63 61 75 73 65 64 20 74 68 65 20 63 68 61 6e 67 65 20 69 6e 20 70 68 61 73 65 .that.caused.the.change.in.phase
14200 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 .</param>..........///.<param.na
14220 6d 65 3d 22 70 68 61 73 65 41 66 74 65 72 50 65 72 66 6f 72 6d 65 64 4f 72 43 61 6e 63 65 6c 65 me="phaseAfterPerformedOrCancele
14240 64 22 3e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b d"></param>..........///.<remark
14260 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 68 65 20 63 68 61 6e 67 65 20 69 6e 20 70 68 s>..........///.The.change.in.ph
14280 61 73 65 20 69 73 20 76 69 73 69 62 6c 65 20 74 6f 20 6f 62 73 65 72 76 65 72 73 2c 20 69 2e 65 ase.is.visible.to.observers,.i.e
142a0 2e 20 6f 6e 20 74 68 65 20 76 61 72 69 6f 75 73 20 63 61 6c 6c 62 61 63 6b 73 20 61 6e 64 20 6e ..on.the.various.callbacks.and.n
142c0 6f 74 69 66 69 63 61 74 69 6f 6e 73 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 otifications...........///......
142e0 20 20 20 20 2f 2f 2f 20 49 66 20 3c 70 61 72 61 6d 72 65 66 20 6e 61 6d 65 3d 22 6e 65 77 50 68 ....///.If.<paramref.name="newPh
14300 61 73 65 22 2f 3e 20 69 73 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 41 63 74 69 6f 6e ase"/>.is.<see.cref="InputAction
14320 50 68 61 73 65 2e 50 65 72 66 6f 72 6d 65 64 22 2f 3e 20 6f 72 20 3c 73 65 65 20 63 72 65 66 3d Phase.Performed"/>.or.<see.cref=
14340 22 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 43 61 6e 63 65 6c 65 64 22 2f 3e 2c 0d 0a "InputActionPhase.Canceled"/>,..
14360 20 20 20 20 20 20 20 20 2f 2f 2f 20 74 68 65 20 61 63 74 69 6f 6e 20 77 69 6c 6c 20 73 75 62 73 ........///.the.action.will.subs
14380 65 71 75 65 6e 74 6c 79 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 74 72 61 6e 73 69 74 69 6f 6e 20 equently.immediately.transition.
143a0 74 6f 20 3c 70 61 72 61 6d 72 65 66 20 6e 61 6d 65 3d 22 70 68 61 73 65 41 66 74 65 72 50 65 72 to.<paramref.name="phaseAfterPer
143c0 66 6f 72 6d 65 64 4f 72 43 61 6e 63 65 6c 65 64 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f formedOrCanceled"/>..........///
143e0 20 28 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 57 61 .(<see.cref="InputActionPhase.Wa
14400 69 74 69 6e 67 22 2f 3e 20 62 79 20 64 65 66 61 75 6c 74 29 2e 20 54 68 69 73 20 63 68 61 6e 67 iting"/>.by.default)..This.chang
14420 65 20 69 73 20 6e 6f 74 20 76 69 73 69 62 6c 65 20 74 6f 20 6f 62 73 65 72 76 65 72 73 2c 20 69 e.is.not.visible.to.observers,.i
14440 2e 65 2e 20 74 68 65 72 65 20 77 6f 6e 27 74 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 62 65 20 .e..there.won't..........///.be.
14460 61 6e 6f 74 68 65 72 20 72 75 6e 20 74 68 72 6f 75 67 68 20 63 61 6c 6c 62 61 63 6b 73 2e 0d 0a another.run.through.callbacks...
14480 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 20 20 20 20 20 20 20 ........///.</remarks>..........
144a0 70 72 69 76 61 74 65 20 76 6f 69 64 20 43 68 61 6e 67 65 50 68 61 73 65 4f 66 41 63 74 69 6f 6e private.void.ChangePhaseOfAction
144c0 28 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 20 6e 65 77 50 68 61 73 65 2c 20 72 65 66 20 (InputActionPhase.newPhase,.ref.
144e0 54 72 69 67 67 65 72 53 74 61 74 65 20 74 72 69 67 67 65 72 2c 0d 0a 20 20 20 20 20 20 20 20 20 TriggerState.trigger,...........
14500 20 20 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 20 70 68 61 73 65 41 66 74 65 72 50 65 ...InputActionPhase.phaseAfterPe
14520 72 66 6f 72 6d 65 64 4f 72 43 61 6e 63 65 6c 65 64 20 3d 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 rformedOrCanceled.=.InputActionP
14540 68 61 73 65 2e 57 61 69 74 69 6e 67 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 hase.Waiting)..........{........
14560 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 6e 65 77 50 68 61 73 65 20 21 3d 20 49 ......Debug.Assert(newPhase.!=.I
14580 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 44 69 73 61 62 6c 65 64 2c 20 22 53 68 6f 75 6c nputActionPhase.Disabled,."Shoul
145a0 64 20 6e 6f 74 20 64 69 73 61 62 6c 65 20 61 6e 20 61 63 74 69 6f 6e 20 75 73 69 6e 67 20 74 68 d.not.disable.an.action.using.th
145c0 69 73 20 6d 65 74 68 6f 64 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e is.method");..............Debug.
145e0 41 73 73 65 72 74 28 74 72 69 67 67 65 72 2e 6d 61 70 49 6e 64 65 78 20 3e 3d 20 30 20 26 26 20 Assert(trigger.mapIndex.>=.0.&&.
14600 74 72 69 67 67 65 72 2e 6d 61 70 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 4d 61 70 43 6f 75 6e 74 trigger.mapIndex.<.totalMapCount
14620 2c 20 22 4d 61 70 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d 0a 20 20 ,."Map.index.out.of.range");....
14640 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 74 72 69 67 67 65 72 2e 63 ..........Debug.Assert(trigger.c
14660 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3e 3d 20 30 20 26 26 20 74 72 69 67 67 65 72 2e 63 6f 6e 74 ontrolIndex.>=.0.&&.trigger.cont
14680 72 6f 6c 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 43 6f 6e 74 72 6f 6c 43 6f 75 6e 74 2c 20 22 43 rolIndex.<.totalControlCount,."C
146a0 6f 6e 74 72 6f 6c 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d 0a 20 20 ontrol.index.out.of.range");....
146c0 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 74 72 69 67 67 65 72 2e 62 ..........Debug.Assert(trigger.b
146e0 69 6e 64 69 6e 67 49 6e 64 65 78 20 3e 3d 20 30 20 26 26 20 74 72 69 67 67 65 72 2e 62 69 6e 64 indingIndex.>=.0.&&.trigger.bind
14700 69 6e 67 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 42 69 6e 64 69 6e 67 43 6f 75 6e 74 2c 20 22 42 ingIndex.<.totalBindingCount,."B
14720 69 6e 64 69 6e 67 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d 0a 0d 0a inding.index.out.of.range");....
14740 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 61 63 74 69 6f 6e 49 6e 64 65 78 20 3d 20 62 69 ............var.actionIndex.=.bi
14760 6e 64 69 6e 67 53 74 61 74 65 73 5b 74 72 69 67 67 65 72 2e 62 69 6e 64 69 6e 67 49 6e 64 65 78 ndingStates[trigger.bindingIndex
14780 5d 2e 61 63 74 69 6f 6e 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 ].actionIndex;..............if.(
147a0 61 63 74 69 6f 6e 49 6e 64 65 78 20 3d 3d 20 6b 49 6e 76 61 6c 69 64 49 6e 64 65 78 29 0d 0a 20 actionIndex.==.kInvalidIndex)...
147c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 20 2f 2f 20 4e 6f 20 61 63 74 ...............return;.//.No.act
147e0 69 6f 6e 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 62 69 6e 64 69 6e 67 2e 0d 0a 0d 0a ion.associated.with.binding.....
14800 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 67 6e 6f 72 65 20 69 66 20 61 63 74 69 6f 6e 20 ............//.Ignore.if.action.
14820 69 73 20 64 69 73 61 62 6c 65 64 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 61 63 is.disabled...............var.ac
14840 74 69 6f 6e 53 74 61 74 65 20 3d 20 26 61 63 74 69 6f 6e 53 74 61 74 65 73 5b 61 63 74 69 6f 6e tionState.=.&actionStates[action
14860 49 6e 64 65 78 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 61 63 74 69 6f 6e 53 Index];..............if.(actionS
14880 74 61 74 65 2d 3e 69 73 44 69 73 61 62 6c 65 64 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 tate->isDisabled)...............
148a0 20 20 20 72 65 74 75 72 6e 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 45 6e 66 ...return;................//.Enf
148c0 6f 72 63 65 20 74 72 61 6e 73 69 74 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 73 2e 0d 0a 20 20 orce.transition.constraints.....
148e0 20 20 20 20 20 20 20 20 20 20 69 66 20 28 61 63 74 69 6f 6e 53 74 61 74 65 2d 3e 69 73 50 61 73 ..........if.(actionState->isPas
14900 73 54 68 72 6f 75 67 68 20 26 26 20 74 72 69 67 67 65 72 2e 69 6e 74 65 72 61 63 74 69 6f 6e 49 sThrough.&&.trigger.interactionI
14920 6e 64 65 78 20 3d 3d 20 6b 49 6e 76 61 6c 69 64 49 6e 64 65 78 29 0d 0a 20 20 20 20 20 20 20 20 ndex.==.kInvalidIndex)..........
14940 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 4e 6f 20 63 6f 6e ....{..................//.No.con
14960 73 74 72 61 69 6e 74 73 20 6f 6e 20 70 61 73 73 2d 74 68 72 6f 75 67 68 20 61 63 74 69 6f 6e 73 straints.on.pass-through.actions
14980 20 65 78 63 65 70 74 20 69 66 20 74 68 65 72 65 20 61 72 65 20 69 6e 74 65 72 61 63 74 69 6f 6e .except.if.there.are.interaction
149a0 73 20 64 72 69 76 69 6e 67 20 74 68 65 20 61 63 74 69 6f 6e 2e 0d 0a 20 20 20 20 20 20 20 20 20 s.driving.the.action............
149c0 20 20 20 20 20 20 20 43 68 61 6e 67 65 50 68 61 73 65 4f 66 41 63 74 69 6f 6e 49 6e 74 65 72 6e .......ChangePhaseOfActionIntern
149e0 61 6c 28 61 63 74 69 6f 6e 49 6e 64 65 78 2c 20 61 63 74 69 6f 6e 53 74 61 74 65 2c 20 6e 65 77 al(actionIndex,.actionState,.new
14a00 50 68 61 73 65 2c 20 72 65 66 20 74 72 69 67 67 65 72 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 Phase,.ref.trigger);............
14a20 20 20 20 20 20 20 69 66 20 28 61 63 74 69 6f 6e 53 74 61 74 65 2d 3e 69 73 44 69 73 61 62 6c 65 ......if.(actionState->isDisable
14a40 64 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0d d)......................return;.
14a60 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 65 6c 73 65 .............}..............else
14a80 20 69 66 20 28 6e 65 77 50 68 61 73 65 20 3d 3d 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 .if.(newPhase.==.InputActionPhas
14aa0 65 2e 50 65 72 66 6f 72 6d 65 64 20 26 26 20 61 63 74 69 6f 6e 53 74 61 74 65 2d 3e 70 68 61 73 e.Performed.&&.actionState->phas
14ac0 65 20 3d 3d 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 57 61 69 74 69 6e 67 29 0d 0a e.==.InputActionPhase.Waiting)..
14ae0 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 2f ............{................../
14b00 2f 20 47 6f 69 6e 67 20 66 72 6f 6d 20 77 61 69 74 69 6e 67 20 74 6f 20 70 65 72 66 6f 72 6d 65 /.Going.from.waiting.to.performe
14b20 64 2c 20 77 65 20 6d 61 6b 65 20 61 20 64 65 74 6f 75 72 20 76 69 61 20 73 74 61 72 74 65 64 2e d,.we.make.a.detour.via.started.
14b40 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 68 61 6e 67 65 50 68 61 73 65 4f 66 41 ..................ChangePhaseOfA
14b60 63 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 28 61 63 74 69 6f 6e 49 6e 64 65 78 2c 20 61 63 74 69 6f ctionInternal(actionIndex,.actio
14b80 6e 53 74 61 74 65 2c 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 53 74 61 72 74 65 64 nState,.InputActionPhase.Started
14ba0 2c 20 72 65 66 20 74 72 69 67 67 65 72 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ,.ref.trigger);.................
14bc0 20 69 66 20 28 61 63 74 69 6f 6e 53 74 61 74 65 2d 3e 69 73 44 69 73 61 62 6c 65 64 29 0d 0a 20 .if.(actionState->isDisabled)...
14be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0d 0a 0d 0a 20 20 ...................return;......
14c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 54 68 65 6e 20 77 65 20 70 65 72 66 6f 72 6d ..............//.Then.we.perform
14c20 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 68 61 6e 67 65 50 68 61 73 65 4f 66 ...................ChangePhaseOf
14c40 41 63 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 28 61 63 74 69 6f 6e 49 6e 64 65 78 2c 20 61 63 74 69 ActionInternal(actionIndex,.acti
14c60 6f 6e 53 74 61 74 65 2c 20 6e 65 77 50 68 61 73 65 2c 20 72 65 66 20 74 72 69 67 67 65 72 29 3b onState,.newPhase,.ref.trigger);
14c80 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 6f 6e 53 74 61 74 ..................if.(actionStat
14ca0 65 2d 3e 69 73 44 69 73 61 62 6c 65 64 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e->isDisabled)..................
14cc0 20 20 20 20 72 65 74 75 72 6e 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f ....return;..................../
14ce0 2f 20 41 6e 64 20 66 69 6e 61 6c 6c 79 2c 20 69 66 20 77 65 27 72 65 20 67 6f 69 6e 67 20 62 61 /.And.finally,.if.we're.going.ba
14d00 63 6b 20 74 6f 20 77 61 69 74 69 6e 67 2c 20 77 65 20 6d 61 6b 65 20 61 20 64 65 74 6f 75 72 20 ck.to.waiting,.we.make.a.detour.
14d20 76 69 61 20 63 61 6e 63 65 6c 65 64 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 via.canceled...................i
14d40 66 20 28 70 68 61 73 65 41 66 74 65 72 50 65 72 66 6f 72 6d 65 64 4f 72 43 61 6e 63 65 6c 65 64 f.(phaseAfterPerformedOrCanceled
14d60 20 3d 3d 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 57 61 69 74 69 6e 67 29 0d 0a 20 .==.InputActionPhase.Waiting)...
14d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 68 61 6e 67 65 50 68 61 73 65 4f 66 ...................ChangePhaseOf
14da0 41 63 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 28 61 63 74 69 6f 6e 49 6e 64 65 78 2c 20 61 63 74 69 ActionInternal(actionIndex,.acti
14dc0 6f 6e 53 74 61 74 65 2c 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 43 61 6e 63 65 6c onState,.InputActionPhase.Cancel
14de0 65 64 2c 20 72 65 66 20 74 72 69 67 67 65 72 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ed,.ref.trigger);...............
14e00 20 20 20 69 66 20 28 61 63 74 69 6f 6e 53 74 61 74 65 2d 3e 69 73 44 69 73 61 62 6c 65 64 29 0d ...if.(actionState->isDisabled).
14e20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0d 0a 0d 0a .....................return;....
14e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 69 6f 6e 53 74 61 74 65 2d 3e 70 68 61 ................actionState->pha
14e60 73 65 20 3d 20 70 68 61 73 65 41 66 74 65 72 50 65 72 66 6f 72 6d 65 64 4f 72 43 61 6e 63 65 6c se.=.phaseAfterPerformedOrCancel
14e80 65 64 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 ed;..............}..............
14ea0 65 6c 73 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 20 else..............{.............
14ec0 20 20 20 20 20 43 68 61 6e 67 65 50 68 61 73 65 4f 66 41 63 74 69 6f 6e 49 6e 74 65 72 6e 61 6c .....ChangePhaseOfActionInternal
14ee0 28 61 63 74 69 6f 6e 49 6e 64 65 78 2c 20 61 63 74 69 6f 6e 53 74 61 74 65 2c 20 6e 65 77 50 68 (actionIndex,.actionState,.newPh
14f00 61 73 65 2c 20 72 65 66 20 74 72 69 67 67 65 72 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ase,.ref.trigger);..............
14f20 20 20 20 20 69 66 20 28 61 63 74 69 6f 6e 53 74 61 74 65 2d 3e 69 73 44 69 73 61 62 6c 65 64 29 ....if.(actionState->isDisabled)
14f40 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0d 0a 0d ......................return;...
14f60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6e 65 77 50 68 61 73 65 20 3d 3d .................if.(newPhase.==
14f80 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 50 65 72 66 6f 72 6d 65 64 20 7c 7c 20 6e .InputActionPhase.Performed.||.n
14fa0 65 77 50 68 61 73 65 20 3d 3d 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 43 61 6e 63 ewPhase.==.InputActionPhase.Canc
14fc0 65 6c 65 64 29 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 69 6f eled)......................actio
14fe0 6e 53 74 61 74 65 2d 3e 70 68 61 73 65 20 3d 20 70 68 61 73 65 41 66 74 65 72 50 65 72 66 6f 72 nState->phase.=.phaseAfterPerfor
15000 6d 65 64 4f 72 43 61 6e 63 65 6c 65 64 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d medOrCanceled;..............}...
15020 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 66 20 77 65 27 72 65 20 6e 6f 77 20 77 61 69 .............//.If.we're.now.wai
15040 74 69 6e 67 2c 20 72 65 73 65 74 20 63 6f 6e 74 72 6f 6c 20 73 74 61 74 65 2e 20 54 68 69 73 20 ting,.reset.control.state..This.
15060 69 73 20 69 6d 70 6f 72 74 61 6e 74 20 66 6f 72 20 74 68 65 20 64 69 73 61 6d 62 69 67 75 61 74 is.important.for.the.disambiguat
15080 69 6f 6e 20 63 6f 64 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 74 6f 20 6e 6f 74 20 ion.code..............//.to.not.
150a0 63 6f 6e 73 69 64 65 72 20 77 68 61 74 65 76 65 72 20 63 6f 6e 74 72 6f 6c 20 61 63 74 75 61 74 consider.whatever.control.actuat
150c0 69 6f 6e 20 68 61 70 70 65 6e 65 64 20 6f 6e 20 74 68 65 20 61 63 74 69 6f 6e 20 6c 61 73 74 2e ion.happened.on.the.action.last.
150e0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 61 63 74 69 6f 6e 53 74 61 74 65 2d 3e 70 ..............if.(actionState->p
15100 68 61 73 65 20 3d 3d 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 57 61 69 74 69 6e 67 hase.==.InputActionPhase.Waiting
15120 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 20 20 )..............{................
15140 20 20 61 63 74 69 6f 6e 53 74 61 74 65 2d 3e 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3d 20 6b 49 ..actionState->controlIndex.=.kI
15160 6e 76 61 6c 69 64 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 nvalidIndex;..................ac
15180 74 69 6f 6e 53 74 61 74 65 2d 3e 66 6c 61 67 73 20 26 3d 20 7e 54 72 69 67 67 65 72 53 74 61 74 tionState->flags.&=.~TriggerStat
151a0 65 2e 46 6c 61 67 73 2e 48 61 76 65 4d 61 67 6e 69 74 75 64 65 3b 0d 0a 20 20 20 20 20 20 20 20 e.Flags.HaveMagnitude;..........
151c0 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 70 72 69 76 ....}..........}............priv
151e0 61 74 65 20 76 6f 69 64 20 43 68 61 6e 67 65 50 68 61 73 65 4f 66 41 63 74 69 6f 6e 49 6e 74 65 ate.void.ChangePhaseOfActionInte
15200 72 6e 61 6c 28 69 6e 74 20 61 63 74 69 6f 6e 49 6e 64 65 78 2c 20 54 72 69 67 67 65 72 53 74 61 rnal(int.actionIndex,.TriggerSta
15220 74 65 2a 20 61 63 74 69 6f 6e 53 74 61 74 65 2c 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 te*.actionState,.InputActionPhas
15240 65 20 6e 65 77 50 68 61 73 65 2c 20 72 65 66 20 54 72 69 67 67 65 72 53 74 61 74 65 20 74 72 69 e.newPhase,.ref.TriggerState.tri
15260 67 67 65 72 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 2f 2f gger)..........{..............//
15280 20 55 70 64 61 74 65 20 61 63 74 69 6f 6e 20 73 74 61 74 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 .Update.action.state............
152a0 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 74 72 69 67 67 65 72 2e 6d 61 70 49 6e 64 65 78 ...Debug.Assert(trigger.mapIndex
152c0 20 3d 3d 20 61 63 74 69 6f 6e 53 74 61 74 65 2d 3e 6d 61 70 49 6e 64 65 78 2c 0d 0a 20 20 20 20 .==.actionState->mapIndex,......
152e0 20 20 20 20 20 20 20 20 20 20 20 20 22 4d 61 70 20 69 6e 64 65 78 20 6f 6e 20 74 72 69 67 67 65 ............"Map.index.on.trigge
15300 72 20 64 6f 65 73 20 6e 6f 74 20 63 6f 72 72 65 73 70 6f 6e 64 20 74 6f 20 6d 61 70 20 69 6e 64 r.does.not.correspond.to.map.ind
15320 65 78 20 6f 66 20 74 72 69 67 67 65 72 20 73 74 61 74 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 ex.of.trigger.state");..........
15340 20 20 20 20 76 61 72 20 6e 65 77 53 74 61 74 65 20 3d 20 74 72 69 67 67 65 72 3b 0d 0a 20 20 20 ....var.newState.=.trigger;.....
15360 20 20 20 20 20 20 20 20 20 6e 65 77 53 74 61 74 65 2e 66 6c 61 67 73 20 3d 20 61 63 74 69 6f 6e .........newState.flags.=.action
15380 53 74 61 74 65 2d 3e 66 6c 61 67 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 53 74 State->flags;..............newSt
153a0 61 74 65 2e 70 68 61 73 65 20 3d 20 6e 65 77 50 68 61 73 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 ate.phase.=.newPhase;...........
153c0 20 20 20 69 66 20 28 21 6e 65 77 53 74 61 74 65 2e 68 61 76 65 4d 61 67 6e 69 74 75 64 65 29 0d ...if.(!newState.haveMagnitude).
153e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 53 74 61 74 65 2e 6d 61 67 6e 69 74 .................newState.magnit
15400 75 64 65 20 3d 20 43 6f 6d 70 75 74 65 4d 61 67 6e 69 74 75 64 65 28 74 72 69 67 67 65 72 2e 62 ude.=.ComputeMagnitude(trigger.b
15420 69 6e 64 69 6e 67 49 6e 64 65 78 2c 20 74 72 69 67 67 65 72 2e 63 6f 6e 74 72 6f 6c 49 6e 64 65 indingIndex,.trigger.controlInde
15440 78 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6e 65 77 50 68 61 73 65 20 3d 3d x);..............if.(newPhase.==
15460 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 50 65 72 66 6f 72 6d 65 64 29 0d 0a 20 20 .InputActionPhase.Performed)....
15480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 53 74 61 74 65 2e 6c 61 73 74 54 72 69 67 67 ..............newState.lastTrigg
154a0 65 72 65 64 49 6e 55 70 64 61 74 65 20 3d 20 49 6e 70 75 74 55 70 64 61 74 65 2e 73 5f 55 70 64 eredInUpdate.=.InputUpdate.s_Upd
154c0 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 65 6c 73 65 0d ateStepCount;..............else.
154e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 53 74 61 74 65 2e 6c 61 73 74 54 72 .................newState.lastTr
15500 69 67 67 65 72 65 64 49 6e 55 70 64 61 74 65 20 3d 20 61 63 74 69 6f 6e 53 74 61 74 65 2d 3e 6c iggeredInUpdate.=.actionState->l
15520 61 73 74 54 72 69 67 67 65 72 65 64 49 6e 55 70 64 61 74 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 astTriggeredInUpdate;...........
15540 20 20 20 69 66 20 28 6e 65 77 50 68 61 73 65 20 3d 3d 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 ...if.(newPhase.==.InputActionPh
15560 61 73 65 2e 53 74 61 72 74 65 64 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 ase.Started)..................ne
15580 77 53 74 61 74 65 2e 73 74 61 72 74 54 69 6d 65 20 3d 20 6e 65 77 53 74 61 74 65 2e 74 69 6d 65 wState.startTime.=.newState.time
155a0 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2a 61 63 74 69 6f 6e 53 74 61 74 65 20 3d 20 6e 65 ;..............*actionState.=.ne
155c0 77 53 74 61 74 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 4c 65 74 20 6c 69 wState;................//.Let.li
155e0 73 74 65 6e 65 72 73 20 6b 6e 6f 77 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d steners.know...............var.m
15600 61 70 20 3d 20 6d 61 70 73 5b 74 72 69 67 67 65 72 2e 6d 61 70 49 6e 64 65 78 5d 3b 0d 0a 20 20 ap.=.maps[trigger.mapIndex];....
15620 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 61 63 74 69 6f 6e 49 6e 64 ..........Debug.Assert(actionInd
15640 65 78 20 3e 3d 20 6d 61 70 49 6e 64 69 63 65 73 5b 74 72 69 67 67 65 72 2e 6d 61 70 49 6e 64 65 ex.>=.mapIndices[trigger.mapInde
15660 78 5d 2e 61 63 74 69 6f 6e 53 74 61 72 74 49 6e 64 65 78 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 x].actionStartIndex,............
15680 20 20 20 20 20 20 22 61 63 74 69 6f 6e 49 6e 64 65 78 20 69 73 20 62 65 6c 6f 77 20 61 63 74 69 ......"actionIndex.is.below.acti
156a0 6f 6e 53 74 61 72 74 49 6e 64 65 78 20 66 6f 72 20 6d 61 70 20 74 68 61 74 20 74 68 65 20 61 63 onStartIndex.for.map.that.the.ac
156c0 74 69 6f 6e 20 62 65 6c 6f 6e 67 73 20 74 6f 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 tion.belongs.to");..............
156e0 76 61 72 20 61 63 74 69 6f 6e 20 3d 20 6d 61 70 2e 6d 5f 41 63 74 69 6f 6e 73 5b 61 63 74 69 6f var.action.=.map.m_Actions[actio
15700 6e 49 6e 64 65 78 20 2d 20 6d 61 70 49 6e 64 69 63 65 73 5b 74 72 69 67 67 65 72 2e 6d 61 70 49 nIndex.-.mapIndices[trigger.mapI
15720 6e 64 65 78 5d 2e 61 63 74 69 6f 6e 53 74 61 72 74 49 6e 64 65 78 5d 3b 0d 0a 20 20 20 20 20 20 ndex].actionStartIndex];........
15740 20 20 20 20 20 20 74 72 69 67 67 65 72 2e 70 68 61 73 65 20 3d 20 6e 65 77 50 68 61 73 65 3b 0d ......trigger.phase.=.newPhase;.
15760 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 77 69 74 63 68 20 28 6e 65 77 50 68 61 73 65 29 0d 0a .............switch.(newPhase)..
15780 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 63 ............{..................c
157a0 61 73 65 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 53 74 61 72 74 65 64 3a 0d 0a 20 ase.InputActionPhase.Started:...
157c0 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 20 20 20 20 20 ...............{................
157e0 20 20 20 20 20 20 43 61 6c 6c 41 63 74 69 6f 6e 4c 69 73 74 65 6e 65 72 73 28 61 63 74 69 6f 6e ......CallActionListeners(action
15800 49 6e 64 65 78 2c 20 6d 61 70 2c 20 6e 65 77 50 68 61 73 65 2c 20 72 65 66 20 61 63 74 69 6f 6e Index,.map,.newPhase,.ref.action
15820 2e 6d 5f 4f 6e 53 74 61 72 74 65 64 2c 20 22 73 74 61 72 74 65 64 22 29 3b 0d 0a 20 20 20 20 20 .m_OnStarted,."started");.......
15840 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 20 20 20 20 20 20 ...............break;...........
15860 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 63 61 73 65 .......}....................case
15880 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 50 65 72 66 6f 72 6d 65 64 3a 0d 0a 20 20 .InputActionPhase.Performed:....
158a0 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 20 20 20 20 20 20 ..............{.................
158c0 20 20 20 20 20 43 61 6c 6c 41 63 74 69 6f 6e 4c 69 73 74 65 6e 65 72 73 28 61 63 74 69 6f 6e 49 .....CallActionListeners(actionI
158e0 6e 64 65 78 2c 20 6d 61 70 2c 20 6e 65 77 50 68 61 73 65 2c 20 72 65 66 20 61 63 74 69 6f 6e 2e ndex,.map,.newPhase,.ref.action.
15900 6d 5f 4f 6e 50 65 72 66 6f 72 6d 65 64 2c 20 22 70 65 72 66 6f 72 6d 65 64 22 29 3b 0d 0a 20 20 m_OnPerformed,."performed");....
15920 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 20 20 20 ..................break;........
15940 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 20 20 63 ..........}....................c
15960 61 73 65 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 43 61 6e 63 65 6c 65 64 3a 0d 0a ase.InputActionPhase.Canceled:..
15980 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 20 20 20 20 ................{...............
159a0 20 20 20 20 20 20 20 43 61 6c 6c 41 63 74 69 6f 6e 4c 69 73 74 65 6e 65 72 73 28 61 63 74 69 6f .......CallActionListeners(actio
159c0 6e 49 6e 64 65 78 2c 20 6d 61 70 2c 20 6e 65 77 50 68 61 73 65 2c 20 72 65 66 20 61 63 74 69 6f nIndex,.map,.newPhase,.ref.actio
159e0 6e 2e 6d 5f 4f 6e 43 61 6e 63 65 6c 65 64 2c 20 22 63 61 6e 63 65 6c 65 64 22 29 3b 0d 0a 20 20 n.m_OnCanceled,."canceled");....
15a00 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 20 20 20 ..................break;........
15a20 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 7d 0d 0a 20 20 20 20 ..........}..............}......
15a40 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 76 6f 69 64 20 43 61 ....}............private.void.Ca
15a60 6c 6c 41 63 74 69 6f 6e 4c 69 73 74 65 6e 65 72 73 28 69 6e 74 20 61 63 74 69 6f 6e 49 6e 64 65 llActionListeners(int.actionInde
15a80 78 2c 20 49 6e 70 75 74 41 63 74 69 6f 6e 4d 61 70 20 61 63 74 69 6f 6e 4d 61 70 2c 20 49 6e 70 x,.InputActionMap.actionMap,.Inp
15aa0 75 74 41 63 74 69 6f 6e 50 68 61 73 65 20 70 68 61 73 65 2c 20 72 65 66 20 49 6e 6c 69 6e 65 64 utActionPhase.phase,.ref.Inlined
15ac0 41 72 72 61 79 3c 49 6e 70 75 74 41 63 74 69 6f 6e 4c 69 73 74 65 6e 65 72 3e 20 6c 69 73 74 65 Array<InputActionListener>.liste
15ae0 6e 65 72 73 2c 20 73 74 72 69 6e 67 20 63 61 6c 6c 62 61 63 6b 4e 61 6d 65 29 0d 0a 20 20 20 20 ners,.string.callbackName)......
15b00 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 66 20 74 68 65 72 65 27 73 ....{..............//.If.there's
15b20 20 6e 6f 20 6c 69 73 74 65 6e 65 72 73 2c 20 64 6f 6e 27 74 20 62 6f 74 68 65 72 20 77 69 74 68 .no.listeners,.don't.bother.with
15b40 20 61 6e 79 74 68 69 6e 67 20 65 6c 73 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 .anything.else...............var
15b60 20 63 61 6c 6c 62 61 63 6b 73 4f 6e 4d 61 70 20 3d 20 61 63 74 69 6f 6e 4d 61 70 2e 6d 5f 41 63 .callbacksOnMap.=.actionMap.m_Ac
15b80 74 69 6f 6e 43 61 6c 6c 62 61 63 6b 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 tionCallbacks;..............if.(
15ba0 6c 69 73 74 65 6e 65 72 73 2e 6c 65 6e 67 74 68 20 3d 3d 20 30 20 26 26 20 63 61 6c 6c 62 61 63 listeners.length.==.0.&&.callbac
15bc0 6b 73 4f 6e 4d 61 70 2e 6c 65 6e 67 74 68 20 3d 3d 20 30 20 26 26 20 73 5f 4f 6e 41 63 74 69 6f ksOnMap.length.==.0.&&.s_OnActio
15be0 6e 43 68 61 6e 67 65 2e 6c 65 6e 67 74 68 20 3d 3d 20 30 29 0d 0a 20 20 20 20 20 20 20 20 20 20 nChange.length.==.0)............
15c00 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 20 20 20 20 76 61 72 ......return;................var
15c20 20 63 6f 6e 74 65 78 74 20 3d 20 6e 65 77 20 49 6e 70 75 74 41 63 74 69 6f 6e 2e 43 61 6c 6c 62 .context.=.new.InputAction.Callb
15c40 61 63 6b 43 6f 6e 74 65 78 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 ackContext..............{.......
15c60 20 20 20 20 20 20 20 20 20 20 20 6d 5f 53 74 61 74 65 20 3d 20 74 68 69 73 2c 0d 0a 20 20 20 20 ...........m_State.=.this,......
15c80 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 41 63 74 69 6f 6e 49 6e 64 65 78 20 3d 20 61 63 74 69 ............m_ActionIndex.=.acti
15ca0 6f 6e 49 6e 64 65 78 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0d 0a 0d 0a 20 20 20 20 onIndex,..............};........
15cc0 20 20 20 20 20 20 20 20 50 72 6f 66 69 6c 65 72 2e 42 65 67 69 6e 53 61 6d 70 6c 65 28 22 49 6e ........Profiler.BeginSample("In
15ce0 70 75 74 41 63 74 69 6f 6e 43 61 6c 6c 62 61 63 6b 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 putActionCallback");............
15d00 20 20 20 20 2f 2f 20 47 6c 6f 62 61 6c 20 63 61 6c 6c 62 61 63 6b 20 67 6f 65 73 20 66 69 72 73 ....//.Global.callback.goes.firs
15d20 74 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 61 63 74 69 6f 6e 20 3d 20 63 6f 6e t...............var.action.=.con
15d40 74 65 78 74 2e 61 63 74 69 6f 6e 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 5f text.action;..............if.(s_
15d60 4f 6e 41 63 74 69 6f 6e 43 68 61 6e 67 65 2e 6c 65 6e 67 74 68 20 3e 20 30 29 0d 0a 20 20 20 20 OnActionChange.length.>.0)......
15d80 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 49 6e 70 75 74 ........{..................Input
15da0 41 63 74 69 6f 6e 43 68 61 6e 67 65 20 63 68 61 6e 67 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 ActionChange.change;............
15dc0 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)............
15de0 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
15e00 65 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 53 74 61 72 74 65 64 3a 0d 0a 20 20 20 e.InputActionPhase.Started:.....
15e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 68 61 6e 67 65 20 3d 20 49 6e .....................change.=.In
15e40 70 75 74 41 63 74 69 6f 6e 43 68 61 6e 67 65 2e 41 63 74 69 6f 6e 53 74 61 72 74 65 64 3b 0d 0a putActionChange.ActionStarted;..
15e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a ........................break;..
15e80 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 49 6e 70 75 74 41 63 ....................case.InputAc
15ea0 74 69 6f 6e 50 68 61 73 65 2e 50 65 72 66 6f 72 6d 65 64 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 tionPhase.Performed:............
15ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 68 61 6e 67 65 20 3d 20 49 6e 70 75 74 41 63 74 69 ..............change.=.InputActi
15ee0 6f 6e 43 68 61 6e 67 65 2e 41 63 74 69 6f 6e 50 65 72 66 6f 72 6d 65 64 3b 0d 0a 20 20 20 20 20 onChange.ActionPerformed;.......
15f00 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 20 20 ...................break;.......
15f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 ...............case.InputActionP
15f40 68 61 73 65 2e 43 61 6e 63 65 6c 65 64 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 hase.Canceled:..................
15f60 20 20 20 20 20 20 20 20 63 68 61 6e 67 65 20 3d 20 49 6e 70 75 74 41 63 74 69 6f 6e 43 68 61 6e ........change.=.InputActionChan
15f80 67 65 2e 41 63 74 69 6f 6e 43 61 6e 63 65 6c 65 64 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ge.ActionCanceled;..............
15fa0 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ............break;..............
15fc0 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........default:................
15fe0 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 66 61 6c 73 65 2c 20 22 53 ..........Debug.Assert(false,."S
16000 68 6f 75 6c 64 20 6e 6f 74 20 72 65 61 63 68 20 68 65 72 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 hould.not.reach.here");.........
16020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0d 0a 20 20 20 20 20 20 .................return;........
16040 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 20 20 66 ..........}....................f
16060 6f 72 20 28 76 61 72 20 69 20 3d 20 30 3b 20 69 20 3c 20 73 5f 4f 6e 41 63 74 69 6f 6e 43 68 61 or.(var.i.=.0;.i.<.s_OnActionCha
16080 6e 67 65 2e 6c 65 6e 67 74 68 3b 20 2b 2b 69 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nge.length;.++i)................
160a0 20 20 20 20 20 20 73 5f 4f 6e 41 63 74 69 6f 6e 43 68 61 6e 67 65 5b 69 5d 28 61 63 74 69 6f 6e ......s_OnActionChange[i](action
160c0 2c 20 63 68 61 6e 67 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 ,.change);..............}.......
160e0 20 20 20 20 20 20 20 20 20 2f 2f 20 52 75 6e 20 63 61 6c 6c 62 61 63 6b 73 20 28 69 66 20 61 6e .........//.Run.callbacks.(if.an
16100 79 29 20 64 69 72 65 63 74 6c 79 20 6f 6e 20 61 63 74 69 6f 6e 2e 0d 0a 20 20 20 20 20 20 20 20 y).directly.on.action...........
16120 20 20 20 20 44 65 6c 65 67 61 74 65 48 65 6c 70 65 72 73 2e 49 6e 76 6f 6b 65 43 61 6c 6c 62 61 ....DelegateHelpers.InvokeCallba
16140 63 6b 73 53 61 66 65 28 72 65 66 20 6c 69 73 74 65 6e 65 72 73 2c 20 63 6f 6e 74 65 78 74 2c 20 cksSafe(ref.listeners,.context,.
16160 63 61 6c 6c 62 61 63 6b 4e 61 6d 65 2c 20 61 63 74 69 6f 6e 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 callbackName,.action);..........
16180 20 20 20 20 20 20 2f 2f 20 52 75 6e 20 63 61 6c 6c 62 61 63 6b 73 20 28 69 66 20 61 6e 79 29 20 ......//.Run.callbacks.(if.any).
161a0 6f 6e 20 61 63 74 69 6f 6e 20 6d 61 70 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 6c 65 on.action.map...............Dele
161c0 67 61 74 65 48 65 6c 70 65 72 73 2e 49 6e 76 6f 6b 65 43 61 6c 6c 62 61 63 6b 73 53 61 66 65 28 gateHelpers.InvokeCallbacksSafe(
161e0 72 65 66 20 63 61 6c 6c 62 61 63 6b 73 4f 6e 4d 61 70 2c 20 63 6f 6e 74 65 78 74 2c 20 63 61 6c ref.callbacksOnMap,.context,.cal
16200 6c 62 61 63 6b 4e 61 6d 65 2c 20 61 63 74 69 6f 6e 4d 61 70 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 lbackName,.actionMap);..........
16220 20 20 20 20 20 20 50 72 6f 66 69 6c 65 72 2e 45 6e 64 53 61 6d 70 6c 65 28 29 3b 0d 0a 20 20 20 ......Profiler.EndSample();.....
16240 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 6f 62 6a 65 63 74 .....}............private.object
16260 20 47 65 74 41 63 74 69 6f 6e 4f 72 4e 6f 6e 65 53 74 72 69 6e 67 28 72 65 66 20 54 72 69 67 67 .GetActionOrNoneString(ref.Trigg
16280 65 72 53 74 61 74 65 20 74 72 69 67 67 65 72 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 erState.trigger)..........{.....
162a0 20 20 20 20 20 20 20 20 20 76 61 72 20 61 63 74 69 6f 6e 20 3d 20 47 65 74 41 63 74 69 6f 6e 4f .........var.action.=.GetActionO
162c0 72 4e 75 6c 6c 28 72 65 66 20 74 72 69 67 67 65 72 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 rNull(ref.trigger);.............
162e0 20 69 66 20 28 61 63 74 69 6f 6e 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 20 20 .if.(action.==.null)............
16300 20 20 20 20 20 20 72 65 74 75 72 6e 20 22 3c 6e 6f 6e 65 3e 22 3b 0d 0a 20 20 20 20 20 20 20 20 ......return."<none>";..........
16320 20 20 20 20 72 65 74 75 72 6e 20 61 63 74 69 6f 6e 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d ....return.action;..........}...
16340 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 49 6e 70 75 74 41 63 74 69 6f 6e 20 47 65 .........internal.InputAction.Ge
16360 74 41 63 74 69 6f 6e 4f 72 4e 75 6c 6c 28 69 6e 74 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 29 0d tActionOrNull(int.bindingIndex).
16380 0a 20 20 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 .........{..............Debug.As
163a0 73 65 72 74 28 62 69 6e 64 69 6e 67 49 6e 64 65 78 20 3e 3d 20 30 20 26 26 20 62 69 6e 64 69 6e sert(bindingIndex.>=.0.&&.bindin
163c0 67 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 42 69 6e 64 69 6e 67 43 6f 75 6e 74 2c 20 22 42 69 6e gIndex.<.totalBindingCount,."Bin
163e0 64 69 6e 67 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d 0a 0d 0a 20 20 ding.index.out.of.range");......
16400 20 20 20 20 20 20 20 20 20 20 76 61 72 20 61 63 74 69 6f 6e 49 6e 64 65 78 20 3d 20 62 69 6e 64 ..........var.actionIndex.=.bind
16420 69 6e 67 53 74 61 74 65 73 5b 62 69 6e 64 69 6e 67 49 6e 64 65 78 5d 2e 61 63 74 69 6f 6e 49 6e ingStates[bindingIndex].actionIn
16440 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 61 63 74 69 6f 6e 49 6e 64 65 dex;..............if.(actionInde
16460 78 20 3d 3d 20 6b 49 6e 76 61 6c 69 64 49 6e 64 65 78 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 x.==.kInvalidIndex).............
16480 20 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 .....return.null;...............
164a0 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 61 63 74 69 6f 6e 49 6e 64 65 78 20 3e 3d 20 30 20 26 .Debug.Assert(actionIndex.>=.0.&
164c0 26 20 61 63 74 69 6f 6e 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 41 63 74 69 6f 6e 43 6f 75 6e 74 &.actionIndex.<.totalActionCount
164e0 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 41 63 74 69 6f 6e 20 69 6e 64 65 78 ,.................."Action.index
16500 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 20 77 68 65 6e 20 67 65 74 74 69 6e 67 20 61 63 74 69 6f .out.of.range.when.getting.actio
16520 6e 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d 61 70 49 6e 64 65 78 20 3d n");..............var.mapIndex.=
16540 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 62 69 6e 64 69 6e 67 49 6e 64 65 78 5d 2e 6d 61 70 .bindingStates[bindingIndex].map
16560 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 61 63 74 69 6f 6e 53 74 Index;..............var.actionSt
16580 61 72 74 49 6e 64 65 78 20 3d 20 6d 61 70 49 6e 64 69 63 65 73 5b 6d 61 70 49 6e 64 65 78 5d 2e artIndex.=.mapIndices[mapIndex].
165a0 61 63 74 69 6f 6e 53 74 61 72 74 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 actionStartIndex;..............r
165c0 65 74 75 72 6e 20 6d 61 70 73 5b 6d 61 70 49 6e 64 65 78 5d 2e 6d 5f 41 63 74 69 6f 6e 73 5b 61 eturn.maps[mapIndex].m_Actions[a
165e0 63 74 69 6f 6e 49 6e 64 65 78 20 2d 20 61 63 74 69 6f 6e 53 74 61 72 74 49 6e 64 65 78 5d 3b 0d ctionIndex.-.actionStartIndex];.
16600 0a 20 20 20 20 20 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 49 .........}............internal.I
16620 6e 70 75 74 41 63 74 69 6f 6e 20 47 65 74 41 63 74 69 6f 6e 4f 72 4e 75 6c 6c 28 72 65 66 20 54 nputAction.GetActionOrNull(ref.T
16640 72 69 67 67 65 72 53 74 61 74 65 20 74 72 69 67 67 65 72 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d riggerState.trigger)..........{.
16660 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 74 72 69 67 67 65 .............Debug.Assert(trigge
16680 72 2e 6d 61 70 49 6e 64 65 78 20 3e 3d 20 30 20 26 26 20 74 72 69 67 67 65 72 2e 6d 61 70 49 6e r.mapIndex.>=.0.&&.trigger.mapIn
166a0 64 65 78 20 3c 20 74 6f 74 61 6c 4d 61 70 43 6f 75 6e 74 2c 20 22 4d 61 70 20 69 6e 64 65 78 20 dex.<.totalMapCount,."Map.index.
166c0 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 out.of.range");..............Deb
166e0 75 67 2e 41 73 73 65 72 74 28 74 72 69 67 67 65 72 2e 62 69 6e 64 69 6e 67 49 6e 64 65 78 20 3e ug.Assert(trigger.bindingIndex.>
16700 3d 20 30 20 26 26 20 74 72 69 67 67 65 72 2e 62 69 6e 64 69 6e 67 49 6e 64 65 78 20 3c 20 74 6f =.0.&&.trigger.bindingIndex.<.to
16720 74 61 6c 42 69 6e 64 69 6e 67 43 6f 75 6e 74 2c 20 22 42 69 6e 64 69 6e 67 20 69 6e 64 65 78 20 talBindingCount,."Binding.index.
16740 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 out.of.range");................v
16760 61 72 20 61 63 74 69 6f 6e 49 6e 64 65 78 20 3d 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 74 ar.actionIndex.=.bindingStates[t
16780 72 69 67 67 65 72 2e 62 69 6e 64 69 6e 67 49 6e 64 65 78 5d 2e 61 63 74 69 6f 6e 49 6e 64 65 78 rigger.bindingIndex].actionIndex
167a0 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 61 63 74 69 6f 6e 49 6e 64 65 78 20 3d ;..............if.(actionIndex.=
167c0 3d 20 6b 49 6e 76 61 6c 69 64 49 6e 64 65 78 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 =.kInvalidIndex)................
167e0 20 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 ..return.null;................De
16800 62 75 67 2e 41 73 73 65 72 74 28 61 63 74 69 6f 6e 49 6e 64 65 78 20 3e 3d 20 30 20 26 26 20 61 bug.Assert(actionIndex.>=.0.&&.a
16820 63 74 69 6f 6e 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 41 63 74 69 6f 6e 43 6f 75 6e 74 2c 20 22 ctionIndex.<.totalActionCount,."
16840 41 63 74 69 6f 6e 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d 0a 20 20 Action.index.out.of.range");....
16860 20 20 20 20 20 20 20 20 20 20 76 61 72 20 61 63 74 69 6f 6e 53 74 61 72 74 49 6e 64 65 78 20 3d ..........var.actionStartIndex.=
16880 20 6d 61 70 49 6e 64 69 63 65 73 5b 74 72 69 67 67 65 72 2e 6d 61 70 49 6e 64 65 78 5d 2e 61 63 .mapIndices[trigger.mapIndex].ac
168a0 74 69 6f 6e 53 74 61 72 74 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 tionStartIndex;..............ret
168c0 75 72 6e 20 6d 61 70 73 5b 74 72 69 67 67 65 72 2e 6d 61 70 49 6e 64 65 78 5d 2e 6d 5f 41 63 74 urn.maps[trigger.mapIndex].m_Act
168e0 69 6f 6e 73 5b 61 63 74 69 6f 6e 49 6e 64 65 78 20 2d 20 61 63 74 69 6f 6e 53 74 61 72 74 49 6e ions[actionIndex.-.actionStartIn
16900 64 65 78 5d 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 65 dex];..........}............inte
16920 72 6e 61 6c 20 49 6e 70 75 74 43 6f 6e 74 72 6f 6c 20 47 65 74 43 6f 6e 74 72 6f 6c 28 72 65 66 rnal.InputControl.GetControl(ref
16940 20 54 72 69 67 67 65 72 53 74 61 74 65 20 74 72 69 67 67 65 72 29 0d 0a 20 20 20 20 20 20 20 20 .TriggerState.trigger)..........
16960 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 74 28 74 72 69 67 {..............Debug.Assert(trig
16980 67 65 72 2e 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 21 3d 20 6b 49 6e 76 61 6c 69 64 49 6e 64 65 ger.controlIndex.!=.kInvalidInde
169a0 78 2c 20 22 43 6f 6e 74 72 6f 6c 20 69 6e 64 65 78 20 69 73 20 69 6e 76 61 6c 69 64 22 29 3b 0d x,."Control.index.is.invalid");.
169c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 74 72 69 67 67 65 .............Debug.Assert(trigge
169e0 72 2e 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3e 3d 20 30 20 26 26 20 74 72 69 67 67 65 72 2e 63 r.controlIndex.>=.0.&&.trigger.c
16a00 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 43 6f 6e 74 72 6f 6c 43 6f 75 6e 74 2c ontrolIndex.<.totalControlCount,
16a20 20 22 43 6f 6e 74 72 6f 6c 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d ."Control.index.out.of.range");.
16a40 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 63 6f 6e 74 72 6f 6c 73 5b 74 72 69 .............return.controls[tri
16a60 67 67 65 72 2e 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 5d 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a gger.controlIndex];..........}..
16a80 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 49 49 6e 70 75 74 49 6e 74 65 72 61 63 74 ..........private.IInputInteract
16aa0 69 6f 6e 20 47 65 74 49 6e 74 65 72 61 63 74 69 6f 6e 4f 72 4e 75 6c 6c 28 72 65 66 20 54 72 69 ion.GetInteractionOrNull(ref.Tri
16ac0 67 67 65 72 53 74 61 74 65 20 74 72 69 67 67 65 72 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 ggerState.trigger)..........{...
16ae0 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 72 69 67 67 65 72 2e 69 6e 74 65 72 61 63 74 69 ...........if.(trigger.interacti
16b00 6f 6e 49 6e 64 65 78 20 3d 3d 20 6b 49 6e 76 61 6c 69 64 49 6e 64 65 78 29 0d 0a 20 20 20 20 20 onIndex.==.kInvalidIndex).......
16b20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0d 0a 0d 0a 20 20 20 20 20 ...........return.null;.........
16b40 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 74 72 69 67 67 65 72 2e 69 6e 74 65 .......Debug.Assert(trigger.inte
16b60 72 61 63 74 69 6f 6e 49 6e 64 65 78 20 3e 3d 20 30 20 26 26 20 74 72 69 67 67 65 72 2e 69 6e 74 ractionIndex.>=.0.&&.trigger.int
16b80 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 49 6e 74 65 72 61 63 74 69 6f 6e eractionIndex.<.totalInteraction
16ba0 43 6f 75 6e 74 2c 20 22 49 6e 74 65 72 61 63 74 69 6f 6e 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 Count,."Interaction.index.out.of
16bc0 20 72 61 6e 67 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 69 6e .range");..............return.in
16be0 74 65 72 61 63 74 69 6f 6e 73 5b 74 72 69 67 67 65 72 2e 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e teractions[trigger.interactionIn
16c00 64 65 78 5d 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 65 dex];..........}............inte
16c20 72 6e 61 6c 20 69 6e 74 20 47 65 74 42 69 6e 64 69 6e 67 49 6e 64 65 78 49 6e 4d 61 70 28 69 6e rnal.int.GetBindingIndexInMap(in
16c40 74 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 t.bindingIndex)..........{......
16c60 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 6e 64 69 6e 67 49 6e 64 65 ........Debug.Assert(bindingInde
16c80 78 20 3e 3d 20 30 20 26 26 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 42 69 x.>=.0.&&.bindingIndex.<.totalBi
16ca0 6e 64 69 6e 67 43 6f 75 6e 74 2c 20 22 42 69 6e 64 69 6e 67 20 69 6e 64 65 78 20 6f 75 74 20 6f ndingCount,."Binding.index.out.o
16cc0 66 20 72 61 6e 67 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d 61 70 49 f.range");..............var.mapI
16ce0 6e 64 65 78 20 3d 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 62 69 6e 64 69 6e 67 49 6e 64 65 ndex.=.bindingStates[bindingInde
16d00 78 5d 2e 6d 61 70 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 62 69 x].mapIndex;..............var.bi
16d20 6e 64 69 6e 67 53 74 61 72 74 49 6e 64 65 78 20 3d 20 6d 61 70 49 6e 64 69 63 65 73 5b 6d 61 70 ndingStartIndex.=.mapIndices[map
16d40 49 6e 64 65 78 5d 2e 62 69 6e 64 69 6e 67 53 74 61 72 74 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 Index].bindingStartIndex;.......
16d60 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 20 2d 20 62 69 6e .......return.bindingIndex.-.bin
16d80 64 69 6e 67 53 74 61 72 74 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 dingStartIndex;..........}......
16da0 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 69 6e 74 20 47 65 74 42 69 6e 64 69 6e 67 49 6e 64 ......internal.int.GetBindingInd
16dc0 65 78 49 6e 53 74 61 74 65 28 69 6e 74 20 6d 61 70 49 6e 64 65 78 2c 20 69 6e 74 20 62 69 6e 64 exInState(int.mapIndex,.int.bind
16de0 69 6e 67 49 6e 64 65 78 49 6e 4d 61 70 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 ingIndexInMap)..........{.......
16e00 20 20 20 20 20 20 20 76 61 72 20 62 69 6e 64 69 6e 67 53 74 61 72 74 49 6e 64 65 78 20 3d 20 6d .......var.bindingStartIndex.=.m
16e20 61 70 49 6e 64 69 63 65 73 5b 6d 61 70 49 6e 64 65 78 5d 2e 62 69 6e 64 69 6e 67 53 74 61 72 74 apIndices[mapIndex].bindingStart
16e40 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 62 69 6e 64 69 Index;..............return.bindi
16e60 6e 67 53 74 61 72 74 49 6e 64 65 78 20 2b 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 49 6e 4d 61 70 ngStartIndex.+.bindingIndexInMap
16e80 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c ;..........}............internal
16ea0 20 49 6e 70 75 74 42 69 6e 64 69 6e 67 20 47 65 74 42 69 6e 64 69 6e 67 28 69 6e 74 20 62 69 6e .InputBinding.GetBinding(int.bin
16ec0 64 69 6e 67 49 6e 64 65 78 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 dingIndex)..........{...........
16ee0 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 6e 64 69 6e 67 49 6e 64 65 78 20 3e 3d 20 ...Debug.Assert(bindingIndex.>=.
16f00 30 20 26 26 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 42 69 6e 64 69 6e 67 0.&&.bindingIndex.<.totalBinding
16f20 43 6f 75 6e 74 2c 20 22 42 69 6e 64 69 6e 67 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 72 61 6e Count,."Binding.index.out.of.ran
16f40 67 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d 61 70 49 6e 64 65 78 20 ge");..............var.mapIndex.
16f60 3d 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 62 69 6e 64 69 6e 67 49 6e 64 65 78 5d 2e 6d 61 =.bindingStates[bindingIndex].ma
16f80 70 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 62 69 6e 64 69 6e 67 pIndex;..............var.binding
16fa0 53 74 61 72 74 49 6e 64 65 78 20 3d 20 6d 61 70 49 6e 64 69 63 65 73 5b 6d 61 70 49 6e 64 65 78 StartIndex.=.mapIndices[mapIndex
16fc0 5d 2e 62 69 6e 64 69 6e 67 53 74 61 72 74 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 ].bindingStartIndex;............
16fe0 20 20 72 65 74 75 72 6e 20 6d 61 70 73 5b 6d 61 70 49 6e 64 65 78 5d 2e 6d 5f 42 69 6e 64 69 6e ..return.maps[mapIndex].m_Bindin
17000 67 73 5b 62 69 6e 64 69 6e 67 49 6e 64 65 78 20 2d 20 62 69 6e 64 69 6e 67 53 74 61 72 74 49 6e gs[bindingIndex.-.bindingStartIn
17020 64 65 78 5d 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 72 69 76 dex];..........}............priv
17040 61 74 65 20 76 6f 69 64 20 52 65 73 65 74 49 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 74 65 41 6e ate.void.ResetInteractionStateAn
17060 64 43 61 6e 63 65 6c 49 66 4e 65 63 65 73 73 61 72 79 28 69 6e 74 20 6d 61 70 49 6e 64 65 78 2c dCancelIfNecessary(int.mapIndex,
17080 20 69 6e 74 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 2c 20 69 6e 74 20 69 6e 74 65 72 61 63 74 69 .int.bindingIndex,.int.interacti
170a0 6f 6e 49 6e 64 65 78 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 onIndex)..........{.............
170c0 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 20 3e .Debug.Assert(interactionIndex.>
170e0 3d 20 30 20 26 26 20 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 49 =.0.&&.interactionIndex.<.totalI
17100 6e 74 65 72 61 63 74 69 6f 6e 43 6f 75 6e 74 2c 20 22 49 6e 74 65 72 61 63 74 69 6f 6e 20 69 6e nteractionCount,."Interaction.in
17120 64 65 78 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 dex.out.of.range");.............
17140 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 6e 64 69 6e 67 49 6e 64 65 78 20 3e 3d 20 30 20 .Debug.Assert(bindingIndex.>=.0.
17160 26 26 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 42 69 6e 64 69 6e 67 43 6f &&.bindingIndex.<.totalBindingCo
17180 75 6e 74 2c 20 22 42 69 6e 64 69 6e 67 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 unt,."Binding.index.out.of.range
171a0 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 66 20 69 6e 74 65 72 61 63 ");................//.If.interac
171c0 74 69 6f 6e 20 69 73 20 63 75 72 72 65 6e 74 6c 79 20 64 72 69 76 69 6e 67 20 61 6e 20 61 63 74 tion.is.currently.driving.an.act
171e0 69 6f 6e 20 61 6e 64 20 69 74 20 68 61 73 20 62 65 65 6e 20 73 74 61 72 74 65 64 20 6f 72 20 70 ion.and.it.has.been.started.or.p
17200 65 72 66 6f 72 6d 65 64 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 63 61 6e 63 65 6c erformed,..............//.cancel
17220 20 69 74 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 0d 0a 20 20 20 20 20 20 20 20 20 20 .it...............//............
17240 20 20 2f 2f 20 4e 4f 54 45 3a 20 57 65 20 63 6f 75 6c 64 20 6a 75 73 74 20 62 6c 69 6e 64 6c 79 ..//.NOTE:.We.could.just.blindly
17260 20 63 61 6c 6c 20 43 68 61 6e 67 65 50 68 61 73 65 4f 66 49 6e 74 65 72 61 63 74 69 6f 6e 28 29 .call.ChangePhaseOfInteraction()
17280 20 61 6e 64 20 69 74 20 77 6f 75 6c 64 20 68 61 6e 64 6c 65 20 74 68 65 20 63 61 73 65 20 6f 66 .and.it.would.handle.the.case.of
172a0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 20 20 20 20 20 20 77 68 65 6e 20 74 68 65 20 ..............//.......when.the.
172c0 69 6e 74 65 72 61 63 74 69 6f 6e 20 69 73 20 63 75 72 72 65 6e 74 6c 79 20 64 72 69 76 69 6e 67 interaction.is.currently.driving
172e0 20 74 68 65 20 61 63 74 69 6f 6e 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 2e 20 48 6f 77 65 76 .the.action.automatically..Howev
17300 65 72 2c 20 64 6f 69 6e 67 20 73 6f 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 20 20 20 er,.doing.so..............//....
17320 20 20 20 77 6f 75 6c 64 20 67 69 76 65 20 6f 74 68 65 72 20 69 6e 74 65 72 61 63 74 69 6f 6e 73 ...would.give.other.interactions
17340 20 61 20 63 68 61 6e 63 65 20 74 6f 20 74 61 6b 65 20 6f 76 65 72 20 77 68 69 63 68 20 69 73 20 .a.chance.to.take.over.which.is.
17360 73 6f 6d 65 74 68 69 6e 67 20 77 65 20 64 6f 6e 27 74 20 77 61 6e 74 20 74 6f 0d 0a 20 20 20 20 something.we.don't.want.to......
17380 20 20 20 20 20 20 20 20 2f 2f 20 20 20 20 20 20 20 68 61 70 70 65 6e 20 77 68 65 6e 20 72 65 73 ........//.......happen.when.res
173a0 65 74 74 69 6e 67 20 61 63 74 69 6f 6e 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 etting.actions...............var
173c0 20 61 63 74 69 6f 6e 49 6e 64 65 78 20 3d 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 62 69 6e .actionIndex.=.bindingStates[bin
173e0 64 69 6e 67 49 6e 64 65 78 5d 2e 61 63 74 69 6f 6e 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 dingIndex].actionIndex;.........
17400 20 20 20 20 20 69 66 20 28 61 63 74 69 6f 6e 53 74 61 74 65 73 5b 61 63 74 69 6f 6e 49 6e 64 65 .....if.(actionStates[actionInde
17420 78 5d 2e 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 20 3d 3d 20 69 6e 74 65 72 61 63 74 69 x].interactionIndex.==.interacti
17440 6f 6e 49 6e 64 65 78 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 onIndex)..............{.........
17460 20 20 20 20 20 20 20 20 20 73 77 69 74 63 68 20 28 69 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 74 .........switch.(interactionStat
17480 65 73 5b 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 5d 2e 70 68 61 73 65 29 0d 0a 20 20 20 es[interactionIndex].phase).....
174a0 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 20 20 20 20 20 20 20 .............{..................
174c0 20 20 20 20 63 61 73 65 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 53 74 61 72 74 65 ....case.InputActionPhase.Starte
174e0 64 3a 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 65 20 49 6e 70 d:......................case.Inp
17500 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 50 65 72 66 6f 72 6d 65 64 3a 0d 0a 20 20 20 20 20 20 utActionPhase.Performed:........
17520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 68 61 6e 67 65 50 68 61 73 65 4f 66 49 ..................ChangePhaseOfI
17540 6e 74 65 72 61 63 74 69 6f 6e 28 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 43 61 6e 63 nteraction(InputActionPhase.Canc
17560 65 6c 65 64 2c 20 72 65 66 20 61 63 74 69 6f 6e 53 74 61 74 65 73 5b 61 63 74 69 6f 6e 49 6e 64 eled,.ref.actionStates[actionInd
17580 65 78 5d 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 62 ex]);..........................b
175a0 72 65 61 6b 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 reak;..................}........
175c0 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 52 65 73 65 74 49 6e 74 65 ......}................ResetInte
175e0 72 61 63 74 69 6f 6e 53 74 61 74 65 28 6d 61 70 49 6e 64 65 78 2c 20 62 69 6e 64 69 6e 67 49 6e ractionState(mapIndex,.bindingIn
17600 64 65 78 2c 20 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 29 3b 0d 0a 20 20 20 20 20 20 20 dex,.interactionIndex);.........
17620 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 76 6f 69 64 20 52 65 73 65 74 .}............private.void.Reset
17640 49 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 74 65 28 69 6e 74 20 6d 61 70 49 6e 64 65 78 2c 20 69 InteractionState(int.mapIndex,.i
17660 6e 74 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 2c 20 69 6e 74 20 69 6e 74 65 72 61 63 74 69 6f 6e nt.bindingIndex,.int.interaction
17680 49 6e 64 65 78 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 44 Index)..........{..............D
176a0 65 62 75 67 2e 41 73 73 65 72 74 28 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 20 3e 3d 20 ebug.Assert(interactionIndex.>=.
176c0 30 20 26 26 20 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 49 6e 74 0.&&.interactionIndex.<.totalInt
176e0 65 72 61 63 74 69 6f 6e 43 6f 75 6e 74 2c 20 22 49 6e 74 65 72 61 63 74 69 6f 6e 20 69 6e 64 65 eractionCount,."Interaction.inde
17700 78 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 x.out.of.range");..............D
17720 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 6e 64 69 6e 67 49 6e 64 65 78 20 3e 3d 20 30 20 26 26 ebug.Assert(bindingIndex.>=.0.&&
17740 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 42 69 6e 64 69 6e 67 43 6f 75 6e .bindingIndex.<.totalBindingCoun
17760 74 2c 20 22 42 69 6e 64 69 6e 67 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 t,."Binding.index.out.of.range")
17780 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 43 6c 65 61 6e 20 75 70 20 69 6e 74 ;................//.Clean.up.int
177a0 65 72 6e 61 6c 20 73 74 61 74 65 20 74 68 61 74 20 74 68 65 20 69 6e 74 65 72 61 63 74 69 6f 6e ernal.state.that.the.interaction
177c0 20 6d 61 79 20 6b 65 65 70 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 61 63 74 .may.keep...............interact
177e0 69 6f 6e 73 5b 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 5d 2e 52 65 73 65 74 28 29 3b 0d ions[interactionIndex].Reset();.
17800 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 43 6c 65 61 6e 20 75 70 20 74 69 6d 65 72 ...............//.Clean.up.timer
17820 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 6e 74 65 72 61 63 74 69 6f 6e 53 74 ...............if.(interactionSt
17840 61 74 65 73 5b 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 5d 2e 69 73 54 69 6d 65 72 52 75 ates[interactionIndex].isTimerRu
17860 6e 6e 69 6e 67 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 nning)..............{...........
17880 20 20 20 20 20 20 20 76 61 72 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3d 20 69 6e 74 65 72 61 .......var.controlIndex.=.intera
178a0 63 74 69 6f 6e 53 74 61 74 65 73 5b 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 5d 2e 74 72 ctionStates[interactionIndex].tr
178c0 69 67 67 65 72 43 6f 6e 74 72 6f 6c 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 iggerControlIndex;..............
178e0 20 20 20 20 53 74 6f 70 54 69 6d 65 6f 75 74 28 6d 61 70 49 6e 64 65 78 2c 20 63 6f 6e 74 72 6f ....StopTimeout(mapIndex,.contro
17900 6c 49 6e 64 65 78 2c 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 2c 20 69 6e 74 65 72 61 63 74 69 6f lIndex,.bindingIndex,.interactio
17920 6e 49 6e 64 65 78 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 nIndex);..............}.........
17940 20 20 20 20 20 20 20 2f 2f 20 52 65 73 65 74 20 73 74 61 74 65 20 72 65 63 6f 72 64 2e 0d 0a 20 .......//.Reset.state.record....
17960 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 74 65 73 5b 69 6e 74 ...........interactionStates[int
17980 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 5d 20 3d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 eractionIndex].=................
179a0 20 20 6e 65 77 20 49 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 74 65 0d 0a 20 20 20 20 20 20 20 20 ..new.InteractionState..........
179c0 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 65 20 6e 65 76 ....{..................//.We.nev
179e0 65 72 20 73 65 74 20 69 6e 74 65 72 61 63 74 69 6f 6e 73 20 74 6f 20 64 69 73 61 62 6c 65 64 2e er.set.interactions.to.disabled.
17a00 20 54 68 69 73 20 77 61 79 20 77 65 20 64 6f 6e 27 74 20 68 61 76 65 20 74 6f 20 67 6f 20 74 68 .This.way.we.don't.have.to.go.th
17a20 72 6f 75 67 68 20 74 68 65 6d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 77 rough.them..................//.w
17a40 68 65 6e 20 77 65 20 64 69 73 61 62 6c 65 2f 65 6e 61 62 6c 65 20 61 63 74 69 6f 6e 73 2e 0d 0a hen.we.disable/enable.actions...
17a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 68 61 73 65 20 3d 20 49 6e 70 75 74 41 63 74 ................phase.=.InputAct
17a80 69 6f 6e 50 68 61 73 65 2e 57 61 69 74 69 6e 67 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d ionPhase.Waiting,..............}
17aa0 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c ;..........}............internal
17ac0 20 69 6e 74 20 47 65 74 56 61 6c 75 65 53 69 7a 65 49 6e 42 79 74 65 73 28 69 6e 74 20 62 69 6e .int.GetValueSizeInBytes(int.bin
17ae0 64 69 6e 67 49 6e 64 65 78 2c 20 69 6e 74 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 29 0d 0a 20 20 dingIndex,.int.controlIndex)....
17b00 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
17b20 74 28 62 69 6e 64 69 6e 67 49 6e 64 65 78 20 3e 3d 20 30 20 26 26 20 62 69 6e 64 69 6e 67 49 6e t(bindingIndex.>=.0.&&.bindingIn
17b40 64 65 78 20 3c 20 74 6f 74 61 6c 42 69 6e 64 69 6e 67 43 6f 75 6e 74 2c 20 22 42 69 6e 64 69 6e dex.<.totalBindingCount,."Bindin
17b60 67 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 g.index.out.of.range");.........
17b80 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3e .....Debug.Assert(controlIndex.>
17ba0 3d 20 30 20 26 26 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 43 6f 6e 74 72 =.0.&&.controlIndex.<.totalContr
17bc0 6f 6c 43 6f 75 6e 74 2c 20 22 43 6f 6e 74 72 6f 6c 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 72 olCount,."Control.index.out.of.r
17be0 61 6e 67 65 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 69 6e 64 69 ange");................if.(bindi
17c00 6e 67 53 74 61 74 65 73 5b 62 69 6e 64 69 6e 67 49 6e 64 65 78 5d 2e 69 73 50 61 72 74 4f 66 43 ngStates[bindingIndex].isPartOfC
17c20 6f 6d 70 6f 73 69 74 65 29 20 2f 2f 2f 2f 54 4f 44 4f 3a 20 69 6e 73 74 65 61 64 2c 20 6a 75 73 omposite).////TODO:.instead,.jus
17c40 74 20 68 61 76 65 20 63 6f 6d 70 6f 73 69 74 65 4f 72 43 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 t.have.compositeOrCompositeBindi
17c60 6e 67 49 6e 64 65 78 20 62 65 20 69 6e 76 61 6c 69 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ngIndex.be.invalid..............
17c80 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 6f 6d 70 6f 73 69 74 65 {..................var.composite
17ca0 42 69 6e 64 69 6e 67 49 6e 64 65 78 20 3d 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 62 69 6e BindingIndex.=.bindingStates[bin
17cc0 64 69 6e 67 49 6e 64 65 78 5d 2e 63 6f 6d 70 6f 73 69 74 65 4f 72 43 6f 6d 70 6f 73 69 74 65 42 dingIndex].compositeOrCompositeB
17ce0 69 6e 64 69 6e 67 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 indingIndex;..................va
17d00 72 20 63 6f 6d 70 6f 73 69 74 65 49 6e 64 65 78 20 3d 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 r.compositeIndex.=.bindingStates
17d20 5b 63 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 49 6e 64 65 78 5d 2e 63 6f 6d 70 6f 73 69 74 [compositeBindingIndex].composit
17d40 65 4f 72 43 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 eOrCompositeBindingIndex;.......
17d60 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 6f 6d 70 6f 73 69 74 65 4f 62 6a 65 63 74 20 3d ...........var.compositeObject.=
17d80 20 63 6f 6d 70 6f 73 69 74 65 73 5b 63 6f 6d 70 6f 73 69 74 65 49 6e 64 65 78 5d 3b 0d 0a 20 20 .composites[compositeIndex];....
17da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 63 6f 6d 70 6f ..............Debug.Assert(compo
17dc0 73 69 74 65 4f 62 6a 65 63 74 20 21 3d 20 6e 75 6c 6c 2c 20 22 43 6f 6d 70 6f 73 69 74 65 20 6f siteObject.!=.null,."Composite.o
17de0 62 6a 65 63 74 20 6f 6e 20 63 6f 6d 70 6f 73 69 74 65 20 73 74 61 74 65 20 69 73 20 6e 75 6c 6c bject.on.composite.state.is.null
17e00 22 29 3b 0d 0a 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 63 6f ");....................return.co
17e20 6d 70 6f 73 69 74 65 4f 62 6a 65 63 74 2e 76 61 6c 75 65 53 69 7a 65 49 6e 42 79 74 65 73 3b 0d mpositeObject.valueSizeInBytes;.
17e40 0a 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 76 61 .............}................va
17e60 72 20 63 6f 6e 74 72 6f 6c 20 3d 20 63 6f 6e 74 72 6f 6c 73 5b 63 6f 6e 74 72 6f 6c 49 6e 64 65 r.control.=.controls[controlInde
17e80 78 5d 3b 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 74 28 63 6f x];..............Debug.Assert(co
17ea0 6e 74 72 6f 6c 20 21 3d 20 6e 75 6c 6c 2c 20 22 43 6f 6e 74 72 6f 6c 20 61 74 20 67 69 76 65 6e ntrol.!=.null,."Control.at.given
17ec0 20 69 6e 64 65 78 20 69 73 20 6e 75 6c 6c 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 .index.is.null");..............r
17ee0 65 74 75 72 6e 20 63 6f 6e 74 72 6f 6c 2e 76 61 6c 75 65 53 69 7a 65 49 6e 42 79 74 65 73 3b 0d eturn.control.valueSizeInBytes;.
17f00 0a 20 20 20 20 20 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 54 .........}............internal.T
17f20 79 70 65 20 47 65 74 56 61 6c 75 65 54 79 70 65 28 69 6e 74 20 62 69 6e 64 69 6e 67 49 6e 64 65 ype.GetValueType(int.bindingInde
17f40 78 2c 20 69 6e 74 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d x,.int.controlIndex)..........{.
17f60 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 6e 64 69 6e .............Debug.Assert(bindin
17f80 67 49 6e 64 65 78 20 3e 3d 20 30 20 26 26 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 20 3c 20 74 6f gIndex.>=.0.&&.bindingIndex.<.to
17fa0 74 61 6c 42 69 6e 64 69 6e 67 43 6f 75 6e 74 2c 20 22 42 69 6e 64 69 6e 67 20 69 6e 64 65 78 20 talBindingCount,."Binding.index.
17fc0 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 out.of.range");..............Deb
17fe0 75 67 2e 41 73 73 65 72 74 28 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3e 3d 20 30 20 26 26 20 63 ug.Assert(controlIndex.>=.0.&&.c
18000 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 43 6f 6e 74 72 6f 6c 43 6f 75 6e 74 2c ontrolIndex.<.totalControlCount,
18020 20 22 43 6f 6e 74 72 6f 6c 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d ."Control.index.out.of.range");.
18040 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 69 6e 64 69 6e 67 53 74 61 74 65 73 ...............if.(bindingStates
18060 5b 62 69 6e 64 69 6e 67 49 6e 64 65 78 5d 2e 69 73 50 61 72 74 4f 66 43 6f 6d 70 6f 73 69 74 65 [bindingIndex].isPartOfComposite
18080 29 20 2f 2f 2f 2f 54 4f 44 4f 3a 20 69 6e 73 74 65 61 64 2c 20 6a 75 73 74 20 68 61 76 65 20 63 ).////TODO:.instead,.just.have.c
180a0 6f 6d 70 6f 73 69 74 65 4f 72 43 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 49 6e 64 65 78 20 ompositeOrCompositeBindingIndex.
180c0 62 65 20 69 6e 76 61 6c 69 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 be.invalid..............{.......
180e0 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 49 ...........var.compositeBindingI
18100 6e 64 65 78 20 3d 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 62 69 6e 64 69 6e 67 49 6e 64 65 ndex.=.bindingStates[bindingInde
18120 78 5d 2e 63 6f 6d 70 6f 73 69 74 65 4f 72 43 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 49 6e x].compositeOrCompositeBindingIn
18140 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 6f 6d 70 6f 73 dex;..................var.compos
18160 69 74 65 49 6e 64 65 78 20 3d 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 63 6f 6d 70 6f 73 69 iteIndex.=.bindingStates[composi
18180 74 65 42 69 6e 64 69 6e 67 49 6e 64 65 78 5d 2e 63 6f 6d 70 6f 73 69 74 65 4f 72 43 6f 6d 70 6f teBindingIndex].compositeOrCompo
181a0 73 69 74 65 42 69 6e 64 69 6e 67 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 siteBindingIndex;...............
181c0 20 20 20 76 61 72 20 63 6f 6d 70 6f 73 69 74 65 4f 62 6a 65 63 74 20 3d 20 63 6f 6d 70 6f 73 69 ...var.compositeObject.=.composi
181e0 74 65 73 5b 63 6f 6d 70 6f 73 69 74 65 49 6e 64 65 78 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 tes[compositeIndex];............
18200 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 63 6f 6d 70 6f 73 69 74 65 4f 62 6a 65 ......Debug.Assert(compositeObje
18220 63 74 20 21 3d 20 6e 75 6c 6c 2c 20 22 43 6f 6d 70 6f 73 69 74 65 20 6f 62 6a 65 63 74 20 69 73 ct.!=.null,."Composite.object.is
18240 20 6e 75 6c 6c 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 .null");....................retu
18260 72 6e 20 63 6f 6d 70 6f 73 69 74 65 4f 62 6a 65 63 74 2e 76 61 6c 75 65 54 79 70 65 3b 0d 0a 20 rn.compositeObject.valueType;...
18280 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 76 61 72 20 ...........}................var.
182a0 63 6f 6e 74 72 6f 6c 20 3d 20 63 6f 6e 74 72 6f 6c 73 5b 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 5d control.=.controls[controlIndex]
182c0 3b 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 74 28 63 6f 6e 74 ;..............Debug.Assert(cont
182e0 72 6f 6c 20 21 3d 20 6e 75 6c 6c 2c 20 22 43 6f 6e 74 72 6f 6c 20 69 73 20 6e 75 6c 6c 22 29 3b rol.!=.null,."Control.is.null");
18300 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 63 6f 6e 74 72 6f 6c 2e 76 61 6c ..............return.control.val
18320 75 65 54 79 70 65 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 69 6e ueType;..........}............in
18340 74 65 72 6e 61 6c 20 62 6f 6f 6c 20 49 73 41 63 74 75 61 74 65 64 28 72 65 66 20 54 72 69 67 67 ternal.bool.IsActuated(ref.Trigg
18360 65 72 53 74 61 74 65 20 74 72 69 67 67 65 72 2c 20 66 6c 6f 61 74 20 74 68 72 65 73 68 6f 6c 64 erState.trigger,.float.threshold
18380 20 3d 20 30 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 .=.0)..........{..............if
183a0 20 28 21 74 72 69 67 67 65 72 2e 68 61 76 65 4d 61 67 6e 69 74 75 64 65 29 0d 0a 20 20 20 20 20 .(!trigger.haveMagnitude).......
183c0 20 20 20 20 20 20 20 20 20 20 20 74 72 69 67 67 65 72 2e 6d 61 67 6e 69 74 75 64 65 20 3d 20 43 ...........trigger.magnitude.=.C
183e0 6f 6d 70 75 74 65 4d 61 67 6e 69 74 75 64 65 28 74 72 69 67 67 65 72 2e 62 69 6e 64 69 6e 67 49 omputeMagnitude(trigger.bindingI
18400 6e 64 65 78 2c 20 74 72 69 67 67 65 72 2e 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 29 3b 0d 0a 0d 0a ndex,.trigger.controlIndex);....
18420 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 72 69 67 67 65 72 2e 6d 61 67 6e 69 74 75 64 ............if.(trigger.magnitud
18440 65 20 3c 20 30 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 74 e.<.0)..................return.t
18460 72 75 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 4d 61 74 68 66 2e 41 70 rue;................if.(Mathf.Ap
18480 70 72 6f 78 69 6d 61 74 65 6c 79 28 74 68 72 65 73 68 6f 6c 64 2c 20 30 29 29 0d 0a 20 20 20 20 proximately(threshold,.0))......
184a0 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 69 67 67 65 72 2e 6d 61 67 6e 69 ............return.trigger.magni
184c0 74 75 64 65 20 3e 20 30 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 tude.>.0;................return.
184e0 74 72 69 67 67 65 72 2e 6d 61 67 6e 69 74 75 64 65 20 3e 3d 20 74 68 72 65 73 68 6f 6c 64 3b 0d trigger.magnitude.>=.threshold;.
18500 0a 20 20 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 66 6c .........}............private.fl
18520 6f 61 74 20 43 6f 6d 70 75 74 65 4d 61 67 6e 69 74 75 64 65 28 69 6e 74 20 62 69 6e 64 69 6e 67 oat.ComputeMagnitude(int.binding
18540 49 6e 64 65 78 2c 20 69 6e 74 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 29 0d 0a 20 20 20 20 20 20 Index,.int.controlIndex)........
18560 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 74 28 62 69 ..{..............Debug.Assert(bi
18580 6e 64 69 6e 67 49 6e 64 65 78 20 3e 3d 20 30 20 26 26 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 20 ndingIndex.>=.0.&&.bindingIndex.
185a0 3c 20 74 6f 74 61 6c 42 69 6e 64 69 6e 67 43 6f 75 6e 74 2c 20 22 42 69 6e 64 69 6e 67 20 69 6e <.totalBindingCount,."Binding.in
185c0 64 65 78 20 69 73 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 dex.is.out.of.range");..........
185e0 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3e 3d ....Debug.Assert(controlIndex.>=
18600 20 30 20 26 26 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 43 6f 6e 74 72 6f .0.&&.controlIndex.<.totalContro
18620 6c 43 6f 75 6e 74 2c 20 22 43 6f 6e 74 72 6f 6c 20 69 6e 64 65 78 20 69 73 20 6f 75 74 20 6f 66 lCount,."Control.index.is.out.of
18640 20 72 61 6e 67 65 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 69 6e .range");................if.(bin
18660 64 69 6e 67 53 74 61 74 65 73 5b 62 69 6e 64 69 6e 67 49 6e 64 65 78 5d 2e 69 73 50 61 72 74 4f dingStates[bindingIndex].isPartO
18680 66 43 6f 6d 70 6f 73 69 74 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 fComposite)..............{......
186a0 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 ............var.compositeBinding
186c0 49 6e 64 65 78 20 3d 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 62 69 6e 64 69 6e 67 49 6e 64 Index.=.bindingStates[bindingInd
186e0 65 78 5d 2e 63 6f 6d 70 6f 73 69 74 65 4f 72 43 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 49 ex].compositeOrCompositeBindingI
18700 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 6f 6d 70 6f ndex;..................var.compo
18720 73 69 74 65 49 6e 64 65 78 20 3d 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 63 6f 6d 70 6f 73 siteIndex.=.bindingStates[compos
18740 69 74 65 42 69 6e 64 69 6e 67 49 6e 64 65 78 5d 2e 63 6f 6d 70 6f 73 69 74 65 4f 72 43 6f 6d 70 iteBindingIndex].compositeOrComp
18760 6f 73 69 74 65 42 69 6e 64 69 6e 67 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ositeBindingIndex;..............
18780 20 20 20 20 76 61 72 20 63 6f 6d 70 6f 73 69 74 65 4f 62 6a 65 63 74 20 3d 20 63 6f 6d 70 6f 73 ....var.compositeObject.=.compos
187a0 69 74 65 73 5b 63 6f 6d 70 6f 73 69 74 65 49 6e 64 65 78 5d 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 ites[compositeIndex];...........
187c0 20 20 20 20 20 20 20 20 20 76 61 72 20 63 6f 6e 74 65 78 74 20 3d 20 6e 65 77 20 49 6e 70 75 74 .........var.context.=.new.Input
187e0 42 69 6e 64 69 6e 67 43 6f 6d 70 6f 73 69 74 65 43 6f 6e 74 65 78 74 0d 0a 20 20 20 20 20 20 20 BindingCompositeContext.........
18800 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 20 20 20 20 .........{......................
18820 6d 5f 53 74 61 74 65 20 3d 20 74 68 69 73 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 m_State.=.this,.................
18840 20 20 20 20 20 6d 5f 42 69 6e 64 69 6e 67 49 6e 64 65 78 20 3d 20 63 6f 6d 70 6f 73 69 74 65 42 .....m_BindingIndex.=.compositeB
18860 69 6e 64 69 6e 67 49 6e 64 65 78 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0d indingIndex..................};.
18880 0a 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 63 6f 6d 70 6f 73 ...................return.compos
188a0 69 74 65 4f 62 6a 65 63 74 2e 45 76 61 6c 75 61 74 65 4d 61 67 6e 69 74 75 64 65 28 72 65 66 20 iteObject.EvaluateMagnitude(ref.
188c0 63 6f 6e 74 65 78 74 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 context);..............}........
188e0 20 20 20 20 20 20 20 20 76 61 72 20 63 6f 6e 74 72 6f 6c 20 3d 20 63 6f 6e 74 72 6f 6c 73 5b 63 ........var.control.=.controls[c
18900 6f 6e 74 72 6f 6c 49 6e 64 65 78 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 ontrolIndex];..............if.(c
18920 6f 6e 74 72 6f 6c 2e 43 68 65 63 6b 53 74 61 74 65 49 73 41 74 44 65 66 61 75 6c 74 28 29 29 0d ontrol.CheckStateIsAtDefault()).
18940 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 .............{..................
18960 2f 2f 20 41 76 6f 69 64 20 6d 61 67 6e 69 74 75 64 65 20 63 6f 6d 70 75 74 61 74 69 6f 6e 20 69 //.Avoid.magnitude.computation.i
18980 66 20 63 6f 6e 74 72 6f 6c 20 73 74 61 74 65 20 69 73 20 61 74 20 64 65 66 61 75 6c 74 2e 0d 0a f.control.state.is.at.default...
189a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0d 0a 20 20 20 20 20 ................return.0;.......
189c0 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 63 .......}................return.c
189e0 6f 6e 74 72 6f 6c 2e 45 76 61 6c 75 61 74 65 4d 61 67 6e 69 74 75 64 65 28 29 3b 0d 0a 20 20 20 ontrol.EvaluateMagnitude();.....
18a00 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 2f 52 45 56 49 45 57 3a 20 77 65 .....}............////REVIEW:.we
18a20 20 63 61 6e 20 75 6e 69 66 79 20 74 68 65 20 72 65 61 64 69 6e 67 20 70 61 74 68 73 20 6f 6e 63 .can.unify.the.reading.paths.onc
18a40 65 20 77 65 20 68 61 76 65 20 62 6c 69 74 74 61 62 6c 65 20 74 79 70 65 20 63 6f 6e 73 74 72 61 e.we.have.blittable.type.constra
18a60 69 6e 74 73 0d 0a 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 76 6f 69 64 20 52 65 ints............internal.void.Re
18a80 61 64 56 61 6c 75 65 28 69 6e 74 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 2c 20 69 6e 74 20 63 6f adValue(int.bindingIndex,.int.co
18aa0 6e 74 72 6f 6c 49 6e 64 65 78 2c 20 76 6f 69 64 2a 20 62 75 66 66 65 72 2c 20 69 6e 74 20 62 75 ntrolIndex,.void*.buffer,.int.bu
18ac0 66 66 65 72 53 69 7a 65 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 fferSize)..........{............
18ae0 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 6e 64 69 6e 67 49 6e 64 65 78 20 3e 3d 20 30 ..Debug.Assert(bindingIndex.>=.0
18b00 20 26 26 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 42 69 6e 64 69 6e 67 43 .&&.bindingIndex.<.totalBindingC
18b20 6f 75 6e 74 2c 20 22 42 69 6e 64 69 6e 67 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 72 61 6e 67 ount,."Binding.index.out.of.rang
18b40 65 22 29 3b 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 74 28 63 e");..............Debug.Assert(c
18b60 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3e 3d 20 30 20 26 26 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 ontrolIndex.>=.0.&&.controlIndex
18b80 20 3c 20 74 6f 74 61 6c 43 6f 6e 74 72 6f 6c 43 6f 75 6e 74 2c 20 22 43 6f 6e 74 72 6f 6c 20 69 .<.totalControlCount,."Control.i
18ba0 6e 64 65 78 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 ndex.out.of.range");............
18bc0 20 20 20 20 49 6e 70 75 74 43 6f 6e 74 72 6f 6c 20 63 6f 6e 74 72 6f 6c 20 3d 20 6e 75 6c 6c 3b ....InputControl.control.=.null;
18be0 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 66 20 74 68 65 20 62 69 6e 64 69 6e ................//.If.the.bindin
18c00 67 20 74 68 61 74 20 74 72 69 67 67 65 72 65 64 20 74 68 65 20 61 63 74 69 6f 6e 20 69 73 20 70 g.that.triggered.the.action.is.p
18c20 61 72 74 20 6f 66 20 61 20 63 6f 6d 70 6f 73 69 74 65 2c 20 6c 65 74 0d 0a 20 20 20 20 20 20 20 art.of.a.composite,.let.........
18c40 20 20 20 20 20 2f 2f 20 74 68 65 20 63 6f 6d 70 6f 73 69 74 65 20 64 65 74 65 72 6d 69 6e 65 20 .....//.the.composite.determine.
18c60 74 68 65 20 76 61 6c 75 65 20 77 65 20 72 65 74 75 72 6e 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 the.value.we.return.............
18c80 20 20 69 66 20 28 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 62 69 6e 64 69 6e 67 49 6e 64 65 78 ..if.(bindingStates[bindingIndex
18ca0 5d 2e 69 73 50 61 72 74 4f 66 43 6f 6d 70 6f 73 69 74 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 ].isPartOfComposite)............
18cc0 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 63 6f 6d 70 6f 73 69 ..{..................var.composi
18ce0 74 65 42 69 6e 64 69 6e 67 49 6e 64 65 78 20 3d 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 62 teBindingIndex.=.bindingStates[b
18d00 69 6e 64 69 6e 67 49 6e 64 65 78 5d 2e 63 6f 6d 70 6f 73 69 74 65 4f 72 43 6f 6d 70 6f 73 69 74 indingIndex].compositeOrComposit
18d20 65 42 69 6e 64 69 6e 67 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 eBindingIndex;..................
18d40 76 61 72 20 63 6f 6d 70 6f 73 69 74 65 49 6e 64 65 78 20 3d 20 62 69 6e 64 69 6e 67 53 74 61 74 var.compositeIndex.=.bindingStat
18d60 65 73 5b 63 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 49 6e 64 65 78 5d 2e 63 6f 6d 70 6f 73 es[compositeBindingIndex].compos
18d80 69 74 65 4f 72 43 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 49 6e 64 65 78 3b 0d 0a 20 20 20 iteOrCompositeBindingIndex;.....
18da0 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 6f 6d 70 6f 73 69 74 65 4f 62 6a 65 63 74 .............var.compositeObject
18dc0 20 3d 20 63 6f 6d 70 6f 73 69 74 65 73 5b 63 6f 6d 70 6f 73 69 74 65 49 6e 64 65 78 5d 3b 0d 0a .=.composites[compositeIndex];..
18de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 63 6f 6d ................Debug.Assert(com
18e00 70 6f 73 69 74 65 4f 62 6a 65 63 74 20 21 3d 20 6e 75 6c 6c 2c 20 22 43 6f 6d 70 6f 73 69 74 65 positeObject.!=.null,."Composite
18e20 20 6f 62 6a 65 63 74 20 69 73 20 6e 75 6c 6c 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 .object.is.null");..............
18e40 20 20 20 20 20 20 76 61 72 20 63 6f 6e 74 65 78 74 20 3d 20 6e 65 77 20 49 6e 70 75 74 42 69 6e ......var.context.=.new.InputBin
18e60 64 69 6e 67 43 6f 6d 70 6f 73 69 74 65 43 6f 6e 74 65 78 74 0d 0a 20 20 20 20 20 20 20 20 20 20 dingCompositeContext............
18e80 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 6d 5f 53 ......{......................m_S
18ea0 74 61 74 65 20 3d 20 74 68 69 73 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tate.=.this,....................
18ec0 20 20 6d 5f 42 69 6e 64 69 6e 67 49 6e 64 65 78 20 3d 20 63 6f 6d 70 6f 73 69 74 65 42 69 6e 64 ..m_BindingIndex.=.compositeBind
18ee0 69 6e 67 49 6e 64 65 78 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0d 0a 0d 0a ingIndex..................};....
18f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6d 70 6f 73 69 74 65 4f 62 6a 65 63 74 2e ................compositeObject.
18f20 52 65 61 64 56 61 6c 75 65 28 72 65 66 20 63 6f 6e 74 65 78 74 2c 20 62 75 66 66 65 72 2c 20 62 ReadValue(ref.context,.buffer,.b
18f40 75 66 66 65 72 53 69 7a 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 ufferSize);..............}......
18f60 20 20 20 20 20 20 20 20 65 6c 73 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 ........else..............{.....
18f80 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 72 6f 6c 20 3d 20 63 6f 6e 74 72 6f 6c 73 5b .............control.=.controls[
18fa0 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 controlIndex];..................
18fc0 44 65 62 75 67 2e 41 73 73 65 72 74 28 63 6f 6e 74 72 6f 6c 20 21 3d 20 6e 75 6c 6c 2c 20 22 43 Debug.Assert(control.!=.null,."C
18fe0 6f 6e 74 72 6f 6c 20 69 73 20 6e 75 6c 6c 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ontrol.is.null");...............
19000 20 20 20 63 6f 6e 74 72 6f 6c 2e 52 65 61 64 56 61 6c 75 65 49 6e 74 6f 42 75 66 66 65 72 28 62 ...control.ReadValueIntoBuffer(b
19020 75 66 66 65 72 2c 20 62 75 66 66 65 72 53 69 7a 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 uffer,.bufferSize);.............
19040 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 52 75 6e 20 76 61 6c 75 65 20 74 .}................//.Run.value.t
19060 68 72 6f 75 67 68 20 70 72 6f 63 65 73 73 6f 72 73 2c 20 69 66 20 61 6e 79 2e 0d 0a 20 20 20 20 hrough.processors,.if.any.......
19080 20 20 20 20 20 20 20 20 76 61 72 20 70 72 6f 63 65 73 73 6f 72 43 6f 75 6e 74 20 3d 20 62 69 6e ........var.processorCount.=.bin
190a0 64 69 6e 67 53 74 61 74 65 73 5b 62 69 6e 64 69 6e 67 49 6e 64 65 78 5d 2e 70 72 6f 63 65 73 73 dingStates[bindingIndex].process
190c0 6f 72 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 70 72 6f 63 65 73 orCount;..............if.(proces
190e0 73 6f 72 43 6f 75 6e 74 20 3e 20 30 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 sorCount.>.0)..............{....
19100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 70 72 6f 63 65 73 73 6f 72 53 74 61 72 74 ..............var.processorStart
19120 49 6e 64 65 78 20 3d 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 62 69 6e 64 69 6e 67 49 6e 64 Index.=.bindingStates[bindingInd
19140 65 78 5d 2e 70 72 6f 63 65 73 73 6f 72 53 74 61 72 74 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 ex].processorStartIndex;........
19160 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 3c 20 70 72 ..........for.(var.i.=.0;.i.<.pr
19180 6f 63 65 73 73 6f 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 ocessorCount;.++i)..............
191a0 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 6f 72 73 5b 70 72 6f 63 65 73 73 6f 72 53 74 61 72 ........processors[processorStar
191c0 74 49 6e 64 65 78 20 2b 20 69 5d 2e 50 72 6f 63 65 73 73 28 62 75 66 66 65 72 2c 20 62 75 66 66 tIndex.+.i].Process(buffer,.buff
191e0 65 72 53 69 7a 65 2c 20 63 6f 6e 74 72 6f 6c 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d erSize,.control);..............}
19200 0d 0a 20 20 20 20 20 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 ..........}............internal.
19220 54 56 61 6c 75 65 20 52 65 61 64 56 61 6c 75 65 3c 54 56 61 6c 75 65 3e 28 69 6e 74 20 62 69 6e TValue.ReadValue<TValue>(int.bin
19240 64 69 6e 67 49 6e 64 65 78 2c 20 69 6e 74 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 2c 20 62 6f 6f dingIndex,.int.controlIndex,.boo
19260 6c 20 69 67 6e 6f 72 65 43 6f 6d 70 6f 73 69 74 65 73 20 3d 20 66 61 6c 73 65 29 0d 0a 20 20 20 l.ignoreComposites.=.false).....
19280 20 20 20 20 20 20 20 20 20 77 68 65 72 65 20 54 56 61 6c 75 65 20 3a 20 73 74 72 75 63 74 0d 0a .........where.TValue.:.struct..
192a0 20 20 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 ........{..............Debug.Ass
192c0 65 72 74 28 62 69 6e 64 69 6e 67 49 6e 64 65 78 20 3e 3d 20 30 20 26 26 20 62 69 6e 64 69 6e 67 ert(bindingIndex.>=.0.&&.binding
192e0 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 42 69 6e 64 69 6e 67 43 6f 75 6e 74 2c 20 22 42 69 6e 64 Index.<.totalBindingCount,."Bind
19300 69 6e 67 20 69 6e 64 65 78 20 69 73 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d 0a 20 20 ing.index.is.out.of.range");....
19320 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 63 6f 6e 74 72 6f 6c 49 6e ..........Debug.Assert(controlIn
19340 64 65 78 20 3e 3d 20 30 20 26 26 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c dex.>=.0.&&.controlIndex.<.total
19360 43 6f 6e 74 72 6f 6c 43 6f 75 6e 74 2c 20 22 43 6f 6e 74 72 6f 6c 20 69 6e 64 65 78 20 69 73 20 ControlCount,."Control.index.is.
19380 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 out.of.range");................v
193a0 61 72 20 76 61 6c 75 65 20 3d 20 64 65 66 61 75 6c 74 28 54 56 61 6c 75 65 29 3b 0d 0a 0d 0a 20 ar.value.=.default(TValue);.....
193c0 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 61 20 63 ...........//.In.the.case.of.a.c
193e0 6f 6d 70 6f 73 69 74 65 2c 20 74 68 69 73 20 77 69 6c 6c 20 62 65 20 6e 75 6c 6c 2e 0d 0a 20 20 omposite,.this.will.be.null.....
19400 20 20 20 20 20 20 20 20 20 20 49 6e 70 75 74 43 6f 6e 74 72 6f 6c 3c 54 56 61 6c 75 65 3e 20 63 ..........InputControl<TValue>.c
19420 6f 6e 74 72 6f 6c 4f 66 54 79 70 65 20 3d 20 6e 75 6c 6c 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 ontrolOfType.=.null;............
19440 20 20 20 20 2f 2f 20 49 66 20 74 68 65 20 62 69 6e 64 69 6e 67 20 74 68 61 74 20 74 72 69 67 67 ....//.If.the.binding.that.trigg
19460 65 72 65 64 20 74 68 65 20 61 63 74 69 6f 6e 20 69 73 20 70 61 72 74 20 6f 66 20 61 20 63 6f 6d ered.the.action.is.part.of.a.com
19480 70 6f 73 69 74 65 2c 20 6c 65 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 74 68 65 20 posite,.let..............//.the.
194a0 63 6f 6d 70 6f 73 69 74 65 20 64 65 74 65 72 6d 69 6e 65 20 74 68 65 20 76 61 6c 75 65 20 77 65 composite.determine.the.value.we
194c0 20 72 65 74 75 72 6e 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 69 67 6e 6f 72 .return...............if.(!ignor
194e0 65 43 6f 6d 70 6f 73 69 74 65 73 20 26 26 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 62 69 6e eComposites.&&.bindingStates[bin
19500 64 69 6e 67 49 6e 64 65 78 5d 2e 69 73 50 61 72 74 4f 66 43 6f 6d 70 6f 73 69 74 65 29 0d 0a 20 dingIndex].isPartOfComposite)...
19520 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 76 61 ...........{..................va
19540 72 20 63 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 49 6e 64 65 78 20 3d 20 62 69 6e 64 69 6e r.compositeBindingIndex.=.bindin
19560 67 53 74 61 74 65 73 5b 62 69 6e 64 69 6e 67 49 6e 64 65 78 5d 2e 63 6f 6d 70 6f 73 69 74 65 4f gStates[bindingIndex].compositeO
19580 72 43 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 rCompositeBindingIndex;.........
195a0 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 63 6f 6d 70 6f 73 69 74 65 42 .........Debug.Assert(compositeB
195c0 69 6e 64 69 6e 67 49 6e 64 65 78 20 3e 3d 20 30 20 26 26 20 63 6f 6d 70 6f 73 69 74 65 42 69 6e indingIndex.>=.0.&&.compositeBin
195e0 64 69 6e 67 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 42 69 6e 64 69 6e 67 43 6f 75 6e 74 2c 20 22 dingIndex.<.totalBindingCount,."
19600 43 6f 6d 70 6f 73 69 74 65 20 62 69 6e 64 69 6e 67 20 69 6e 64 65 78 20 69 73 20 6f 75 74 20 6f Composite.binding.index.is.out.o
19620 66 20 72 61 6e 67 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 f.range");..................var.
19640 63 6f 6d 70 6f 73 69 74 65 49 6e 64 65 78 20 3d 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 63 compositeIndex.=.bindingStates[c
19660 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 49 6e 64 65 78 5d 2e 63 6f 6d 70 6f 73 69 74 65 4f ompositeBindingIndex].compositeO
19680 72 43 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 rCompositeBindingIndex;.........
196a0 20 20 20 20 20 20 20 20 20 76 61 72 20 63 6f 6d 70 6f 73 69 74 65 4f 62 6a 65 63 74 20 3d 20 63 .........var.compositeObject.=.c
196c0 6f 6d 70 6f 73 69 74 65 73 5b 63 6f 6d 70 6f 73 69 74 65 49 6e 64 65 78 5d 3b 0d 0a 20 20 20 20 omposites[compositeIndex];......
196e0 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 63 6f 6d 70 6f 73 69 ............Debug.Assert(composi
19700 74 65 4f 62 6a 65 63 74 20 21 3d 20 6e 75 6c 6c 2c 20 22 43 6f 6d 70 6f 73 69 74 65 20 6f 62 6a teObject.!=.null,."Composite.obj
19720 65 63 74 20 69 73 20 6e 75 6c 6c 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ect.is.null");..................
19740 20 20 76 61 72 20 63 6f 6d 70 6f 73 69 74 65 4f 66 54 79 70 65 20 3d 20 63 6f 6d 70 6f 73 69 74 ..var.compositeOfType.=.composit
19760 65 4f 62 6a 65 63 74 20 61 73 20 49 6e 70 75 74 42 69 6e 64 69 6e 67 43 6f 6d 70 6f 73 69 74 65 eObject.as.InputBindingComposite
19780 3c 54 56 61 6c 75 65 3e 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 <TValue>;..................if.(c
197a0 6f 6d 70 6f 73 69 74 65 4f 66 54 79 70 65 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 ompositeOfType.==.null).........
197c0 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 20 20 20 20 .........{......................
197e0 76 61 72 20 63 6f 6d 70 6f 73 69 74 65 54 79 70 65 20 3d 20 63 6f 6d 70 6f 73 69 74 65 4f 62 6a var.compositeType.=.compositeObj
19800 65 63 74 2e 47 65 74 54 79 70 65 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ect.GetType();..................
19820 20 20 20 20 77 68 69 6c 65 20 28 63 6f 6d 70 6f 73 69 74 65 54 79 70 65 20 21 3d 20 6e 75 6c 6c ....while.(compositeType.!=.null
19840 20 26 26 20 21 63 6f 6d 70 6f 73 69 74 65 54 79 70 65 2e 49 73 47 65 6e 65 72 69 63 54 79 70 65 .&&.!compositeType.IsGenericType
19860 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 63 6f 6d 70 6f )..........................compo
19880 73 69 74 65 54 79 70 65 20 3d 20 63 6f 6d 70 6f 73 69 74 65 54 79 70 65 2e 42 61 73 65 54 79 70 siteType.=.compositeType.BaseTyp
198a0 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 74 68 72 6f 77 20 e;........................throw.
198c0 6e 65 77 20 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 28 0d 0a new.InvalidOperationException(..
198e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 22 43 61 6e 6e 6f 74 ........................$"Cannot
19900 20 72 65 61 64 20 76 61 6c 75 65 20 6f 66 20 74 79 70 65 20 27 7b 74 79 70 65 6f 66 28 54 56 61 .read.value.of.type.'{typeof(TVa
19920 6c 75 65 29 2e 4e 61 6d 65 7d 27 20 66 72 6f 6d 20 63 6f 6d 70 6f 73 69 74 65 20 27 7b 63 6f 6d lue).Name}'.from.composite.'{com
19940 70 6f 73 69 74 65 4f 62 6a 65 63 74 7d 27 20 62 6f 75 6e 64 20 74 6f 20 61 63 74 69 6f 6e 20 27 positeObject}'.bound.to.action.'
19960 7b 47 65 74 41 63 74 69 6f 6e 4f 72 4e 75 6c 6c 28 62 69 6e 64 69 6e 67 49 6e 64 65 78 29 7d 27 {GetActionOrNull(bindingIndex)}'
19980 20 28 63 6f 6d 70 6f 73 69 74 65 20 69 73 20 61 20 27 7b 63 6f 6d 70 6f 73 69 74 65 49 6e 64 65 .(composite.is.a.'{compositeInde
199a0 78 2e 47 65 74 54 79 70 65 28 29 2e 4e 61 6d 65 7d 27 20 77 69 74 68 20 76 61 6c 75 65 20 74 79 x.GetType().Name}'.with.value.ty
199c0 70 65 20 27 7b 54 79 70 65 48 65 6c 70 65 72 73 2e 47 65 74 4e 69 63 65 54 79 70 65 4e 61 6d 65 pe.'{TypeHelpers.GetNiceTypeName
199e0 28 63 6f 6d 70 6f 73 69 74 65 54 79 70 65 2e 47 65 74 47 65 6e 65 72 69 63 41 72 67 75 6d 65 6e (compositeType.GetGenericArgumen
19a00 74 73 28 29 5b 30 5d 29 7d 27 29 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ts()[0])}')");..................
19a20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 6f 6e 74 65 78 74 }....................var.context
19a40 20 3d 20 6e 65 77 20 49 6e 70 75 74 42 69 6e 64 69 6e 67 43 6f 6d 70 6f 73 69 74 65 43 6f 6e 74 .=.new.InputBindingCompositeCont
19a60 65 78 74 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 20 ext..................{..........
19a80 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 53 74 61 74 65 20 3d 20 74 68 69 73 2c 0d 0a 20 20 20 ............m_State.=.this,.....
19aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 42 69 6e 64 69 6e 67 49 6e 64 65 78 20 .................m_BindingIndex.
19ac0 3d 20 63 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 49 6e 64 65 78 0d 0a 20 20 20 20 20 20 20 =.compositeBindingIndex.........
19ae0 20 20 20 20 20 20 20 20 20 7d 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 .........};....................v
19b00 61 6c 75 65 20 3d 20 63 6f 6d 70 6f 73 69 74 65 4f 66 54 79 70 65 2e 52 65 61 64 56 61 6c 75 65 alue.=.compositeOfType.ReadValue
19b20 28 72 65 66 20 63 6f 6e 74 65 78 74 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (ref.context);..................
19b40 20 20 2f 2f 20 53 77 69 74 63 68 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 20 74 6f 20 74 68 61 74 ..//.Switch.bindingIndex.to.that
19b60 20 6f 66 20 63 6f 6d 70 6f 73 69 74 65 20 73 6f 20 74 68 61 74 20 77 65 20 75 73 65 20 74 68 65 .of.composite.so.that.we.use.the
19b80 20 72 69 67 68 74 20 70 72 6f 63 65 73 73 6f 72 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 .right.processors...............
19ba0 20 20 20 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 20 3d 20 63 6f 6d 70 6f 73 69 74 65 42 69 6e 64 ....bindingIndex.=.compositeBind
19bc0 69 6e 67 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 ingIndex;..............}........
19be0 20 20 20 20 20 20 65 6c 73 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 ......else..............{.......
19c00 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 6f 6e 74 72 6f 6c 20 3d 20 63 6f 6e 74 72 6f 6c ...........var.control.=.control
19c20 73 5b 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s[controlIndex];................
19c40 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 63 6f 6e 74 72 6f 6c 20 21 3d 20 6e 75 6c 6c 2c 20 ..Debug.Assert(control.!=.null,.
19c60 22 43 6f 6e 74 72 6f 6c 20 69 73 20 6e 75 6c 6c 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 "Control.is.null");.............
19c80 20 20 20 20 20 20 20 63 6f 6e 74 72 6f 6c 4f 66 54 79 70 65 20 3d 20 63 6f 6e 74 72 6f 6c 20 61 .......controlOfType.=.control.a
19ca0 73 20 49 6e 70 75 74 43 6f 6e 74 72 6f 6c 3c 54 56 61 6c 75 65 3e 3b 0d 0a 20 20 20 20 20 20 20 s.InputControl<TValue>;.........
19cc0 20 20 20 20 20 20 20 20 20 69 66 20 28 63 6f 6e 74 72 6f 6c 4f 66 54 79 70 65 20 3d 3d 20 6e 75 .........if.(controlOfType.==.nu
19ce0 6c 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 ll)......................throw.n
19d00 65 77 20 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 28 0d 0a 20 ew.InvalidOperationException(...
19d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 22 43 61 6e 6e 6f 74 20 .......................$"Cannot.
19d40 72 65 61 64 20 76 61 6c 75 65 20 6f 66 20 74 79 70 65 20 27 7b 54 79 70 65 48 65 6c 70 65 72 73 read.value.of.type.'{TypeHelpers
19d60 2e 47 65 74 4e 69 63 65 54 79 70 65 4e 61 6d 65 28 74 79 70 65 6f 66 28 54 56 61 6c 75 65 29 29 .GetNiceTypeName(typeof(TValue))
19d80 7d 27 20 66 72 6f 6d 20 63 6f 6e 74 72 6f 6c 20 27 7b 63 6f 6e 74 72 6f 6c 2e 70 61 74 68 7d 27 }'.from.control.'{control.path}'
19da0 20 62 6f 75 6e 64 20 74 6f 20 61 63 74 69 6f 6e 20 27 7b 47 65 74 41 63 74 69 6f 6e 4f 72 4e 75 .bound.to.action.'{GetActionOrNu
19dc0 6c 6c 28 62 69 6e 64 69 6e 67 49 6e 64 65 78 29 7d 27 20 28 63 6f 6e 74 72 6f 6c 20 69 73 20 61 ll(bindingIndex)}'.(control.is.a
19de0 20 27 7b 63 6f 6e 74 72 6f 6c 2e 47 65 74 54 79 70 65 28 29 2e 4e 61 6d 65 7d 27 20 77 69 74 68 .'{control.GetType().Name}'.with
19e00 20 76 61 6c 75 65 20 74 79 70 65 20 27 7b 54 79 70 65 48 65 6c 70 65 72 73 2e 47 65 74 4e 69 63 .value.type.'{TypeHelpers.GetNic
19e20 65 54 79 70 65 4e 61 6d 65 28 63 6f 6e 74 72 6f 6c 2e 76 61 6c 75 65 54 79 70 65 29 7d 27 29 22 eTypeName(control.valueType)}')"
19e40 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 3d 20 63 6f );....................value.=.co
19e60 6e 74 72 6f 6c 4f 66 54 79 70 65 2e 52 65 61 64 56 61 6c 75 65 28 29 3b 0d 0a 20 20 20 20 20 20 ntrolOfType.ReadValue();........
19e80 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 52 75 6e 20 76 61 ......}................//.Run.va
19ea0 6c 75 65 20 74 68 72 6f 75 67 68 20 70 72 6f 63 65 73 73 6f 72 73 2c 20 69 66 20 61 6e 79 2e 0d lue.through.processors,.if.any..
19ec0 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 70 72 6f 63 65 73 73 6f 72 43 6f 75 6e 74 20 .............var.processorCount.
19ee0 3d 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 62 69 6e 64 69 6e 67 49 6e 64 65 78 5d 2e 70 72 =.bindingStates[bindingIndex].pr
19f00 6f 63 65 73 73 6f 72 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 70 ocessorCount;..............if.(p
19f20 72 6f 63 65 73 73 6f 72 43 6f 75 6e 74 20 3e 20 30 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 rocessorCount.>.0)..............
19f40 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 70 72 6f 63 65 73 73 6f 72 {..................var.processor
19f60 53 74 61 72 74 49 6e 64 65 78 20 3d 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 62 69 6e 64 69 StartIndex.=.bindingStates[bindi
19f80 6e 67 49 6e 64 65 78 5d 2e 70 72 6f 63 65 73 73 6f 72 53 74 61 72 74 49 6e 64 65 78 3b 0d 0a 20 ngIndex].processorStartIndex;...
19fa0 20 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 ...............for.(var.i.=.0;.i
19fc0 20 3c 20 70 72 6f 63 65 73 73 6f 72 43 6f 75 6e 74 3b 20 2b 2b 69 29 0d 0a 20 20 20 20 20 20 20 .<.processorCount;.++i).........
19fe0 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 20 20 20 20 .........{......................
1a000 69 66 20 28 70 72 6f 63 65 73 73 6f 72 73 5b 70 72 6f 63 65 73 73 6f 72 53 74 61 72 74 49 6e 64 if.(processors[processorStartInd
1a020 65 78 20 2b 20 69 5d 20 69 73 20 49 6e 70 75 74 50 72 6f 63 65 73 73 6f 72 3c 54 56 61 6c 75 65 ex.+.i].is.InputProcessor<TValue
1a040 3e 20 70 72 6f 63 65 73 73 6f 72 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 >.processor)....................
1a060 20 20 20 20 20 20 76 61 6c 75 65 20 3d 20 70 72 6f 63 65 73 73 6f 72 2e 50 72 6f 63 65 73 73 28 ......value.=.processor.Process(
1a080 76 61 6c 75 65 2c 20 63 6f 6e 74 72 6f 6c 4f 66 54 79 70 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 value,.controlOfType);..........
1a0a0 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 ........}..............}........
1a0c0 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 7d ........return.value;..........}
1a0e0 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>.......
1a100 20 20 20 2f 2f 2f 20 52 65 61 64 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 67 69 76 ...///.Read.the.value.of.the.giv
1a120 65 6e 20 70 61 72 74 20 6f 66 20 61 20 63 6f 6d 70 6f 73 69 74 65 20 62 69 6e 64 69 6e 67 2e 0d en.part.of.a.composite.binding..
1a140 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>.........
1a160 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 62 69 6e 64 69 6e 67 49 6e 64 65 78 22 3e .///.<param.name="bindingIndex">
1a180 49 6e 64 65 78 20 6f 66 20 74 68 65 20 63 6f 6d 70 6f 73 69 74 65 20 62 69 6e 64 69 6e 67 20 69 Index.of.the.composite.binding.i
1a1a0 6e 20 3c 73 65 65 20 63 72 65 66 3d 22 62 69 6e 64 69 6e 67 53 74 61 74 65 73 22 2f 3e 2e 3c 2f n.<see.cref="bindingStates"/>.</
1a1c0 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d param>..........///.<param.name=
1a1e0 22 70 61 72 74 4e 75 6d 62 65 72 22 3e 49 6e 64 65 78 20 6f 66 20 74 68 65 20 70 61 72 74 2e 20 "partNumber">Index.of.the.part..
1a200 4e 6f 74 65 20 74 68 61 74 20 70 61 72 74 20 69 6e 64 69 63 65 73 20 73 74 61 72 74 20 61 74 20 Note.that.part.indices.start.at.
1a220 31 21 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 74 79 70 65 70 61 72 1!</param>..........///.<typepar
1a240 61 6d 20 6e 61 6d 65 3d 22 54 56 61 6c 75 65 22 3e 56 61 6c 75 65 20 74 79 70 65 20 74 6f 20 72 am.name="TValue">Value.type.to.r
1a260 65 61 64 2e 20 4d 75 73 74 20 63 6f 72 72 65 73 70 6f 6e 64 20 74 6f 20 74 68 65 20 76 61 6c 75 ead..Must.correspond.to.the.valu
1a280 65 20 6f 66 20 62 6f 75 6e 64 20 63 6f 6e 74 72 6f 6c 73 20 6f 72 20 61 6e 20 65 78 63 65 70 74 e.of.bound.controls.or.an.except
1a2a0 69 6f 6e 20 77 69 6c 6c 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 62 65 20 74 68 72 6f 77 6e 2e ion.will..........///.be.thrown.
1a2c0 3c 2f 74 79 70 65 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 74 75 72 </typeparam>..........///.<retur
1a2e0 6e 73 3e 47 72 65 61 74 65 73 74 20 76 61 6c 75 65 20 66 72 6f 6d 20 61 6d 6f 6e 67 20 74 68 65 ns>Greatest.value.from.among.the
1a300 20 62 6f 75 6e 64 20 63 6f 6e 74 72 6f 6c 73 20 66 6f 72 20 74 68 65 20 67 69 76 65 6e 20 70 61 .bound.controls.for.the.given.pa
1a320 72 74 2e 3c 2f 72 65 74 75 72 6e 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 rt.</returns>..........///.<rema
1a340 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 43 6f 6d 70 6f 73 69 74 65 73 20 61 72 65 rks>..........///.Composites.are
1a360 20 63 6f 6d 70 6f 73 65 64 20 6f 66 20 22 70 61 72 74 73 22 2e 20 45 61 63 68 20 70 61 72 74 20 .composed.of."parts"..Each.part.
1a380 68 61 73 20 61 6e 20 61 73 73 6f 63 69 61 74 65 64 20 6e 61 6d 65 20 28 65 2e 67 2e 20 22 6e 65 has.an.associated.name.(e.g.."ne
1a3a0 67 61 74 69 76 65 22 20 6f 72 20 22 70 6f 73 69 74 69 76 65 22 29 20 77 68 69 63 68 20 69 73 0d gative".or."positive").which.is.
1a3c0 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 72 65 66 65 72 65 6e 63 65 64 20 62 79 20 3c 73 65 65 20 .........///.referenced.by.<see.
1a3e0 63 72 65 66 3d 22 49 6e 70 75 74 42 69 6e 64 69 6e 67 2e 6e 61 6d 65 22 2f 3e 20 6f 66 20 62 69 cref="InputBinding.name"/>.of.bi
1a400 6e 64 69 6e 67 73 20 74 68 61 74 20 61 72 65 20 70 61 72 74 20 6f 66 20 74 68 65 20 63 6f 6d 70 ndings.that.are.part.of.the.comp
1a420 6f 73 69 74 65 2e 20 48 6f 77 65 76 65 72 2c 20 6d 75 6c 74 69 70 6c 65 0d 0a 20 20 20 20 20 20 osite..However,.multiple........
1a440 20 20 2f 2f 2f 20 62 69 6e 64 69 6e 67 73 20 6d 61 79 20 72 65 66 65 72 65 6e 63 65 20 74 68 65 ..///.bindings.may.reference.the
1a460 20 73 61 6d 65 20 70 61 72 74 20 28 65 2e 67 2e 20 74 68 65 72 65 20 63 6f 75 6c 64 20 62 65 20 .same.part.(e.g..there.could.be.
1a480 61 20 62 69 6e 64 69 6e 67 20 66 6f 72 20 22 57 22 20 61 6e 64 20 61 6e 6f 74 68 65 72 20 62 69 a.binding.for."W".and.another.bi
1a4a0 6e 64 69 6e 67 20 66 6f 72 20 22 55 70 41 72 72 6f 77 22 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f nding.for."UpArrow"..........///
1a4c0 20 61 6e 64 20 62 6f 74 68 20 77 6f 75 6c 64 20 72 65 66 65 72 65 6e 63 65 20 74 68 65 20 22 55 .and.both.would.reference.the."U
1a4e0 70 22 20 70 61 72 74 29 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 20 20 20 20 p".part)...........///..........
1a500 2f 2f 2f 20 48 6f 77 65 76 65 72 2c 20 61 20 67 69 76 65 6e 20 63 6f 6d 70 6f 73 69 74 65 20 77 ///.However,.a.given.composite.w
1a520 69 6c 6c 20 6f 6e 6c 79 20 62 65 20 69 6e 74 65 72 65 73 74 65 64 20 69 6e 20 61 20 73 69 6e 67 ill.only.be.interested.in.a.sing
1a540 6c 65 20 76 61 6c 75 65 20 66 6f 72 20 61 6e 79 20 67 69 76 65 6e 20 70 61 72 74 2e 20 57 68 61 le.value.for.any.given.part..Wha
1a560 74 20 77 65 20 64 6f 20 69 73 20 67 69 76 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 61 20 63 t.we.do.is.give..........///.a.c
1a580 6f 6d 70 6f 73 69 74 65 20 61 6e 20 69 6e 74 65 67 65 72 20 6b 65 79 20 66 6f 72 20 65 76 65 72 omposite.an.integer.key.for.ever
1a5a0 79 20 70 61 72 74 2e 20 57 68 65 6e 20 69 74 20 61 73 6b 73 20 66 6f 72 20 61 20 76 61 6c 75 65 y.part..When.it.asks.for.a.value
1a5c0 20 66 6f 72 20 74 68 65 20 67 69 76 65 6e 20 70 61 72 74 2c 20 77 65 20 67 6f 20 74 68 72 6f 75 .for.the.given.part,.we.go.throu
1a5e0 67 68 20 61 6c 6c 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 62 69 6e 64 69 6e 67 73 20 74 68 61 gh.all..........///.bindings.tha
1a600 74 20 72 65 66 65 72 65 6e 63 65 20 74 68 65 20 67 69 76 65 6e 20 70 61 72 74 20 61 6e 64 20 72 t.reference.the.given.part.and.r
1a620 65 74 75 72 6e 20 74 68 65 20 67 72 65 61 74 65 73 74 20 76 61 6c 75 65 20 66 72 6f 6d 20 61 6d eturn.the.greatest.value.from.am
1a640 6f 6e 67 20 74 68 65 20 63 6f 6e 74 72 6f 6c 73 20 6f 66 20 61 6c 6c 20 74 68 6f 73 65 0d 0a 20 ong.the.controls.of.all.those...
1a660 20 20 20 20 20 20 20 2f 2f 2f 20 62 69 6e 64 69 6e 67 73 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f .......///.bindings...........//
1a680 2f 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 65 78 61 6d 70 6c 65 3e 0d 0a 20 20 20 20 20 20 /..........///.<example>........
1a6a0 20 20 2f 2f 2f 20 3c 63 6f 64 65 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 2f 2f 20 52 65 61 ..///.<code>..........///.//.Rea
1a6c0 64 20 61 20 66 6c 6f 61 74 20 76 61 6c 75 65 20 66 72 6f 6d 20 74 68 65 20 73 65 63 6f 6e 64 20 d.a.float.value.from.the.second.
1a6e0 70 61 72 74 20 6f 66 20 74 68 65 20 63 6f 6d 70 6f 73 69 74 65 20 62 69 6e 64 69 6e 67 20 61 74 part.of.the.composite.binding.at
1a700 20 69 6e 64 65 78 20 33 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 52 65 61 64 43 6f 6d 70 6f .index.3...........///.ReadCompo
1a720 73 69 74 65 50 61 72 74 56 61 6c 75 65 26 6c 74 3b 66 6c 6f 61 74 26 67 74 3b 28 33 2c 20 32 29 sitePartValue&lt;float&gt;(3,.2)
1a740 3b 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 63 6f 64 65 3e 0d 0a 20 20 20 20 20 20 20 20 ;..........///.</code>..........
1a760 2f 2f 2f 20 3c 2f 65 78 61 6d 70 6c 65 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 ///.</example>..........///.</re
1a780 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 54 56 61 6c 75 65 20 marks>..........internal.TValue.
1a7a0 52 65 61 64 43 6f 6d 70 6f 73 69 74 65 50 61 72 74 56 61 6c 75 65 3c 54 56 61 6c 75 65 2c 20 54 ReadCompositePartValue<TValue,.T
1a7c0 43 6f 6d 70 61 72 65 72 3e 28 69 6e 74 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 2c 20 69 6e 74 20 Comparer>(int.bindingIndex,.int.
1a7e0 70 61 72 74 4e 75 6d 62 65 72 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 6f 6c 2a 20 62 partNumber,..............bool*.b
1a800 75 74 74 6f 6e 56 61 6c 75 65 50 74 72 2c 20 6f 75 74 20 69 6e 74 20 63 6f 6e 74 72 6f 6c 49 6e uttonValuePtr,.out.int.controlIn
1a820 64 65 78 2c 20 54 43 6f 6d 70 61 72 65 72 20 63 6f 6d 70 61 72 65 72 20 3d 20 64 65 66 61 75 6c dex,.TComparer.comparer.=.defaul
1a840 74 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 68 65 72 65 20 54 56 61 6c 75 65 20 3a 20 73 t)..............where.TValue.:.s
1a860 74 72 75 63 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 68 65 72 65 20 54 43 6f 6d 70 61 72 truct..............where.TCompar
1a880 65 72 20 3a 20 49 43 6f 6d 70 61 72 65 72 3c 54 56 61 6c 75 65 3e 0d 0a 20 20 20 20 20 20 20 20 er.:.IComparer<TValue>..........
1a8a0 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 74 28 62 69 6e 64 {..............Debug.Assert(bind
1a8c0 69 6e 67 49 6e 64 65 78 20 3e 3d 20 30 20 26 26 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 20 3c 20 ingIndex.>=.0.&&.bindingIndex.<.
1a8e0 74 6f 74 61 6c 42 69 6e 64 69 6e 67 43 6f 75 6e 74 2c 20 22 42 69 6e 64 69 6e 67 20 69 6e 64 65 totalBindingCount,."Binding.inde
1a900 78 20 69 73 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 x.is.out.of.range");............
1a920 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 62 69 6e ..Debug.Assert(bindingStates[bin
1a940 64 69 6e 67 49 6e 64 65 78 5d 2e 69 73 43 6f 6d 70 6f 73 69 74 65 2c 20 22 42 69 6e 64 69 6e 67 dingIndex].isComposite,."Binding
1a960 20 6d 75 73 74 20 62 65 20 61 20 63 6f 6d 70 6f 73 69 74 65 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 .must.be.a.composite");.........
1a980 20 20 20 20 20 20 20 76 61 72 20 72 65 73 75 6c 74 20 3d 20 64 65 66 61 75 6c 74 28 54 56 61 6c .......var.result.=.default(TVal
1a9a0 75 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 66 69 72 73 74 43 68 69 6c 64 ue);..............var.firstChild
1a9c0 42 69 6e 64 69 6e 67 49 6e 64 65 78 20 3d 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 20 2b 20 31 3b BindingIndex.=.bindingIndex.+.1;
1a9e0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 69 73 46 69 72 73 74 56 61 6c 75 65 20 3d ..............var.isFirstValue.=
1aa00 20 74 72 75 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 72 6f 6c 49 6e 64 .true;................controlInd
1aa20 65 78 20 3d 20 6b 49 6e 76 61 6c 69 64 49 6e 64 65 78 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 ex.=.kInvalidIndex;.............
1aa40 20 20 20 2f 2f 20 46 69 6e 64 20 74 68 65 20 62 69 6e 64 69 6e 67 20 69 6e 20 74 68 65 20 63 6f ...//.Find.the.binding.in.the.co
1aa60 6d 70 6f 73 69 74 65 20 74 68 61 74 20 62 6f 74 68 20 68 61 73 20 74 68 65 20 67 69 76 65 6e 20 mposite.that.both.has.the.given.
1aa80 70 61 72 74 20 6e 75 6d 62 65 72 20 61 6e 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 part.number.and..............//.
1aaa0 74 68 65 20 67 72 65 61 74 65 73 74 20 76 61 6c 75 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 the.greatest.value..............
1aac0 20 2f 2f 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 4e 4f 54 45 3a 20 49 74 20 69 73 20 .//..............//.NOTE:.It.is.
1aae0 74 65 6d 70 74 69 6e 67 20 74 6f 20 67 6f 20 62 79 20 63 6f 6e 74 72 6f 6c 20 6d 61 67 6e 69 74 tempting.to.go.by.control.magnit
1ab00 75 64 65 73 20 69 6e 73 74 65 61 64 20 61 73 20 74 68 6f 73 65 20 61 72 65 20 72 65 61 64 69 6c udes.instead.as.those.are.readil
1ab20 79 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 75 73 20 28 63 6f 6e 74 72 6f 6c 4d 61 67 6e 69 74 y.available.to.us.(controlMagnit
1ab40 75 64 65 73 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 20 20 20 20 20 20 61 6e 64 20 udes)..............//.......and.
1ab60 61 76 6f 69 64 73 20 75 73 20 72 65 61 64 69 6e 67 20 76 61 6c 75 65 73 20 74 68 61 74 20 77 65 avoids.us.reading.values.that.we
1ab80 27 72 65 20 6e 6f 74 20 67 6f 69 6e 67 20 74 6f 20 75 73 65 2e 20 55 6e 66 6f 72 74 75 6e 61 74 're.not.going.to.use..Unfortunat
1aba0 65 6c 79 2c 20 77 65 20 63 61 6e 27 74 20 64 6f 20 74 68 61 74 20 61 73 20 73 65 76 65 72 61 6c ely,.we.can't.do.that.as.several
1abc0 20 63 6f 6e 74 72 6f 6c 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 20 20 20 20 20 20 .controls..............//.......
1abe0 75 73 65 64 20 62 79 20 61 20 63 6f 6d 70 6f 73 69 74 65 20 6d 61 79 20 61 6c 6c 20 68 61 76 65 used.by.a.composite.may.all.have
1ac00 20 62 65 65 6e 20 75 70 64 61 74 65 64 20 77 69 74 68 20 61 20 73 69 6e 67 6c 65 20 65 76 65 6e .been.updated.with.a.single.even
1ac20 74 20 28 65 2e 67 2e 20 57 41 53 44 20 6f 6e 20 61 20 6b 65 79 62 6f 61 72 64 20 77 69 6c 6c 20 t.(e.g..WASD.on.a.keyboard.will.
1ac40 75 73 75 61 6c 6c 79 20 73 65 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 20 20 20 20 usually.see..............//.....
1ac60 20 20 6a 75 73 74 20 6f 6e 65 20 75 70 64 61 74 65 20 74 68 61 74 20 72 65 66 72 65 73 68 65 73 ..just.one.update.that.refreshes
1ac80 20 74 68 65 20 65 6e 74 69 72 65 20 73 74 61 74 65 20 6f 66 20 74 68 65 20 6b 65 79 62 6f 61 72 .the.entire.state.of.the.keyboar
1aca0 64 29 2e 20 49 6e 20 74 68 61 74 20 63 61 73 65 2c 20 6f 6e 65 20 6f 66 20 74 68 65 20 63 6f 6e d)..In.that.case,.one.of.the.con
1acc0 74 72 6f 6c 73 20 77 69 6c 6c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 20 20 20 20 20 trols.will..............//......
1ace0 20 73 65 65 20 69 74 73 20 73 74 61 74 65 20 6d 6f 6e 69 74 6f 72 20 74 72 69 67 67 65 72 20 66 .see.its.state.monitor.trigger.f
1ad00 69 72 73 74 20 61 6e 64 20 69 6e 20 74 75 72 6e 20 74 72 69 67 67 65 72 20 70 72 6f 63 65 73 73 irst.and.in.turn.trigger.process
1ad20 69 6e 67 20 6f 66 20 74 68 65 20 61 63 74 69 6f 6e 20 61 6e 64 20 63 6f 6d 70 6f 73 69 74 65 2e ing.of.the.action.and.composite.
1ad40 20 54 68 75 73 20 6f 6e 6c 79 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 20 20 20 20 20 .Thus.only..............//......
1ad60 20 74 68 61 74 20 6f 6e 65 20 73 69 6e 67 6c 65 20 63 6f 6e 74 72 6f 6c 20 77 6f 75 6c 64 20 68 .that.one.single.control.would.h
1ad80 61 76 65 20 69 74 73 20 76 61 6c 75 65 20 72 65 66 72 65 73 68 65 64 20 69 6e 20 63 6f 6e 74 72 ave.its.value.refreshed.in.contr
1ada0 6f 6c 4d 61 67 6e 69 74 75 64 65 73 20 77 68 65 72 65 61 73 20 74 68 65 20 6f 74 68 65 72 20 63 olMagnitudes.whereas.the.other.c
1adc0 6f 6e 74 72 6f 6c 20 6d 61 67 6e 69 74 75 64 65 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f ontrol.magnitudes............../
1ade0 2f 20 20 20 20 20 20 20 77 6f 75 6c 64 20 62 65 20 73 74 61 6c 65 2e 0d 0a 20 20 20 20 20 20 20 /.......would.be.stale..........
1ae00 20 20 20 20 20 66 6f 72 20 28 76 61 72 20 69 6e 64 65 78 20 3d 20 66 69 72 73 74 43 68 69 6c 64 .....for.(var.index.=.firstChild
1ae20 42 69 6e 64 69 6e 67 49 6e 64 65 78 3b 20 69 6e 64 65 78 20 3c 20 74 6f 74 61 6c 42 69 6e 64 69 BindingIndex;.index.<.totalBindi
1ae40 6e 67 43 6f 75 6e 74 20 26 26 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 69 6e 64 65 78 5d 2e ngCount.&&.bindingStates[index].
1ae60 69 73 50 61 72 74 4f 66 43 6f 6d 70 6f 73 69 74 65 3b 20 2b 2b 69 6e 64 65 78 29 0d 0a 20 20 20 isPartOfComposite;.++index).....
1ae80 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.(
1aea0 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 69 6e 64 65 78 5d 2e 70 61 72 74 49 6e 64 65 78 20 21 bindingStates[index].partIndex.!
1aec0 3d 20 70 61 72 74 4e 75 6d 62 65 72 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 =.partNumber)...................
1aee0 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;....................
1af00 76 61 72 20 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 20 3d 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 var.controlCount.=.bindingStates
1af20 5b 69 6e 64 65 78 5d 2e 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 [index].controlCount;...........
1af40 20 20 20 20 20 20 20 76 61 72 20 63 6f 6e 74 72 6f 6c 53 74 61 72 74 49 6e 64 65 78 20 3d 20 62 .......var.controlStartIndex.=.b
1af60 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 69 6e 64 65 78 5d 2e 63 6f 6e 74 72 6f 6c 53 74 61 72 74 indingStates[index].controlStart
1af80 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 76 61 72 Index;..................for.(var
1afa0 20 69 20 3d 20 30 3b 20 69 20 3c 20 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 3b 20 2b 2b 69 29 0d 0a .i.=.0;.i.<.controlCount;.++i)..
1afc0 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 20 20 20 20 ................{...............
1afe0 20 20 20 20 20 20 20 76 61 72 20 74 68 69 73 43 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3d 20 63 6f .......var.thisControlIndex.=.co
1b000 6e 74 72 6f 6c 53 74 61 72 74 49 6e 64 65 78 20 2b 20 69 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 ntrolStartIndex.+.i;............
1b020 20 20 20 20 20 20 20 20 20 20 76 61 72 20 76 61 6c 75 65 20 3d 20 52 65 61 64 56 61 6c 75 65 3c ..........var.value.=.ReadValue<
1b040 54 56 61 6c 75 65 3e 28 69 6e 64 65 78 2c 20 74 68 69 73 43 6f 6e 74 72 6f 6c 49 6e 64 65 78 2c TValue>(index,.thisControlIndex,
1b060 20 69 67 6e 6f 72 65 43 6f 6d 70 6f 73 69 74 65 73 3a 20 74 72 75 65 29 3b 0d 0a 0d 0a 20 20 20 .ignoreComposites:.true);.......
1b080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 46 69 72 73 74 56 61 6c 75 .................if.(isFirstValu
1b0a0 65 29 0d 0a 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 e)......................{.......
1b0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 20 3d 20 76 61 6c 75 ...................result.=.valu
1b0e0 65 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 6f 6e 74 e;..........................cont
1b100 72 6f 6c 49 6e 64 65 78 20 3d 20 74 68 69 73 43 6f 6e 74 72 6f 6c 49 6e 64 65 78 3b 0d 0a 20 20 rolIndex.=.thisControlIndex;....
1b120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 73 46 69 72 73 74 56 61 6c ......................isFirstVal
1b140 75 65 20 3d 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ue.=.false;.....................
1b160 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 .}......................else.if.
1b180 28 63 6f 6d 70 61 72 65 72 2e 43 6f 6d 70 61 72 65 28 76 61 6c 75 65 2c 20 72 65 73 75 6c 74 29 (comparer.Compare(value,.result)
1b1a0 20 3e 20 30 29 0d 0a 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 .>.0)......................{....
1b1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 20 3d 20 76 ......................result.=.v
1b1e0 61 6c 75 65 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 alue;..........................c
1b200 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3d 20 74 68 69 73 43 6f 6e 74 72 6f 6c 49 6e 64 65 78 3b 0d ontrolIndex.=.thisControlIndex;.
1b220 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 .....................}..........
1b240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 75 74 74 6f 6e 56 61 6c 75 65 50 74 72 ..............if.(buttonValuePtr
1b260 20 21 3d 20 6e 75 6c 6c 20 26 26 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3d 3d 20 74 68 69 73 .!=.null.&&.controlIndex.==.this
1b280 43 6f 6e 74 72 6f 6c 49 6e 64 65 78 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ControlIndex)...................
1b2a0 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 20 20 20 20 76 61 ...{..........................va
1b2c0 72 20 63 6f 6e 74 72 6f 6c 20 3d 20 63 6f 6e 74 72 6f 6c 73 5b 74 68 69 73 43 6f 6e 74 72 6f 6c r.control.=.controls[thisControl
1b2e0 49 6e 64 65 78 5d 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 Index];.........................
1b300 20 69 66 20 28 63 6f 6e 74 72 6f 6c 20 69 73 20 42 75 74 74 6f 6e 43 6f 6e 74 72 6f 6c 20 62 75 .if.(control.is.ButtonControl.bu
1b320 74 74 6f 6e 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 tton)..........................{
1b340 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 20 20 20 2a 62 ..............................*b
1b360 75 74 74 6f 6e 56 61 6c 75 65 50 74 72 20 3d 20 62 75 74 74 6f 6e 2e 69 73 50 72 65 73 73 65 64 uttonValuePtr.=.button.isPressed
1b380 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 ;..........................}....
1b3a0 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 20 69 66 20 28 63 ......................else.if.(c
1b3c0 6f 6e 74 72 6f 6c 20 69 73 20 49 6e 70 75 74 43 6f 6e 74 72 6f 6c 3c 66 6c 6f 61 74 3e 29 0d 0a ontrol.is.InputControl<float>)..
1b3e0 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 20 20 20 20 20 ........................{.......
1b400 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 76 61 6c 75 65 .......................var.value
1b420 50 74 72 20 3d 20 55 6e 73 61 66 65 55 74 69 6c 69 74 79 2e 41 64 64 72 65 73 73 4f 66 28 72 65 Ptr.=.UnsafeUtility.AddressOf(re
1b440 66 20 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 20 20 20 20 20 f.value);.......................
1b460 20 20 20 20 20 20 20 2a 62 75 74 74 6f 6e 56 61 6c 75 65 50 74 72 20 3d 20 2a 28 66 6c 6f 61 74 .......*buttonValuePtr.=.*(float
1b480 2a 29 76 61 6c 75 65 50 74 72 20 3e 3d 20 42 75 74 74 6f 6e 43 6f 6e 74 72 6f 6c 2e 73 5f 47 6c *)valuePtr.>=.ButtonControl.s_Gl
1b4a0 6f 62 61 6c 44 65 66 61 75 6c 74 42 75 74 74 6f 6e 50 72 65 73 73 50 6f 69 6e 74 3b 0d 0a 20 20 obalDefaultButtonPressPoint;....
1b4c0 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 0d 0a 20 20 20 20 20 ......................}.........
1b4e0 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 45 57 3a 20 45 ...................////REVIEW:.E
1b500 61 72 6c 79 20 6f 75 74 20 68 65 72 65 20 61 73 20 73 6f 6f 6e 20 61 73 20 2a 61 6e 79 2a 20 62 arly.out.here.as.soon.as.*any*.b
1b520 75 74 74 6f 6e 20 69 73 20 70 72 65 73 73 65 64 3f 20 54 65 63 68 6e 69 63 61 6c 6c 79 2c 20 74 utton.is.pressed?.Technically,.t
1b540 68 65 20 63 6f 6d 70 61 72 65 72 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 he.comparer.....................
1b560 20 20 20 20 20 2f 2f 2f 2f 20 20 20 20 20 20 20 20 63 6f 75 6c 64 20 73 74 69 6c 6c 20 73 65 6c .....////........could.still.sel
1b580 65 63 74 20 61 20 64 69 66 66 65 72 65 6e 74 20 63 6f 6e 74 72 6f 6c 2c 20 74 68 6f 75 67 68 2e ect.a.different.control,.though.
1b5a0 2e 2e 0d 0a 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 20 20 20 ........................}.......
1b5c0 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 7d 0d 0a 0d 0a 20 ...........}..............}.....
1b5e0 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 72 65 73 75 6c 74 3b 0d 0a 20 20 20 20 20 ...........return.result;.......
1b600 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 6f 62 6a 65 63 74 20 ...}............internal.object.
1b620 52 65 61 64 56 61 6c 75 65 41 73 4f 62 6a 65 63 74 28 69 6e 74 20 62 69 6e 64 69 6e 67 49 6e 64 ReadValueAsObject(int.bindingInd
1b640 65 78 2c 20 69 6e 74 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 29 0d 0a 20 20 20 20 20 20 20 20 7b ex,.int.controlIndex)..........{
1b660 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 74 28 62 69 6e 64 69 ..............Debug.Assert(bindi
1b680 6e 67 49 6e 64 65 78 20 3e 3d 20 30 20 26 26 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 20 3c 20 74 ngIndex.>=.0.&&.bindingIndex.<.t
1b6a0 6f 74 61 6c 42 69 6e 64 69 6e 67 43 6f 75 6e 74 2c 20 22 42 69 6e 64 69 6e 67 20 69 6e 64 65 78 otalBindingCount,."Binding.index
1b6c0 20 69 73 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 .is.out.of.range");.............
1b6e0 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3e 3d 20 30 20 .Debug.Assert(controlIndex.>=.0.
1b700 26 26 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 43 6f 6e 74 72 6f 6c 43 6f &&.controlIndex.<.totalControlCo
1b720 75 6e 74 2c 20 22 43 6f 6e 74 72 6f 6c 20 69 6e 64 65 78 20 69 73 20 6f 75 74 20 6f 66 20 72 61 unt,."Control.index.is.out.of.ra
1b740 6e 67 65 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 70 75 74 43 6f 6e 74 72 nge");................InputContr
1b760 6f 6c 20 63 6f 6e 74 72 6f 6c 20 3d 20 6e 75 6c 6c 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ol.control.=.null;..............
1b780 6f 62 6a 65 63 74 20 76 61 6c 75 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 object.value;................//.
1b7a0 49 66 20 74 68 65 20 62 69 6e 64 69 6e 67 20 74 68 61 74 20 74 72 69 67 67 65 72 65 64 20 74 68 If.the.binding.that.triggered.th
1b7c0 65 20 61 63 74 69 6f 6e 20 69 73 20 70 61 72 74 20 6f 66 20 61 20 63 6f 6d 70 6f 73 69 74 65 2c e.action.is.part.of.a.composite,
1b7e0 20 6c 65 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 74 68 65 20 63 6f 6d 70 6f 73 69 .let..............//.the.composi
1b800 74 65 20 64 65 74 65 72 6d 69 6e 65 20 74 68 65 20 76 61 6c 75 65 20 77 65 20 72 65 74 75 72 6e te.determine.the.value.we.return
1b820 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 69 6e 64 69 6e 67 53 74 61 74 65 73 ...............if.(bindingStates
1b840 5b 62 69 6e 64 69 6e 67 49 6e 64 65 78 5d 2e 69 73 50 61 72 74 4f 66 43 6f 6d 70 6f 73 69 74 65 [bindingIndex].isPartOfComposite
1b860 29 20 2f 2f 2f 2f 54 4f 44 4f 3a 20 69 6e 73 74 65 61 64 2c 20 6a 75 73 74 20 68 61 76 65 20 63 ).////TODO:.instead,.just.have.c
1b880 6f 6d 70 6f 73 69 74 65 4f 72 43 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 49 6e 64 65 78 20 ompositeOrCompositeBindingIndex.
1b8a0 62 65 20 69 6e 76 61 6c 69 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 be.invalid..............{.......
1b8c0 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 49 ...........var.compositeBindingI
1b8e0 6e 64 65 78 20 3d 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 62 69 6e 64 69 6e 67 49 6e 64 65 ndex.=.bindingStates[bindingInde
1b900 78 5d 2e 63 6f 6d 70 6f 73 69 74 65 4f 72 43 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 49 6e x].compositeOrCompositeBindingIn
1b920 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 dex;..................Debug.Asse
1b940 72 74 28 63 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 49 6e 64 65 78 20 3e 3d 20 30 20 26 26 rt(compositeBindingIndex.>=.0.&&
1b960 20 63 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 49 6e 64 65 78 20 3c 20 74 6f 74 61 6c 42 69 .compositeBindingIndex.<.totalBi
1b980 6e 64 69 6e 67 43 6f 75 6e 74 2c 20 22 42 69 6e 64 69 6e 67 20 69 6e 64 65 78 20 69 73 20 6f 75 ndingCount,."Binding.index.is.ou
1b9a0 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 t.of.range");..................v
1b9c0 61 72 20 63 6f 6d 70 6f 73 69 74 65 49 6e 64 65 78 20 3d 20 62 69 6e 64 69 6e 67 53 74 61 74 65 ar.compositeIndex.=.bindingState
1b9e0 73 5b 63 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 49 6e 64 65 78 5d 2e 63 6f 6d 70 6f 73 69 s[compositeBindingIndex].composi
1ba00 74 65 4f 72 43 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 49 6e 64 65 78 3b 0d 0a 20 20 20 20 teOrCompositeBindingIndex;......
1ba20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 6f 6d 70 6f 73 69 74 65 4f 62 6a 65 63 74 20 ............var.compositeObject.
1ba40 3d 20 63 6f 6d 70 6f 73 69 74 65 73 5b 63 6f 6d 70 6f 73 69 74 65 49 6e 64 65 78 5d 3b 0d 0a 20 =.composites[compositeIndex];...
1ba60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 63 6f 6d 70 ...............Debug.Assert(comp
1ba80 6f 73 69 74 65 4f 62 6a 65 63 74 20 21 3d 20 6e 75 6c 6c 2c 20 22 43 6f 6d 70 6f 73 69 74 65 20 ositeObject.!=.null,."Composite.
1baa0 6f 62 6a 65 63 74 20 69 73 20 6e 75 6c 6c 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 object.is.null");...............
1bac0 20 20 20 20 20 76 61 72 20 63 6f 6e 74 65 78 74 20 3d 20 6e 65 77 20 49 6e 70 75 74 42 69 6e 64 .....var.context.=.new.InputBind
1bae0 69 6e 67 43 6f 6d 70 6f 73 69 74 65 43 6f 6e 74 65 78 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ingCompositeContext.............
1bb00 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 6d 5f 53 74 .....{......................m_St
1bb20 61 74 65 20 3d 20 74 68 69 73 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ate.=.this,.....................
1bb40 20 6d 5f 42 69 6e 64 69 6e 67 49 6e 64 65 78 20 3d 20 63 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 .m_BindingIndex.=.compositeBindi
1bb60 6e 67 49 6e 64 65 78 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0d 0a 0d 0a 20 ngIndex..................};.....
1bb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 3d 20 63 6f 6d 70 6f 73 69 74 65 ...............value.=.composite
1bba0 4f 62 6a 65 63 74 2e 52 65 61 64 56 61 6c 75 65 41 73 4f 62 6a 65 63 74 28 72 65 66 20 63 6f 6e Object.ReadValueAsObject(ref.con
1bbc0 74 65 78 74 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 text);..............}...........
1bbe0 20 20 20 65 6c 73 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 ...else..............{..........
1bc00 20 20 20 20 20 20 20 20 63 6f 6e 74 72 6f 6c 20 3d 20 63 6f 6e 74 72 6f 6c 73 5b 63 6f 6e 74 72 ........control.=.controls[contr
1bc20 6f 6c 49 6e 64 65 78 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 olIndex];..................Debug
1bc40 2e 41 73 73 65 72 74 28 63 6f 6e 74 72 6f 6c 20 21 3d 20 6e 75 6c 6c 2c 20 22 43 6f 6e 74 72 6f .Assert(control.!=.null,."Contro
1bc60 6c 20 69 73 20 6e 75 6c 6c 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 l.is.null");..................va
1bc80 6c 75 65 20 3d 20 63 6f 6e 74 72 6f 6c 2e 52 65 61 64 56 61 6c 75 65 41 73 4f 62 6a 65 63 74 28 lue.=.control.ReadValueAsObject(
1bca0 29 3b 0d 0a 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 );..............}...............
1bcc0 20 2f 2f 20 52 75 6e 20 76 61 6c 75 65 20 74 68 72 6f 75 67 68 20 70 72 6f 63 65 73 73 6f 72 73 .//.Run.value.through.processors
1bce0 2c 20 69 66 20 61 6e 79 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 70 72 6f 63 65 ,.if.any...............var.proce
1bd00 73 73 6f 72 43 6f 75 6e 74 20 3d 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 62 69 6e 64 69 6e ssorCount.=.bindingStates[bindin
1bd20 67 49 6e 64 65 78 5d 2e 70 72 6f 63 65 73 73 6f 72 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 gIndex].processorCount;.........
1bd40 20 20 20 20 20 69 66 20 28 70 72 6f 63 65 73 73 6f 72 43 6f 75 6e 74 20 3e 20 30 29 0d 0a 20 20 .....if.(processorCount.>.0)....
1bd60 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 76 61 72 ..........{..................var
1bd80 20 70 72 6f 63 65 73 73 6f 72 53 74 61 72 74 49 6e 64 65 78 20 3d 20 62 69 6e 64 69 6e 67 53 74 .processorStartIndex.=.bindingSt
1bda0 61 74 65 73 5b 62 69 6e 64 69 6e 67 49 6e 64 65 78 5d 2e 70 72 6f 63 65 73 73 6f 72 53 74 61 72 ates[bindingIndex].processorStar
1bdc0 74 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 76 61 tIndex;..................for.(va
1bde0 72 20 69 20 3d 20 30 3b 20 69 20 3c 20 70 72 6f 63 65 73 73 6f 72 43 6f 75 6e 74 3b 20 2b 2b 69 r.i.=.0;.i.<.processorCount;.++i
1be00 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 3d 20 70 )......................value.=.p
1be20 72 6f 63 65 73 73 6f 72 73 5b 70 72 6f 63 65 73 73 6f 72 53 74 61 72 74 49 6e 64 65 78 20 2b 20 rocessors[processorStartIndex.+.
1be40 69 5d 2e 50 72 6f 63 65 73 73 41 73 4f 62 6a 65 63 74 28 76 61 6c 75 65 2c 20 63 6f 6e 74 72 6f i].ProcessAsObject(value,.contro
1be60 6c 29 3b 0d 0a 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 l);..............}..............
1be80 20 20 72 65 74 75 72 6e 20 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 ..return.value;..........}......
1bea0 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 62 6f 6f 6c 20 52 65 61 64 56 61 6c 75 65 41 73 42 ......internal.bool.ReadValueAsB
1bec0 75 74 74 6f 6e 28 69 6e 74 20 62 69 6e 64 69 6e 67 49 6e 64 65 78 2c 20 69 6e 74 20 63 6f 6e 74 utton(int.bindingIndex,.int.cont
1bee0 72 6f 6c 49 6e 64 65 78 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 rolIndex)..........{............
1bf00 20 20 76 61 72 20 62 75 74 74 6f 6e 43 6f 6e 74 72 6f 6c 20 3d 20 64 65 66 61 75 6c 74 28 42 75 ..var.buttonControl.=.default(Bu
1bf20 74 74 6f 6e 43 6f 6e 74 72 6f 6c 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 ttonControl);..............if.(!
1bf40 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 62 69 6e 64 69 6e 67 49 6e 64 65 78 5d 2e 69 73 50 61 bindingStates[bindingIndex].isPa
1bf60 72 74 4f 66 43 6f 6d 70 6f 73 69 74 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rtOfComposite)..................
1bf80 62 75 74 74 6f 6e 43 6f 6e 74 72 6f 6c 20 3d 20 63 6f 6e 74 72 6f 6c 73 5b 63 6f 6e 74 72 6f 6c buttonControl.=.controls[control
1bfa0 49 6e 64 65 78 5d 20 61 73 20 42 75 74 74 6f 6e 43 6f 6e 74 72 6f 6c 3b 0d 0a 0d 0a 20 20 20 20 Index].as.ButtonControl;........
1bfc0 20 20 20 20 20 20 20 20 2f 2f 20 52 65 61 64 20 66 6c 6f 61 74 20 76 61 6c 75 65 2e 0d 0a 20 20 ........//.Read.float.value.....
1bfe0 20 20 20 20 20 20 20 20 20 20 76 61 72 20 66 6c 6f 61 74 56 61 6c 75 65 20 3d 20 52 65 61 64 56 ..........var.floatValue.=.ReadV
1c000 61 6c 75 65 3c 66 6c 6f 61 74 3e 28 62 69 6e 64 69 6e 67 49 6e 64 65 78 2c 20 63 6f 6e 74 72 6f alue<float>(bindingIndex,.contro
1c020 6c 49 6e 64 65 78 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 43 6f 6d 70 61 lIndex);................//.Compa
1c040 72 65 20 74 6f 20 70 72 65 73 73 20 70 6f 69 6e 74 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 re.to.press.point...............
1c060 69 66 20 28 62 75 74 74 6f 6e 43 6f 6e 74 72 6f 6c 20 21 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 if.(buttonControl.!=.null)......
1c080 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 6c 6f 61 74 56 61 6c 75 65 20 3e 3d ............return.floatValue.>=
1c0a0 20 62 75 74 74 6f 6e 43 6f 6e 74 72 6f 6c 2e 70 72 65 73 73 50 6f 69 6e 74 4f 72 44 65 66 61 75 .buttonControl.pressPointOrDefau
1c0c0 6c 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 6c 6f 61 74 56 61 6c lt;..............return.floatVal
1c0e0 75 65 20 3e 3d 20 42 75 74 74 6f 6e 43 6f 6e 74 72 6f 6c 2e 73 5f 47 6c 6f 62 61 6c 44 65 66 61 ue.>=.ButtonControl.s_GlobalDefa
1c100 75 6c 74 42 75 74 74 6f 6e 50 72 65 73 73 50 6f 69 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d ultButtonPressPoint;..........}.
1c120 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 20 ...........///.<summary>........
1c140 20 20 2f 2f 2f 20 52 65 63 6f 72 64 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 74 61 74 65 20 ..///.Records.the.current.state.
1c160 6f 66 20 61 20 73 69 6e 67 6c 65 20 69 6e 74 65 72 61 63 74 69 6f 6e 20 61 74 74 61 63 68 65 64 of.a.single.interaction.attached
1c180 20 74 6f 20 61 20 62 69 6e 64 69 6e 67 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 45 61 63 68 .to.a.binding...........///.Each
1c1a0 20 69 6e 74 65 72 61 63 74 69 6f 6e 20 6b 65 65 70 73 20 74 72 61 63 6b 20 6f 66 20 69 74 73 20 .interaction.keeps.track.of.its.
1c1c0 6f 77 6e 20 74 72 69 67 67 65 72 20 63 6f 6e 74 72 6f 6c 20 61 6e 64 20 70 68 61 73 65 20 70 72 own.trigger.control.and.phase.pr
1c1e0 6f 67 72 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 ogression...........///.</summar
1c200 79 3e 0d 0a 20 20 20 20 20 20 20 20 5b 53 74 72 75 63 74 4c 61 79 6f 75 74 28 4c 61 79 6f 75 74 y>..........[StructLayout(Layout
1c220 4b 69 6e 64 2e 45 78 70 6c 69 63 69 74 2c 20 53 69 7a 65 20 3d 20 31 32 29 5d 0d 0a 20 20 20 20 Kind.Explicit,.Size.=.12)]......
1c240 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 73 74 72 75 63 74 20 49 6e 74 65 72 61 63 74 69 6f 6e 53 ....internal.struct.InteractionS
1c260 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 5b 46 69 tate..........{..............[Fi
1c280 65 6c 64 4f 66 66 73 65 74 28 30 29 5d 20 70 72 69 76 61 74 65 20 75 73 68 6f 72 74 20 6d 5f 54 eldOffset(0)].private.ushort.m_T
1c2a0 72 69 67 67 65 72 43 6f 6e 74 72 6f 6c 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 riggerControlIndex;.............
1c2c0 20 5b 46 69 65 6c 64 4f 66 66 73 65 74 28 32 29 5d 20 70 72 69 76 61 74 65 20 62 79 74 65 20 6d .[FieldOffset(2)].private.byte.m
1c2e0 5f 50 68 61 73 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b 46 69 65 6c 64 4f 66 66 73 65 _Phase;..............[FieldOffse
1c300 74 28 33 29 5d 20 70 72 69 76 61 74 65 20 62 79 74 65 20 6d 5f 46 6c 61 67 73 3b 0d 0a 20 20 20 t(3)].private.byte.m_Flags;.....
1c320 20 20 20 20 20 20 20 20 20 5b 46 69 65 6c 64 4f 66 66 73 65 74 28 34 29 5d 20 70 72 69 76 61 74 .........[FieldOffset(4)].privat
1c340 65 20 64 6f 75 62 6c 65 20 6d 5f 53 74 61 72 74 54 69 6d 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 e.double.m_StartTime;...........
1c360 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 20 74 72 69 67 67 65 72 43 6f 6e 74 72 6f 6c 49 6e .....public.int.triggerControlIn
1c380 64 65 78 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 dex..............{..............
1c3a0 20 20 20 20 67 65 74 20 3d 3e 20 6d 5f 54 72 69 67 67 65 72 43 6f 6e 74 72 6f 6c 49 6e 64 65 78 ....get.=>.m_TriggerControlIndex
1c3c0 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 0d 0a 20 20 20 20 20 20 20 20 ;..................set..........
1c3e0 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 20 20 20 20 44 ........{......................D
1c400 65 62 75 67 2e 41 73 73 65 72 74 28 76 61 6c 75 65 20 3e 3d 20 30 20 26 26 20 76 61 6c 75 65 20 ebug.Assert(value.>=.0.&&.value.
1c420 3c 3d 20 75 73 68 6f 72 74 2e 4d 61 78 56 61 6c 75 65 2c 20 22 54 72 69 67 67 65 72 20 63 6f 6e <=.ushort.MaxValue,."Trigger.con
1c440 74 72 6f 6c 20 69 6e 64 65 78 20 69 73 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d 0a 20 trol.index.is.out.of.range");...
1c460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 76 61 6c 75 65 20 3c 20 30 ...................if.(value.<.0
1c480 20 7c 7c 20 76 61 6c 75 65 20 3e 20 75 73 68 6f 72 74 2e 4d 61 78 56 61 6c 75 65 29 0d 0a 20 20 .||.value.>.ushort.MaxValue)....
1c4a0 20 20 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 ......................throw.new.
1c4c0 4e 6f 74 53 75 70 70 6f 72 74 65 64 45 78 63 65 70 74 69 6f 6e 28 22 43 61 6e 6e 6f 74 20 68 61 NotSupportedException("Cannot.ha
1c4e0 76 65 20 6d 6f 72 65 20 74 68 61 6e 20 75 73 68 6f 72 74 2e 4d 61 78 56 61 6c 75 65 20 63 6f 6e ve.more.than.ushort.MaxValue.con
1c500 74 72 6f 6c 73 20 69 6e 20 61 20 73 69 6e 67 6c 65 20 49 6e 70 75 74 41 63 74 69 6f 6e 53 74 61 trols.in.a.single.InputActionSta
1c520 74 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 54 72 69 te");......................m_Tri
1c540 67 67 65 72 43 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3d 20 28 75 73 68 6f 72 74 29 76 61 6c 75 65 ggerControlIndex.=.(ushort)value
1c560 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 ;..................}............
1c580 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 64 6f 75 62 6c 65 ..}................public.double
1c5a0 20 73 74 61 72 74 54 69 6d 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 .startTime..............{.......
1c5c0 20 20 20 20 20 20 20 20 20 20 20 67 65 74 20 3d 3e 20 6d 5f 53 74 61 72 74 54 69 6d 65 3b 0d 0a ...........get.=>.m_StartTime;..
1c5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 20 3d 3e 20 6d 5f 53 74 61 72 74 54 69 ................set.=>.m_StartTi
1c600 6d 65 20 3d 20 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 me.=.value;..............}......
1c620 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 62 6f 6f 6c 20 69 73 54 69 6d 65 72 52 75 6e ..........public.bool.isTimerRun
1c640 6e 69 6e 67 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 ning..............{.............
1c660 20 20 20 20 20 67 65 74 20 3d 3e 20 28 28 46 6c 61 67 73 29 6d 5f 46 6c 61 67 73 20 26 20 46 6c .....get.=>.((Flags)m_Flags.&.Fl
1c680 61 67 73 2e 54 69 6d 65 72 52 75 6e 6e 69 6e 67 29 20 3d 3d 20 46 6c 61 67 73 2e 54 69 6d 65 72 ags.TimerRunning).==.Flags.Timer
1c6a0 52 75 6e 6e 69 6e 67 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 0d 0a 20 Running;..................set...
1c6c0 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 20 20 20 20 20 ...............{................
1c6e0 20 20 20 20 20 20 69 66 20 28 76 61 6c 75 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......if.(value)................
1c700 20 20 20 20 20 20 20 20 20 20 6d 5f 46 6c 61 67 73 20 7c 3d 20 28 62 79 74 65 29 46 6c 61 67 73 ..........m_Flags.|=.(byte)Flags
1c720 2e 54 69 6d 65 72 52 75 6e 6e 69 6e 67 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .TimerRunning;..................
1c740 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 7b 0d ....else......................{.
1c760 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 6d 61 73 .........................var.mas
1c780 6b 20 3d 20 7e 46 6c 61 67 73 2e 54 69 6d 65 72 52 75 6e 6e 69 6e 67 3b 0d 0a 20 20 20 20 20 20 k.=.~Flags.TimerRunning;........
1c7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 46 6c 61 67 73 20 26 3d 20 28 62 79 ..................m_Flags.&=.(by
1c7c0 74 65 29 6d 61 73 6b 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d te)mask;......................}.
1c7e0 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 20 20 .................}..............
1c800 7d 0d 0a 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 41 63 74 }................public.InputAct
1c820 69 6f 6e 50 68 61 73 65 20 70 68 61 73 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 ionPhase.phase..............{...
1c840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 20 3d 3e 20 28 49 6e 70 75 74 41 63 74 69 ...............get.=>.(InputActi
1c860 6f 6e 50 68 61 73 65 29 6d 5f 50 68 61 73 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 onPhase)m_Phase;................
1c880 20 20 73 65 74 20 3d 3e 20 6d 5f 50 68 61 73 65 20 3d 20 28 62 79 74 65 29 76 61 6c 75 65 3b 0d ..set.=>.m_Phase.=.(byte)value;.
1c8a0 0a 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 5b 46 .............}................[F
1c8c0 6c 61 67 73 5d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 65 6e 75 6d 20 lags]..............private.enum.
1c8e0 46 6c 61 67 73 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 Flags..............{............
1c900 20 20 20 20 20 20 54 69 6d 65 72 52 75 6e 6e 69 6e 67 20 3d 20 31 20 3c 3c 20 30 2c 0d 0a 20 20 ......TimerRunning.=.1.<<.0,....
1c920 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 ..........}..........}..........
1c940 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 52 75 6e ..///.<summary>..........///.Run
1c960 74 69 6d 65 20 73 74 61 74 65 20 66 6f 72 20 61 20 73 69 6e 67 6c 65 20 62 69 6e 64 69 6e 67 2e time.state.for.a.single.binding.
1c980 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 20 20 ..........///.</summary>........
1c9a0 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 43 6f 72 ..///.<remarks>..........///.Cor
1c9c0 72 65 6c 61 74 65 64 20 74 6f 20 74 68 65 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 42 related.to.the.<see.cref="InputB
1c9e0 69 6e 64 69 6e 67 22 2f 3e 20 69 74 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 62 79 20 74 inding"/>.it.corresponds.to.by.t
1ca00 68 65 20 69 6e 64 65 78 20 69 6e 20 74 68 65 20 62 69 6e 64 69 6e 67 0d 0a 20 20 20 20 20 20 20 he.index.in.the.binding.........
1ca20 20 2f 2f 2f 20 61 72 72 61 79 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 6d 61 72 .///.array...........///.</remar
1ca40 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 5b 53 74 72 75 63 74 4c 61 79 6f 75 74 28 4c 61 79 6f 75 ks>..........[StructLayout(Layou
1ca60 74 4b 69 6e 64 2e 45 78 70 6c 69 63 69 74 2c 20 53 69 7a 65 20 3d 20 32 30 29 5d 0d 0a 20 20 20 tKind.Explicit,.Size.=.20)].....
1ca80 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 73 74 72 75 63 74 20 42 69 6e 64 69 6e 67 53 74 61 74 .....internal.struct.BindingStat
1caa0 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 5b 46 69 65 6c 64 e..........{..............[Field
1cac0 4f 66 66 73 65 74 28 30 29 5d 20 70 72 69 76 61 74 65 20 62 79 74 65 20 6d 5f 43 6f 6e 74 72 6f Offset(0)].private.byte.m_Contro
1cae0 6c 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b 46 69 65 6c 64 4f 66 66 73 65 lCount;..............[FieldOffse
1cb00 74 28 31 29 5d 20 70 72 69 76 61 74 65 20 62 79 74 65 20 6d 5f 49 6e 74 65 72 61 63 74 69 6f 6e t(1)].private.byte.m_Interaction
1cb20 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b 46 69 65 6c 64 4f 66 66 73 65 74 Count;..............[FieldOffset
1cb40 28 32 29 5d 20 70 72 69 76 61 74 65 20 62 79 74 65 20 6d 5f 50 72 6f 63 65 73 73 6f 72 43 6f 75 (2)].private.byte.m_ProcessorCou
1cb60 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b 46 69 65 6c 64 4f 66 66 73 65 74 28 33 29 nt;..............[FieldOffset(3)
1cb80 5d 20 70 72 69 76 61 74 65 20 62 79 74 65 20 6d 5f 4d 61 70 49 6e 64 65 78 3b 0d 0a 20 20 20 20 ].private.byte.m_MapIndex;......
1cba0 20 20 20 20 20 20 20 20 5b 46 69 65 6c 64 4f 66 66 73 65 74 28 34 29 5d 20 70 72 69 76 61 74 65 ........[FieldOffset(4)].private
1cbc0 20 62 79 74 65 20 6d 5f 46 6c 61 67 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b 46 69 65 .byte.m_Flags;..............[Fie
1cbe0 6c 64 4f 66 66 73 65 74 28 35 29 5d 20 70 72 69 76 61 74 65 20 62 79 74 65 20 6d 5f 50 61 72 74 ldOffset(5)].private.byte.m_Part
1cc00 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b 46 69 65 6c 64 4f 66 66 73 65 74 Index;..............[FieldOffset
1cc20 28 36 29 5d 20 70 72 69 76 61 74 65 20 75 73 68 6f 72 74 20 6d 5f 41 63 74 69 6f 6e 49 6e 64 65 (6)].private.ushort.m_ActionInde
1cc40 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b 46 69 65 6c 64 4f 66 66 73 65 74 28 38 29 5d x;..............[FieldOffset(8)]
1cc60 20 70 72 69 76 61 74 65 20 75 73 68 6f 72 74 20 6d 5f 43 6f 6d 70 6f 73 69 74 65 4f 72 43 6f 6d .private.ushort.m_CompositeOrCom
1cc80 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 positeBindingIndex;.............
1cca0 20 5b 46 69 65 6c 64 4f 66 66 73 65 74 28 31 30 29 5d 20 70 72 69 76 61 74 65 20 75 73 68 6f 72 .[FieldOffset(10)].private.ushor
1ccc0 74 20 6d 5f 50 72 6f 63 65 73 73 6f 72 53 74 61 72 74 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 t.m_ProcessorStartIndex;........
1cce0 20 20 20 20 20 20 5b 46 69 65 6c 64 4f 66 66 73 65 74 28 31 32 29 5d 20 70 72 69 76 61 74 65 20 ......[FieldOffset(12)].private.
1cd00 75 73 68 6f 72 74 20 6d 5f 49 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 72 74 49 6e 64 65 78 3b 0d ushort.m_InteractionStartIndex;.
1cd20 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b 46 69 65 6c 64 4f 66 66 73 65 74 28 31 34 29 5d 20 70 .............[FieldOffset(14)].p
1cd40 72 69 76 61 74 65 20 75 73 68 6f 72 74 20 6d 5f 43 6f 6e 74 72 6f 6c 53 74 61 72 74 49 6e 64 65 rivate.ushort.m_ControlStartInde
1cd60 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b 46 69 65 6c 64 4f 66 66 73 65 74 28 31 36 29 x;..............[FieldOffset(16)
1cd80 5d 20 70 72 69 76 61 74 65 20 69 6e 74 20 6d 5f 54 72 69 67 67 65 72 45 76 65 6e 74 49 64 46 6f ].private.int.m_TriggerEventIdFo
1cda0 72 43 6f 6d 70 6f 73 69 74 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b 46 6c 61 67 rComposite;................[Flag
1cdc0 73 5d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 65 6e 75 6d 20 46 6c 61 67 s]..............public.enum.Flag
1cde0 73 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 s..............{................
1ce00 20 20 43 68 61 69 6e 73 57 69 74 68 4e 65 78 74 20 3d 20 31 20 3c 3c 20 30 2c 0d 0a 20 20 20 20 ..ChainsWithNext.=.1.<<.0,......
1ce20 20 20 20 20 20 20 20 20 20 20 20 20 45 6e 64 4f 66 43 68 61 69 6e 20 3d 20 31 20 3c 3c 20 31 2c ............EndOfChain.=.1.<<.1,
1ce40 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 6f 6d 70 6f 73 69 74 65 20 3d 20 31 20 ..................Composite.=.1.
1ce60 3c 3c 20 32 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 72 74 4f 66 43 6f 6d <<.2,..................PartOfCom
1ce80 70 6f 73 69 74 65 20 3d 20 31 20 3c 3c 20 33 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 posite.=.1.<<.3,................
1cea0 20 20 49 6e 69 74 69 61 6c 53 74 61 74 65 43 68 65 63 6b 50 65 6e 64 69 6e 67 20 3d 20 31 20 3c ..InitialStateCheckPending.=.1.<
1cec0 3c 20 34 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 61 6e 74 73 49 6e 69 74 69 <.4,..................WantsIniti
1cee0 61 6c 53 74 61 74 65 43 68 65 63 6b 20 3d 20 31 20 3c 3c 20 35 2c 0d 0a 20 20 20 20 20 20 20 20 alStateCheck.=.1.<<.5,..........
1cf00 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 ....}................///.<summar
1cf20 79 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 49 6e 64 65 78 20 69 6e 74 6f 20 3c y>..............///.Index.into.<
1cf40 73 65 65 20 63 72 65 66 3d 22 63 6f 6e 74 72 6f 6c 73 22 2f 3e 20 6f 66 20 66 69 72 73 74 20 63 see.cref="controls"/>.of.first.c
1cf60 6f 6e 74 72 6f 6c 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 65 20 62 69 6e 64 69 ontrol.associated.with.the.bindi
1cf80 6e 67 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d ng...............///.</summary>.
1cfa0 0a 20 20 20 20 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 .............///.<remarks>......
1cfc0 20 20 20 20 20 20 20 20 2f 2f 2f 20 46 6f 72 20 63 6f 6d 70 6f 73 69 74 65 73 2c 20 74 68 69 73 ........///.For.composites,.this
1cfe0 20 69 73 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 63 6f 6e 74 72 .is.the.index.of.the.first.contr
1d000 6f 6c 20 74 68 61 74 20 69 73 20 62 6f 75 6e 64 20 62 79 20 61 6e 79 20 6f 66 20 74 68 65 20 70 ol.that.is.bound.by.any.of.the.p
1d020 61 72 74 73 20 69 6e 20 74 68 65 20 63 6f 6d 70 6f 73 69 74 65 2e 0d 0a 20 20 20 20 20 20 20 20 arts.in.the.composite...........
1d040 20 20 20 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 20 20 20 20 ....///.</remarks>..............
1d060 70 75 62 6c 69 63 20 69 6e 74 20 63 6f 6e 74 72 6f 6c 53 74 61 72 74 49 6e 64 65 78 0d 0a 20 20 public.int.controlStartIndex....
1d080 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 67 65 74 ..........{..................get
1d0a0 20 3d 3e 20 6d 5f 43 6f 6e 74 72 6f 6c 53 74 61 72 74 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 .=>.m_ControlStartIndex;........
1d0c0 20 20 20 20 20 20 20 20 20 20 73 65 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b ..........set..................{
1d0e0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 ......................Debug.Asse
1d100 72 74 28 76 61 6c 75 65 20 21 3d 20 6b 49 6e 76 61 6c 69 64 49 6e 64 65 78 2c 20 22 43 6f 6e 74 rt(value.!=.kInvalidIndex,."Cont
1d120 72 6f 6c 20 73 74 61 74 65 20 69 6e 64 65 78 20 69 73 20 69 6e 76 61 6c 69 64 22 29 3b 0d 0a 20 rol.state.index.is.invalid");...
1d140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 76 61 6c 75 65 20 3e 3d 20 ...................if.(value.>=.
1d160 75 73 68 6f 72 74 2e 4d 61 78 56 61 6c 75 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ushort.MaxValue)................
1d180 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 4e 6f 74 53 75 70 70 6f 72 74 65 64 ..........throw.new.NotSupported
1d1a0 45 78 63 65 70 74 69 6f 6e 28 22 54 6f 74 61 6c 20 63 6f 6e 74 72 6f 6c 20 63 6f 75 6e 74 20 69 Exception("Total.control.count.i
1d1c0 6e 20 73 74 61 74 65 20 63 61 6e 6e 6f 74 20 65 78 63 65 65 64 20 62 79 74 65 2e 4d 61 78 56 61 n.state.cannot.exceed.byte.MaxVa
1d1e0 6c 75 65 3d 22 20 2b 20 75 73 68 6f 72 74 2e 4d 61 78 56 61 6c 75 65 29 3b 0d 0a 20 20 20 20 20 lue=".+.ushort.MaxValue);.......
1d200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 43 6f 6e 74 72 6f 6c 53 74 61 72 74 49 6e 64 ...............m_ControlStartInd
1d220 65 78 20 3d 20 28 75 73 68 6f 72 74 29 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ex.=.(ushort)value;.............
1d240 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 .....}..............}...........
1d260 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 20 20 20 20 .....///.<summary>..............
1d280 2f 2f 2f 20 4e 75 6d 62 65 72 20 6f 66 20 63 6f 6e 74 72 6f 6c 73 20 61 73 73 6f 63 69 61 74 65 ///.Number.of.controls.associate
1d2a0 64 20 77 69 74 68 20 74 68 69 73 20 62 69 6e 64 69 6e 67 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 d.with.this.binding.............
1d2c0 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 20 20 20 20 2f 2f ..///.</summary>..............//
1d2e0 2f 20 3c 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 46 6f 72 /.<remarks>..............///.For
1d300 20 63 6f 6d 70 6f 73 69 74 65 73 2c 20 74 68 69 73 20 69 73 20 74 68 65 20 74 6f 74 61 6c 20 6e .composites,.this.is.the.total.n
1d320 75 6d 62 65 72 20 6f 66 20 63 6f 6e 74 72 6f 6c 73 20 62 6f 75 6e 64 20 62 79 20 61 6c 6c 20 70 umber.of.controls.bound.by.all.p
1d340 61 72 74 73 20 6f 66 20 74 68 65 20 63 6f 6d 70 6f 73 69 74 65 20 63 6f 6d 62 69 6e 65 64 2e 0d arts.of.the.composite.combined..
1d360 0a 20 20 20 20 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 20 20 .............///.</remarks>.....
1d380 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 20 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 .........public.int.controlCount
1d3a0 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 20 ..............{.................
1d3c0 20 67 65 74 20 3d 3e 20 6d 5f 43 6f 6e 74 72 6f 6c 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 .get.=>.m_ControlCount;.........
1d3e0 20 20 20 20 20 20 20 20 20 73 65 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d .........set..................{.
1d400 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 76 61 6c 75 65 20 3e .....................if.(value.>
1d420 3d 20 62 79 74 65 2e 4d 61 78 56 61 6c 75 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 =.byte.MaxValue)................
1d440 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 4e 6f 74 53 75 70 70 6f 72 74 65 64 ..........throw.new.NotSupported
1d460 45 78 63 65 70 74 69 6f 6e 28 22 43 6f 6e 74 72 6f 6c 20 63 6f 75 6e 74 20 70 65 72 20 62 69 6e Exception("Control.count.per.bin
1d480 64 69 6e 67 20 63 61 6e 6e 6f 74 20 65 78 63 65 65 64 20 62 79 74 65 2e 4d 61 78 56 61 6c 75 65 ding.cannot.exceed.byte.MaxValue
1d4a0 3d 22 20 2b 20 62 79 74 65 2e 4d 61 78 56 61 6c 75 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 =".+.byte.MaxValue);............
1d4c0 20 20 20 20 20 20 20 20 20 20 6d 5f 43 6f 6e 74 72 6f 6c 43 6f 75 6e 74 20 3d 20 28 62 79 74 65 ..........m_ControlCount.=.(byte
1d4e0 29 76 61 6c 75 65 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 )value;..................}......
1d500 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 2f 2f 2f 20 3c 73 75 ........}................///.<su
1d520 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 49 6e 64 65 78 20 69 6e mmary>..............///.Index.in
1d540 74 6f 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 41 63 74 69 6f 6e 53 74 61 74 65 2e 69 to.<see.cref="InputActionState.i
1d560 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 74 65 73 22 2f 3e 20 6f 66 20 66 69 72 73 74 20 69 6e 74 nteractionStates"/>.of.first.int
1d580 65 72 61 63 74 69 6f 6e 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 65 20 62 69 6e eraction.associated.with.the.bin
1d5a0 64 69 6e 67 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 ding...............///.</summary
1d5c0 3e 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 69 6e 74 65 72 61 >..............public.int.intera
1d5e0 63 74 69 6f 6e 53 74 61 72 74 49 6e 64 65 78 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a ctionStartIndex..............{..
1d600 20 20 20 20 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.............
1d620 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 69 66 20 28 .....{......................if.(
1d640 6d 5f 49 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 72 74 49 6e 64 65 78 20 3d 3d 20 75 73 68 6f 72 m_InteractionStartIndex.==.ushor
1d660 74 2e 4d 61 78 56 61 6c 75 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.MaxValue).....................
1d680 20 20 20 20 20 72 65 74 75 72 6e 20 6b 49 6e 76 61 6c 69 64 49 6e 64 65 78 3b 0d 0a 20 20 20 20 .....return.kInvalidIndex;......
1d6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 5f 49 6e 74 65 72 61 63 ................return.m_Interac
1d6c0 74 69 6f 6e 53 74 61 72 74 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tionStartIndex;.................
1d6e0 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 0d 0a 20 20 20 20 20 20 20 .}..................set.........
1d700 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 20 20 20 20 .........{......................
1d720 69 66 20 28 76 61 6c 75 65 20 3d 3d 20 6b 49 6e 76 61 6c 69 64 49 6e 64 65 78 29 0d 0a 20 20 20 if.(value.==.kInvalidIndex).....
1d740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 49 6e 74 65 72 61 63 74 69 .....................m_Interacti
1d760 6f 6e 53 74 61 72 74 49 6e 64 65 78 20 3d 20 75 73 68 6f 72 74 2e 4d 61 78 56 61 6c 75 65 3b 0d onStartIndex.=.ushort.MaxValue;.
1d780 0a 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 20 .....................else.......
1d7a0 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 20 20 20 20 20 ...............{................
1d7c0 20 20 20 20 20 20 20 20 20 20 69 66 20 28 76 61 6c 75 65 20 3e 3d 20 75 73 68 6f 72 74 2e 4d 61 ..........if.(value.>=.ushort.Ma
1d7e0 78 56 61 6c 75 65 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 xValue).........................
1d800 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 4e 6f 74 53 75 70 70 6f 72 74 65 64 45 78 63 65 70 .....throw.new.NotSupportedExcep
1d820 74 69 6f 6e 28 22 49 6e 74 65 72 61 63 74 69 6f 6e 20 63 6f 75 6e 74 20 63 61 6e 6e 6f 74 20 65 tion("Interaction.count.cannot.e
1d840 78 63 65 65 64 20 75 73 68 6f 72 74 2e 4d 61 78 56 61 6c 75 65 3d 22 20 2b 20 75 73 68 6f 72 74 xceed.ushort.MaxValue=".+.ushort
1d860 2e 4d 61 78 56 61 6c 75 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .MaxValue);.....................
1d880 20 20 20 20 20 6d 5f 49 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 72 74 49 6e 64 65 78 20 3d 20 28 .....m_InteractionStartIndex.=.(
1d8a0 75 73 68 6f 72 74 29 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ushort)value;...................
1d8c0 20 20 20 7d 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 ...}..................}.........
1d8e0 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 .....}................///.<summa
1d900 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 4e 75 6d 62 65 72 20 6f 66 20 69 ry>..............///.Number.of.i
1d920 6e 74 65 72 61 63 74 69 6f 6e 73 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 69 73 nteractions.associated.with.this
1d940 20 62 69 6e 64 69 6e 67 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d .binding...............///.</sum
1d960 6d 61 72 79 3e 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 69 6e mary>..............public.int.in
1d980 74 65 72 61 63 74 69 6f 6e 43 6f 75 6e 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 teractionCount..............{...
1d9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 20 3d 3e 20 6d 5f 49 6e 74 65 72 61 63 74 ...............get.=>.m_Interact
1d9c0 69 6f 6e 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 0d 0a ionCount;..................set..
1d9e0 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 20 20 20 20 ................{...............
1da00 20 20 20 20 20 20 20 69 66 20 28 76 61 6c 75 65 20 3e 3d 20 62 79 74 65 2e 4d 61 78 56 61 6c 75 .......if.(value.>=.byte.MaxValu
1da20 65 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 74 68 72 6f e)..........................thro
1da40 77 20 6e 65 77 20 4e 6f 74 53 75 70 70 6f 72 74 65 64 45 78 63 65 70 74 69 6f 6e 28 22 49 6e 74 w.new.NotSupportedException("Int
1da60 65 72 61 63 74 69 6f 6e 20 63 6f 75 6e 74 20 70 65 72 20 62 69 6e 64 69 6e 67 20 63 61 6e 6e 6f eraction.count.per.binding.canno
1da80 74 20 65 78 63 65 65 64 20 62 79 74 65 2e 4d 61 78 56 61 6c 75 65 3d 22 20 2b 20 62 79 74 65 2e t.exceed.byte.MaxValue=".+.byte.
1daa0 4d 61 78 56 61 6c 75 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 MaxValue);......................
1dac0 6d 5f 49 6e 74 65 72 61 63 74 69 6f 6e 43 6f 75 6e 74 20 3d 20 28 62 79 74 65 29 76 61 6c 75 65 m_InteractionCount.=.(byte)value
1dae0 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 ;..................}............
1db00 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 69 6e 74 20 70 72 ..}................public.int.pr
1db20 6f 63 65 73 73 6f 72 53 74 61 72 74 49 6e 64 65 78 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b ocessorStartIndex..............{
1db40 0d 0a 20 20 20 20 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 ..................get...........
1db60 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 20 20 20 20 69 66 .......{......................if
1db80 20 28 6d 5f 50 72 6f 63 65 73 73 6f 72 53 74 61 72 74 49 6e 64 65 78 20 3d 3d 20 75 73 68 6f 72 .(m_ProcessorStartIndex.==.ushor
1dba0 74 2e 4d 61 78 56 61 6c 75 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.MaxValue).....................
1dbc0 20 20 20 20 20 72 65 74 75 72 6e 20 6b 49 6e 76 61 6c 69 64 49 6e 64 65 78 3b 0d 0a 20 20 20 20 .....return.kInvalidIndex;......
1dbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 5f 50 72 6f 63 65 73 73 ................return.m_Process
1dc00 6f 72 53 74 61 72 74 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d orStartIndex;..................}
1dc20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 0d 0a 20 20 20 20 20 20 20 20 20 ..................set...........
1dc40 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 20 20 20 20 69 66 .......{......................if
1dc60 20 28 76 61 6c 75 65 20 3d 3d 20 6b 49 6e 76 61 6c 69 64 49 6e 64 65 78 29 0d 0a 20 20 20 20 20 .(value.==.kInvalidIndex).......
1dc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 50 72 6f 63 65 73 73 6f 72 53 74 ...................m_ProcessorSt
1dca0 61 72 74 49 6e 64 65 78 20 3d 20 75 73 68 6f 72 74 2e 4d 61 78 56 61 6c 75 65 3b 0d 0a 20 20 20 artIndex.=.ushort.MaxValue;.....
1dcc0 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 20 20 20 20 20 .................else...........
1dce0 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 20 20 ...........{....................
1dd00 20 20 20 20 20 20 69 66 20 28 76 61 6c 75 65 20 3e 3d 20 75 73 68 6f 72 74 2e 4d 61 78 56 61 6c ......if.(value.>=.ushort.MaxVal
1dd20 75 65 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 20 20 20 ue).............................
1dd40 20 74 68 72 6f 77 20 6e 65 77 20 4e 6f 74 53 75 70 70 6f 72 74 65 64 45 78 63 65 70 74 69 6f 6e .throw.new.NotSupportedException
1dd60 28 22 50 72 6f 63 65 73 73 6f 72 20 63 6f 75 6e 74 20 63 61 6e 6e 6f 74 20 65 78 63 65 65 64 20 ("Processor.count.cannot.exceed.
1dd80 75 73 68 6f 72 74 2e 4d 61 78 56 61 6c 75 65 3d 22 20 2b 20 75 73 68 6f 72 74 2e 4d 61 78 56 61 ushort.MaxValue=".+.ushort.MaxVa
1dda0 6c 75 65 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 6d lue);..........................m
1ddc0 5f 50 72 6f 63 65 73 73 6f 72 53 74 61 72 74 49 6e 64 65 78 20 3d 20 28 75 73 68 6f 72 74 29 76 _ProcessorStartIndex.=.(ushort)v
1dde0 61 6c 75 65 3b 0d 0a 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 alue;......................}....
1de00 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 20 20 7d 0d 0a ..............}..............}..
1de20 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 70 72 6f 63 65 73 73 ..............public.int.process
1de40 6f 72 43 6f 75 6e 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 orCount..............{..........
1de60 20 20 20 20 20 20 20 20 67 65 74 20 3d 3e 20 6d 5f 50 72 6f 63 65 73 73 6f 72 43 6f 75 6e 74 3b ........get.=>.m_ProcessorCount;
1de80 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 0d 0a 20 20 20 20 20 20 20 20 20 ..................set...........
1dea0 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 20 20 20 20 69 66 .......{......................if
1dec0 20 28 76 61 6c 75 65 20 3e 3d 20 62 79 74 65 2e 4d 61 78 56 61 6c 75 65 29 0d 0a 20 20 20 20 20 .(value.>=.byte.MaxValue).......
1dee0 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 4e 6f 74 ...................throw.new.Not
1df00 53 75 70 70 6f 72 74 65 64 45 78 63 65 70 74 69 6f 6e 28 22 50 72 6f 63 65 73 73 6f 72 20 63 6f SupportedException("Processor.co
1df20 75 6e 74 20 70 65 72 20 62 69 6e 64 69 6e 67 20 63 61 6e 6e 6f 74 20 65 78 63 65 65 64 20 62 79 unt.per.binding.cannot.exceed.by
1df40 74 65 2e 4d 61 78 56 61 6c 75 65 3d 22 20 2b 20 62 79 74 65 2e 4d 61 78 56 61 6c 75 65 29 3b 0d te.MaxValue=".+.byte.MaxValue);.
1df60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 50 72 6f 63 65 73 73 6f 72 .....................m_Processor
1df80 43 6f 75 6e 74 20 3d 20 28 62 79 74 65 29 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 Count.=.(byte)value;............
1dfa0 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 ......}..............}..........
1dfc0 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 20 20 20 ......///.<summary>.............
1dfe0 20 2f 2f 2f 20 49 6e 64 65 78 20 6f 66 20 74 68 65 20 61 63 74 69 6f 6e 20 62 65 69 6e 67 20 74 .///.Index.of.the.action.being.t
1e000 72 69 67 67 65 72 65 64 20 62 79 20 74 68 65 20 62 69 6e 64 69 6e 67 20 28 69 66 20 61 6e 79 29 riggered.by.the.binding.(if.any)
1e020 2e 0d 0a 20 20 20 20 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 ...............///.</summary>...
1e040 20 20 20 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 ...........///.<remarks>........
1e060 20 20 20 20 20 20 2f 2f 2f 20 46 6f 72 20 62 69 6e 64 69 6e 67 73 20 74 68 61 74 20 64 6f 6e 27 ......///.For.bindings.that.don'
1e080 74 20 74 72 69 67 67 65 72 20 61 63 74 69 6f 6e 73 2c 20 74 68 69 73 20 69 73 20 3c 73 65 65 20 t.trigger.actions,.this.is.<see.
1e0a0 63 72 65 66 3d 22 6b 49 6e 76 61 6c 69 64 49 6e 64 65 78 22 2f 3e 2e 0d 0a 20 20 20 20 20 20 20 cref="kInvalidIndex"/>..........
1e0c0 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 46 6f 72 20 62 69 .....///..............///.For.bi
1e0e0 6e 64 69 6e 67 73 20 74 68 61 74 20 61 72 65 20 70 61 72 74 20 6f 66 20 61 20 63 6f 6d 70 6f 73 ndings.that.are.part.of.a.compos
1e100 69 74 65 2c 20 77 65 20 66 6f 72 63 65 20 74 68 69 73 20 74 6f 20 62 65 20 74 68 65 20 61 63 74 ite,.we.force.this.to.be.the.act
1e120 69 6f 6e 20 73 65 74 20 6f 6e 20 74 68 65 20 63 6f 6d 70 6f 73 69 74 65 20 69 74 73 65 6c 66 2e ion.set.on.the.composite.itself.
1e140 0d 0a 20 20 20 20 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 20 ..............///.</remarks>....
1e160 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 20 61 63 74 69 6f 6e 49 6e 64 65 78 ..........public.int.actionIndex
1e180 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 20 ..............{.................
1e1a0 20 67 65 74 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 .get..................{.........
1e1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 41 63 74 69 6f 6e 49 6e 64 65 78 20 3d .............if.(m_ActionIndex.=
1e1e0 3d 20 75 73 68 6f 72 74 2e 4d 61 78 56 61 6c 75 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 =.ushort.MaxValue)..............
1e200 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6b 49 6e 76 61 6c 69 64 49 6e 64 65 78 ............return.kInvalidIndex
1e220 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 5f ;......................return.m_
1e240 41 63 74 69 6f 6e 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d ActionIndex;..................}.
1e260 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 0d 0a 20 20 20 20 20 20 20 20 20 20 .................set............
1e280 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 69 66 20 ......{......................if.
1e2a0 28 76 61 6c 75 65 20 3d 3d 20 6b 49 6e 76 61 6c 69 64 49 6e 64 65 78 29 0d 0a 20 20 20 20 20 20 (value.==.kInvalidIndex)........
1e2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 41 63 74 69 6f 6e 49 6e 64 65 78 20 ..................m_ActionIndex.
1e2e0 3d 20 75 73 68 6f 72 74 2e 4d 61 78 56 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 =.ushort.MaxValue;..............
1e300 20 20 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 ........else....................
1e320 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 20 20 20 20 69 66 20 ..{..........................if.
1e340 28 76 61 6c 75 65 20 3e 3d 20 75 73 68 6f 72 74 2e 4d 61 78 56 61 6c 75 65 29 0d 0a 20 20 20 20 (value.>=.ushort.MaxValue)......
1e360 20 20 20 20 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 ........................throw.ne
1e380 77 20 4e 6f 74 53 75 70 70 6f 72 74 65 64 45 78 63 65 70 74 69 6f 6e 28 22 41 63 74 69 6f 6e 20 w.NotSupportedException("Action.
1e3a0 63 6f 75 6e 74 20 63 61 6e 6e 6f 74 20 65 78 63 65 65 64 20 75 73 68 6f 72 74 2e 4d 61 78 56 61 count.cannot.exceed.ushort.MaxVa
1e3c0 6c 75 65 3d 22 20 2b 20 75 73 68 6f 72 74 2e 4d 61 78 56 61 6c 75 65 29 3b 0d 0a 20 20 20 20 20 lue=".+.ushort.MaxValue);.......
1e3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 41 63 74 69 6f 6e 49 6e 64 65 78 ...................m_ActionIndex
1e400 20 3d 20 28 75 73 68 6f 72 74 29 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .=.(ushort)value;...............
1e420 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 7d 0d 0a 20 20 20 .......}..................}.....
1e440 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 70 75 62 6c 69 63 .........}................public
1e460 20 69 6e 74 20 6d 61 70 49 6e 64 65 78 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 .int.mapIndex..............{....
1e480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 20 3d 3e 20 6d 5f 4d 61 70 49 6e 64 65 78 3b ..............get.=>.m_MapIndex;
1e4a0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 0d 0a 20 20 20 20 20 20 20 20 20 ..................set...........
1e4c0 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 20 20 20 20 44 65 .......{......................De
1e4e0 62 75 67 2e 41 73 73 65 72 74 28 76 61 6c 75 65 20 21 3d 20 6b 49 6e 76 61 6c 69 64 49 6e 64 65 bug.Assert(value.!=.kInvalidInde
1e500 78 2c 20 22 4d 61 70 20 69 6e 64 65 78 20 69 73 20 69 6e 76 61 6c 69 64 22 29 3b 0d 0a 20 20 20 x,."Map.index.is.invalid");.....
1e520 20 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 3e 3d 20 62 79 .................if.(value.>=.by
1e540 74 65 2e 4d 61 78 56 61 6c 75 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 te.MaxValue)....................
1e560 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 4e 6f 74 53 75 70 70 6f 72 74 65 64 45 78 63 65 ......throw.new.NotSupportedExce
1e580 70 74 69 6f 6e 28 22 4d 61 70 20 63 6f 75 6e 74 20 63 61 6e 6e 6f 74 20 65 78 63 65 65 64 20 62 ption("Map.count.cannot.exceed.b
1e5a0 79 74 65 2e 4d 61 78 56 61 6c 75 65 3d 22 20 2b 20 62 79 74 65 2e 4d 61 78 56 61 6c 75 65 29 3b yte.MaxValue=".+.byte.MaxValue);
1e5c0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 4d 61 70 49 6e 64 65 78 ......................m_MapIndex
1e5e0 20 3d 20 28 62 79 74 65 29 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .=.(byte)value;.................
1e600 20 7d 0d 0a 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 .}..............}...............
1e620 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 .///.<summary>..............///.
1e640 49 66 20 74 68 69 73 20 69 73 20 61 20 63 6f 6d 70 6f 73 69 74 65 20 62 69 6e 64 69 6e 67 2c 20 If.this.is.a.composite.binding,.
1e660 74 68 69 73 20 69 73 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 63 6f 6d 70 6f 73 69 this.is.the.index.of.the.composi
1e680 74 65 20 69 6e 20 3c 73 65 65 20 63 72 65 66 3d 22 63 6f 6d 70 6f 73 69 74 65 73 22 2f 3e 2e 0d te.in.<see.cref="composites"/>..
1e6a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 49 66 20 74 68 65 20 62 69 6e 64 69 6e 67 20 .............///.If.the.binding.
1e6c0 69 73 20 70 61 72 74 20 6f 66 20 61 20 63 6f 6d 70 6f 73 69 74 65 2c 20 74 68 69 73 20 69 73 20 is.part.of.a.composite,.this.is.
1e6e0 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 62 69 6e 64 69 6e 67 20 74 68 61 74 20 69 73 the.index.of.the.binding.that.is
1e700 20 74 68 65 20 63 6f 6d 70 6f 73 69 74 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f .the.composite...............///
1e720 20 49 66 20 74 68 65 20 62 69 6e 64 69 6e 67 20 69 73 20 6e 65 69 74 68 65 72 20 61 20 63 6f 6d .If.the.binding.is.neither.a.com
1e740 70 6f 73 69 74 65 20 6e 6f 72 20 70 61 72 74 20 6f 66 20 61 20 63 6f 6d 70 6f 73 69 74 65 2c 20 posite.nor.part.of.a.composite,.
1e760 74 68 69 73 20 69 73 20 3c 73 65 65 20 63 72 65 66 3d 22 6b 49 6e 76 61 6c 69 64 49 6e 64 65 78 this.is.<see.cref="kInvalidIndex
1e780 22 2f 3e 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e "/>...............///.</summary>
1e7a0 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 63 6f 6d 70 6f 73 69 ..............public.int.composi
1e7c0 74 65 4f 72 43 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 49 6e 64 65 78 0d 0a 20 20 20 20 20 teOrCompositeBindingIndex.......
1e7e0 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 67 65 74 0d 0a 20 .......{..................get...
1e800 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 20 20 20 20 20 ...............{................
1e820 20 20 20 20 20 20 69 66 20 28 6d 5f 43 6f 6d 70 6f 73 69 74 65 4f 72 43 6f 6d 70 6f 73 69 74 65 ......if.(m_CompositeOrComposite
1e840 42 69 6e 64 69 6e 67 49 6e 64 65 78 20 3d 3d 20 75 73 68 6f 72 74 2e 4d 61 78 56 61 6c 75 65 29 BindingIndex.==.ushort.MaxValue)
1e860 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 72 65 74 75 72 6e ..........................return
1e880 20 6b 49 6e 76 61 6c 69 64 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .kInvalidIndex;.................
1e8a0 20 20 20 20 20 72 65 74 75 72 6e 20 6d 5f 43 6f 6d 70 6f 73 69 74 65 4f 72 43 6f 6d 70 6f 73 69 .....return.m_CompositeOrComposi
1e8c0 74 65 42 69 6e 64 69 6e 67 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 teBindingIndex;.................
1e8e0 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 0d 0a 20 20 20 20 20 20 20 .}..................set.........
1e900 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 20 20 20 20 .........{......................
1e920 69 66 20 28 76 61 6c 75 65 20 3d 3d 20 6b 49 6e 76 61 6c 69 64 49 6e 64 65 78 29 0d 0a 20 20 20 if.(value.==.kInvalidIndex).....
1e940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 43 6f 6d 70 6f 73 69 74 65 .....................m_Composite
1e960 4f 72 43 6f 6d 70 6f 73 69 74 65 42 69 6e 64 69 6e 67 49 6e 64 65 78 20 3d 20 75 73 68 6f 72 74 OrCompositeBindingIndex.=.ushort
1e980 2e 4d 61 78 56 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .MaxValue;......................
1e9a0 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 7b 0d 0a 20 20 20 else......................{.....
1e9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 76 61 6c 75 65 20 3e .....................if.(value.>
1e9e0 3d 20 75 73 68 6f 72 74 2e 4d 61 78 56 61 6c 75 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 =.ushort.MaxValue)..............
1ea00 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 4e 6f 74 53 75 70 ................throw.new.NotSup
1ea20 70 6f 72 74 65 64 45 78 63 65 70 74 69 6f 6e 28 22 43 6f 6d 70 6f 73 69 74 65 20 63 6f 75 6e 74 portedException("Composite.count
1ea40 20 63 61 6e 6e 6f 74 20 65 78 63 65 65 64 20 75 73 68 6f 72 74 2e 4d 61 78 56 61 6c 75 65 3d 22 .cannot.exceed.ushort.MaxValue="
1ea60 20 2b 20 75 73 68 6f 72 74 2e 4d 61 78 56 61 6c 75 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 .+.ushort.MaxValue);............
1ea80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 43 6f 6d 70 6f 73 69 74 65 4f 72 43 6f 6d 70 6f ..............m_CompositeOrCompo
1eaa0 73 69 74 65 42 69 6e 64 69 6e 67 49 6e 64 65 78 20 3d 20 28 75 73 68 6f 72 74 29 76 61 6c 75 65 siteBindingIndex.=.(ushort)value
1eac0 3b 0d 0a 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 20 20 20 20 ;......................}........
1eae0 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 7d 0d 0a 0d 0a 20 20 ..........}..............}......
1eb00 20 20 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>.........
1eb20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 45 76 65 6e 74 2e 65 .....///.<see.cref="InputEvent.e
1eb40 76 65 6e 74 49 64 22 3e 49 44 3c 2f 73 65 65 3e 20 6f 66 20 74 68 65 20 65 76 65 6e 74 20 74 68 ventId">ID</see>.of.the.event.th
1eb60 61 74 20 6c 61 73 74 20 74 72 69 67 67 65 72 65 64 20 74 68 65 20 62 69 6e 64 69 6e 67 2e 0d 0a at.last.triggered.the.binding...
1eb80 20 20 20 20 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 ............///.</summary>......
1eba0 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 20 ........///.<remarks>...........
1ebc0 20 20 20 2f 2f 2f 20 57 65 20 6f 6e 6c 79 20 73 74 6f 72 65 20 74 68 69 73 20 66 6f 72 20 63 6f ...///.We.only.store.this.for.co
1ebe0 6d 70 6f 73 69 74 65 73 20 41 54 4d 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c mposites.ATM...............///.<
1ec00 2f 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e /remarks>..............public.in
1ec20 74 20 74 72 69 67 67 65 72 45 76 65 6e 74 49 64 46 6f 72 43 6f 6d 70 6f 73 69 74 65 0d 0a 20 20 t.triggerEventIdForComposite....
1ec40 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 67 65 74 ..........{..................get
1ec60 20 3d 3e 20 6d 5f 54 72 69 67 67 65 72 45 76 65 6e 74 49 64 46 6f 72 43 6f 6d 70 6f 73 69 74 65 .=>.m_TriggerEventIdForComposite
1ec80 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 20 3d 3e 20 6d 5f 54 72 69 67 ;..................set.=>.m_Trig
1eca0 67 65 72 45 76 65 6e 74 49 64 46 6f 72 43 6f 6d 70 6f 73 69 74 65 20 3d 20 76 61 6c 75 65 3b 0d gerEventIdForComposite.=.value;.
1ecc0 0a 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 70 75 .............}................pu
1ece0 62 6c 69 63 20 46 6c 61 67 73 20 66 6c 61 67 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d blic.Flags.flags..............{.
1ed00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 20 3d 3e 20 28 46 6c 61 67 73 29 6d .................get.=>.(Flags)m
1ed20 5f 46 6c 61 67 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 20 3d 3e 20 _Flags;..................set.=>.
1ed40 6d 5f 46 6c 61 67 73 20 3d 20 28 62 79 74 65 29 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 m_Flags.=.(byte)value;..........
1ed60 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 62 6f 6f 6c ....}................public.bool
1ed80 20 63 68 61 69 6e 73 57 69 74 68 4e 65 78 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a .chainsWithNext..............{..
1eda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 20 3d 3e 20 28 66 6c 61 67 73 20 26 20 ................get.=>.(flags.&.
1edc0 46 6c 61 67 73 2e 43 68 61 69 6e 73 57 69 74 68 4e 65 78 74 29 20 3d 3d 20 46 6c 61 67 73 2e 43 Flags.ChainsWithNext).==.Flags.C
1ede0 68 61 69 6e 73 57 69 74 68 4e 65 78 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 hainsWithNext;..................
1ee00 73 65 74 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 20 set..................{..........
1ee20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 76 61 6c 75 65 29 0d 0a 20 20 20 20 20 20 20 20 ............if.(value)..........
1ee40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6c 61 67 73 20 7c 3d 20 46 6c 61 67 73 2e 43 ................flags.|=.Flags.C
1ee60 68 61 69 6e 73 57 69 74 68 4e 65 78 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 hainsWithNext;..................
1ee80 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 20 20 ....else........................
1eea0 20 20 66 6c 61 67 73 20 26 3d 20 7e 46 6c 61 67 73 2e 43 68 61 69 6e 73 57 69 74 68 4e 65 78 74 ..flags.&=.~Flags.ChainsWithNext
1eec0 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 ;..................}............
1eee0 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 62 6f 6f 6c 20 69 ..}................public.bool.i
1ef00 73 45 6e 64 4f 66 43 68 61 69 6e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 sEndOfChain..............{......
1ef20 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 20 3d 3e 20 28 66 6c 61 67 73 20 26 20 46 6c 61 67 ............get.=>.(flags.&.Flag
1ef40 73 2e 45 6e 64 4f 66 43 68 61 69 6e 29 20 3d 3d 20 46 6c 61 67 73 2e 45 6e 64 4f 66 43 68 61 69 s.EndOfChain).==.Flags.EndOfChai
1ef60 6e 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 0d 0a 20 20 20 20 20 20 20 n;..................set.........
1ef80 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 20 20 20 20 .........{......................
1efa0 69 66 20 28 76 61 6c 75 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 if.(value)......................
1efc0 20 20 20 20 66 6c 61 67 73 20 7c 3d 20 46 6c 61 67 73 2e 45 6e 64 4f 66 43 68 61 69 6e 3b 0d 0a ....flags.|=.Flags.EndOfChain;..
1efe0 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 20 20 ....................else........
1f000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6c 61 67 73 20 26 3d 20 7e 46 6c 61 67 ..................flags.&=.~Flag
1f020 73 2e 45 6e 64 4f 66 43 68 61 69 6e 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d s.EndOfChain;..................}
1f040 0d 0a 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 70 ..............}................p
1f060 75 62 6c 69 63 20 62 6f 6f 6c 20 69 73 50 61 72 74 4f 66 43 68 61 69 6e 20 3d 3e 20 63 68 61 69 ublic.bool.isPartOfChain.=>.chai
1f080 6e 73 57 69 74 68 4e 65 78 74 20 7c 7c 20 69 73 45 6e 64 4f 66 43 68 61 69 6e 3b 0d 0a 0d 0a 20 nsWithNext.||.isEndOfChain;.....
1f0a0 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 62 6f 6f 6c 20 69 73 43 6f 6d 70 6f 73 69 ...........public.bool.isComposi
1f0c0 74 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 20 20 20 te..............{...............
1f0e0 20 20 20 67 65 74 20 3d 3e 20 28 66 6c 61 67 73 20 26 20 46 6c 61 67 73 2e 43 6f 6d 70 6f 73 69 ...get.=>.(flags.&.Flags.Composi
1f100 74 65 29 20 3d 3d 20 46 6c 61 67 73 2e 43 6f 6d 70 6f 73 69 74 65 3b 0d 0a 20 20 20 20 20 20 20 te).==.Flags.Composite;.........
1f120 20 20 20 20 20 20 20 20 20 73 65 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d .........set..................{.
1f140 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 76 61 6c 75 65 29 0d .....................if.(value).
1f160 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6c 61 67 73 20 7c .........................flags.|
1f180 3d 20 46 6c 61 67 73 2e 43 6f 6d 70 6f 73 69 74 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 =.Flags.Composite;..............
1f1a0 20 20 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 ........else....................
1f1c0 20 20 20 20 20 20 66 6c 61 67 73 20 26 3d 20 7e 46 6c 61 67 73 2e 43 6f 6d 70 6f 73 69 74 65 3b ......flags.&=.~Flags.Composite;
1f1e0 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 20 ..................}.............
1f200 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 62 6f 6f 6c 20 69 73 .}................public.bool.is
1f220 50 61 72 74 4f 66 43 6f 6d 70 6f 73 69 74 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a PartOfComposite..............{..
1f240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 20 3d 3e 20 28 66 6c 61 67 73 20 26 20 ................get.=>.(flags.&.
1f260 46 6c 61 67 73 2e 50 61 72 74 4f 66 43 6f 6d 70 6f 73 69 74 65 29 20 3d 3d 20 46 6c 61 67 73 2e Flags.PartOfComposite).==.Flags.
1f280 50 61 72 74 4f 66 43 6f 6d 70 6f 73 69 74 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 PartOfComposite;................
1f2a0 20 20 73 65 74 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 ..set..................{........
1f2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 76 61 6c 75 65 29 0d 0a 20 20 20 20 20 20 ..............if.(value)........
1f2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6c 61 67 73 20 7c 3d 20 46 6c 61 67 73 ..................flags.|=.Flags
1f300 2e 50 61 72 74 4f 66 43 6f 6d 70 6f 73 69 74 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .PartOfComposite;...............
1f320 20 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 .......else.....................
1f340 20 20 20 20 20 66 6c 61 67 73 20 26 3d 20 7e 46 6c 61 67 73 2e 50 61 72 74 4f 66 43 6f 6d 70 6f .....flags.&=.~Flags.PartOfCompo
1f360 73 69 74 65 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 site;..................}........
1f380 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 62 6f ......}................public.bo
1f3a0 6f 6c 20 69 6e 69 74 69 61 6c 53 74 61 74 65 43 68 65 63 6b 50 65 6e 64 69 6e 67 0d 0a 20 20 20 ol.initialStateCheckPending.....
1f3c0 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 67 65 74 20 .........{..................get.
1f3e0 3d 3e 20 28 66 6c 61 67 73 20 26 20 46 6c 61 67 73 2e 49 6e 69 74 69 61 6c 53 74 61 74 65 43 68 =>.(flags.&.Flags.InitialStateCh
1f400 65 63 6b 50 65 6e 64 69 6e 67 29 20 21 3d 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 eckPending).!=.0;...............
1f420 20 20 20 73 65 74 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 ...set..................{.......
1f440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 76 61 6c 75 65 29 0d 0a 20 20 20 20 20 ...............if.(value).......
1f460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6c 61 67 73 20 7c 3d 20 46 6c 61 67 ...................flags.|=.Flag
1f480 73 2e 49 6e 69 74 69 61 6c 53 74 61 74 65 43 68 65 63 6b 50 65 6e 64 69 6e 67 3b 0d 0a 20 20 20 s.InitialStateCheckPending;.....
1f4a0 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 20 20 20 20 20 .................else...........
1f4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6c 61 67 73 20 26 3d 20 7e 46 6c 61 67 73 2e 49 ...............flags.&=.~Flags.I
1f4e0 6e 69 74 69 61 6c 53 74 61 74 65 43 68 65 63 6b 50 65 6e 64 69 6e 67 3b 0d 0a 20 20 20 20 20 20 nitialStateCheckPending;........
1f500 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 7d 0d 0a 0d 0a 20 20 ..........}..............}......
1f520 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 62 6f 6f 6c 20 77 61 6e 74 73 49 6e 69 74 69 ..........public.bool.wantsIniti
1f540 61 6c 53 74 61 74 65 43 68 65 63 6b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 alStateCheck..............{.....
1f560 20 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 20 3d 3e 20 28 66 6c 61 67 73 20 26 20 46 6c 61 .............get.=>.(flags.&.Fla
1f580 67 73 2e 57 61 6e 74 73 49 6e 69 74 69 61 6c 53 74 61 74 65 43 68 65 63 6b 29 20 21 3d 20 30 3b gs.WantsInitialStateCheck).!=.0;
1f5a0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 0d 0a 20 20 20 20 20 20 20 20 20 ..................set...........
1f5c0 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 20 20 20 20 69 66 .......{......................if
1f5e0 20 28 76 61 6c 75 65 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 .(value)........................
1f600 20 20 66 6c 61 67 73 20 7c 3d 20 46 6c 61 67 73 2e 57 61 6e 74 73 49 6e 69 74 69 61 6c 53 74 61 ..flags.|=.Flags.WantsInitialSta
1f620 74 65 43 68 65 63 6b 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c teCheck;......................el
1f640 73 65 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 66 6c 61 67 se..........................flag
1f660 73 20 26 3d 20 7e 46 6c 61 67 73 2e 57 61 6e 74 73 49 6e 69 74 69 61 6c 53 74 61 74 65 43 68 65 s.&=.~Flags.WantsInitialStateChe
1f680 63 6b 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 ck;..................}..........
1f6a0 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 69 6e 74 20 ....}................public.int.
1f6c0 70 61 72 74 49 6e 64 65 78 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 partIndex..............{........
1f6e0 20 20 20 20 20 20 20 20 20 20 67 65 74 20 3d 3e 20 6d 5f 50 61 72 74 49 6e 64 65 78 3b 0d 0a 20 ..........get.=>.m_PartIndex;...
1f700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...............set..............
1f720 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 69 66 20 28 70 ....{......................if.(p
1f740 61 72 74 49 6e 64 65 78 20 3c 20 30 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 artIndex.<.0)...................
1f760 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 4f 75 74 4f 66 52 61 .......throw.new.ArgumentOutOfRa
1f780 6e 67 65 45 78 63 65 70 74 69 6f 6e 28 6e 61 6d 65 6f 66 28 76 61 6c 75 65 29 2c 20 22 50 61 72 ngeException(nameof(value),."Par
1f7a0 74 20 69 6e 64 65 78 20 6d 75 73 74 20 6e 6f 74 20 62 65 20 6e 65 67 61 74 69 76 65 22 29 3b 0d t.index.must.not.be.negative");.
1f7c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 70 61 72 74 49 6e 64 .....................if.(partInd
1f7e0 65 78 20 3e 20 62 79 74 65 2e 4d 61 78 56 61 6c 75 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ex.>.byte.MaxValue).............
1f800 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 4f 70 .............throw.new.InvalidOp
1f820 65 72 61 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 28 22 50 61 72 74 20 63 6f 75 6e 74 20 6d 75 73 erationException("Part.count.mus
1f840 74 20 6e 6f 74 20 65 78 63 65 65 64 20 62 79 74 65 2e 4d 61 78 56 61 6c 75 65 3d 22 20 2b 20 62 t.not.exceed.byte.MaxValue=".+.b
1f860 79 74 65 2e 4d 61 78 56 61 6c 75 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 yte.MaxValue);..................
1f880 20 20 20 20 6d 5f 50 61 72 74 49 6e 64 65 78 20 3d 20 28 62 79 74 65 29 76 61 6c 75 65 3b 0d 0a ....m_PartIndex.=.(byte)value;..
1f8a0 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 20 20 7d ................}..............}
1f8c0 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 20 3c 73 75 6d 6d ..........}............///.<summ
1f8e0 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 52 65 63 6f 72 64 20 6f 66 20 61 6e 20 69 ary>..........///.Record.of.an.i
1f900 6e 70 75 74 20 63 6f 6e 74 72 6f 6c 20 63 68 61 6e 67 65 20 61 6e 64 20 69 74 73 20 72 65 6c 61 nput.control.change.and.its.rela
1f920 74 65 64 20 64 61 74 61 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 ted.data...........///.</summary
1f940 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 20 20 20 20 20 >..........///.<remarks>........
1f960 20 20 2f 2f 2f 20 54 68 69 73 20 73 65 72 76 65 73 20 61 20 64 75 61 6c 20 70 75 72 70 6f 73 65 ..///.This.serves.a.dual.purpose
1f980 2e 20 4f 6e 65 20 69 73 2c 20 74 72 69 67 67 65 72 20 73 74 61 74 65 73 20 72 65 70 72 65 73 65 ..One.is,.trigger.states.represe
1f9a0 6e 74 20 63 6f 6e 74 72 6f 6c 20 61 63 74 75 61 74 69 6f 6e 73 20 77 68 69 6c 65 20 77 65 20 70 nt.control.actuations.while.we.p
1f9c0 72 6f 63 65 73 73 20 74 68 65 6d 2e 20 54 68 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 6f 74 rocess.them..The..........///.ot
1f9e0 68 65 72 20 69 73 20 74 6f 20 72 65 70 72 65 73 65 6e 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 her.is.to.represent.the.current.
1fa00 61 63 74 75 61 74 69 6f 6e 20 73 74 61 74 65 20 6f 66 20 61 6e 20 61 63 74 69 6f 6e 20 61 73 20 actuation.state.of.an.action.as.
1fa20 61 20 77 68 6f 6c 65 2e 20 54 68 65 20 6c 61 74 74 65 72 20 69 73 20 73 74 6f 72 65 64 20 69 6e a.whole..The.latter.is.stored.in
1fa40 20 3c 73 65 65 20 63 72 65 66 3d 22 61 63 74 69 6f 6e 53 74 61 74 65 73 22 2f 3e 0d 0a 20 20 20 .<see.cref="actionStates"/>.....
1fa60 20 20 20 20 20 2f 2f 2f 20 77 68 69 6c 65 20 74 68 65 20 66 6f 72 6d 65 72 20 69 73 20 70 61 73 .....///.while.the.former.is.pas
1fa80 73 65 64 20 61 72 6f 75 6e 64 20 61 73 20 74 65 6d 70 6f 72 61 72 79 20 69 6e 73 74 61 6e 63 65 sed.around.as.temporary.instance
1faa0 73 20 6f 6e 20 74 68 65 20 73 74 61 63 6b 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 72 s.on.the.stack...........///.</r
1fac0 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 5b 53 74 72 75 63 74 4c 61 79 6f 75 74 28 4c emarks>..........[StructLayout(L
1fae0 61 79 6f 75 74 4b 69 6e 64 2e 45 78 70 6c 69 63 69 74 2c 20 53 69 7a 65 20 3d 20 33 36 29 5d 0d ayoutKind.Explicit,.Size.=.36)].
1fb00 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 72 75 63 74 20 54 72 69 67 67 65 72 53 74 .........public.struct.TriggerSt
1fb20 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 5b 46 69 65 ate..........{..............[Fie
1fb40 6c 64 4f 66 66 73 65 74 28 30 29 5d 20 70 72 69 76 61 74 65 20 62 79 74 65 20 6d 5f 50 68 61 73 ldOffset(0)].private.byte.m_Phas
1fb60 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b 46 69 65 6c 64 4f 66 66 73 65 74 28 31 29 5d e;..............[FieldOffset(1)]
1fb80 20 70 72 69 76 61 74 65 20 62 79 74 65 20 6d 5f 46 6c 61 67 73 3b 0d 0a 20 20 20 20 20 20 20 20 .private.byte.m_Flags;..........
1fba0 20 20 20 20 5b 46 69 65 6c 64 4f 66 66 73 65 74 28 32 29 5d 20 70 72 69 76 61 74 65 20 62 79 74 ....[FieldOffset(2)].private.byt
1fbc0 65 20 6d 5f 4d 61 70 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 4f 6e e.m_MapIndex;..............//.On
1fbe0 65 20 62 79 74 65 20 61 76 61 69 6c 61 62 6c 65 20 68 65 72 65 2e 0d 0a 20 20 20 20 20 20 20 20 e.byte.available.here...........
1fc00 20 20 20 20 2f 2f 2f 2f 52 45 56 49 45 57 3a 20 63 61 6e 20 77 65 20 63 6f 6e 64 65 6e 73 65 20 ....////REVIEW:.can.we.condense.
1fc20 74 68 65 73 65 20 74 6f 20 66 6c 6f 61 74 73 3f 20 77 6f 75 6c 64 20 73 61 76 65 20 75 73 20 61 these.to.floats?.would.save.us.a
1fc40 20 77 68 6f 70 70 69 6e 67 20 38 20 62 79 74 65 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b .whopping.8.bytes..............[
1fc60 46 69 65 6c 64 4f 66 66 73 65 74 28 34 29 5d 20 70 72 69 76 61 74 65 20 64 6f 75 62 6c 65 20 6d FieldOffset(4)].private.double.m
1fc80 5f 54 69 6d 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b 46 69 65 6c 64 4f 66 66 73 65 74 _Time;..............[FieldOffset
1fca0 28 31 32 29 5d 20 70 72 69 76 61 74 65 20 64 6f 75 62 6c 65 20 6d 5f 53 74 61 72 74 54 69 6d 65 (12)].private.double.m_StartTime
1fcc0 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b 46 69 65 6c 64 4f 66 66 73 65 74 28 32 30 29 5d ;..............[FieldOffset(20)]
1fce0 20 70 72 69 76 61 74 65 20 75 73 68 6f 72 74 20 6d 5f 43 6f 6e 74 72 6f 6c 49 6e 64 65 78 3b 0d .private.ushort.m_ControlIndex;.
1fd00 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 54 77 6f 20 62 79 74 65 73 20 61 76 61 69 6c 61 .............//.Two.bytes.availa
1fd20 62 6c 65 20 68 65 72 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b 46 69 65 6c 64 4f 66 66 ble.here...............[FieldOff
1fd40 73 65 74 28 32 34 29 5d 20 70 72 69 76 61 74 65 20 75 73 68 6f 72 74 20 6d 5f 42 69 6e 64 69 6e set(24)].private.ushort.m_Bindin
1fd60 67 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b 46 69 65 6c 64 4f 66 66 73 65 gIndex;..............[FieldOffse
1fd80 74 28 32 36 29 5d 20 70 72 69 76 61 74 65 20 75 73 68 6f 72 74 20 6d 5f 49 6e 74 65 72 61 63 74 t(26)].private.ushort.m_Interact
1fda0 69 6f 6e 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b 46 69 65 6c 64 4f 66 66 ionIndex;..............[FieldOff
1fdc0 73 65 74 28 32 38 29 5d 20 70 72 69 76 61 74 65 20 66 6c 6f 61 74 20 6d 5f 4d 61 67 6e 69 74 75 set(28)].private.float.m_Magnitu
1fde0 64 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b 46 69 65 6c 64 4f 66 66 73 65 74 28 33 32 de;..............[FieldOffset(32
1fe00 29 5d 20 70 72 69 76 61 74 65 20 75 69 6e 74 20 6d 5f 4c 61 73 74 54 72 69 67 67 65 72 65 64 49 )].private.uint.m_LastTriggeredI
1fe20 6e 55 70 64 61 74 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d nUpdate;................///.<sum
1fe40 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 50 68 61 73 65 20 62 65 69 mary>..............///.Phase.bei
1fe60 6e 67 20 74 72 69 67 67 65 72 65 64 20 62 79 20 74 68 65 20 63 6f 6e 74 72 6f 6c 20 76 61 6c 75 ng.triggered.by.the.control.valu
1fe80 65 20 63 68 61 6e 67 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d e.change...............///.</sum
1fea0 6d 61 72 79 3e 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 41 mary>..............public.InputA
1fec0 63 74 69 6f 6e 50 68 61 73 65 20 70 68 61 73 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d ctionPhase.phase..............{.
1fee0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 20 3d 3e 20 28 49 6e 70 75 74 41 63 .................get.=>.(InputAc
1ff00 74 69 6f 6e 50 68 61 73 65 29 6d 5f 50 68 61 73 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 tionPhase)m_Phase;..............
1ff20 20 20 20 20 73 65 74 20 3d 3e 20 6d 5f 50 68 61 73 65 20 3d 20 28 62 79 74 65 29 76 61 6c 75 65 ....set.=>.m_Phase.=.(byte)value
1ff40 3b 0d 0a 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 ;..............}................
1ff60 70 75 62 6c 69 63 20 62 6f 6f 6c 20 69 73 44 69 73 61 62 6c 65 64 20 3d 3e 20 70 68 61 73 65 20 public.bool.isDisabled.=>.phase.
1ff80 3d 3d 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 44 69 73 61 62 6c 65 64 3b 0d 0a 20 ==.InputActionPhase.Disabled;...
1ffa0 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 62 6f 6f 6c 20 69 73 57 61 69 74 69 6e 67 ...........public.bool.isWaiting
1ffc0 20 3d 3e 20 70 68 61 73 65 20 3d 3d 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 57 61 .=>.phase.==.InputActionPhase.Wa
1ffe0 69 74 69 6e 67 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 62 6f 6f 6c 20 iting;..............public.bool.
20000 69 73 53 74 61 72 74 65 64 20 3d 3e 20 70 68 61 73 65 20 3d 3d 20 49 6e 70 75 74 41 63 74 69 6f isStarted.=>.phase.==.InputActio
20020 6e 50 68 61 73 65 2e 53 74 61 72 74 65 64 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 nPhase.Started;..............pub
20040 6c 69 63 20 62 6f 6f 6c 20 69 73 50 65 72 66 6f 72 6d 65 64 20 3d 3e 20 70 68 61 73 65 20 3d 3d lic.bool.isPerformed.=>.phase.==
20060 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 50 65 72 66 6f 72 6d 65 64 3b 0d 0a 20 20 .InputActionPhase.Performed;....
20080 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 62 6f 6f 6c 20 69 73 43 61 6e 63 65 6c 65 64 ..........public.bool.isCanceled
200a0 20 3d 3e 20 70 68 61 73 65 20 3d 3d 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 43 61 .=>.phase.==.InputActionPhase.Ca
200c0 6e 63 65 6c 65 64 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d nceled;................///.<summ
200e0 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 68 65 20 74 69 6d 65 20 74 ary>..............///.The.time.t
20100 68 65 20 62 69 6e 64 69 6e 67 20 67 6f 74 20 74 72 69 67 67 65 72 65 64 2e 0d 0a 20 20 20 20 20 he.binding.got.triggered........
20120 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 20 .......///.</summary>...........
20140 20 20 20 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 20 74 69 6d 65 0d 0a 20 20 20 20 20 20 20 20 20 ...public.double.time...........
20160 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 20 3d 3e 20 6d 5f 54 ...{..................get.=>.m_T
20180 69 6d 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 20 3d 3e 20 6d 5f 54 ime;..................set.=>.m_T
201a0 69 6d 65 20 3d 20 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 ime.=.value;..............}.....
201c0 20 20 20 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 ...........///.<summary>........
201e0 20 20 20 20 20 20 2f 2f 2f 20 54 68 65 20 74 69 6d 65 20 77 68 65 6e 20 74 68 65 20 62 69 6e 64 ......///.The.time.when.the.bind
20200 69 6e 67 20 6d 6f 76 65 64 20 69 6e 74 6f 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 41 ing.moved.into.<see.cref="InputA
20220 63 74 69 6f 6e 50 68 61 73 65 2e 53 74 61 72 74 65 64 22 2f 3e 2e 0d 0a 20 20 20 20 20 20 20 20 ctionPhase.Started"/>...........
20240 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 20 20 20 20 ....///.</summary>..............
20260 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 20 73 74 61 72 74 54 69 6d 65 0d 0a 20 20 20 20 20 20 20 public.double.startTime.........
20280 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 20 3d 3e 20 6d .....{..................get.=>.m
202a0 5f 53 74 61 72 74 54 69 6d 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 _StartTime;..................set
202c0 20 3d 3e 20 6d 5f 53 74 61 72 74 54 69 6d 65 20 3d 20 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 .=>.m_StartTime.=.value;........
202e0 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d ......}................///.<summ
20300 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 41 6d 6f 75 6e 74 20 6f 66 20 ary>..............///.Amount.of.
20320 61 63 74 75 61 74 69 6f 6e 20 6f 6e 20 74 68 65 20 63 6f 6e 74 72 6f 6c 2e 0d 0a 20 20 20 20 20 actuation.on.the.control........
20340 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 20 .......///.</summary>...........
20360 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 20 20 20 20 2f 2f ...///.<remarks>..............//
20380 2f 20 54 68 69 73 20 69 73 20 6f 6e 6c 79 20 76 61 6c 69 64 20 69 66 20 3c 73 65 65 20 63 72 65 /.This.is.only.valid.if.<see.cre
203a0 66 3d 22 68 61 76 65 4d 61 67 6e 69 74 75 64 65 22 2f 3e 20 69 73 20 74 72 75 65 2e 0d 0a 20 20 f="haveMagnitude"/>.is.true.....
203c0 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 4e ..........///..............///.N
203e0 6f 74 65 20 74 68 61 74 20 74 68 69 73 20 6d 61 79 20 64 69 66 66 65 72 20 66 72 6f 6d 20 74 68 ote.that.this.may.differ.from.th
20400 65 20 61 63 74 75 61 74 69 6f 6e 20 73 74 6f 72 65 64 20 66 6f 72 20 3c 73 65 65 20 63 72 65 66 e.actuation.stored.for.<see.cref
20420 3d 22 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 22 2f 3e 20 69 6e 20 3c 73 65 65 0d 0a 20 20 20 20 20 ="controlIndex"/>.in.<see.......
20440 20 20 20 20 20 20 20 2f 2f 2f 20 63 72 65 66 3d 22 55 6e 6d 61 6e 61 67 65 64 4d 65 6d 6f 72 79 .......///.cref="UnmanagedMemory
20460 2e 63 6f 6e 74 72 6f 6c 4d 61 67 6e 69 74 75 64 65 73 22 2f 3e 20 69 66 20 74 68 65 20 62 69 6e .controlMagnitudes"/>.if.the.bin
20480 64 69 6e 67 20 69 73 20 61 20 63 6f 6d 70 6f 73 69 74 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 ding.is.a.composite.............
204a0 20 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 20 20 20 20 70 75 ..///.</remarks>..............pu
204c0 62 6c 69 63 20 66 6c 6f 61 74 20 6d 61 67 6e 69 74 75 64 65 0d 0a 20 20 20 20 20 20 20 20 20 20 blic.float.magnitude............
204e0 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 20 3d 3e 20 6d 5f 4d 61 ..{..................get.=>.m_Ma
20500 67 6e 69 74 75 64 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 0d 0a 20 gnitude;..................set...
20520 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 20 20 20 20 20 ...............{................
20540 20 20 20 20 20 20 66 6c 61 67 73 20 7c 3d 20 46 6c 61 67 73 2e 48 61 76 65 4d 61 67 6e 69 74 75 ......flags.|=.Flags.HaveMagnitu
20560 64 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 4d 61 67 6e 69 de;......................m_Magni
20580 74 75 64 65 20 3d 20 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d tude.=.value;..................}
205a0 0d 0a 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 2f ..............}................/
205c0 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 57 68 //.<summary>..............///.Wh
205e0 65 74 68 65 72 20 3c 73 65 65 20 63 72 65 66 3d 22 6d 61 67 6e 69 74 75 64 65 22 2f 3e 20 68 61 ether.<see.cref="magnitude"/>.ha
20600 73 20 62 65 65 6e 20 73 65 74 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 s.been.set...............///.</s
20620 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b ummary>..............///.<remark
20640 73 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 4d 61 67 6e 69 74 75 64 65 20 63 6f s>..............///.Magnitude.co
20660 6d 70 75 74 61 74 69 6f 6e 20 69 73 20 65 78 70 65 6e 73 69 76 65 20 73 6f 20 77 65 20 6f 6e 6c mputation.is.expensive.so.we.onl
20680 79 20 77 61 6e 74 20 74 6f 20 64 6f 20 69 74 20 6f 6e 63 65 2e 20 41 6c 73 6f 2c 20 77 65 20 73 y.want.to.do.it.once..Also,.we.s
206a0 6f 6d 65 74 69 6d 65 73 20 6e 65 65 64 20 74 6f 20 63 6f 6d 70 61 72 65 0d 0a 20 20 20 20 20 20 ometimes.need.to.compare........
206c0 20 20 20 20 20 20 2f 2f 2f 20 61 20 63 75 72 72 65 6e 74 20 6d 61 67 6e 69 74 75 64 65 20 74 6f ......///.a.current.magnitude.to
206e0 20 61 20 6d 61 67 6e 69 74 75 64 65 20 76 61 6c 75 65 20 66 72 6f 6d 20 61 20 70 72 65 76 69 6f .a.magnitude.value.from.a.previo
20700 75 73 20 66 72 61 6d 65 20 61 6e 64 20 74 68 65 20 6d 61 67 6e 69 74 75 64 65 20 6f 66 20 74 68 us.frame.and.the.magnitude.of.th
20720 65 20 63 6f 6e 74 72 6f 6c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 6d 61 79 20 68 e.control..............///.may.h
20740 61 76 65 20 61 6c 72 65 61 64 79 20 63 68 61 6e 67 65 64 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 ave.already.changed.............
20760 20 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 20 20 20 20 70 75 ..///.</remarks>..............pu
20780 62 6c 69 63 20 62 6f 6f 6c 20 68 61 76 65 4d 61 67 6e 69 74 75 64 65 20 3d 3e 20 28 66 6c 61 67 blic.bool.haveMagnitude.=>.(flag
207a0 73 20 26 20 46 6c 61 67 73 2e 48 61 76 65 4d 61 67 6e 69 74 75 64 65 29 20 21 3d 20 30 3b 0d 0a s.&.Flags.HaveMagnitude).!=.0;..
207c0 0d 0a 20 20 20 20 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 ..............///.<summary>.....
207e0 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 49 6e 64 65 78 20 6f 66 20 74 68 65 20 61 63 74 69 6f 6e .........///.Index.of.the.action
20800 20 6d 61 70 20 69 6e 20 3c 73 65 65 20 63 72 65 66 3d 22 6d 61 70 73 22 2f 3e 20 74 68 61 74 20 .map.in.<see.cref="maps"/>.that.
20820 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 62 69 6e 64 69 6e 67 20 74 68 61 74 20 74 72 69 67 67 65 contains.the.binding.that.trigge
20840 72 65 64 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e red...............///.</summary>
20860 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 6d 61 70 49 6e 64 65 ..............public.int.mapInde
20880 78 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 x..............{................
208a0 20 20 67 65 74 20 3d 3e 20 6d 5f 4d 61 70 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 ..get.=>.m_MapIndex;............
208c0 20 20 20 20 20 20 73 65 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 ......set..................{....
208e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 76 61 6c 75 65 20 3c 20 30 20 ..................if.(value.<.0.
20900 7c 7c 20 76 61 6c 75 65 20 3e 20 62 79 74 65 2e 4d 61 78 56 61 6c 75 65 29 0d 0a 20 20 20 20 20 ||.value.>.byte.MaxValue).......
20920 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 4e 6f 74 ...................throw.new.Not
20940 53 75 70 70 6f 72 74 65 64 45 78 63 65 70 74 69 6f 6e 28 22 4d 6f 72 65 20 74 68 61 6e 20 62 79 SupportedException("More.than.by
20960 74 65 2e 4d 61 78 56 61 6c 75 65 20 49 6e 70 75 74 41 63 74 69 6f 6e 4d 61 70 73 20 69 6e 20 61 te.MaxValue.InputActionMaps.in.a
20980 20 73 69 6e 67 6c 65 20 49 6e 70 75 74 41 63 74 69 6f 6e 53 74 61 74 65 22 29 3b 0d 0a 20 20 20 .single.InputActionState");.....
209a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 4d 61 70 49 6e 64 65 78 20 3d 20 28 62 .................m_MapIndex.=.(b
209c0 79 74 65 29 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 yte)value;..................}...
209e0 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 2f 2f 2f 20 ...........}................///.
20a00 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 49 6e 64 65 78 <summary>..............///.Index
20a20 20 6f 66 20 74 68 65 20 63 6f 6e 74 72 6f 6c 20 63 75 72 72 65 6e 74 6c 79 20 64 72 69 76 69 6e .of.the.control.currently.drivin
20a40 67 20 74 68 65 20 61 63 74 69 6f 6e 20 6f 72 20 3c 73 65 65 20 63 72 65 66 3d 22 6b 49 6e 76 61 g.the.action.or.<see.cref="kInva
20a60 6c 69 64 49 6e 64 65 78 22 2f 3e 20 69 66 20 6e 6f 6e 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 lidIndex"/>.if.none.............
20a80 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 20 20 20 20 70 75 ..///.</summary>..............pu
20aa0 62 6c 69 63 20 69 6e 74 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 0d 0a 20 20 20 20 20 20 20 20 20 blic.int.controlIndex...........
20ac0 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 0d 0a 20 20 20 20 20 ...{..................get.......
20ae0 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 20 20 ...........{....................
20b00 20 20 69 66 20 28 6d 5f 43 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3d 3d 20 75 73 68 6f 72 74 2e 4d ..if.(m_ControlIndex.==.ushort.M
20b20 61 78 56 61 6c 75 65 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 axValue)........................
20b40 20 20 72 65 74 75 72 6e 20 6b 49 6e 76 61 6c 69 64 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 ..return.kInvalidIndex;.........
20b60 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 5f 43 6f 6e 74 72 6f 6c 49 6e 64 .............return.m_ControlInd
20b80 65 78 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 ex;..................}..........
20ba0 20 20 20 20 20 20 20 20 73 65 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a ........set..................{..
20bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 76 61 6c 75 65 20 3d 3d ....................if.(value.==
20be0 20 6b 49 6e 76 61 6c 69 64 49 6e 64 65 78 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .kInvalidIndex).................
20c00 20 20 20 20 20 20 20 20 20 6d 5f 43 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 3d 20 75 73 68 6f 72 74 .........m_ControlIndex.=.ushort
20c20 2e 4d 61 78 56 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .MaxValue;......................
20c40 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 7b 0d 0a 20 20 20 else......................{.....
20c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 76 61 6c 75 65 20 3c .....................if.(value.<
20c80 20 30 20 7c 7c 20 76 61 6c 75 65 20 3e 3d 20 75 73 68 6f 72 74 2e 4d 61 78 56 61 6c 75 65 29 0d .0.||.value.>=.ushort.MaxValue).
20ca0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 .............................thr
20cc0 6f 77 20 6e 65 77 20 4e 6f 74 53 75 70 70 6f 72 74 65 64 45 78 63 65 70 74 69 6f 6e 28 22 4d 6f ow.new.NotSupportedException("Mo
20ce0 72 65 20 74 68 61 6e 20 75 73 68 6f 72 74 2e 4d 61 78 56 61 6c 75 65 2d 31 20 63 6f 6e 74 72 6f re.than.ushort.MaxValue-1.contro
20d00 6c 73 20 69 6e 20 61 20 73 69 6e 67 6c 65 20 49 6e 70 75 74 41 63 74 69 6f 6e 53 74 61 74 65 22 ls.in.a.single.InputActionState"
20d20 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 6d 5f 43 6f );..........................m_Co
20d40 6e 74 72 6f 6c 49 6e 64 65 78 20 3d 20 28 75 73 68 6f 72 74 29 76 61 6c 75 65 3b 0d 0a 20 20 20 ntrolIndex.=.(ushort)value;.....
20d60 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 20 20 .................}..............
20d80 20 20 20 20 7d 0d 0a 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 ....}..............}............
20da0 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 20 20 20 20 2f ....///.<summary>............../
20dc0 2f 2f 20 49 6e 64 65 78 20 69 6e 74 6f 20 3c 73 65 65 20 63 72 65 66 3d 22 62 69 6e 64 69 6e 67 //.Index.into.<see.cref="binding
20de0 53 74 61 74 65 73 22 2f 3e 20 66 6f 72 20 74 68 65 20 62 69 6e 64 69 6e 67 20 74 68 61 74 20 74 States"/>.for.the.binding.that.t
20e00 72 69 67 67 65 72 65 64 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d riggered...............///.</sum
20e20 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e mary>..............///.<remarks>
20e40 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 68 69 73 20 63 6f 72 72 65 73 70 6f 6e ..............///.This.correspon
20e60 64 73 20 31 3a 31 20 74 6f 20 61 6e 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 42 69 6e ds.1:1.to.an.<see.cref="InputBin
20e80 64 69 6e 67 22 2f 3e 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 6d 61 ding"/>...............///.</rema
20ea0 72 6b 73 3e 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 62 69 6e rks>..............public.int.bin
20ec0 64 69 6e 67 49 6e 64 65 78 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 dingIndex..............{........
20ee0 20 20 20 20 20 20 20 20 20 20 67 65 74 20 3d 3e 20 6d 5f 42 69 6e 64 69 6e 67 49 6e 64 65 78 3b ..........get.=>.m_BindingIndex;
20f00 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 0d 0a 20 20 20 20 20 20 20 20 20 ..................set...........
20f20 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 20 20 20 20 69 66 .......{......................if
20f40 20 28 76 61 6c 75 65 20 3c 20 30 20 7c 7c 20 76 61 6c 75 65 20 3e 20 75 73 68 6f 72 74 2e 4d 61 .(value.<.0.||.value.>.ushort.Ma
20f60 78 56 61 6c 75 65 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 xValue).........................
20f80 20 74 68 72 6f 77 20 6e 65 77 20 4e 6f 74 53 75 70 70 6f 72 74 65 64 45 78 63 65 70 74 69 6f 6e .throw.new.NotSupportedException
20fa0 28 22 4d 6f 72 65 20 74 68 61 6e 20 75 73 68 6f 72 74 2e 4d 61 78 56 61 6c 75 65 20 62 69 6e 64 ("More.than.ushort.MaxValue.bind
20fc0 69 6e 67 73 20 69 6e 20 61 20 73 69 6e 67 6c 65 20 49 6e 70 75 74 41 63 74 69 6f 6e 53 74 61 74 ings.in.a.single.InputActionStat
20fe0 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 42 69 6e 64 e");......................m_Bind
21000 69 6e 67 49 6e 64 65 78 20 3d 20 28 75 73 68 6f 72 74 29 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 ingIndex.=.(ushort)value;.......
21020 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 7d 0d 0a 0d 0a 20 ...........}..............}.....
21040 20 20 20 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 ...........///.<summary>........
21060 20 20 20 20 20 20 2f 2f 2f 20 49 6e 64 65 78 20 69 6e 74 6f 20 3c 73 65 65 20 63 72 65 66 3d 22 ......///.Index.into.<see.cref="
21080 49 6e 70 75 74 41 63 74 69 6f 6e 53 74 61 74 65 2e 69 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 74 InputActionState.interactionStat
210a0 65 73 22 2f 3e 20 66 6f 72 20 74 68 65 20 69 6e 74 65 72 61 63 74 69 6f 6e 20 74 68 61 74 20 74 es"/>.for.the.interaction.that.t
210c0 72 69 67 67 65 72 65 64 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d riggered...............///.</sum
210e0 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e mary>..............///.<remarks>
21100 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 49 73 20 3c 73 65 65 20 63 72 65 66 3d 22 ..............///.Is.<see.cref="
21120 49 6e 70 75 74 41 63 74 69 6f 6e 53 74 61 74 65 2e 6b 49 6e 76 61 6c 69 64 49 6e 64 65 78 22 2f InputActionState.kInvalidIndex"/
21140 3e 20 69 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 69 6e 74 65 72 61 63 74 69 6f 6e 20 70 72 65 >.if.there.is.no.interaction.pre
21160 73 65 6e 74 20 6f 6e 20 74 68 65 20 62 69 6e 64 69 6e 67 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 sent.on.the.binding.............
21180 20 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 20 20 20 20 70 75 ..///.</remarks>..............pu
211a0 62 6c 69 63 20 69 6e 74 20 69 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 0d 0a 20 20 20 20 20 blic.int.interactionIndex.......
211c0 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 67 65 74 0d 0a 20 .......{..................get...
211e0 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 20 20 20 20 20 ...............{................
21200 20 20 20 20 20 20 69 66 20 28 6d 5f 49 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 20 3d 3d 20 ......if.(m_InteractionIndex.==.
21220 75 73 68 6f 72 74 2e 4d 61 78 56 61 6c 75 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ushort.MaxValue)................
21240 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6b 49 6e 76 61 6c 69 64 49 6e 64 65 78 3b 0d ..........return.kInvalidIndex;.
21260 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 5f 49 6e .....................return.m_In
21280 74 65 72 61 63 74 69 6f 6e 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 teractionIndex;.................
212a0 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 0d 0a 20 20 20 20 20 20 20 .}..................set.........
212c0 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 20 20 20 20 .........{......................
212e0 69 66 20 28 76 61 6c 75 65 20 3d 3d 20 6b 49 6e 76 61 6c 69 64 49 6e 64 65 78 29 0d 0a 20 20 20 if.(value.==.kInvalidIndex).....
21300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 49 6e 74 65 72 61 63 74 69 .....................m_Interacti
21320 6f 6e 49 6e 64 65 78 20 3d 20 75 73 68 6f 72 74 2e 4d 61 78 56 61 6c 75 65 3b 0d 0a 20 20 20 20 onIndex.=.ushort.MaxValue;......
21340 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 20 20 20 20 20 20 ................else............
21360 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 20 20 20 ..........{.....................
21380 20 20 20 20 20 69 66 20 28 76 61 6c 75 65 20 3c 20 30 20 7c 7c 20 76 61 6c 75 65 20 3e 3d 20 75 .....if.(value.<.0.||.value.>=.u
213a0 73 68 6f 72 74 2e 4d 61 78 56 61 6c 75 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 short.MaxValue).................
213c0 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 4e 6f 74 53 75 70 70 6f 72 .............throw.new.NotSuppor
213e0 74 65 64 45 78 63 65 70 74 69 6f 6e 28 22 4d 6f 72 65 20 74 68 61 6e 20 75 73 68 6f 72 74 2e 4d tedException("More.than.ushort.M
21400 61 78 56 61 6c 75 65 2d 31 20 69 6e 74 65 72 61 63 74 69 6f 6e 73 20 69 6e 20 61 20 73 69 6e 67 axValue-1.interactions.in.a.sing
21420 6c 65 20 49 6e 70 75 74 41 63 74 69 6f 6e 53 74 61 74 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 le.InputActionState");..........
21440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 49 6e 74 65 72 61 63 74 69 6f 6e 49 6e 64 ................m_InteractionInd
21460 65 78 20 3d 20 28 75 73 68 6f 72 74 29 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ex.=.(ushort)value;.............
21480 20 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 7d 0d 0a 20 .........}..................}...
214a0 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 2f 2f 2f 20 ...........}................///.
214c0 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 55 70 64 61 74 <summary>..............///.Updat
214e0 65 20 73 74 65 70 20 63 6f 75 6e 74 20 28 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 55 70 e.step.count.(<see.cref="InputUp
21500 64 61 74 65 2e 73 5f 55 70 64 61 74 65 53 74 65 70 43 6f 75 6e 74 22 2f 3e 29 20 69 6e 20 77 68 date.s_UpdateStepCount"/>).in.wh
21520 69 63 68 20 61 63 74 69 6f 6e 20 74 72 69 67 67 65 72 65 64 2f 70 65 72 66 6f 72 6d 65 64 20 6c ich.action.triggered/performed.l
21540 61 73 74 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 5a 65 72 6f 20 69 66 20 74 68 ast...............///.Zero.if.th
21560 65 20 61 63 74 69 6f 6e 20 64 69 64 20 6e 6f 74 20 74 72 69 67 67 65 72 20 79 65 74 2e 20 41 6c e.action.did.not.trigger.yet..Al
21580 73 6f 20 72 65 73 65 74 20 74 6f 20 7a 65 72 6f 20 77 68 65 6e 20 74 68 65 20 61 63 74 69 6f 6e so.reset.to.zero.when.the.action
215a0 20 69 73 20 64 69 73 61 62 6c 65 64 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c .is.disabled...............///.<
215c0 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 75 69 /summary>..............public.ui
215e0 6e 74 20 6c 61 73 74 54 72 69 67 67 65 72 65 64 49 6e 55 70 64 61 74 65 0d 0a 20 20 20 20 20 20 nt.lastTriggeredInUpdate........
21600 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 67 65 74 20 3d 3e 20 ......{..................get.=>.
21620 6d 5f 4c 61 73 74 54 72 69 67 67 65 72 65 64 49 6e 55 70 64 61 74 65 3b 0d 0a 20 20 20 20 20 20 m_LastTriggeredInUpdate;........
21640 20 20 20 20 20 20 20 20 20 20 73 65 74 20 3d 3e 20 6d 5f 4c 61 73 74 54 72 69 67 67 65 72 65 64 ..........set.=>.m_LastTriggered
21660 49 6e 55 70 64 61 74 65 20 3d 20 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d InUpdate.=.value;..............}
21680 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 ................///.<summary>...
216a0 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 57 68 65 74 68 65 72 20 74 68 65 20 61 63 74 69 6f ...........///.Whether.the.actio
216c0 6e 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 65 20 74 72 69 67 67 65 72 20 73 74 n.associated.with.the.trigger.st
216e0 61 74 65 20 69 73 20 6d 61 72 6b 65 64 20 61 73 20 70 61 73 73 2d 74 68 72 6f 75 67 68 2e 0d 0a ate.is.marked.as.pass-through...
21700 20 20 20 20 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 ............///.</summary>......
21720 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 49 6e 70 75 74 ........///.<seealso.cref="Input
21740 41 63 74 69 6f 6e 54 79 70 65 2e 50 61 73 73 54 68 72 6f 75 67 68 22 2f 3e 0d 0a 20 20 20 20 20 ActionType.PassThrough"/>.......
21760 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 62 6f 6f 6c 20 69 73 50 61 73 73 54 68 72 6f 75 67 68 .......public.bool.isPassThrough
21780 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 20 ..............{.................
217a0 20 67 65 74 20 3d 3e 20 28 66 6c 61 67 73 20 26 20 46 6c 61 67 73 2e 50 61 73 73 54 68 72 6f 75 .get.=>.(flags.&.Flags.PassThrou
217c0 67 68 29 20 21 3d 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 0d 0a gh).!=.0;..................set..
217e0 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 20 20 20 20 ................{...............
21800 20 20 20 20 20 20 20 69 66 20 28 76 61 6c 75 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .......if.(value)...............
21820 20 20 20 20 20 20 20 20 20 20 20 66 6c 61 67 73 20 7c 3d 20 46 6c 61 67 73 2e 50 61 73 73 54 68 ...........flags.|=.Flags.PassTh
21840 72 6f 75 67 68 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 rough;......................else
21860 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 66 6c 61 67 73 20 ..........................flags.
21880 26 3d 20 7e 46 6c 61 67 73 2e 50 61 73 73 54 68 72 6f 75 67 68 3b 0d 0a 20 20 20 20 20 20 20 20 &=.~Flags.PassThrough;..........
218a0 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 ........}..............}........
218c0 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 20 ........///.<summary>...........
218e0 20 20 20 2f 2f 2f 20 57 68 65 74 68 65 72 20 74 68 65 20 61 63 74 69 6f 6e 20 6d 61 79 20 70 6f ...///.Whether.the.action.may.po
21900 74 65 6e 74 69 61 6c 6c 79 20 73 65 65 20 6d 75 6c 74 69 70 6c 65 20 63 6f 6e 63 75 72 72 65 6e tentially.see.multiple.concurren
21920 74 20 61 63 74 75 61 74 69 6f 6e 73 20 66 72 6f 6d 20 69 74 73 20 62 69 6e 64 69 6e 67 73 0d 0a t.actuations.from.its.bindings..
21940 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 61 6e 64 20 77 61 6e 74 73 20 74 68 65 6d 20 72 ............///.and.wants.them.r
21960 65 73 6f 6c 76 65 64 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 2e 0d 0a 20 20 20 20 20 20 20 20 esolved.automatically...........
21980 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 20 20 20 20 ....///.</summary>..............
219a0 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 57 ///.<remarks>..............///.W
219c0 65 20 75 73 65 20 74 68 69 73 20 74 6f 20 67 61 74 65 20 73 6f 6d 65 20 6f 66 20 74 68 65 20 6d e.use.this.to.gate.some.of.the.m
219e0 6f 72 65 20 65 78 70 65 6e 73 69 76 65 20 63 68 65 63 6b 73 20 74 68 61 74 20 61 72 65 20 70 6f ore.expensive.checks.that.are.po
21a00 69 6e 74 6c 65 73 73 20 74 6f 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 70 65 72 66 intless.to..............///.perf
21a20 6f 72 6d 20 69 66 20 77 65 20 64 6f 6e 27 74 20 68 61 76 65 20 74 6f 20 64 69 73 61 6d 62 69 67 orm.if.we.don't.have.to.disambig
21a40 75 61 74 65 20 69 6e 70 75 74 20 66 72 6f 6d 20 63 6f 6e 63 75 72 72 65 6e 74 20 73 6f 75 72 63 uate.input.from.concurrent.sourc
21a60 65 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 20 20 20 20 20 20 es...............///............
21a80 20 20 2f 2f 2f 20 41 6c 77 61 79 73 20 64 69 73 61 62 6c 65 64 20 69 66 20 3c 73 65 65 20 63 72 ..///.Always.disabled.if.<see.cr
21aa0 65 66 3d 22 69 73 50 61 73 73 54 68 72 6f 75 67 68 22 2f 3e 20 69 73 20 74 72 75 65 2e 0d 0a 20 ef="isPassThrough"/>.is.true....
21ac0 20 20 20 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 20 20 20 20 ...........///.</remarks>.......
21ae0 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 62 6f 6f 6c 20 6d 61 79 4e 65 65 64 43 6f 6e 66 6c 69 .......public.bool.mayNeedConfli
21b00 63 74 52 65 73 6f 6c 75 74 69 6f 6e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 ctResolution..............{.....
21b20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 20 3d 3e 20 28 66 6c 61 67 73 20 26 20 46 6c 61 .............get.=>.(flags.&.Fla
21b40 67 73 2e 4d 61 79 4e 65 65 64 43 6f 6e 66 6c 69 63 74 52 65 73 6f 6c 75 74 69 6f 6e 29 20 21 3d gs.MayNeedConflictResolution).!=
21b60 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 0d 0a 20 20 20 20 20 20 .0;..................set........
21b80 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 20 20 20 ..........{.....................
21ba0 20 69 66 20 28 76 61 6c 75 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .if.(value).....................
21bc0 20 20 20 20 20 66 6c 61 67 73 20 7c 3d 20 46 6c 61 67 73 2e 4d 61 79 4e 65 65 64 43 6f 6e 66 6c .....flags.|=.Flags.MayNeedConfl
21be0 69 63 74 52 65 73 6f 6c 75 74 69 6f 6e 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ictResolution;..................
21c00 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 20 20 ....else........................
21c20 20 20 66 6c 61 67 73 20 26 3d 20 7e 46 6c 61 67 73 2e 4d 61 79 4e 65 65 64 43 6f 6e 66 6c 69 63 ..flags.&=.~Flags.MayNeedConflic
21c40 74 52 65 73 6f 6c 75 74 69 6f 6e 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d tResolution;..................}.
21c60 0a 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 2f 2f .............}................//
21c80 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 57 68 65 /.<summary>..............///.Whe
21ca0 74 68 65 72 20 74 68 65 20 61 63 74 69 6f 6e 20 63 75 72 72 65 6e 74 6c 79 20 68 61 73 20 73 65 ther.the.action.currently.has.se
21cc0 76 65 72 61 6c 20 63 6f 6e 63 75 72 72 65 6e 74 20 61 63 74 75 61 74 69 6f 6e 73 20 66 72 6f 6d veral.concurrent.actuations.from
21ce0 20 69 74 73 20 62 69 6e 64 69 6e 67 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 .its.bindings...............///.
21d00 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 6d </summary>..............///.<rem
21d20 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 68 69 73 20 69 73 20 6f arks>..............///.This.is.o
21d40 6e 6c 79 20 75 73 65 64 20 77 68 65 6e 20 61 75 74 6f 6d 61 74 69 63 20 63 6f 6e 66 6c 69 63 74 nly.used.when.automatic.conflict
21d60 20 72 65 73 6f 6c 75 74 69 6f 6e 20 69 73 20 65 6e 61 62 6c 65 64 20 28 3c 73 65 65 20 63 72 65 .resolution.is.enabled.(<see.cre
21d80 66 3d 22 6d 61 79 4e 65 65 64 43 6f 6e 66 6c 69 63 74 52 65 73 6f 6c 75 74 69 6f 6e 22 2f 3e 29 f="mayNeedConflictResolution"/>)
21da0 2e 0d 0a 20 20 20 20 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 ...............///.</remarks>...
21dc0 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 62 6f 6f 6c 20 68 61 73 4d 75 6c 74 69 70 ...........public.bool.hasMultip
21de0 6c 65 43 6f 6e 63 75 72 72 65 6e 74 41 63 74 75 61 74 69 6f 6e 73 0d 0a 20 20 20 20 20 20 20 20 leConcurrentActuations..........
21e00 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 20 3d 3e 20 28 66 ....{..................get.=>.(f
21e20 6c 61 67 73 20 26 20 46 6c 61 67 73 2e 48 61 73 4d 75 6c 74 69 70 6c 65 43 6f 6e 63 75 72 72 65 lags.&.Flags.HasMultipleConcurre
21e40 6e 74 41 63 74 75 61 74 69 6f 6e 73 29 20 21 3d 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ntActuations).!=.0;.............
21e60 20 20 20 20 20 73 65 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 .....set..................{.....
21e80 20 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 29 0d 0a 20 20 20 .................if.(value).....
21ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6c 61 67 73 20 7c 3d 20 46 6c .....................flags.|=.Fl
21ec0 61 67 73 2e 48 61 73 4d 75 6c 74 69 70 6c 65 43 6f 6e 63 75 72 72 65 6e 74 41 63 74 75 61 74 69 ags.HasMultipleConcurrentActuati
21ee0 6f 6e 73 3b 0d 0a 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 ons;......................else..
21f00 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 6c 61 67 73 20 26 3d ........................flags.&=
21f20 20 7e 46 6c 61 67 73 2e 48 61 73 4d 75 6c 74 69 70 6c 65 43 6f 6e 63 75 72 72 65 6e 74 41 63 74 .~Flags.HasMultipleConcurrentAct
21f40 75 61 74 69 6f 6e 73 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 uations;..................}.....
21f60 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 70 75 62 6c 69 63 .........}................public
21f80 20 46 6c 61 67 73 20 66 6c 61 67 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 .Flags.flags..............{.....
21fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 20 3d 3e 20 28 46 6c 61 67 73 29 6d 5f 46 6c 61 .............get.=>.(Flags)m_Fla
21fc0 67 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 20 3d 3e 20 6d 5f 46 6c gs;..................set.=>.m_Fl
21fe0 61 67 73 20 3d 20 28 62 79 74 65 29 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ags.=.(byte)value;..............
22000 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b 46 6c 61 67 73 5d 0d 0a 20 20 20 20 20 20 }................[Flags]........
22020 20 20 20 20 20 20 70 75 62 6c 69 63 20 65 6e 75 6d 20 46 6c 61 67 73 0d 0a 20 20 20 20 20 20 20 ......public.enum.Flags.........
22040 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 2f 20 3c 73 75 6d .....{..................///.<sum
22060 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 57 68 65 74 68 mary>..................///.Wheth
22080 65 72 20 3c 73 65 65 20 63 72 65 66 3d 22 6d 61 67 6e 69 74 75 64 65 22 2f 3e 20 68 61 73 20 62 er.<see.cref="magnitude"/>.has.b
220a0 65 65 6e 20 73 65 74 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f een.set...................///.</
220c0 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 48 61 76 65 4d 61 summary>..................HaveMa
220e0 67 6e 69 74 75 64 65 20 3d 20 31 20 3c 3c 20 30 2c 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 gnitude.=.1.<<.0,...............
22100 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 20 20 20 20 .....///.<summary>..............
22120 20 20 20 20 2f 2f 2f 20 57 68 65 74 68 65 72 20 74 68 65 20 61 63 74 69 6f 6e 20 61 73 73 6f 63 ....///.Whether.the.action.assoc
22140 69 61 74 65 64 20 77 69 74 68 20 74 68 65 20 74 72 69 67 67 65 72 20 73 74 61 74 65 20 69 73 20 iated.with.the.trigger.state.is.
22160 6d 61 72 6b 65 64 20 61 73 20 70 61 73 73 2d 74 68 72 6f 75 67 68 2e 0d 0a 20 20 20 20 20 20 20 marked.as.pass-through..........
22180 20 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>.........
221a0 20 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 49 6e 70 75 .........///.<seealso.cref="Inpu
221c0 74 41 63 74 69 6f 6e 54 79 70 65 2e 50 61 73 73 54 68 72 6f 75 67 68 22 2f 3e 0d 0a 20 20 20 20 tActionType.PassThrough"/>......
221e0 20 20 20 20 20 20 20 20 20 20 20 20 50 61 73 73 54 68 72 6f 75 67 68 20 3d 20 31 20 3c 3c 20 31 ............PassThrough.=.1.<<.1
22200 2c 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 ,....................///.<summar
22220 79 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 57 68 65 74 68 65 72 20 y>..................///.Whether.
22240 74 68 65 20 61 63 74 69 6f 6e 20 68 61 73 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 63 6f 6e the.action.has.more.than.one.con
22260 74 72 6f 6c 20 62 6f 75 6e 64 20 74 6f 20 69 74 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 trol.bound.to.it................
22280 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 20 20 20 20 20 ...///.</summary>...............
222a0 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 20 20 20 20 20 20 ...///.<remarks>................
222c0 20 20 2f 2f 2f 20 41 6e 20 61 63 74 69 6f 6e 20 6d 61 79 20 68 61 76 65 20 61 72 62 69 74 72 61 ..///.An.action.may.have.arbitra
222e0 72 79 20 6d 61 6e 79 20 62 69 6e 64 69 6e 67 73 20 79 65 74 20 6d 61 79 20 73 74 69 6c 6c 20 72 ry.many.bindings.yet.may.still.r
22300 65 73 6f 6c 76 65 20 6f 6e 6c 79 20 74 6f 20 61 20 73 69 6e 67 6c 65 20 63 6f 6e 74 72 6f 6c 0d esolve.only.to.a.single.control.
22320 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 61 74 20 72 75 6e 74 69 6d 65 2e .................///.at.runtime.
22340 20 49 6e 20 74 68 61 74 20 63 61 73 65 2c 20 74 68 69 73 20 66 6c 61 67 20 69 73 20 4e 4f 54 20 .In.that.case,.this.flag.is.NOT.
22360 73 65 74 2e 20 57 65 20 6f 6e 6c 79 20 73 65 74 20 69 74 20 69 66 20 62 69 6e 64 69 6e 67 20 72 set..We.only.set.it.if.binding.r
22380 65 73 6f 6c 75 74 69 6f 6e 20 66 6f 72 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f esolution.for................../
223a0 2f 2f 20 61 6e 20 61 63 74 69 6f 6e 20 69 6e 64 65 65 64 20 65 6e 64 65 64 20 75 70 20 77 69 74 //.an.action.indeed.ended.up.wit
223c0 68 20 6d 75 6c 74 69 70 6c 65 20 63 6f 6e 74 72 6f 6c 73 20 61 62 6c 65 20 74 6f 20 74 72 69 67 h.multiple.controls.able.to.trig
223e0 67 65 72 20 74 68 65 20 73 61 6d 65 20 61 63 74 69 6f 6e 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 ger.the.same.action.............
22400 20 20 20 20 20 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 20 20 ......///.</remarks>............
22420 20 20 20 20 20 20 4d 61 79 4e 65 65 64 43 6f 6e 66 6c 69 63 74 52 65 73 6f 6c 75 74 69 6f 6e 20 ......MayNeedConflictResolution.
22440 3d 20 31 20 3c 3c 20 32 2c 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f =.1.<<.2,....................///
22460 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 .<summary>..................///.
22480 57 68 65 74 68 65 72 20 74 68 65 72 65 20 61 72 65 20 63 75 72 72 65 6e 74 6c 79 20 6d 75 6c 74 Whether.there.are.currently.mult
224a0 69 70 6c 65 20 62 6f 75 6e 64 20 63 6f 6e 74 72 6f 6c 73 20 74 68 61 74 20 61 72 65 20 61 63 74 iple.bound.controls.that.are.act
224c0 75 61 74 65 64 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 uated...................///.</su
224e0 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 6d mmary>..................///.<rem
22500 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 68 69 73 20 arks>..................///.This.
22520 69 73 20 6f 6e 6c 79 20 75 73 65 64 20 69 66 20 3c 73 65 65 20 63 72 65 66 3d 22 54 72 69 67 67 is.only.used.if.<see.cref="Trigg
22540 65 72 53 74 61 74 65 2e 6d 61 79 4e 65 65 64 43 6f 6e 66 6c 69 63 74 52 65 73 6f 6c 75 74 69 6f erState.mayNeedConflictResolutio
22560 6e 22 2f 3e 20 69 73 20 74 72 75 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f n"/>.is.true.................../
22580 2f 2f 20 3c 2f 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 48 //.</remarks>..................H
225a0 61 73 4d 75 6c 74 69 70 6c 65 43 6f 6e 63 75 72 72 65 6e 74 41 63 74 75 61 74 69 6f 6e 73 20 3d asMultipleConcurrentActuations.=
225c0 20 31 20 3c 3c 20 33 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 .1.<<.3,..............}.........
225e0 20 7d 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 .}............///.<summary>.....
22600 20 20 20 20 20 2f 2f 2f 20 54 65 6c 6c 73 20 75 73 20 77 68 65 72 65 20 74 68 65 20 64 61 74 61 .....///.Tells.us.where.the.data
22620 20 66 6f 72 20 61 20 73 69 6e 67 6c 65 20 61 63 74 69 6f 6e 20 6d 61 70 20 69 73 20 66 6f 75 6e .for.a.single.action.map.is.foun
22640 64 20 69 6e 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 76 61 72 69 6f 75 73 20 61 72 d.in.the..........///.various.ar
22660 72 61 79 73 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 rays...........///.</summary>...
22680 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 72 75 63 74 20 41 63 74 69 6f 6e 4d 61 70 49 6e .......public.struct.ActionMapIn
226a0 64 69 63 65 73 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 dices..........{..............pu
226c0 62 6c 69 63 20 69 6e 74 20 61 63 74 69 6f 6e 53 74 61 72 74 49 6e 64 65 78 3b 0d 0a 20 20 20 20 blic.int.actionStartIndex;......
226e0 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 20 61 63 74 69 6f 6e 43 6f 75 6e 74 3b 0d ........public.int.actionCount;.
22700 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 20 63 6f 6e 74 72 6f 6c 53 .............public.int.controlS
22720 74 61 72 74 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 tartIndex;..............public.i
22740 6e 74 20 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 nt.controlCount;..............pu
22760 62 6c 69 63 20 69 6e 74 20 62 69 6e 64 69 6e 67 53 74 61 72 74 49 6e 64 65 78 3b 0d 0a 20 20 20 blic.int.bindingStartIndex;.....
22780 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 20 62 69 6e 64 69 6e 67 43 6f 75 6e 74 .........public.int.bindingCount
227a0 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 69 6e 74 65 72 61 ;..............public.int.intera
227c0 63 74 69 6f 6e 53 74 61 72 74 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 ctionStartIndex;..............pu
227e0 62 6c 69 63 20 69 6e 74 20 69 6e 74 65 72 61 63 74 69 6f 6e 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 blic.int.interactionCount;......
22800 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 20 70 72 6f 63 65 73 73 6f 72 53 74 61 72 ........public.int.processorStar
22820 74 49 6e 64 65 78 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 tIndex;..............public.int.
22840 70 72 6f 63 65 73 73 6f 72 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 processorCount;..............pub
22860 6c 69 63 20 69 6e 74 20 63 6f 6d 70 6f 73 69 74 65 53 74 61 72 74 49 6e 64 65 78 3b 0d 0a 20 20 lic.int.compositeStartIndex;....
22880 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 20 63 6f 6d 70 6f 73 69 74 65 43 6f ..........public.int.compositeCo
228a0 75 6e 74 3b 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 20 3c unt;..........}............///.<
228c0 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 55 6e 6d 61 6e 61 67 65 64 20 summary>..........///.Unmanaged.
228e0 6d 65 6d 6f 72 79 20 6b 65 70 74 20 66 6f 72 20 61 63 74 69 6f 6e 20 6d 61 70 73 2e 0d 0a 20 20 memory.kept.for.action.maps.....
22900 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 2f 2f ......///.</summary>..........//
22920 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 4d 6f 73 74 20 6f 66 /.<remarks>..........///.Most.of
22940 20 74 68 65 20 64 79 6e 61 6d 69 63 20 65 78 65 63 75 74 69 6f 6e 20 73 74 61 74 65 20 66 6f 72 .the.dynamic.execution.state.for
22960 20 61 63 74 69 6f 6e 73 20 77 65 20 6b 65 65 70 20 69 6e 20 61 20 73 69 6e 67 6c 65 20 62 6c 6f .actions.we.keep.in.a.single.blo
22980 63 6b 20 6f 66 20 75 6e 6d 61 6e 61 67 65 64 20 6d 65 6d 6f 72 79 2e 0d 0a 20 20 20 20 20 20 20 ck.of.unmanaged.memory..........
229a0 20 2f 2f 2f 20 45 73 73 65 6e 74 69 61 6c 6c 79 2c 20 6f 6e 6c 79 20 74 68 65 20 43 23 20 68 65 .///.Essentially,.only.the.C#.he
229c0 61 70 20 6f 62 6a 65 63 74 73 20 28 6c 69 6b 65 20 49 49 6e 70 75 74 49 6e 74 65 72 61 63 74 69 ap.objects.(like.IInputInteracti
229e0 6f 6e 20 61 6e 64 20 73 75 63 68 29 20 77 65 20 6b 65 65 70 20 69 6e 20 6d 61 6e 61 67 65 64 20 on.and.such).we.keep.in.managed.
22a00 61 72 72 61 79 73 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 41 73 69 64 65 20 66 72 6f 6d 20 arrays...........///.Aside.from.
22a20 62 65 69 6e 67 20 61 62 6c 65 20 74 6f 20 63 6f 6e 64 65 6e 73 65 20 74 68 65 20 64 61 74 61 20 being.able.to.condense.the.data.
22a40 69 6e 74 6f 20 61 20 73 69 6e 67 6c 65 20 62 6c 6f 63 6b 20 6f 66 20 6d 65 6d 6f 72 79 20 61 6e into.a.single.block.of.memory.an
22a60 64 20 6e 6f 74 20 68 61 76 69 6e 67 20 74 6f 20 68 61 76 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f d.not.having.to.have..........//
22a80 2f 20 69 74 20 73 70 72 65 61 64 20 6f 75 74 20 6f 6e 20 74 68 65 20 47 43 20 68 65 61 70 2c 20 /.it.spread.out.on.the.GC.heap,.
22aa0 77 65 20 67 61 69 6e 20 74 68 65 20 61 64 76 61 6e 74 61 67 65 20 6f 66 20 62 65 69 6e 67 20 61 we.gain.the.advantage.of.being.a
22ac0 62 6c 65 20 74 6f 20 66 72 65 65 6c 79 20 61 6c 6c 6f 63 61 74 65 20 61 6e 64 20 72 65 2d 61 6c ble.to.freely.allocate.and.re-al
22ae0 6c 6f 63 61 74 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 74 68 65 73 65 20 62 6c 6f 63 6b 73 locate..........///.these.blocks
22b00 20 77 69 74 68 6f 75 74 20 63 72 65 61 74 69 6e 67 20 67 61 72 62 61 67 65 20 6f 6e 20 74 68 65 .without.creating.garbage.on.the
22b20 20 47 43 20 68 65 61 70 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 20 20 20 20 .GC.heap...........///..........
22b40 2f 2f 2f 20 54 68 65 20 64 61 74 61 20 68 65 72 65 20 69 73 20 73 65 74 20 75 70 20 62 79 20 3c ///.The.data.here.is.set.up.by.<
22b60 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 42 69 6e 64 69 6e 67 52 65 73 6f 6c 76 65 72 22 2f see.cref="InputBindingResolver"/
22b80 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 20 20 20 >...........///.</remarks>......
22ba0 20 20 20 20 70 75 62 6c 69 63 20 73 74 72 75 63 74 20 55 6e 6d 61 6e 61 67 65 64 4d 65 6d 6f 72 ....public.struct.UnmanagedMemor
22bc0 79 20 3a 20 49 44 69 73 70 6f 73 61 62 6c 65 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 y.:.IDisposable..........{......
22be0 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 62 6f 6f 6c 20 69 73 41 6c 6c 6f 63 61 74 65 64 20 ........public.bool.isAllocated.
22c00 3d 3e 20 62 61 73 65 50 74 72 20 21 3d 20 6e 75 6c 6c 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 =>.basePtr.!=.null;.............
22c20 20 20 20 70 75 62 6c 69 63 20 76 6f 69 64 2a 20 62 61 73 65 50 74 72 3b 0d 0a 0d 0a 20 20 20 20 ...public.void*.basePtr;........
22c40 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 20 ........///.<summary>...........
22c60 20 20 20 2f 2f 2f 20 4e 75 6d 62 65 72 20 6f 66 20 61 63 74 69 6f 6e 20 6d 61 70 73 20 61 6e 64 ...///.Number.of.action.maps.and
22c80 20 65 6e 74 72 69 65 73 20 69 6e 20 3c 73 65 65 20 63 72 65 66 3d 22 6d 61 70 49 6e 64 69 63 65 .entries.in.<see.cref="mapIndice
22ca0 73 22 2f 3e 20 61 6e 64 20 3c 73 65 65 20 63 72 65 66 3d 22 6d 61 70 73 22 2f 3e 2e 0d 0a 20 20 s"/>.and.<see.cref="maps"/>.....
22cc0 20 20 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 ..........///.</summary>........
22ce0 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 20 6d 61 70 43 6f 75 6e 74 3b 0d 0a 0d 0a 20 20 ......public.int.mapCount;......
22d00 20 20 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>.........
22d20 20 20 20 20 20 2f 2f 2f 20 54 6f 74 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 61 63 74 69 6f 6e 73 .....///.Total.number.of.actions
22d40 20 28 69 2e 65 2e 20 66 72 6f 6d 20 61 6c 6c 20 6d 61 70 73 20 63 6f 6d 62 69 6e 65 64 29 20 61 .(i.e..from.all.maps.combined).a
22d60 6e 64 20 65 6e 74 72 69 65 73 20 69 6e 20 3c 73 65 65 20 63 72 65 66 3d 22 61 63 74 69 6f 6e 53 nd.entries.in.<see.cref="actionS
22d80 74 61 74 65 73 22 2f 3e 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d tates"/>...............///.</sum
22da0 6d 61 72 79 3e 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 mary>..............public.int.ac
22dc0 74 69 6f 6e 43 6f 75 6e 74 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 tionCount;................///.<s
22de0 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 6f 74 61 6c 20 6e ummary>..............///.Total.n
22e00 75 6d 62 65 72 20 6f 66 20 69 6e 74 65 72 61 63 74 69 6f 6e 73 20 61 6e 64 20 65 6e 74 72 69 65 umber.of.interactions.and.entrie
22e20 73 20 69 6e 20 3c 73 65 65 20 63 72 65 66 3d 22 69 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 74 65 s.in.<see.cref="interactionState
22e40 73 22 2f 3e 20 61 6e 64 20 3c 73 65 65 20 63 72 65 66 3d 22 69 6e 74 65 72 61 63 74 69 6f 6e 73 s"/>.and.<see.cref="interactions
22e60 22 2f 3e 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e "/>...............///.</summary>
22e80 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 69 6e 74 65 72 61 63 ..............public.int.interac
22ea0 74 69 6f 6e 43 6f 75 6e 74 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 tionCount;................///.<s
22ec0 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 6f 74 61 6c 20 6e ummary>..............///.Total.n
22ee0 75 6d 62 65 72 20 6f 66 20 62 69 6e 64 69 6e 67 73 20 61 6e 64 20 65 6e 74 72 69 65 73 20 69 6e umber.of.bindings.and.entries.in
22f00 20 3c 73 65 65 20 63 72 65 66 3d 22 62 69 6e 64 69 6e 67 53 74 61 74 65 73 22 2f 3e 2e 0d 0a 20 .<see.cref="bindingStates"/>....
22f20 20 20 20 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 ...........///.</summary>.......
22f40 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 20 62 69 6e 64 69 6e 67 43 6f 75 6e 74 3b 0d .......public.int.bindingCount;.
22f60 0a 0d 0a 20 20 20 20 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 ...............///.<summary>....
22f80 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 6f 74 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 62 6f ..........///.Total.number.of.bo
22fa0 75 6e 64 20 63 6f 6e 74 72 6f 6c 73 20 61 6e 64 20 65 6e 74 72 69 65 73 20 69 6e 20 3c 73 65 65 und.controls.and.entries.in.<see
22fc0 20 63 72 65 66 3d 22 63 6f 6e 74 72 6f 6c 73 22 2f 3e 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 .cref="controls"/>..............
22fe0 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 20 20 20 20 70 75 62 .///.</summary>..............pub
23000 6c 69 63 20 69 6e 74 20 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 lic.int.controlCount;...........
23020 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 20 20 20 20 .....///.<summary>..............
23040 2f 2f 2f 20 54 6f 74 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 6d 70 6f 73 69 74 65 20 62 69 ///.Total.number.of.composite.bi
23060 6e 64 69 6e 67 73 20 61 6e 64 20 65 6e 74 72 69 65 73 20 69 6e 20 3c 73 65 65 20 63 72 65 66 3d ndings.and.entries.in.<see.cref=
23080 22 63 6f 6d 70 6f 73 69 74 65 73 22 2f 3e 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f "composites"/>...............///
230a0 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 .</summary>..............public.
230c0 69 6e 74 20 63 6f 6d 70 6f 73 69 74 65 43 6f 75 6e 74 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 int.compositeCount;.............
230e0 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 20 20 20 20 2f 2f ...///.<summary>..............//
23100 2f 20 54 6f 74 61 6c 20 73 69 7a 65 20 6f 66 20 61 6c 6c 6f 63 61 74 65 64 20 75 6e 6d 61 6e 61 /.Total.size.of.allocated.unmana
23120 67 65 64 20 6d 65 6d 6f 72 79 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 ged.memory...............///.</s
23140 75 6d 6d 61 72 79 3e 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 ummary>..............public.int.
23160 73 69 7a 65 49 6e 42 79 74 65 73 20 3d 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 sizeInBytes.=>..................
23180 6d 61 70 43 6f 75 6e 74 20 2a 20 73 69 7a 65 6f 66 28 41 63 74 69 6f 6e 4d 61 70 49 6e 64 69 63 mapCount.*.sizeof(ActionMapIndic
231a0 65 73 29 20 2b 20 2f 2f 20 6d 61 70 49 6e 64 69 63 65 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 es).+.//.mapIndices.............
231c0 20 20 20 20 20 61 63 74 69 6f 6e 43 6f 75 6e 74 20 2a 20 73 69 7a 65 6f 66 28 54 72 69 67 67 65 .....actionCount.*.sizeof(Trigge
231e0 72 53 74 61 74 65 29 20 2b 20 2f 2f 20 61 63 74 69 6f 6e 53 74 61 74 65 73 0d 0a 20 20 20 20 20 rState).+.//.actionStates.......
23200 20 20 20 20 20 20 20 20 20 20 20 62 69 6e 64 69 6e 67 43 6f 75 6e 74 20 2a 20 73 69 7a 65 6f 66 ...........bindingCount.*.sizeof
23220 28 42 69 6e 64 69 6e 67 53 74 61 74 65 29 20 2b 20 2f 2f 20 62 69 6e 64 69 6e 67 53 74 61 74 65 (BindingState).+.//.bindingState
23240 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 61 63 74 69 6f 6e 43 6f s..................interactionCo
23260 75 6e 74 20 2a 20 73 69 7a 65 6f 66 28 49 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 74 65 29 20 2b unt.*.sizeof(InteractionState).+
23280 20 2f 2f 20 69 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 74 65 73 0d 0a 20 20 20 20 20 20 20 20 20 .//.interactionStates...........
232a0 20 20 20 20 20 20 20 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 20 2a 20 73 69 7a 65 6f 66 28 66 6c 6f .......controlCount.*.sizeof(flo
232c0 61 74 29 20 2b 20 2f 2f 20 63 6f 6e 74 72 6f 6c 4d 61 67 6e 69 74 75 64 65 73 0d 0a 20 20 20 20 at).+.//.controlMagnitudes......
232e0 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6d 70 6f 73 69 74 65 43 6f 75 6e 74 20 2a 20 73 69 7a ............compositeCount.*.siz
23300 65 6f 66 28 66 6c 6f 61 74 29 20 2b 20 2f 2f 20 63 6f 6d 70 6f 73 69 74 65 4d 61 67 6e 69 74 75 eof(float).+.//.compositeMagnitu
23320 64 65 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 72 6f 6c 43 6f 75 6e des..................controlCoun
23340 74 20 2a 20 73 69 7a 65 6f 66 28 69 6e 74 29 20 2b 20 2f 2f 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 t.*.sizeof(int).+.//.controlInde
23360 78 54 6f 42 69 6e 64 69 6e 67 49 6e 64 65 78 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 xToBindingIndex.................
23380 20 61 63 74 69 6f 6e 43 6f 75 6e 74 20 2a 20 73 69 7a 65 6f 66 28 75 73 68 6f 72 74 29 20 2a 20 .actionCount.*.sizeof(ushort).*.
233a0 32 20 2b 20 2f 2f 20 61 63 74 69 6f 6e 42 69 6e 64 69 6e 67 49 6e 64 69 63 65 73 41 6e 64 43 6f 2.+.//.actionBindingIndicesAndCo
233c0 75 6e 74 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 69 6e 64 69 6e 67 43 6f 75 unts..................bindingCou
233e0 6e 74 20 2a 20 73 69 7a 65 6f 66 28 75 73 68 6f 72 74 29 20 2b 20 2f 2f 20 61 63 74 69 6f 6e 42 nt.*.sizeof(ushort).+.//.actionB
23400 69 6e 64 69 6e 67 49 6e 64 69 63 65 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 indingIndices..................(
23420 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 20 2b 20 33 31 29 20 2f 20 33 32 20 2a 20 73 69 7a 65 6f 66 controlCount.+.31)./.32.*.sizeof
23440 28 69 6e 74 29 3b 20 2f 2f 20 65 6e 61 62 6c 65 64 43 6f 6e 74 72 6f 6c 73 41 72 72 61 79 0d 0a (int);.//.enabledControlsArray..
23460 0d 0a 20 20 20 20 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 ..............///.<summary>.....
23480 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 72 69 67 67 65 72 20 73 74 61 74 65 20 6f 66 20 61 6c .........///.Trigger.state.of.al
234a0 6c 20 61 63 74 69 6f 6e 73 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 73 74 61 74 65 2e 0d 0a 20 l.actions.added.to.the.state....
234c0 20 20 20 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 ...........///.</summary>.......
234e0 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 20 20 .......///.<remarks>............
23500 20 20 2f 2f 2f 20 54 68 69 73 20 61 72 72 61 79 20 61 6c 73 6f 20 74 65 6c 6c 73 20 77 68 69 63 ..///.This.array.also.tells.whic
23520 68 20 61 63 74 69 6f 6e 73 20 61 72 65 20 65 6e 61 62 6c 65 64 20 6f 72 20 64 69 73 61 62 6c 65 h.actions.are.enabled.or.disable
23540 64 2e 20 41 6e 79 20 61 63 74 69 6f 6e 20 77 69 74 68 20 70 68 61 73 65 0d 0a 20 20 20 20 20 20 d..Any.action.with.phase........
23560 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 41 63 74 69 6f 6e ......///.<see.cref="InputAction
23580 50 68 61 73 65 2e 44 69 73 61 62 6c 65 64 22 2f 3e 20 69 73 20 64 69 73 61 62 6c 65 64 2e 0d 0a Phase.Disabled"/>.is.disabled...
235a0 20 20 20 20 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 20 20 20 ............///.</remarks>......
235c0 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 54 72 69 67 67 65 72 53 74 61 74 65 2a 20 61 63 74 ........public.TriggerState*.act
235e0 69 6f 6e 53 74 61 74 65 73 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 ionStates;................///.<s
23600 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 53 74 61 74 65 20 6f ummary>..............///.State.o
23620 66 20 61 6c 6c 20 62 69 6e 64 69 6e 67 73 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 73 74 61 74 f.all.bindings.added.to.the.stat
23640 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a e...............///.</summary>..
23660 20 20 20 20 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 ............///.<remarks>.......
23680 20 20 20 20 20 20 20 2f 2f 2f 20 46 6f 72 20 74 68 65 20 6d 6f 73 74 20 70 61 72 74 2c 20 74 68 .......///.For.the.most.part,.th
236a0 69 73 20 69 73 20 72 65 61 64 2d 6f 6e 6c 79 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 73 65 74 20 is.is.read-only.information.set.
236c0 75 70 20 64 75 72 69 6e 67 20 72 65 73 6f 6c 75 74 69 6f 6e 2e 0d 0a 20 20 20 20 20 20 20 20 20 up.during.resolution............
236e0 20 20 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 20 20 20 20 70 ...///.</remarks>..............p
23700 75 62 6c 69 63 20 42 69 6e 64 69 6e 67 53 74 61 74 65 2a 20 62 69 6e 64 69 6e 67 53 74 61 74 65 ublic.BindingState*.bindingState
23720 73 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d s;................///.<summary>.
23740 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 53 74 61 74 65 20 6f 66 20 61 6c 6c 20 69 6e .............///.State.of.all.in
23760 74 65 72 61 63 74 69 6f 6e 73 20 6f 6e 20 62 69 6e 64 69 6e 67 73 20 69 6e 20 74 68 65 20 61 63 teractions.on.bindings.in.the.ac
23780 74 69 6f 6e 20 6d 61 70 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d tion.map...............///.</sum
237a0 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e mary>..............///.<remarks>
237c0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 41 6e 79 20 69 6e 74 65 72 61 63 74 69 6f ..............///.Any.interactio
237e0 6e 20 6d 65 6e 74 69 6f 6e 65 64 20 6f 6e 20 61 6e 79 20 6f 66 20 74 68 65 20 62 69 6e 64 69 6e n.mentioned.on.any.of.the.bindin
23800 67 73 20 67 65 74 73 20 69 74 73 20 6f 77 6e 20 65 78 65 63 75 74 69 6f 6e 20 73 74 61 74 65 20 gs.gets.its.own.execution.state.
23820 72 65 63 6f 72 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 69 6e 20 68 65 72 65 2e record..............///.in.here.
23840 20 54 68 65 20 69 6e 74 65 72 61 63 74 69 6f 6e 73 20 66 6f 72 20 61 6e 79 20 6f 6e 65 20 62 69 .The.interactions.for.any.one.bi
23860 6e 64 69 6e 67 20 61 72 65 20 67 72 6f 75 70 65 64 20 74 6f 67 65 74 68 65 72 2e 0d 0a 20 20 20 nding.are.grouped.together......
23880 20 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 20 20 20 20 20 20 .........///.</remarks>.........
238a0 20 20 20 20 20 70 75 62 6c 69 63 20 49 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 74 65 2a 20 69 6e .....public.InteractionState*.in
238c0 74 65 72 61 63 74 69 6f 6e 53 74 61 74 65 73 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 teractionStates;................
238e0 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a ///.<summary>..............///..
23900 20 20 20 20 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 ............///.</summary>......
23920 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 20 ........///.<remarks>...........
23940 20 20 20 2f 2f 2f 20 54 68 69 73 20 61 72 72 61 79 20 69 73 20 4e 4f 54 20 6b 65 70 74 20 73 74 ...///.This.array.is.NOT.kept.st
23960 72 69 63 74 6c 79 20 75 70 20 74 6f 20 64 61 74 65 2e 20 49 6e 20 66 61 63 74 2c 20 77 65 20 6f rictly.up.to.date..In.fact,.we.o
23980 6e 6c 79 20 75 73 65 20 69 74 20 66 6f 72 20 63 6f 6e 66 6c 69 63 74 20 72 65 73 6f 6c 75 74 69 nly.use.it.for.conflict.resoluti
239a0 6f 6e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 62 65 74 77 65 65 6e 20 6d 75 6c 74 on..............///.between.mult
239c0 69 70 6c 65 20 62 6f 75 6e 64 20 63 6f 6e 74 72 6f 6c 73 20 61 74 20 74 68 65 20 6d 6f 6d 65 6e iple.bound.controls.at.the.momen
239e0 74 2e 20 4d 65 61 6e 69 6e 67 20 74 68 61 74 20 69 6e 20 74 68 65 20 6d 61 6a 6f 72 69 74 79 20 t..Meaning.that.in.the.majority.
23a00 6f 66 20 63 61 73 65 73 2c 20 74 68 65 20 6d 61 67 6e 69 74 75 64 65 0d 0a 20 20 20 20 20 20 20 of.cases,.the.magnitude.........
23a20 20 20 20 20 20 2f 2f 2f 20 73 74 6f 72 65 64 20 66 6f 72 20 61 20 63 6f 6e 74 72 6f 6c 20 68 65 .....///.stored.for.a.control.he
23a40 72 65 20 77 69 6c 6c 20 4e 4f 54 20 62 65 20 75 70 20 74 6f 20 64 61 74 65 2e 0d 0a 20 20 20 20 re.will.NOT.be.up.to.date.......
23a60 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 41 6c 73 ........///..............///.Als
23a80 6f 20 6e 6f 74 65 20 74 68 61 74 20 66 6f 72 20 63 6f 6e 74 72 6f 6c 73 20 74 68 61 74 20 61 72 o.note.that.for.controls.that.ar
23aa0 65 20 70 61 72 74 20 6f 66 20 63 6f 6d 70 6f 73 69 74 65 73 2c 20 74 68 69 73 20 77 69 6c 6c 20 e.part.of.composites,.this.will.
23ac0 4e 4f 54 20 62 65 20 74 68 65 20 6d 61 67 6e 69 74 75 64 65 20 6f 66 20 74 68 65 0d 0a 20 20 20 NOT.be.the.magnitude.of.the.....
23ae0 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 63 6f 6e 74 72 6f 6c 20 62 75 74 20 72 61 74 68 65 72 20 .........///.control.but.rather.
23b00 62 65 20 74 68 65 20 6d 61 67 6e 69 74 75 64 65 20 6f 66 20 74 68 65 20 65 6e 74 69 72 65 20 63 be.the.magnitude.of.the.entire.c
23b20 6f 6d 70 6f 75 6e 64 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 6d 61 ompound...............///.</rema
23b40 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 66 6c 6f 61 74 2a 20 rks>..............public.float*.
23b60 63 6f 6e 74 72 6f 6c 4d 61 67 6e 69 74 75 64 65 73 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 controlMagnitudes;..............
23b80 20 20 70 75 62 6c 69 63 20 66 6c 6f 61 74 2a 20 63 6f 6d 70 6f 73 69 74 65 4d 61 67 6e 69 74 75 ..public.float*.compositeMagnitu
23ba0 64 65 73 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 2a 20 des;................public.int*.
23bc0 65 6e 61 62 6c 65 64 43 6f 6e 74 72 6f 6c 73 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 enabledControls;................
23be0 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 41 ///.<summary>..............///.A
23c00 72 72 61 79 20 6f 66 20 70 61 69 72 20 6f 66 20 69 6e 74 73 2c 20 6f 6e 65 20 70 61 69 72 20 66 rray.of.pair.of.ints,.one.pair.f
23c20 6f 72 20 65 61 63 68 20 61 63 74 69 6f 6e 20 28 73 61 6d 65 20 69 6e 64 65 78 20 61 73 20 3c 73 or.each.action.(same.index.as.<s
23c40 65 65 20 63 72 65 66 3d 22 61 63 74 69 6f 6e 53 74 61 74 65 73 22 2f 3e 29 2e 20 46 69 72 73 74 ee.cref="actionStates"/>)..First
23c60 20 69 6e 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 69 73 20 63 6f 75 6e 74 20 6f .int..............///.is.count.o
23c80 66 20 62 69 6e 64 69 6e 67 73 20 6f 6e 20 61 63 74 69 6f 6e 2c 20 73 65 63 6f 6e 64 20 69 6e 74 f.bindings.on.action,.second.int
23ca0 20 69 73 20 69 6e 64 65 78 20 69 6e 74 6f 20 3c 73 65 65 20 63 72 65 66 3d 22 61 63 74 69 6f 6e .is.index.into.<see.cref="action
23cc0 42 69 6e 64 69 6e 67 49 6e 64 69 63 65 73 22 2f 3e 20 77 68 65 72 65 0d 0a 20 20 20 20 20 20 20 BindingIndices"/>.where.........
23ce0 20 20 20 20 20 2f 2f 2f 20 62 69 6e 64 69 6e 67 73 20 6f 66 20 61 63 74 69 6f 6e 20 61 72 65 20 .....///.bindings.of.action.are.
23d00 66 6f 75 6e 64 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 found...............///.</summar
23d20 79 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 75 73 68 6f 72 74 2a 20 61 y>..............public.ushort*.a
23d40 63 74 69 6f 6e 42 69 6e 64 69 6e 67 49 6e 64 69 63 65 73 41 6e 64 43 6f 75 6e 74 73 3b 0d 0a 0d ctionBindingIndicesAndCounts;...
23d60 0a 20 20 20 20 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 .............///.<summary>......
23d80 20 20 20 20 20 20 20 20 2f 2f 2f 20 41 72 72 61 79 20 6f 66 20 69 6e 64 69 63 65 73 20 69 6e 74 ........///.Array.of.indices.int
23da0 6f 20 3c 73 65 65 20 63 72 65 66 3d 22 62 69 6e 64 69 6e 67 53 74 61 74 65 73 22 2f 3e 2e 20 54 o.<see.cref="bindingStates"/>..T
23dc0 68 65 20 69 6e 64 69 63 65 73 20 66 6f 72 20 65 76 65 72 79 20 61 63 74 69 6f 6e 20 61 72 65 20 he.indices.for.every.action.are.
23de0 6c 61 69 64 20 6f 75 74 20 73 65 71 75 65 6e 74 69 61 6c 6c 79 2e 0d 0a 20 20 20 20 20 20 20 20 laid.out.sequentially...........
23e00 20 20 20 20 2f 2f 2f 20 54 68 65 20 61 72 72 61 79 20 73 6c 69 63 65 20 63 6f 72 72 65 73 70 6f ....///.The.array.slice.correspo
23e20 6e 64 69 6e 67 20 74 6f 20 65 61 63 68 20 61 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 64 65 74 65 nding.to.each.action.can.be.dete
23e40 72 6d 69 6e 65 64 20 62 79 20 6c 6f 6f 6b 69 6e 67 20 69 74 20 75 70 20 69 6e 20 3c 73 65 65 20 rmined.by.looking.it.up.in.<see.
23e60 63 72 65 66 3d 22 61 63 74 69 6f 6e 42 69 6e 64 69 6e 67 49 6e 64 69 63 65 73 41 6e 64 43 6f 75 cref="actionBindingIndicesAndCou
23e80 6e 74 73 22 2f 3e 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 nts"/>...............///.</summa
23ea0 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 75 73 68 6f 72 74 2a 20 ry>..............public.ushort*.
23ec0 61 63 74 69 6f 6e 42 69 6e 64 69 6e 67 49 6e 64 69 63 65 73 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 actionBindingIndices;...........
23ee0 20 20 20 20 20 2f 2f 2f 2f 52 45 56 49 45 57 3a 20 6d 61 6b 65 20 74 68 69 73 20 61 6e 20 61 72 .....////REVIEW:.make.this.an.ar
23f00 72 61 79 20 6f 66 20 73 68 6f 72 74 73 20 72 61 74 68 65 72 20 74 68 61 6e 20 69 6e 74 73 3f 0d ray.of.shorts.rather.than.ints?.
23f20 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 2a 20 63 6f 6e 74 72 6f 6c .............public.int*.control
23f40 49 6e 64 65 78 54 6f 42 69 6e 64 69 6e 67 49 6e 64 65 78 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 IndexToBindingIndex;............
23f60 20 20 20 20 70 75 62 6c 69 63 20 41 63 74 69 6f 6e 4d 61 70 49 6e 64 69 63 65 73 2a 20 6d 61 70 ....public.ActionMapIndices*.map
23f80 49 6e 64 69 63 65 73 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 76 Indices;................public.v
23fa0 6f 69 64 20 41 6c 6c 6f 63 61 74 65 28 69 6e 74 20 6d 61 70 43 6f 75 6e 74 2c 20 69 6e 74 20 61 oid.Allocate(int.mapCount,.int.a
23fc0 63 74 69 6f 6e 43 6f 75 6e 74 2c 20 69 6e 74 20 62 69 6e 64 69 6e 67 43 6f 75 6e 74 2c 20 69 6e ctionCount,.int.bindingCount,.in
23fe0 74 20 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 2c 20 69 6e 74 20 69 6e 74 65 72 61 63 74 69 6f 6e 43 t.controlCount,.int.interactionC
24000 6f 75 6e 74 2c 20 69 6e 74 20 63 6f 6d 70 6f 73 69 74 65 43 6f 75 6e 74 29 0d 0a 20 20 20 20 20 ount,.int.compositeCount).......
24020 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 44 65 62 75 67 2e .......{..................Debug.
24040 41 73 73 65 72 74 28 62 61 73 65 50 74 72 20 3d 3d 20 6e 75 6c 6c 2c 20 22 4d 65 6d 6f 72 79 20 Assert(basePtr.==.null,."Memory.
24060 61 6c 72 65 61 64 79 20 61 6c 6c 6f 63 61 74 65 64 21 20 46 72 65 65 20 66 69 72 73 74 21 22 29 already.allocated!.Free.first!")
24080 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 ;..................Debug.Assert(
240a0 6d 61 70 43 6f 75 6e 74 20 3e 3d 20 31 2c 20 22 4d 61 70 20 63 6f 75 6e 74 20 6f 75 74 20 6f 66 mapCount.>=.1,."Map.count.out.of
240c0 20 72 61 6e 67 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 .range");..................Debug
240e0 2e 41 73 73 65 72 74 28 61 63 74 69 6f 6e 43 6f 75 6e 74 20 3e 3d 20 30 2c 20 22 41 63 74 69 6f .Assert(actionCount.>=.0,."Actio
24100 6e 20 63 6f 75 6e 74 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 n.count.out.of.range");.........
24120 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 62 69 6e 64 69 6e 67 43 6f 75 .........Debug.Assert(bindingCou
24140 6e 74 20 3e 3d 20 30 2c 20 22 42 69 6e 64 69 6e 67 20 63 6f 75 6e 74 20 6f 75 74 20 6f 66 20 72 nt.>=.0,."Binding.count.out.of.r
24160 61 6e 67 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 ange");..................Debug.A
24180 73 73 65 72 74 28 69 6e 74 65 72 61 63 74 69 6f 6e 43 6f 75 6e 74 20 3e 3d 20 30 2c 20 22 49 6e ssert(interactionCount.>=.0,."In
241a0 74 65 72 61 63 74 69 6f 6e 20 63 6f 75 6e 74 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d teraction.count.out.of.range");.
241c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 63 6f .................Debug.Assert(co
241e0 6d 70 6f 73 69 74 65 43 6f 75 6e 74 20 3e 3d 20 30 2c 20 22 43 6f 6d 70 6f 73 69 74 65 20 63 6f mpositeCount.>=.0,."Composite.co
24200 75 6e 74 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 unt.out.of.range");.............
24220 20 20 20 20 20 20 20 74 68 69 73 2e 6d 61 70 43 6f 75 6e 74 20 3d 20 6d 61 70 43 6f 75 6e 74 3b .......this.mapCount.=.mapCount;
24240 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73 2e 61 63 74 69 6f 6e 43 6f 75 ..................this.actionCou
24260 6e 74 20 3d 20 61 63 74 69 6f 6e 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 nt.=.actionCount;...............
24280 20 20 20 74 68 69 73 2e 69 6e 74 65 72 61 63 74 69 6f 6e 43 6f 75 6e 74 20 3d 20 69 6e 74 65 72 ...this.interactionCount.=.inter
242a0 61 63 74 69 6f 6e 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 actionCount;..................th
242c0 69 73 2e 62 69 6e 64 69 6e 67 43 6f 75 6e 74 20 3d 20 62 69 6e 64 69 6e 67 43 6f 75 6e 74 3b 0d is.bindingCount.=.bindingCount;.
242e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73 2e 63 6f 6e 74 72 6f 6c 43 6f 75 .................this.controlCou
24300 6e 74 20 3d 20 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 nt.=.controlCount;..............
24320 20 20 20 20 74 68 69 73 2e 63 6f 6d 70 6f 73 69 74 65 43 6f 75 6e 74 20 3d 20 63 6f 6d 70 6f 73 ....this.compositeCount.=.compos
24340 69 74 65 43 6f 75 6e 74 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 iteCount;....................var
24360 20 70 74 72 20 3d 20 28 62 79 74 65 2a 29 55 6e 73 61 66 65 55 74 69 6c 69 74 79 2e 4d 61 6c 6c .ptr.=.(byte*)UnsafeUtility.Mall
24380 6f 63 28 73 69 7a 65 49 6e 42 79 74 65 73 2c 20 34 2c 20 41 6c 6c 6f 63 61 74 6f 72 2e 50 65 72 oc(sizeInBytes,.4,.Allocator.Per
243a0 73 69 73 74 65 6e 74 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 6e 73 61 66 sistent);..................Unsaf
243c0 65 55 74 69 6c 69 74 79 2e 4d 65 6d 43 6c 65 61 72 28 70 74 72 2c 20 73 69 7a 65 49 6e 42 79 74 eUtility.MemClear(ptr,.sizeInByt
243e0 65 73 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 61 73 65 50 74 72 20 es);....................basePtr.
24400 3d 20 70 74 72 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 4e 4f 54 =.ptr;....................//.NOT
24420 45 3a 20 54 68 69 73 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 20 69 6e 64 69 76 69 64 75 61 E:.This.depends.on.the.individua
24440 6c 20 73 74 72 75 63 74 73 20 62 65 69 6e 67 20 73 75 66 66 69 63 69 65 6e 74 6c 79 20 61 6c 69 l.structs.being.sufficiently.ali
24460 67 6e 65 64 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 6e 6f 74 0d 0a 20 20 20 20 20 20 20 20 20 20 gned.in.order.to.not............
24480 20 20 20 20 20 20 2f 2f 20 20 20 20 20 20 20 63 61 75 73 65 20 61 6e 79 20 6d 69 73 61 6c 69 67 ......//.......cause.any.misalig
244a0 6e 6d 65 6e 74 20 68 65 72 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 70 nment.here...................map
244c0 49 6e 64 69 63 65 73 20 3d 20 28 41 63 74 69 6f 6e 4d 61 70 49 6e 64 69 63 65 73 2a 29 70 74 72 Indices.=.(ActionMapIndices*)ptr
244e0 3b 20 70 74 72 20 2b 3d 20 6d 61 70 43 6f 75 6e 74 20 2a 20 73 69 7a 65 6f 66 28 41 63 74 69 6f ;.ptr.+=.mapCount.*.sizeof(Actio
24500 6e 4d 61 70 49 6e 64 69 63 65 73 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 nMapIndices);..................a
24520 63 74 69 6f 6e 53 74 61 74 65 73 20 3d 20 28 54 72 69 67 67 65 72 53 74 61 74 65 2a 29 70 74 72 ctionStates.=.(TriggerState*)ptr
24540 3b 20 70 74 72 20 2b 3d 20 61 63 74 69 6f 6e 43 6f 75 6e 74 20 2a 20 73 69 7a 65 6f 66 28 54 72 ;.ptr.+=.actionCount.*.sizeof(Tr
24560 69 67 67 65 72 53 74 61 74 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e iggerState);..................in
24580 74 65 72 61 63 74 69 6f 6e 53 74 61 74 65 73 20 3d 20 28 49 6e 74 65 72 61 63 74 69 6f 6e 53 74 teractionStates.=.(InteractionSt
245a0 61 74 65 2a 29 70 74 72 3b 20 70 74 72 20 2b 3d 20 69 6e 74 65 72 61 63 74 69 6f 6e 43 6f 75 6e ate*)ptr;.ptr.+=.interactionCoun
245c0 74 20 2a 20 73 69 7a 65 6f 66 28 49 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 74 65 29 3b 0d 0a 20 t.*.sizeof(InteractionState);...
245e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 69 6e 64 69 6e 67 53 74 61 74 65 73 20 3d 20 28 ...............bindingStates.=.(
24600 42 69 6e 64 69 6e 67 53 74 61 74 65 2a 29 70 74 72 3b 20 70 74 72 20 2b 3d 20 62 69 6e 64 69 6e BindingState*)ptr;.ptr.+=.bindin
24620 67 43 6f 75 6e 74 20 2a 20 73 69 7a 65 6f 66 28 42 69 6e 64 69 6e 67 53 74 61 74 65 29 3b 0d 0a gCount.*.sizeof(BindingState);..
24640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 72 6f 6c 4d 61 67 6e 69 74 75 64 65 ................controlMagnitude
24660 73 20 3d 20 28 66 6c 6f 61 74 2a 29 70 74 72 3b 20 70 74 72 20 2b 3d 20 63 6f 6e 74 72 6f 6c 43 s.=.(float*)ptr;.ptr.+=.controlC
24680 6f 75 6e 74 20 2a 20 73 69 7a 65 6f 66 28 66 6c 6f 61 74 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 ount.*.sizeof(float);...........
246a0 20 20 20 20 20 20 20 63 6f 6d 70 6f 73 69 74 65 4d 61 67 6e 69 74 75 64 65 73 20 3d 20 28 66 6c .......compositeMagnitudes.=.(fl
246c0 6f 61 74 2a 29 70 74 72 3b 20 70 74 72 20 2b 3d 20 63 6f 6d 70 6f 73 69 74 65 43 6f 75 6e 74 20 oat*)ptr;.ptr.+=.compositeCount.
246e0 2a 20 73 69 7a 65 6f 66 28 66 6c 6f 61 74 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *.sizeof(float);................
24700 20 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 54 6f 42 69 6e 64 69 6e 67 49 6e 64 65 78 20 3d 20 28 ..controlIndexToBindingIndex.=.(
24720 69 6e 74 2a 29 70 74 72 3b 20 70 74 72 20 2b 3d 20 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 20 2a 20 int*)ptr;.ptr.+=.controlCount.*.
24740 73 69 7a 65 6f 66 28 69 6e 74 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 sizeof(int);..................ac
24760 74 69 6f 6e 42 69 6e 64 69 6e 67 49 6e 64 69 63 65 73 41 6e 64 43 6f 75 6e 74 73 20 3d 20 28 75 tionBindingIndicesAndCounts.=.(u
24780 73 68 6f 72 74 2a 29 70 74 72 3b 20 70 74 72 20 2b 3d 20 61 63 74 69 6f 6e 43 6f 75 6e 74 20 2a short*)ptr;.ptr.+=.actionCount.*
247a0 20 73 69 7a 65 6f 66 28 75 73 68 6f 72 74 29 20 2a 20 32 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 .sizeof(ushort).*.2;............
247c0 20 20 20 20 20 20 61 63 74 69 6f 6e 42 69 6e 64 69 6e 67 49 6e 64 69 63 65 73 20 3d 20 28 75 73 ......actionBindingIndices.=.(us
247e0 68 6f 72 74 2a 29 70 74 72 3b 20 70 74 72 20 2b 3d 20 62 69 6e 64 69 6e 67 43 6f 75 6e 74 20 2a hort*)ptr;.ptr.+=.bindingCount.*
24800 20 73 69 7a 65 6f 66 28 75 73 68 6f 72 74 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .sizeof(ushort);................
24820 20 20 65 6e 61 62 6c 65 64 43 6f 6e 74 72 6f 6c 73 20 3d 20 28 69 6e 74 2a 29 70 74 72 3b 20 70 ..enabledControls.=.(int*)ptr;.p
24840 74 72 20 2b 3d 20 28 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 20 2b 20 33 31 29 20 2f 20 33 32 20 2a tr.+=.(controlCount.+.31)./.32.*
24860 20 73 69 7a 65 6f 66 28 69 6e 74 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a .sizeof(int);..............}....
24880 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 76 6f 69 64 20 44 69 73 70 6f 73 65 28 ............public.void.Dispose(
248a0 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 20 20 )..............{................
248c0 20 20 69 66 20 28 62 61 73 65 50 74 72 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 ..if.(basePtr.==.null)..........
248e0 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 20 ............return;.............
24900 20 20 20 20 20 20 20 55 6e 73 61 66 65 55 74 69 6c 69 74 79 2e 46 72 65 65 28 62 61 73 65 50 74 .......UnsafeUtility.Free(basePt
24920 72 2c 20 41 6c 6c 6f 63 61 74 6f 72 2e 50 65 72 73 69 73 74 65 6e 74 29 3b 0d 0a 0d 0a 20 20 20 r,.Allocator.Persistent);.......
24940 20 20 20 20 20 20 20 20 20 20 20 20 20 62 61 73 65 50 74 72 20 3d 20 6e 75 6c 6c 3b 0d 0a 20 20 .............basePtr.=.null;....
24960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 69 6f 6e 53 74 61 74 65 73 20 3d 20 6e 75 6c ..............actionStates.=.nul
24980 6c 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 61 63 74 69 6f 6e 53 l;..................interactionS
249a0 74 61 74 65 73 20 3d 20 6e 75 6c 6c 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 tates.=.null;..................b
249c0 69 6e 64 69 6e 67 53 74 61 74 65 73 20 3d 20 6e 75 6c 6c 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 indingStates.=.null;............
249e0 20 20 20 20 20 20 6d 61 70 49 6e 64 69 63 65 73 20 3d 20 6e 75 6c 6c 3b 0d 0a 20 20 20 20 20 20 ......mapIndices.=.null;........
24a00 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 72 6f 6c 4d 61 67 6e 69 74 75 64 65 73 20 3d 20 6e 75 ..........controlMagnitudes.=.nu
24a20 6c 6c 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6d 70 6f 73 69 74 65 4d 61 ll;..................compositeMa
24a40 67 6e 69 74 75 64 65 73 20 3d 20 6e 75 6c 6c 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 gnitudes.=.null;................
24a60 20 20 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 54 6f 42 69 6e 64 69 6e 67 49 6e 64 65 78 20 3d 20 6e ..controlIndexToBindingIndex.=.n
24a80 75 6c 6c 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 69 6f 6e 42 69 6e 64 ull;..................actionBind
24aa0 69 6e 67 49 6e 64 69 63 65 73 20 3d 20 6e 75 6c 6c 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ingIndices.=.null;..............
24ac0 20 20 20 20 61 63 74 69 6f 6e 42 69 6e 64 69 6e 67 49 6e 64 69 63 65 73 41 6e 64 43 6f 75 6e 74 ....actionBindingIndicesAndCount
24ae0 73 20 3d 20 6e 75 6c 6c 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 70 s.=.null;....................map
24b00 43 6f 75 6e 74 20 3d 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 69 Count.=.0;..................acti
24b20 6f 6e 43 6f 75 6e 74 20 3d 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 69 onCount.=.0;..................bi
24b40 6e 64 69 6e 67 43 6f 75 6e 74 20 3d 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ndingCount.=.0;.................
24b60 20 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 20 3d 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 .controlCount.=.0;..............
24b80 20 20 20 20 69 6e 74 65 72 61 63 74 69 6f 6e 43 6f 75 6e 74 20 3d 20 30 3b 0d 0a 20 20 20 20 20 ....interactionCount.=.0;.......
24ba0 20 20 20 20 20 20 20 20 20 20 20 63 6f 6d 70 6f 73 69 74 65 43 6f 75 6e 74 20 3d 20 30 3b 0d 0a ...........compositeCount.=.0;..
24bc0 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 70 75 62 ............}................pub
24be0 6c 69 63 20 76 6f 69 64 20 43 6f 70 79 44 61 74 61 46 72 6f 6d 28 55 6e 6d 61 6e 61 67 65 64 4d lic.void.CopyDataFrom(UnmanagedM
24c00 65 6d 6f 72 79 20 6d 65 6d 6f 72 79 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 emory.memory)..............{....
24c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 6d 65 6d 6f 72 ..............Debug.Assert(memor
24c40 79 2e 62 61 73 65 50 74 72 20 21 3d 20 6e 75 6c 6c 2c 20 22 47 69 76 65 6e 20 73 74 72 75 63 74 y.basePtr.!=.null,."Given.struct
24c60 20 68 61 73 20 6e 6f 20 61 6c 6c 6f 63 61 74 65 64 20 64 61 74 61 22 29 3b 0d 0a 0d 0a 20 20 20 .has.no.allocated.data");.......
24c80 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 45 76 65 6e 20 69 66 20 61 20 63 65 72 74 61 69 .............//.Even.if.a.certai
24ca0 6e 20 61 72 72 61 79 20 69 73 20 65 6d 70 74 79 20 28 65 2e 67 2e 20 77 65 20 68 61 76 65 20 6e n.array.is.empty.(e.g..we.have.n
24cc0 6f 20 63 6f 6e 74 72 6f 6c 73 29 2c 20 77 65 20 73 65 74 20 74 68 65 20 70 6f 69 6e 74 65 72 0d o.controls),.we.set.the.pointer.
24ce0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 69 6e 20 41 6c 6c 6f 63 61 74 65 28 .................//.in.Allocate(
24d00 29 20 74 6f 20 73 6f 6d 65 74 68 69 6e 67 20 6f 74 68 65 72 20 74 68 61 6e 20 6e 75 6c 6c 2e 0d ).to.something.other.than.null..
24d20 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 6e 73 61 66 65 55 74 69 6c 69 74 79 ...................UnsafeUtility
24d40 2e 4d 65 6d 43 70 79 28 6d 61 70 49 6e 64 69 63 65 73 2c 20 6d 65 6d 6f 72 79 2e 6d 61 70 49 6e .MemCpy(mapIndices,.memory.mapIn
24d60 64 69 63 65 73 2c 20 6d 65 6d 6f 72 79 2e 6d 61 70 43 6f 75 6e 74 20 2a 20 73 69 7a 65 6f 66 28 dices,.memory.mapCount.*.sizeof(
24d80 41 63 74 69 6f 6e 4d 61 70 49 6e 64 69 63 65 73 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ActionMapIndices));.............
24da0 20 20 20 20 20 55 6e 73 61 66 65 55 74 69 6c 69 74 79 2e 4d 65 6d 43 70 79 28 61 63 74 69 6f 6e .....UnsafeUtility.MemCpy(action
24dc0 53 74 61 74 65 73 2c 20 6d 65 6d 6f 72 79 2e 61 63 74 69 6f 6e 53 74 61 74 65 73 2c 20 6d 65 6d States,.memory.actionStates,.mem
24de0 6f 72 79 2e 61 63 74 69 6f 6e 43 6f 75 6e 74 20 2a 20 73 69 7a 65 6f 66 28 54 72 69 67 67 65 72 ory.actionCount.*.sizeof(Trigger
24e00 53 74 61 74 65 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 6e 73 61 66 65 State));..................Unsafe
24e20 55 74 69 6c 69 74 79 2e 4d 65 6d 43 70 79 28 62 69 6e 64 69 6e 67 53 74 61 74 65 73 2c 20 6d 65 Utility.MemCpy(bindingStates,.me
24e40 6d 6f 72 79 2e 62 69 6e 64 69 6e 67 53 74 61 74 65 73 2c 20 6d 65 6d 6f 72 79 2e 62 69 6e 64 69 mory.bindingStates,.memory.bindi
24e60 6e 67 43 6f 75 6e 74 20 2a 20 73 69 7a 65 6f 66 28 42 69 6e 64 69 6e 67 53 74 61 74 65 29 29 3b ngCount.*.sizeof(BindingState));
24e80 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 6e 73 61 66 65 55 74 69 6c 69 74 79 2e ..................UnsafeUtility.
24ea0 4d 65 6d 43 70 79 28 69 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 74 65 73 2c 20 6d 65 6d 6f 72 79 MemCpy(interactionStates,.memory
24ec0 2e 69 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 74 65 73 2c 20 6d 65 6d 6f 72 79 2e 69 6e 74 65 72 .interactionStates,.memory.inter
24ee0 61 63 74 69 6f 6e 43 6f 75 6e 74 20 2a 20 73 69 7a 65 6f 66 28 49 6e 74 65 72 61 63 74 69 6f 6e actionCount.*.sizeof(Interaction
24f00 53 74 61 74 65 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 6e 73 61 66 65 State));..................Unsafe
24f20 55 74 69 6c 69 74 79 2e 4d 65 6d 43 70 79 28 63 6f 6e 74 72 6f 6c 4d 61 67 6e 69 74 75 64 65 73 Utility.MemCpy(controlMagnitudes
24f40 2c 20 6d 65 6d 6f 72 79 2e 63 6f 6e 74 72 6f 6c 4d 61 67 6e 69 74 75 64 65 73 2c 20 6d 65 6d 6f ,.memory.controlMagnitudes,.memo
24f60 72 79 2e 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 20 2a 20 73 69 7a 65 6f 66 28 66 6c 6f 61 74 29 29 ry.controlCount.*.sizeof(float))
24f80 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 6e 73 61 66 65 55 74 69 6c 69 74 79 ;..................UnsafeUtility
24fa0 2e 4d 65 6d 43 70 79 28 63 6f 6d 70 6f 73 69 74 65 4d 61 67 6e 69 74 75 64 65 73 2c 20 6d 65 6d .MemCpy(compositeMagnitudes,.mem
24fc0 6f 72 79 2e 63 6f 6d 70 6f 73 69 74 65 4d 61 67 6e 69 74 75 64 65 73 2c 20 6d 65 6d 6f 72 79 2e ory.compositeMagnitudes,.memory.
24fe0 63 6f 6d 70 6f 73 69 74 65 43 6f 75 6e 74 20 2a 20 73 69 7a 65 6f 66 28 66 6c 6f 61 74 29 29 3b compositeCount.*.sizeof(float));
25000 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 6e 73 61 66 65 55 74 69 6c 69 74 79 2e ..................UnsafeUtility.
25020 4d 65 6d 43 70 79 28 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 54 6f 42 69 6e 64 69 6e 67 49 6e 64 65 MemCpy(controlIndexToBindingInde
25040 78 2c 20 6d 65 6d 6f 72 79 2e 63 6f 6e 74 72 6f 6c 49 6e 64 65 78 54 6f 42 69 6e 64 69 6e 67 49 x,.memory.controlIndexToBindingI
25060 6e 64 65 78 2c 20 6d 65 6d 6f 72 79 2e 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 20 2a 20 73 69 7a 65 ndex,.memory.controlCount.*.size
25080 6f 66 28 69 6e 74 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 6e 73 61 66 of(int));..................Unsaf
250a0 65 55 74 69 6c 69 74 79 2e 4d 65 6d 43 70 79 28 61 63 74 69 6f 6e 42 69 6e 64 69 6e 67 49 6e 64 eUtility.MemCpy(actionBindingInd
250c0 69 63 65 73 41 6e 64 43 6f 75 6e 74 73 2c 20 6d 65 6d 6f 72 79 2e 61 63 74 69 6f 6e 42 69 6e 64 icesAndCounts,.memory.actionBind
250e0 69 6e 67 49 6e 64 69 63 65 73 41 6e 64 43 6f 75 6e 74 73 2c 20 6d 65 6d 6f 72 79 2e 61 63 74 69 ingIndicesAndCounts,.memory.acti
25100 6f 6e 43 6f 75 6e 74 20 2a 20 73 69 7a 65 6f 66 28 75 73 68 6f 72 74 29 20 2a 20 32 29 3b 0d 0a onCount.*.sizeof(ushort).*.2);..
25120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 6e 73 61 66 65 55 74 69 6c 69 74 79 2e 4d 65 ................UnsafeUtility.Me
25140 6d 43 70 79 28 61 63 74 69 6f 6e 42 69 6e 64 69 6e 67 49 6e 64 69 63 65 73 2c 20 6d 65 6d 6f 72 mCpy(actionBindingIndices,.memor
25160 79 2e 61 63 74 69 6f 6e 42 69 6e 64 69 6e 67 49 6e 64 69 63 65 73 2c 20 6d 65 6d 6f 72 79 2e 62 y.actionBindingIndices,.memory.b
25180 69 6e 64 69 6e 67 43 6f 75 6e 74 20 2a 20 73 69 7a 65 6f 66 28 75 73 68 6f 72 74 29 29 3b 0d 0a indingCount.*.sizeof(ushort));..
251a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 6e 73 61 66 65 55 74 69 6c 69 74 79 2e 4d 65 ................UnsafeUtility.Me
251c0 6d 43 70 79 28 65 6e 61 62 6c 65 64 43 6f 6e 74 72 6f 6c 73 2c 20 6d 65 6d 6f 72 79 2e 65 6e 61 mCpy(enabledControls,.memory.ena
251e0 62 6c 65 64 43 6f 6e 74 72 6f 6c 73 2c 20 28 6d 65 6d 6f 72 79 2e 63 6f 6e 74 72 6f 6c 43 6f 75 bledControls,.(memory.controlCou
25200 6e 74 20 2b 20 33 31 29 20 2f 20 33 32 20 2a 20 73 69 7a 65 6f 66 28 69 6e 74 29 29 3b 0d 0a 20 nt.+.31)./.32.*.sizeof(int));...
25220 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 70 75 62 6c ...........}................publ
25240 69 63 20 55 6e 6d 61 6e 61 67 65 64 4d 65 6d 6f 72 79 20 43 6c 6f 6e 65 28 29 0d 0a 20 20 20 20 ic.UnmanagedMemory.Clone()......
25260 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 21 ........{..................if.(!
25280 69 73 41 6c 6c 6f 63 61 74 65 64 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 isAllocated)....................
252a0 20 20 72 65 74 75 72 6e 20 6e 65 77 20 55 6e 6d 61 6e 61 67 65 64 4d 65 6d 6f 72 79 28 29 3b 0d ..return.new.UnmanagedMemory();.
252c0 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 6c 6f 6e 65 20 3d 20 6e ...................var.clone.=.n
252e0 65 77 20 55 6e 6d 61 6e 61 67 65 64 4d 65 6d 6f 72 79 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 ew.UnmanagedMemory();...........
25300 20 20 20 20 20 20 20 63 6c 6f 6e 65 2e 41 6c 6c 6f 63 61 74 65 28 0d 0a 20 20 20 20 20 20 20 20 .......clone.Allocate(..........
25320 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 70 43 6f 75 6e 74 3a 20 6d 61 70 43 6f 75 6e 74 2c 0d ............mapCount:.mapCount,.
25340 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 69 6f 6e 43 6f 75 6e 74 .....................actionCount
25360 3a 20 61 63 74 69 6f 6e 43 6f 75 6e 74 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 :.actionCount,..................
25380 20 20 20 20 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 3a 20 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 2c 0d ....controlCount:.controlCount,.
253a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 69 6e 64 69 6e 67 43 6f 75 6e .....................bindingCoun
253c0 74 3a 20 62 69 6e 64 69 6e 67 43 6f 75 6e 74 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t:.bindingCount,................
253e0 20 20 20 20 20 20 69 6e 74 65 72 61 63 74 69 6f 6e 43 6f 75 6e 74 3a 20 69 6e 74 65 72 61 63 74 ......interactionCount:.interact
25400 69 6f 6e 43 6f 75 6e 74 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 ionCount,......................c
25420 6f 6d 70 6f 73 69 74 65 43 6f 75 6e 74 3a 20 63 6f 6d 70 6f 73 69 74 65 43 6f 75 6e 74 29 3b 0d ompositeCount:.compositeCount);.
25440 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6c 6f 6e 65 2e 43 6f 70 79 44 61 74 61 46 .................clone.CopyDataF
25460 72 6f 6d 28 74 68 69 73 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 rom(this);....................re
25480 74 75 72 6e 20 63 6c 6f 6e 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 turn.clone;..............}......
254a0 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 23 72 65 67 69 6f 6e 20 47 6c 6f 62 61 6c 20 ....}............#region.Global.
254c0 53 74 61 74 65 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 State............///.<summary>..
254e0 20 20 20 20 20 20 20 20 2f 2f 2f 20 4c 69 73 74 20 6f 66 20 77 65 61 6b 20 72 65 66 65 72 65 6e ........///.List.of.weak.referen
25500 63 65 73 20 74 6f 20 61 6c 6c 20 61 63 74 69 6f 6e 20 6d 61 70 20 73 74 61 74 65 73 20 63 75 72 ces.to.all.action.map.states.cur
25520 72 65 6e 74 6c 79 20 69 6e 20 74 68 65 20 73 79 73 74 65 6d 2e 0d 0a 20 20 20 20 20 20 20 20 2f rently.in.the.system.........../
25540 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 6d 61 //.</summary>..........///.<rema
25560 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 57 68 65 6e 20 74 68 65 20 63 6f 6e 74 72 rks>..........///.When.the.contr
25580 6f 6c 20 73 65 74 75 70 20 69 6e 20 74 68 65 20 73 79 73 74 65 6d 20 63 68 61 6e 67 65 73 2c 20 ol.setup.in.the.system.changes,.
255a0 77 65 20 6e 65 65 64 20 61 20 77 61 79 20 66 6f 72 20 63 6f 6e 74 72 6f 6c 20 72 65 73 6f 6c 75 we.need.a.way.for.control.resolu
255c0 74 69 6f 6e 20 74 68 61 74 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 68 61 73 20 61 6c 72 65 61 tion.that..........///.has.alrea
255e0 64 79 20 62 65 65 6e 20 64 6f 6e 65 20 74 6f 20 62 65 20 69 6e 76 61 6c 69 64 61 74 65 64 20 61 dy.been.done.to.be.invalidated.a
25600 6e 64 20 72 65 64 6f 6e 65 2e 20 57 65 20 61 6c 73 6f 20 77 61 6e 74 20 61 20 77 61 79 20 74 6f nd.redone..We.also.want.a.way.to
25620 20 66 69 6e 64 20 61 6c 6c 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 63 75 72 72 65 6e 74 6c 79 .find.all..........///.currently
25640 20 65 6e 61 62 6c 65 64 20 61 63 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 73 79 73 74 65 6d 2e 0d .enabled.actions.in.the.system..
25660 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 42 6f 74 68 20 6f .........///..........///.Both.o
25680 66 20 74 68 65 73 65 20 6e 65 65 64 73 20 61 72 65 20 73 65 72 76 65 64 20 62 79 20 74 68 69 73 f.these.needs.are.served.by.this
256a0 20 67 6c 6f 62 61 6c 20 6c 69 73 74 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 6d .global.list...........///.</rem
256c0 61 72 6b 73 3e 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 arks>..........internal.static.I
256e0 6e 6c 69 6e 65 64 41 72 72 61 79 3c 47 43 48 61 6e 64 6c 65 3e 20 73 5f 47 6c 6f 62 61 6c 4c 69 nlinedArray<GCHandle>.s_GlobalLi
25700 73 74 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 st;..........internal.static.Inl
25720 69 6e 65 64 41 72 72 61 79 3c 41 63 74 69 6f 6e 3c 6f 62 6a 65 63 74 2c 20 49 6e 70 75 74 41 63 inedArray<Action<object,.InputAc
25740 74 69 6f 6e 43 68 61 6e 67 65 3e 3e 20 73 5f 4f 6e 41 63 74 69 6f 6e 43 68 61 6e 67 65 3b 0d 0a tionChange>>.s_OnActionChange;..
25760 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 65 64 41 ........internal.static.InlinedA
25780 72 72 61 79 3c 41 63 74 69 6f 6e 3c 6f 62 6a 65 63 74 3e 3e 20 73 5f 4f 6e 41 63 74 69 6f 6e 43 rray<Action<object>>.s_OnActionC
257a0 6f 6e 74 72 6f 6c 73 43 68 61 6e 67 65 64 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 ontrolsChanged;............priva
257c0 74 65 20 76 6f 69 64 20 41 64 64 54 6f 47 6c 6f 62 61 4c 69 73 74 28 29 0d 0a 20 20 20 20 20 20 te.void.AddToGlobaList()........
257e0 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 43 6f 6d 70 61 63 74 47 6c 6f 62 61 6c 4c 69 ..{..............CompactGlobalLi
25800 73 74 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 68 61 6e 64 6c 65 20 3d 20 st();..............var.handle.=.
25820 47 43 48 61 6e 64 6c 65 2e 41 6c 6c 6f 63 28 74 68 69 73 2c 20 47 43 48 61 6e 64 6c 65 54 79 70 GCHandle.Alloc(this,.GCHandleTyp
25840 65 2e 57 65 61 6b 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 5f 47 6c 6f 62 61 6c 4c 69 e.Weak);..............s_GlobalLi
25860 73 74 2e 41 70 70 65 6e 64 57 69 74 68 43 61 70 61 63 69 74 79 28 68 61 6e 64 6c 65 29 3b 0d 0a st.AppendWithCapacity(handle);..
25880 20 20 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 76 6f 69 ........}............private.voi
258a0 64 20 52 65 6d 6f 76 65 4d 61 70 46 72 6f 6d 47 6c 6f 62 61 6c 4c 69 73 74 28 29 0d 0a 20 20 20 d.RemoveMapFromGlobalList().....
258c0 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 6f 75 6e 74 20 3d 20 .....{..............var.count.=.
258e0 73 5f 47 6c 6f 62 61 6c 4c 69 73 74 2e 6c 65 6e 67 74 68 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 s_GlobalList.length;............
25900 20 20 66 6f 72 20 28 76 61 72 20 69 20 3d 20 30 3b 20 69 20 3c 20 63 6f 75 6e 74 3b 20 2b 2b 69 ..for.(var.i.=.0;.i.<.count;.++i
25920 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 5f 47 6c 6f 62 61 6c 4c )..................if.(s_GlobalL
25940 69 73 74 5b 69 5d 2e 54 61 72 67 65 74 20 3d 3d 20 74 68 69 73 29 0d 0a 20 20 20 20 20 20 20 20 ist[i].Target.==.this)..........
25960 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 20 20 20 20 73 ........{......................s
25980 5f 47 6c 6f 62 61 6c 4c 69 73 74 5b 69 5d 2e 46 72 65 65 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 _GlobalList[i].Free();..........
259a0 20 20 20 20 20 20 20 20 20 20 20 20 73 5f 47 6c 6f 62 61 6c 4c 69 73 74 2e 52 65 6d 6f 76 65 41 ............s_GlobalList.RemoveA
259c0 74 42 79 4d 6f 76 69 6e 67 54 61 69 6c 57 69 74 68 43 61 70 61 63 69 74 79 28 69 29 3b 0d 0a 20 tByMovingTailWithCapacity(i);...
259e0 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 20 20 ...................break;.......
25a00 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 ...........}..........}.........
25a20 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 52 65 ...///.<summary>..........///.Re
25a40 6d 6f 76 65 20 61 6e 79 20 65 6e 74 72 69 65 73 20 66 6f 72 20 73 74 61 74 65 73 20 74 68 61 74 move.any.entries.for.states.that
25a60 20 68 61 76 65 20 62 65 65 6e 20 72 65 63 6c 61 69 6d 65 64 20 62 79 20 47 43 2e 0d 0a 20 20 20 .have.been.reclaimed.by.GC......
25a80 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 70 72 69 .....///.</summary>..........pri
25aa0 76 61 74 65 20 73 74 61 74 69 63 20 76 6f 69 64 20 43 6f 6d 70 61 63 74 47 6c 6f 62 61 6c 4c 69 vate.static.void.CompactGlobalLi
25ac0 73 74 28 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 76 61 72 st()..........{..............var
25ae0 20 6c 65 6e 67 74 68 20 3d 20 73 5f 47 6c 6f 62 61 6c 4c 69 73 74 2e 6c 65 6e 67 74 68 3b 0d 0a .length.=.s_GlobalList.length;..
25b00 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 68 65 61 64 20 3d 20 30 3b 0d 0a 20 20 20 20 20 ............var.head.=.0;.......
25b20 20 20 20 20 20 20 20 66 6f 72 20 28 76 61 72 20 69 20 3d 20 30 3b 20 69 20 3c 20 6c 65 6e 67 74 .......for.(var.i.=.0;.i.<.lengt
25b40 68 3b 20 2b 2b 69 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 h;.++i)..............{..........
25b60 20 20 20 20 20 20 20 20 76 61 72 20 68 61 6e 64 6c 65 20 3d 20 73 5f 47 6c 6f 62 61 6c 4c 69 73 ........var.handle.=.s_GlobalLis
25b80 74 5b 69 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 68 61 6e 64 6c t[i];..................if.(handl
25ba0 65 2e 49 73 41 6c 6c 6f 63 61 74 65 64 20 26 26 20 68 61 6e 64 6c 65 2e 54 61 72 67 65 74 20 21 e.IsAllocated.&&.handle.Target.!
25bc0 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 7b 0d 0a 20 20 20 20 =.null)..................{......
25be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 68 65 61 64 20 21 3d 20 69 29 0d 0a ................if.(head.!=.i)..
25c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 5f 47 6c 6f 62 61 6c ........................s_Global
25c20 4c 69 73 74 5b 68 65 61 64 5d 20 3d 20 68 61 6e 64 6c 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 List[head].=.handle;............
25c40 20 20 20 20 20 20 20 20 20 20 2b 2b 68 65 61 64 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........++head;...............
25c60 20 20 20 7d 0d 0a 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......
25c80 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 20 ............{...................
25ca0 20 20 20 69 66 20 28 68 61 6e 64 6c 65 2e 49 73 41 6c 6c 6f 63 61 74 65 64 29 0d 0a 20 20 20 20 ...if.(handle.IsAllocated)......
25cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 5f 47 6c 6f 62 61 6c 4c 69 73 74 ....................s_GlobalList
25ce0 5b 69 5d 2e 46 72 65 65 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 [i].Free();.....................
25d00 20 73 5f 47 6c 6f 62 61 6c 4c 69 73 74 5b 69 5d 20 3d 20 64 65 66 61 75 6c 74 3b 0d 0a 20 20 20 .s_GlobalList[i].=.default;.....
25d20 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 20 20 7d 0d 0a 20 .............}..............}...
25d40 20 20 20 20 20 20 20 20 20 20 20 73 5f 47 6c 6f 62 61 6c 4c 69 73 74 2e 6c 65 6e 67 74 68 20 3d ...........s_GlobalList.length.=
25d60 20 68 65 61 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 69 6e 74 .head;..........}............int
25d80 65 72 6e 61 6c 20 73 74 61 74 69 63 20 76 6f 69 64 20 4e 6f 74 69 66 79 4c 69 73 74 65 6e 65 72 ernal.static.void.NotifyListener
25da0 73 4f 66 41 63 74 69 6f 6e 43 68 61 6e 67 65 28 49 6e 70 75 74 41 63 74 69 6f 6e 43 68 61 6e 67 sOfActionChange(InputActionChang
25dc0 65 20 63 68 61 6e 67 65 2c 20 6f 62 6a 65 63 74 20 61 63 74 69 6f 6e 4f 72 4d 61 70 4f 72 41 73 e.change,.object.actionOrMapOrAs
25de0 73 65 74 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 44 65 62 set)..........{..............Deb
25e00 75 67 2e 41 73 73 65 72 74 28 61 63 74 69 6f 6e 4f 72 4d 61 70 4f 72 41 73 73 65 74 20 21 3d 20 ug.Assert(actionOrMapOrAsset.!=.
25e20 6e 75 6c 6c 2c 20 22 53 68 6f 75 6c 64 20 68 61 76 65 20 61 63 74 69 6f 6e 20 6f 72 20 61 63 74 null,."Should.have.action.or.act
25e40 69 6f 6e 20 6d 61 70 20 6f 72 20 61 73 73 65 74 20 6f 62 6a 65 63 74 20 74 6f 20 6e 6f 74 69 66 ion.map.or.asset.object.to.notif
25e60 79 20 61 62 6f 75 74 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 y.about");..............Debug.As
25e80 73 65 72 74 28 61 63 74 69 6f 6e 4f 72 4d 61 70 4f 72 41 73 73 65 74 20 69 73 20 49 6e 70 75 74 sert(actionOrMapOrAsset.is.Input
25ea0 41 63 74 69 6f 6e 20 7c 7c 20 28 61 63 74 69 6f 6e 4f 72 4d 61 70 4f 72 41 73 73 65 74 20 61 73 Action.||.(actionOrMapOrAsset.as
25ec0 20 49 6e 70 75 74 41 63 74 69 6f 6e 4d 61 70 29 3f 2e 6d 5f 53 69 6e 67 6c 65 74 6f 6e 41 63 74 .InputActionMap)?.m_SingletonAct
25ee0 69 6f 6e 20 3d 3d 20 6e 75 6c 6c 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 4d ion.==.null,.................."M
25f00 75 73 74 20 6e 6f 74 20 73 65 6e 64 20 6e 6f 74 69 66 69 63 61 74 69 6f 6e 73 20 66 6f 72 20 63 ust.not.send.notifications.for.c
25f20 68 61 6e 67 65 73 20 6d 61 64 65 20 74 6f 20 68 69 64 64 65 6e 20 61 63 74 69 6f 6e 20 6d 61 70 hanges.made.to.hidden.action.map
25f40 73 20 6f 66 20 73 69 6e 67 6c 65 74 6f 6e 20 61 63 74 69 6f 6e 73 22 29 3b 0d 0a 0d 0a 20 20 20 s.of.singleton.actions");.......
25f60 20 20 20 20 20 20 20 20 20 44 65 6c 65 67 61 74 65 48 65 6c 70 65 72 73 2e 49 6e 76 6f 6b 65 43 .........DelegateHelpers.InvokeC
25f80 61 6c 6c 62 61 63 6b 73 53 61 66 65 28 72 65 66 20 73 5f 4f 6e 41 63 74 69 6f 6e 43 68 61 6e 67 allbacksSafe(ref.s_OnActionChang
25fa0 65 2c 20 61 63 74 69 6f 6e 4f 72 4d 61 70 4f 72 41 73 73 65 74 2c 20 63 68 61 6e 67 65 2c 20 22 e,.actionOrMapOrAsset,.change,."
25fc0 6f 6e 41 63 74 69 6f 6e 43 68 61 6e 67 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 onActionChange");..............i
25fe0 66 20 28 63 68 61 6e 67 65 20 3d 3d 20 49 6e 70 75 74 41 63 74 69 6f 6e 43 68 61 6e 67 65 2e 42 f.(change.==.InputActionChange.B
26000 6f 75 6e 64 43 6f 6e 74 72 6f 6c 73 43 68 61 6e 67 65 64 29 0d 0a 20 20 20 20 20 20 20 20 20 20 oundControlsChanged)............
26020 20 20 20 20 20 20 44 65 6c 65 67 61 74 65 48 65 6c 70 65 72 73 2e 49 6e 76 6f 6b 65 43 61 6c 6c ......DelegateHelpers.InvokeCall
26040 62 61 63 6b 73 53 61 66 65 28 72 65 66 20 73 5f 4f 6e 41 63 74 69 6f 6e 43 6f 6e 74 72 6f 6c 73 backsSafe(ref.s_OnActionControls
26060 43 68 61 6e 67 65 64 2c 20 61 63 74 69 6f 6e 4f 72 4d 61 70 4f 72 41 73 73 65 74 2c 20 22 6f 6e Changed,.actionOrMapOrAsset,."on
26080 41 63 74 69 6f 6e 43 6f 6e 74 72 6f 6c 73 43 68 61 6e 67 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 ActionControlsChange");.........
260a0 20 7d 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 .}............///.<summary>.....
260c0 20 20 20 20 20 2f 2f 2f 20 4e 75 6b 65 20 67 6c 6f 62 61 6c 20 73 74 61 74 65 20 77 65 20 68 61 .....///.Nuke.global.state.we.ha
260e0 76 65 20 74 6f 20 6b 65 65 70 20 74 72 61 63 6b 20 6f 66 20 61 63 74 69 6f 6e 20 6d 61 70 20 73 ve.to.keep.track.of.action.map.s
26100 74 61 74 65 73 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 tates...........///.</summary>..
26120 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 52 65 73 ........internal.static.void.Res
26140 65 74 47 6c 6f 62 61 6c 73 28 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 etGlobals()..........{..........
26160 20 20 20 20 44 65 73 74 72 6f 79 41 6c 6c 41 63 74 69 6f 6e 4d 61 70 53 74 61 74 65 73 28 29 3b ....DestroyAllActionMapStates();
26180 0d 0a 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.
261a0 3c 20 73 5f 47 6c 6f 62 61 6c 4c 69 73 74 2e 6c 65 6e 67 74 68 3b 20 2b 2b 69 29 0d 0a 20 20 20 <.s_GlobalList.length;.++i).....
261c0 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 5f 47 6c 6f 62 61 6c 4c 69 73 74 5b 69 5d .............if.(s_GlobalList[i]
261e0 2e 49 73 41 6c 6c 6f 63 61 74 65 64 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .IsAllocated)...................
26200 20 20 20 73 5f 47 6c 6f 62 61 6c 4c 69 73 74 5b 69 5d 2e 46 72 65 65 28 29 3b 0d 0a 20 20 20 20 ...s_GlobalList[i].Free();......
26220 20 20 20 20 20 20 20 20 73 5f 47 6c 6f 62 61 6c 4c 69 73 74 2e 6c 65 6e 67 74 68 20 3d 20 30 3b ........s_GlobalList.length.=.0;
26240 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 5f 4f 6e 41 63 74 69 6f 6e 43 68 61 6e 67 65 2e 43 ..............s_OnActionChange.C
26260 6c 65 61 72 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 5f 4f 6e 41 63 74 69 6f 6e 43 lear();..............s_OnActionC
26280 6f 6e 74 72 6f 6c 73 43 68 61 6e 67 65 64 2e 43 6c 65 61 72 28 29 3b 0d 0a 20 20 20 20 20 20 20 ontrolsChanged.Clear();.........
262a0 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 57 61 6c 6b 20 61 6c 6c 20 6d 61 70 73 20 77 .}............//.Walk.all.maps.w
262c0 69 74 68 20 65 6e 61 62 6c 65 64 20 61 63 74 69 6f 6e 73 20 61 6e 64 20 61 64 64 20 61 6c 6c 20 ith.enabled.actions.and.add.all.
262e0 65 6e 61 62 6c 65 64 20 61 63 74 69 6f 6e 73 20 74 6f 20 74 68 65 20 67 69 76 65 6e 20 6c 69 73 enabled.actions.to.the.given.lis
26300 74 2e 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 69 6e 74 20 t...........internal.static.int.
26320 46 69 6e 64 41 6c 6c 45 6e 61 62 6c 65 64 41 63 74 69 6f 6e 73 28 4c 69 73 74 3c 49 6e 70 75 74 FindAllEnabledActions(List<Input
26340 41 63 74 69 6f 6e 3e 20 72 65 73 75 6c 74 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 Action>.result)..........{......
26360 20 20 20 20 20 20 20 20 76 61 72 20 6e 75 6d 46 6f 75 6e 64 20 3d 20 30 3b 0d 0a 20 20 20 20 20 ........var.numFound.=.0;.......
26380 20 20 20 20 20 20 20 76 61 72 20 73 74 61 74 65 43 6f 75 6e 74 20 3d 20 73 5f 47 6c 6f 62 61 6c .......var.stateCount.=.s_Global
263a0 4c 69 73 74 2e 6c 65 6e 67 74 68 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 76 List.length;..............for.(v
263c0 61 72 20 69 20 3d 20 30 3b 20 69 20 3c 20 73 74 61 74 65 43 6f 75 6e 74 3b 20 2b 2b 69 29 0d 0a ar.i.=.0;.i.<.stateCount;.++i)..
263e0 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 76 ............{..................v
26400 61 72 20 68 61 6e 64 6c 65 20 3d 20 73 5f 47 6c 6f 62 61 6c 4c 69 73 74 5b 69 5d 3b 0d 0a 20 20 ar.handle.=.s_GlobalList[i];....
26420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 68 61 6e 64 6c 65 2e 49 73 41 6c 6c 6f ..............if.(!handle.IsAllo
26440 63 61 74 65 64 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 cated)......................cont
26460 69 6e 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 73 74 61 74 65 inue;..................var.state
26480 20 3d 20 28 49 6e 70 75 74 41 63 74 69 6f 6e 53 74 61 74 65 29 68 61 6e 64 6c 65 2e 54 61 72 67 .=.(InputActionState)handle.Targ
264a0 65 74 3b 0d 0a 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 20 3d et;..................if.(state.=
264c0 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 20 20 63 6f 6e =.null)......................con
264e0 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 76 61 72 20 6d 61 tinue;....................var.ma
26500 70 43 6f 75 6e 74 20 3d 20 73 74 61 74 65 2e 74 6f 74 61 6c 4d 61 70 43 6f 75 6e 74 3b 0d 0a 20 pCount.=.state.totalMapCount;...
26520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d 61 70 73 20 3d 20 73 74 61 74 65 2e ...............var.maps.=.state.
26540 6d 61 70 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 76 61 72 20 maps;..................for.(var.
26560 6e 20 3d 20 30 3b 20 6e 20 3c 20 6d 61 70 43 6f 75 6e 74 3b 20 2b 2b 6e 29 0d 0a 20 20 20 20 20 n.=.0;.n.<.mapCount;.++n).......
26580 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 20 20 ...........{....................
265a0 20 20 76 61 72 20 6d 61 70 20 3d 20 6d 61 70 73 5b 6e 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 ..var.map.=.maps[n];............
265c0 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 6d 61 70 2e 65 6e 61 62 6c 65 64 29 0d 0a 20 20 20 ..........if.(!map.enabled).....
265e0 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 75 65 3b 0d 0a .....................continue;..
26600 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 61 63 74 69 6f 6e ......................var.action
26620 73 20 3d 20 6d 61 70 2e 6d 5f 41 63 74 69 6f 6e 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 s.=.map.m_Actions;..............
26640 20 20 20 20 20 20 20 20 76 61 72 20 61 63 74 69 6f 6e 43 6f 75 6e 74 20 3d 20 61 63 74 69 6f 6e ........var.actionCount.=.action
26660 73 2e 4c 65 6e 67 74 68 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 s.Length;......................i
26680 66 20 28 6d 61 70 2e 6d 5f 45 6e 61 62 6c 65 64 41 63 74 69 6f 6e 73 43 6f 75 6e 74 20 3d 3d 20 f.(map.m_EnabledActionsCount.==.
266a0 61 63 74 69 6f 6e 43 6f 75 6e 74 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 actionCount)....................
266c0 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 20 20 20 20 72 65 73 ..{..........................res
266e0 75 6c 74 2e 41 64 64 52 61 6e 67 65 28 61 63 74 69 6f 6e 73 29 3b 0d 0a 20 20 20 20 20 20 20 20 ult.AddRange(actions);..........
26700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6d 46 6f 75 6e 64 20 2b 3d 20 61 63 74 69 ................numFound.+=.acti
26720 6f 6e 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d onCount;......................}.
26740 0a 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 20 .....................else.......
26760 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 20 20 20 20 20 ...............{................
26780 20 20 20 20 20 20 20 20 20 20 76 61 72 20 61 63 74 69 6f 6e 53 74 61 72 74 49 6e 64 65 78 20 3d ..........var.actionStartIndex.=
267a0 20 73 74 61 74 65 2e 6d 61 70 49 6e 64 69 63 65 73 5b 6d 61 70 2e 6d 5f 4d 61 70 49 6e 64 65 78 .state.mapIndices[map.m_MapIndex
267c0 49 6e 53 74 61 74 65 5d 2e 61 63 74 69 6f 6e 53 74 61 72 74 49 6e 64 65 78 3b 0d 0a 20 20 20 20 InState].actionStartIndex;......
267e0 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 61 72 20 6b 20 3d ....................for.(var.k.=
26800 20 30 3b 20 6b 20 3c 20 61 63 74 69 6f 6e 43 6f 75 6e 74 3b 20 2b 2b 6b 29 0d 0a 20 20 20 20 20 .0;.k.<.actionCount;.++k).......
26820 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 20 ...................{............
26840 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 61 63 74 69 ..................if.(state.acti
26860 6f 6e 53 74 61 74 65 73 5b 61 63 74 69 6f 6e 53 74 61 72 74 49 6e 64 65 78 20 2b 20 6b 5d 2e 70 onStates[actionStartIndex.+.k].p
26880 68 61 73 65 20 21 3d 20 49 6e 70 75 74 41 63 74 69 6f 6e 50 68 61 73 65 2e 44 69 73 61 62 6c 65 hase.!=.InputActionPhase.Disable
268a0 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 20 20 20 20 20 20 20 d)..............................
268c0 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 20 20 20 20 20 {...............................
268e0 20 20 20 72 65 73 75 6c 74 2e 41 64 64 28 61 63 74 69 6f 6e 73 5b 6b 5d 29 3b 0d 0a 20 20 20 20 ...result.Add(actions[k]);......
26900 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 2b 2b 6e 75 ............................++nu
26920 6d 46 6f 75 6e 64 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 mFound;.........................
26940 20 20 20 20 20 7d 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 .....}..........................
26960 7d 0d 0a 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 20 20 20 20 }......................}........
26980 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 7d 0d 0a 0d 0a 20 20 ..........}..............}......
269a0 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6d 46 6f 75 6e 64 3b 0d 0a 20 20 20 20 ..........return.numFound;......
269c0 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 2f 54 4f 44 4f 3a 20 77 68 65 6e 20 ....}............////TODO:.when.
269e0 72 65 2d 72 65 73 6f 6c 76 69 6e 67 2c 20 77 65 20 6e 65 65 64 20 74 6f 20 70 72 65 73 65 72 76 re-resolving,.we.need.to.preserv
26a00 65 20 49 6e 74 65 72 61 63 74 69 6f 6e 53 74 61 74 65 73 20 61 6e 64 20 6e 6f 74 20 6a 75 73 74 e.InteractionStates.and.not.just
26a20 20 72 65 73 65 74 20 74 68 65 6d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d .reset.them............///.<summ
26a40 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 44 65 61 6c 20 77 69 74 68 20 74 68 65 20 ary>..........///.Deal.with.the.
26a60 66 61 63 74 20 74 68 61 74 20 74 68 65 20 63 6f 6e 74 72 6f 6c 20 73 65 74 75 70 20 69 6e 20 74 fact.that.the.control.setup.in.t
26a80 68 65 20 73 79 73 74 65 6d 20 6d 61 79 20 63 68 61 6e 67 65 20 61 74 20 61 6e 79 20 74 69 6d 65 he.system.may.change.at.any.time
26aa0 20 61 6e 64 20 63 61 6e 20 61 66 66 65 63 74 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 61 63 74 .and.can.affect..........///.act
26ac0 69 6f 6e 73 20 74 68 61 74 20 68 61 64 20 74 68 65 69 72 20 63 6f 6e 74 72 6f 6c 73 20 61 6c 72 ions.that.had.their.controls.alr
26ae0 65 61 64 79 20 72 65 73 6f 6c 76 65 64 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 eady.resolved...........///.</su
26b00 6d 6d 61 72 79 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 mmary>..........///.<remarks>...
26b20 20 20 20 20 20 20 20 2f 2f 2f 20 4e 6f 74 65 20 74 68 61 74 20 74 68 69 73 20 6d 65 74 68 6f 64 .......///.Note.that.this.method
26b40 20 63 61 6e 20 4e 4f 54 20 64 65 61 6c 20 77 69 74 68 20 63 68 61 6e 67 65 73 20 6f 74 68 65 72 .can.NOT.deal.with.changes.other
26b60 20 74 68 61 6e 20 74 68 65 20 63 6f 6e 74 72 6f 6c 20 73 65 74 75 70 20 69 6e 20 74 68 65 20 73 .than.the.control.setup.in.the.s
26b80 79 73 74 65 6d 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 63 68 61 6e 67 69 6e 67 2e 20 53 70 65 ystem..........///.changing..Spe
26ba0 63 69 66 69 63 61 6c 6c 79 2c 20 69 74 20 77 69 6c 6c 20 4e 4f 54 20 68 61 6e 64 6c 65 20 63 6f cifically,.it.will.NOT.handle.co
26bc0 6e 66 69 67 75 72 61 74 69 6f 6e 20 63 68 61 6e 67 65 73 20 69 6e 20 61 63 74 69 6f 6e 20 6d 61 nfiguration.changes.in.action.ma
26be0 70 73 20 28 65 2e 67 2e 20 62 69 6e 64 69 6e 67 73 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 62 ps.(e.g..bindings..........///.b
26c00 65 69 6e 67 20 61 6c 74 65 72 65 64 29 20 63 6f 72 72 65 63 74 6c 79 2e 0d 0a 20 20 20 20 20 20 eing.altered).correctly.........
26c20 20 20 2f 2f 2f 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 57 65 20 67 65 74 20 63 61 6c 6c 65 64 ..///..........///.We.get.called
26c40 20 66 72 6f 6d 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 4d 61 6e 61 67 65 72 22 2f 3e .from.<see.cref="InputManager"/>
26c60 20 64 69 72 65 63 74 6c 79 20 72 61 74 68 65 72 20 74 68 61 6e 20 68 6f 6f 6b 69 6e 67 20 69 6e .directly.rather.than.hooking.in
26c80 74 6f 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 53 79 73 74 65 6d 2e 6f 6e 44 65 76 69 to.<see.cref="InputSystem.onDevi
26ca0 63 65 43 68 61 6e 67 65 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 73 6f 20 74 68 61 74 ceChange"/>..........///.so.that
26cc0 20 77 65 27 72 65 20 6e 6f 74 20 61 64 64 69 6e 67 20 6e 65 65 64 6c 65 73 73 20 63 61 6c 6c 73 .we're.not.adding.needless.calls
26ce0 20 66 6f 72 20 64 65 76 69 63 65 20 63 68 61 6e 67 65 73 20 74 68 61 74 20 61 72 65 20 6e 6f 74 .for.device.changes.that.are.not
26d00 20 6f 66 20 69 6e 74 65 72 65 73 74 20 74 6f 20 75 73 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f .of.interest.to.us...........///
26d20 20 3c 2f 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 73 74 .</remarks>..........internal.st
26d40 61 74 69 63 20 76 6f 69 64 20 4f 6e 44 65 76 69 63 65 43 68 61 6e 67 65 28 49 6e 70 75 74 44 65 atic.void.OnDeviceChange(InputDe
26d60 76 69 63 65 20 64 65 76 69 63 65 2c 20 49 6e 70 75 74 44 65 76 69 63 65 43 68 61 6e 67 65 20 63 vice.device,.InputDeviceChange.c
26d80 68 61 6e 67 65 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 44 hange)..........{..............D
26da0 65 62 75 67 2e 41 73 73 65 72 74 28 64 65 76 69 63 65 20 21 3d 20 6e 75 6c 6c 2c 20 22 44 65 76 ebug.Assert(device.!=.null,."Dev
26dc0 69 63 65 20 69 73 20 6e 75 6c 6c 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 2f ice.is.null");..............////
26de0 52 45 56 49 45 57 3a 20 73 68 6f 75 6c 64 20 77 65 20 69 67 6e 6f 72 65 20 64 69 73 63 6f 6e 6e REVIEW:.should.we.ignore.disconn
26e00 65 63 74 65 64 20 64 65 76 69 63 65 73 20 69 6e 20 49 6e 70 75 74 42 69 6e 64 69 6e 67 52 65 73 ected.devices.in.InputBindingRes
26e20 6f 6c 76 65 72 3f 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 74 olver?..............Debug.Assert
26e40 28 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 68 61 6e 67 65 20 3d 3d 20 49 6e 70 (..................change.==.Inp
26e60 75 74 44 65 76 69 63 65 43 68 61 6e 67 65 2e 41 64 64 65 64 20 7c 7c 20 63 68 61 6e 67 65 20 3d utDeviceChange.Added.||.change.=
26e80 3d 20 49 6e 70 75 74 44 65 76 69 63 65 43 68 61 6e 67 65 2e 52 65 6d 6f 76 65 64 20 7c 7c 0d 0a =.InputDeviceChange.Removed.||..
26ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 68 61 6e 67 65 20 3d 3d 20 49 6e 70 75 74 44 ................change.==.InputD
26ec0 65 76 69 63 65 43 68 61 6e 67 65 2e 55 73 61 67 65 43 68 61 6e 67 65 64 20 7c 7c 20 63 68 61 6e eviceChange.UsageChanged.||.chan
26ee0 67 65 20 3d 3d 20 49 6e 70 75 74 44 65 76 69 63 65 43 68 61 6e 67 65 2e 43 6f 6e 66 69 67 75 72 ge.==.InputDeviceChange.Configur
26f00 61 74 69 6f 6e 43 68 61 6e 67 65 64 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 ationChanged,.................."
26f20 53 68 6f 75 6c 64 20 6f 6e 6c 79 20 62 65 20 63 61 6c 6c 65 64 20 66 6f 72 20 72 65 6c 65 76 61 Should.only.be.called.for.releva
26f40 6e 74 20 63 68 61 6e 67 65 73 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 nt.changes");................for
26f60 20 28 76 61 72 20 69 20 3d 20 30 3b 20 69 20 3c 20 73 5f 47 6c 6f 62 61 6c 4c 69 73 74 2e 6c 65 .(var.i.=.0;.i.<.s_GlobalList.le
26f80 6e 67 74 68 3b 20 2b 2b 69 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 ngth;.++i)..............{.......
26fa0 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 68 61 6e 64 6c 65 20 3d 20 73 5f 47 6c 6f 62 61 6c ...........var.handle.=.s_Global
26fc0 4c 69 73 74 5b 69 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 68 List[i];..................if.(!h
26fe0 61 6e 64 6c 65 2e 49 73 41 6c 6c 6f 63 61 74 65 64 20 7c 7c 20 68 61 6e 64 6c 65 2e 54 61 72 67 andle.IsAllocated.||.handle.Targ
27000 65 74 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 7b 0d 0a et.==.null)..................{..
27020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 53 74 61 6c 65 20 65 6e 74 ....................//.Stale.ent
27040 72 79 20 69 6e 20 74 68 65 20 6c 69 73 74 2e 20 53 74 61 74 65 20 68 61 73 20 61 6c 72 65 61 64 ry.in.the.list..State.has.alread
27060 79 20 62 65 65 6e 20 72 65 63 6c 61 69 6d 65 64 20 62 79 20 47 43 2e 20 52 65 6d 6f 76 65 20 69 y.been.reclaimed.by.GC..Remove.i
27080 74 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 68 61 6e 64 t.......................if.(hand
270a0 6c 65 2e 49 73 41 6c 6c 6f 63 61 74 65 64 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 le.IsAllocated).................
270c0 20 20 20 20 20 20 20 20 20 73 5f 47 6c 6f 62 61 6c 4c 69 73 74 5b 69 5d 2e 46 72 65 65 28 29 3b .........s_GlobalList[i].Free();
270e0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 5f 47 6c 6f 62 61 6c 4c 69 ......................s_GlobalLi
27100 73 74 2e 52 65 6d 6f 76 65 41 74 57 69 74 68 43 61 70 61 63 69 74 79 28 69 29 3b 0d 0a 20 20 20 st.RemoveAtWithCapacity(i);.....
27120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 2d 69 3b 0d 0a 20 20 20 20 20 20 20 20 20 .................--i;...........
27140 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 ...........continue;............
27160 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 76 61 72 20 73 74 61 ......}..................var.sta
27180 74 65 20 3d 20 28 49 6e 70 75 74 41 63 74 69 6f 6e 53 74 61 74 65 29 68 61 6e 64 6c 65 2e 54 61 te.=.(InputActionState)handle.Ta
271a0 72 67 65 74 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 66 20 74 rget;....................//.If.t
271c0 68 69 73 20 73 74 61 74 65 20 69 73 20 6e 6f 74 20 61 66 66 65 63 74 65 64 20 62 79 20 74 68 65 his.state.is.not.affected.by.the
271e0 20 63 68 61 6e 67 65 2c 20 73 6b 69 70 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .change,.skip...................
27200 69 66 20 28 63 68 61 6e 67 65 20 3d 3d 20 49 6e 70 75 74 44 65 76 69 63 65 43 68 61 6e 67 65 2e if.(change.==.InputDeviceChange.
27220 41 64 64 65 64 20 26 26 20 21 73 74 61 74 65 2e 43 61 6e 55 73 65 44 65 76 69 63 65 28 64 65 76 Added.&&.!state.CanUseDevice(dev
27240 69 63 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 63 6f 6e 74 69 ice))......................conti
27260 6e 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 68 61 6e 67 65 nue;..................if.(change
27280 20 3d 3d 20 49 6e 70 75 74 44 65 76 69 63 65 43 68 61 6e 67 65 2e 52 65 6d 6f 76 65 64 20 26 26 .==.InputDeviceChange.Removed.&&
272a0 20 21 73 74 61 74 65 2e 49 73 55 73 69 6e 67 44 65 76 69 63 65 28 64 65 76 69 63 65 29 29 0d 0a .!state.IsUsingDevice(device))..
272c0 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 75 65 3b 0d 0a 20 ....................continue;...
272e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 68 61 6e 67 65 20 3d 3d 20 49 6e 70 ...............if.(change.==.Inp
27300 75 74 44 65 76 69 63 65 43 68 61 6e 67 65 2e 55 73 61 67 65 43 68 61 6e 67 65 64 20 26 26 20 21 utDeviceChange.UsageChanged.&&.!
27320 73 74 61 74 65 2e 49 73 55 73 69 6e 67 44 65 76 69 63 65 28 64 65 76 69 63 65 29 20 26 26 20 21 state.IsUsingDevice(device).&&.!
27340 73 74 61 74 65 2e 43 61 6e 55 73 65 44 65 76 69 63 65 28 64 65 76 69 63 65 29 29 0d 0a 20 20 20 state.CanUseDevice(device)).....
27360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0d 0a 20 20 20 20 .................continue;......
27380 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 68 61 6e 67 65 20 3d 3d 20 49 6e 70 75 74 44 ............if.(change.==.InputD
273a0 65 76 69 63 65 43 68 61 6e 67 65 2e 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 43 68 61 6e 67 65 64 eviceChange.ConfigurationChanged
273c0 20 26 26 20 21 73 74 61 74 65 2e 49 73 55 73 69 6e 67 44 65 76 69 63 65 28 64 65 76 69 63 65 29 .&&.!state.IsUsingDevice(device)
273e0 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b )......................continue;
27400 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 54 72 69 67 67 65 72 20 61 ....................//.Trigger.a
27420 20 6c 61 7a 79 2d 72 65 73 6f 6c 76 65 20 6f 6e 20 61 6c 6c 20 61 63 74 69 6f 6e 20 6d 61 70 73 .lazy-resolve.on.all.action.maps
27440 20 69 6e 20 74 68 65 20 73 74 61 74 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .in.the.state...................
27460 66 6f 72 20 28 76 61 72 20 6e 20 3d 20 30 3b 20 6e 20 3c 20 73 74 61 74 65 2e 74 6f 74 61 6c 4d for.(var.n.=.0;.n.<.state.totalM
27480 61 70 43 6f 75 6e 74 3b 20 2b 2b 6e 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 apCount;.++n)...................
274a0 20 20 20 69 66 20 28 73 74 61 74 65 2e 6d 61 70 73 5b 6e 5d 2e 4c 61 7a 79 52 65 73 6f 6c 76 65 ...if.(state.maps[n].LazyResolve
274c0 42 69 6e 64 69 6e 67 73 28 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 Bindings()).....................
274e0 20 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 2f 2f 20 4d .{..........................//.M
27500 61 70 20 68 61 73 20 63 68 6f 73 65 6e 20 74 6f 20 72 65 73 6f 6c 76 65 20 72 69 67 68 74 20 61 ap.has.chosen.to.resolve.right.a
27520 77 61 79 2e 20 54 68 69 73 20 77 69 6c 6c 20 72 65 73 6f 6c 76 65 20 62 69 6e 64 69 6e 67 73 20 way..This.will.resolve.bindings.
27540 66 6f 72 20 2a 61 6c 6c 2a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 for.*all*.......................
27560 20 20 20 2f 2f 20 6d 61 70 73 20 69 6e 20 74 68 65 20 73 74 61 74 65 2c 20 73 6f 20 77 65 27 72 ...//.maps.in.the.state,.so.we'r
27580 65 20 64 6f 6e 65 20 68 65 72 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.done.here.....................
275a0 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......break;....................
275c0 20 20 7d 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 7d 0d 0a 0d ..}..............}..........}...
275e0 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 44 65 .........internal.static.void.De
27600 66 65 72 72 65 64 52 65 73 6f 6c 75 74 69 6f 6e 4f 66 42 69 6e 64 69 6e 67 73 28 29 0d 0a 20 20 ferredResolutionOfBindings()....
27620 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 76 61 72 20 69 20 ......{..............for.(var.i.
27640 3d 20 30 3b 20 69 20 3c 20 73 5f 47 6c 6f 62 61 6c 4c 69 73 74 2e 6c 65 6e 67 74 68 3b 20 2b 2b =.0;.i.<.s_GlobalList.length;.++
27660 69 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 20 i)..............{...............
27680 20 20 20 76 61 72 20 68 61 6e 64 6c 65 20 3d 20 73 5f 47 6c 6f 62 61 6c 4c 69 73 74 5b 69 5d 3b ...var.handle.=.s_GlobalList[i];
276a0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 68 61 6e 64 6c 65 2e 49 73 ..................if.(!handle.Is
276c0 41 6c 6c 6f 63 61 74 65 64 20 7c 7c 20 68 61 6e 64 6c 65 2e 54 61 72 67 65 74 20 3d 3d 20 6e 75 Allocated.||.handle.Target.==.nu
276e0 6c 6c 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 20 ll)..................{..........
27700 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 53 74 61 6c 65 20 65 6e 74 72 79 20 69 6e 20 74 68 ............//.Stale.entry.in.th
27720 65 20 6c 69 73 74 2e 20 53 74 61 74 65 20 68 61 73 20 61 6c 72 65 61 64 79 20 62 65 65 6e 20 72 e.list..State.has.already.been.r
27740 65 63 6c 61 69 6d 65 64 20 62 79 20 47 43 2e 20 52 65 6d 6f 76 65 20 69 74 2e 0d 0a 20 20 20 20 eclaimed.by.GC..Remove.it.......
27760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 68 61 6e 64 6c 65 2e 49 73 41 6c 6c ................if.(handle.IsAll
27780 6f 63 61 74 65 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 20 20 ocated).........................
277a0 20 73 5f 47 6c 6f 62 61 6c 4c 69 73 74 5b 69 5d 2e 46 72 65 65 28 29 3b 0d 0a 20 20 20 20 20 20 .s_GlobalList[i].Free();........
277c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 5f 47 6c 6f 62 61 6c 4c 69 73 74 2e 52 65 6d 6f 76 ..............s_GlobalList.Remov
277e0 65 41 74 57 69 74 68 43 61 70 61 63 69 74 79 28 69 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 eAtWithCapacity(i);.............
27800 20 20 20 20 20 20 20 20 20 2d 2d 69 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........--i;...................
27820 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d ...continue;..................}.
27840 0a 0d 0a 20 20 20 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 28 ...................var.state.=.(
27860 49 6e 70 75 74 41 63 74 69 6f 6e 53 74 61 74 65 29 68 61 6e 64 6c 65 2e 54 61 72 67 65 74 3b 0d InputActionState)handle.Target;.
27880 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 76 61 72 20 6e 20 3d 20 30 3b .................for.(var.n.=.0;
278a0 20 6e 20 3c 20 73 74 61 74 65 2e 74 6f 74 61 6c 4d 61 70 43 6f 75 6e 74 3b 20 2b 2b 6e 29 0d 0a .n.<.state.totalMapCount;.++n)..
278c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 2e 6d 61 70 73 5b 6e ....................state.maps[n
278e0 5d 2e 52 65 73 6f 6c 76 65 42 69 6e 64 69 6e 67 73 49 66 4e 65 63 65 73 73 61 72 79 28 29 3b 0d ].ResolveBindingsIfNecessary();.
27900 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 .............}..........}.......
27920 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 44 69 73 61 62 6c .....internal.static.void.Disabl
27940 65 41 6c 6c 41 63 74 69 6f 6e 73 28 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 eAllActions()..........{........
27960 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 73 5f 47 6c 6f 62 ......for.(var.i.=.0;.i.<.s_Glob
27980 61 6c 4c 69 73 74 2e 6c 65 6e 67 74 68 3b 20 2b 2b 69 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 alList.length;.++i).............
279a0 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 68 61 6e 64 6c 65 20 3d .{..................var.handle.=
279c0 20 73 5f 47 6c 6f 62 61 6c 4c 69 73 74 5b 69 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .s_GlobalList[i];...............
279e0 20 20 20 69 66 20 28 21 68 61 6e 64 6c 65 2e 49 73 41 6c 6c 6f 63 61 74 65 64 20 7c 7c 20 68 61 ...if.(!handle.IsAllocated.||.ha
27a00 6e 64 6c 65 2e 54 61 72 67 65 74 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 20 20 ndle.Target.==.null)............
27a20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ..........continue;.............
27a40 20 20 20 20 20 76 61 72 20 73 74 61 74 65 20 3d 20 28 49 6e 70 75 74 41 63 74 69 6f 6e 53 74 61 .....var.state.=.(InputActionSta
27a60 74 65 29 68 61 6e 64 6c 65 2e 54 61 72 67 65 74 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 te)handle.Target;...............
27a80 20 20 20 20 20 76 61 72 20 6d 61 70 43 6f 75 6e 74 20 3d 20 73 74 61 74 65 2e 74 6f 74 61 6c 4d .....var.mapCount.=.state.totalM
27aa0 61 70 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d 61 apCount;..................var.ma
27ac0 70 73 20 3d 20 73 74 61 74 65 2e 6d 61 70 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ps.=.state.maps;................
27ae0 20 20 66 6f 72 20 28 76 61 72 20 6e 20 3d 20 30 3b 20 6e 20 3c 20 6d 61 70 43 6f 75 6e 74 3b 20 ..for.(var.n.=.0;.n.<.mapCount;.
27b00 2b 2b 6e 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 ++n)..................{.........
27b20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 70 73 5b 6e 5d 2e 44 69 73 61 62 6c 65 28 29 3b 0d .............maps[n].Disable();.
27b40 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 .....................Debug.Asser
27b60 74 28 21 6d 61 70 73 5b 6e 5d 2e 65 6e 61 62 6c 65 64 2c 20 22 4d 61 70 20 69 73 20 73 74 69 6c t(!maps[n].enabled,."Map.is.stil
27b80 6c 20 65 6e 61 62 6c 65 64 20 61 66 74 65 72 20 63 61 6c 6c 69 6e 67 20 44 69 73 61 62 6c 65 22 l.enabled.after.calling.Disable"
27ba0 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 20 20 );..................}...........
27bc0 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 20 3c ...}..........}............///.<
27be0 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 46 6f 72 63 69 62 6c 79 20 64 summary>..........///.Forcibly.d
27c00 65 73 74 72 6f 79 20 61 6c 6c 20 73 74 61 74 65 73 20 63 75 72 72 65 6e 74 6c 79 20 6f 6e 20 74 estroy.all.states.currently.on.t
27c20 68 65 20 67 6c 6f 62 61 6c 20 6c 69 73 74 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 he.global.list...........///.</s
27c40 75 6d 6d 61 72 79 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 ummary>..........///.<remarks>..
27c60 20 20 20 20 20 20 20 20 2f 2f 2f 20 57 65 20 64 6f 20 74 68 69 73 20 77 68 65 6e 20 65 78 69 74 ........///.We.do.this.when.exit
27c80 69 6e 67 20 70 6c 61 79 20 6d 6f 64 65 20 69 6e 20 74 68 65 20 65 64 69 74 6f 72 20 74 6f 20 6d ing.play.mode.in.the.editor.to.m
27ca0 61 6b 65 20 73 75 72 65 20 77 65 20 61 72 65 20 63 6c 65 61 6e 69 6e 67 20 75 70 20 6f 75 72 0d ake.sure.we.are.cleaning.up.our.
27cc0 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 75 6e 6d 61 6e 61 67 65 64 20 6d 65 6d 6f 72 79 20 61 6c .........///.unmanaged.memory.al
27ce0 6c 6f 63 61 74 69 6f 6e 73 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 6d 61 72 6b locations...........///.</remark
27d00 73 3e 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 76 6f 69 64 s>..........internal.static.void
27d20 20 44 65 73 74 72 6f 79 41 6c 6c 41 63 74 69 6f 6e 4d 61 70 53 74 61 74 65 73 28 29 0d 0a 20 20 .DestroyAllActionMapStates()....
27d40 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 73 5f 47 6c ......{..............while.(s_Gl
27d60 6f 62 61 6c 4c 69 73 74 2e 6c 65 6e 67 74 68 20 3e 20 30 29 0d 0a 20 20 20 20 20 20 20 20 20 20 obalList.length.>.0)............
27d80 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 69 6e 64 65 78 20 3d ..{..................var.index.=
27da0 20 73 5f 47 6c 6f 62 61 6c 4c 69 73 74 2e 6c 65 6e 67 74 68 20 2d 20 31 3b 0d 0a 20 20 20 20 20 .s_GlobalList.length.-.1;.......
27dc0 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 68 61 6e 64 6c 65 20 3d 20 73 5f 47 6c 6f 62 61 6c ...........var.handle.=.s_Global
27de0 4c 69 73 74 5b 69 6e 64 65 78 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 List[index];..................if
27e00 20 28 21 68 61 6e 64 6c 65 2e 49 73 41 6c 6c 6f 63 61 74 65 64 20 7c 7c 20 68 61 6e 64 6c 65 2e .(!handle.IsAllocated.||.handle.
27e20 54 61 72 67 65 74 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 Target.==.null).................
27e40 20 7b 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 41 6c 72 65 61 .{......................//.Alrea
27e60 64 79 20 64 65 73 74 72 6f 79 65 64 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 dy.destroyed....................
27e80 20 20 20 69 66 20 28 68 61 6e 64 6c 65 2e 49 73 41 6c 6c 6f 63 61 74 65 64 29 0d 0a 20 20 20 20 ...if.(handle.IsAllocated)......
27ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 5f 47 6c 6f 62 61 6c 4c 69 73 74 ....................s_GlobalList
27ec0 5b 69 6e 64 65 78 5d 2e 46 72 65 65 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 [index].Free();.................
27ee0 20 20 20 20 20 73 5f 47 6c 6f 62 61 6c 4c 69 73 74 2e 52 65 6d 6f 76 65 41 74 57 69 74 68 43 61 .....s_GlobalList.RemoveAtWithCa
27f00 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 20 20 20 20 pacity(index);..................
27f20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d ....continue;..................}
27f40 0d 0a 0d 0a 20 20 20 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 ....................var.state.=.
27f60 28 49 6e 70 75 74 41 63 74 69 6f 6e 53 74 61 74 65 29 68 61 6e 64 6c 65 2e 54 61 72 67 65 74 3b (InputActionState)handle.Target;
27f80 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 2e 44 65 73 74 72 6f 79 28 ..................state.Destroy(
27fa0 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 7d 0d 0a 0d 0a );..............}..........}....
27fc0 20 20 20 20 20 20 20 20 23 65 6e 64 72 65 67 69 6f 6e 0d 0a 20 20 20 20 7d 0d 0a 7d 0d 0a 00 00 ........#endregion......}..}....
27fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 49 6e 70 75 74 41 63 74 ........................InputAct
28000 69 6f 6e 53 74 61 74 65 17 00 00 00 55 6e 69 74 79 45 6e 67 69 6e 65 2e 49 6e 70 75 74 53 79 73 ionState....UnityEngine.InputSys
28020 74 65 6d 00 tem.