summaryrefslogtreecommitdiff
path: root/Library/Artifacts/b6/b6b6b44848f257127d89162dcf064eed
blob: 465179ad90738aa1fdf76eb5f9821804b1b07ce7 (plain)
ofshex dumpascii
0000 00 00 0f 81 00 01 3a 14 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 b4 29 01 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .)..............................
0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 e0 79 af 00 00 00 00 00 00 00 00 00 .....................y..........
1040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1080 00 00 00 00 00 00 00 00 0e 00 00 00 49 6e 70 75 74 41 63 74 69 6f 6e 4d 61 70 00 00 30 29 01 00 ............InputActionMap..0)..
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 3b 0d 0a 75 73 69 6e 67 20 53 79 73 74 65 6d 2e 43 6f 6c 6c 65 63 74 69 6f ections;..using.System.Collectio
10e0 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 69 6e 71 3b 0d ns.Generic;..using.System.Linq;.
1100 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 2e 55 .using.UnityEngine.InputSystem.U
1120 74 69 6c 69 74 69 65 73 3b 0d 0a 0d 0a 2f 2f 2f 2f 52 45 56 49 45 57 3a 20 67 69 76 65 6e 20 77 tilities;....////REVIEW:.given.w
1140 65 20 68 61 76 65 20 74 68 65 20 67 6c 6f 62 61 6c 20 41 63 74 69 6f 6e 50 65 72 66 6f 72 6d 65 e.have.the.global.ActionPerforme
1160 64 20 63 61 6c 6c 62 61 63 6b 2c 20 64 6f 20 77 65 20 72 65 61 6c 6c 79 20 6e 65 65 64 20 74 68 d.callback,.do.we.really.need.th
1180 65 20 70 65 72 2d 6d 61 70 20 63 61 6c 6c 62 61 63 6b 3f 0d 0a 0d 0a 2f 2f 2f 2f 54 4f 44 4f 3a e.per-map.callback?....////TODO:
11a0 20 72 65 6d 6f 76 65 20 63 6f 6e 73 74 72 61 69 6e 74 20 6f 66 20 6e 6f 74 20 62 65 69 6e 67 20 .remove.constraint.of.not.being.
11c0 61 62 6c 65 20 74 6f 20 6d 6f 64 69 66 79 20 62 69 6e 64 69 6e 67 73 20 77 68 69 6c 65 20 65 6e able.to.modify.bindings.while.en
11e0 61 62 6c 65 64 20 66 72 6f 6d 20 62 6f 74 68 20 61 63 74 69 6f 6e 73 20 61 6e 64 20 6d 61 70 73 abled.from.both.actions.and.maps
1200 0d 0a 2f 2f 2f 2f 20 20 20 20 20 20 28 62 65 63 61 75 73 65 20 6f 66 20 74 68 65 20 73 68 61 72 ..////......(because.of.the.shar
1220 69 6e 67 20 6f 66 20 73 74 61 74 65 20 62 65 74 77 65 65 6e 20 6d 75 6c 74 69 70 6c 65 20 6d 61 ing.of.state.between.multiple.ma
1240 70 73 20 69 6e 20 61 6e 20 61 73 73 65 74 2c 20 77 65 27 64 20 68 61 76 65 20 74 6f 20 65 78 74 ps.in.an.asset,.we'd.have.to.ext
1260 65 6e 64 20 74 68 61 74 20 63 6f 6e 73 74 72 61 69 6e 74 0d 0a 2f 2f 2f 2f 20 20 20 20 20 20 74 end.that.constraint..////......t
1280 6f 20 61 6c 6c 20 6d 61 70 73 20 69 6e 20 61 6e 20 61 73 73 65 74 20 69 6e 20 6f 72 64 65 72 20 o.all.maps.in.an.asset.in.order.
12a0 74 6f 20 75 70 68 6f 6c 64 20 69 74 20 70 72 6f 70 65 72 6c 79 29 0d 0a 0d 0a 6e 61 6d 65 73 70 to.uphold.it.properly)....namesp
12c0 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 6d 0d 0a 7b 0d 0a ace.UnityEngine.InputSystem..{..
12e0 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 2f 2f 2f 20 41 20 6d 65 63 ....///.<summary>......///.A.mec
1300 68 61 6e 69 73 6d 20 66 6f 72 20 63 6f 6c 6c 65 63 74 69 6e 67 20 61 20 73 65 72 69 65 73 20 6f hanism.for.collecting.a.series.o
1320 66 20 69 6e 70 75 74 20 61 63 74 69 6f 6e 73 20 28 73 65 65 20 3c 73 65 65 20 63 72 65 66 3d 22 f.input.actions.(see.<see.cref="
1340 49 6e 70 75 74 41 63 74 69 6f 6e 22 2f 3e 29 0d 0a 20 20 20 20 2f 2f 2f 20 61 6e 64 20 74 72 65 InputAction"/>)......///.and.tre
1360 61 74 69 6e 67 20 74 68 65 6d 20 61 73 20 61 20 67 72 6f 75 70 2e 0d 0a 20 20 20 20 2f 2f 2f 20 ating.them.as.a.group.......///.
1380 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e 0d 0a 20 </summary>......///.<remarks>...
13a0 20 20 20 2f 2f 2f 20 45 61 63 68 20 61 63 74 69 6f 6e 20 6d 61 70 20 69 73 20 61 20 6e 61 6d 65 ...///.Each.action.map.is.a.name
13c0 64 20 63 6f 6c 6c 65 63 74 69 6f 6e 20 6f 66 20 62 69 6e 64 69 6e 67 73 20 61 6e 64 20 61 63 74 d.collection.of.bindings.and.act
13e0 69 6f 6e 73 2e 20 42 6f 74 68 20 61 72 65 20 73 74 6f 72 65 64 0d 0a 20 20 20 20 2f 2f 2f 20 61 ions..Both.are.stored......///.a
1400 73 20 61 20 66 6c 61 74 20 6c 69 73 74 2e 20 54 68 65 20 62 69 6e 64 69 6e 67 73 20 61 72 65 20 s.a.flat.list..The.bindings.are.
1420 61 76 61 69 6c 61 62 6c 65 20 74 68 72 6f 75 67 68 20 74 68 65 20 3c 73 65 65 20 63 72 65 66 3d available.through.the.<see.cref=
1440 22 62 69 6e 64 69 6e 67 73 22 2f 3e 0d 0a 20 20 20 20 2f 2f 2f 20 70 72 6f 70 65 72 74 79 20 61 "bindings"/>......///.property.a
1460 6e 64 20 74 68 65 20 61 63 74 69 6f 6e 73 20 61 72 65 20 61 76 61 69 6c 61 62 6c 65 20 74 68 72 nd.the.actions.are.available.thr
1480 6f 75 67 68 20 74 68 65 20 3c 73 65 65 20 63 72 65 66 3d 22 61 63 74 69 6f 6e 73 22 2f 3e 20 70 ough.the.<see.cref="actions"/>.p
14a0 72 6f 70 65 72 74 79 2e 0d 0a 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 2f 2f 2f 20 54 68 65 20 61 roperty.......///......///.The.a
14c0 63 74 69 6f 6e 73 20 69 6e 20 61 20 6d 61 70 20 61 72 65 20 6f 77 6e 65 64 20 62 79 20 74 68 65 ctions.in.a.map.are.owned.by.the
14e0 20 6d 61 70 2e 20 4e 6f 20 61 63 74 69 6f 6e 20 63 61 6e 20 61 70 70 65 61 72 20 69 6e 20 74 77 .map..No.action.can.appear.in.tw
1500 6f 20 6d 61 70 73 0d 0a 20 20 20 20 2f 2f 2f 20 61 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 o.maps......///.at.the.same.time
1520 2e 20 54 6f 20 66 69 6e 64 20 74 68 65 20 61 63 74 69 6f 6e 20 6d 61 70 20 61 6e 20 61 63 74 69 ..To.find.the.action.map.an.acti
1540 6f 6e 20 62 65 6c 6f 6e 67 73 20 74 6f 2c 20 75 73 65 20 74 68 65 0d 0a 20 20 20 20 2f 2f 2f 20 on.belongs.to,.use.the......///.
1560 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 41 63 74 69 6f 6e 2e 61 63 74 69 6f 6e 4d 61 70 <see.cref="InputAction.actionMap
1580 22 2f 3e 20 70 72 6f 70 65 72 74 79 2e 20 4e 6f 74 65 20 74 68 61 74 20 61 63 74 69 6f 6e 73 20 "/>.property..Note.that.actions.
15a0 63 61 6e 20 61 6c 73 6f 20 73 74 61 6e 64 0d 0a 20 20 20 20 2f 2f 2f 20 6f 6e 20 74 68 65 69 72 can.also.stand......///.on.their
15c0 20 6f 77 6e 20 61 6e 64 20 74 68 75 73 20 64 6f 20 6e 6f 74 20 6e 65 63 65 73 73 61 72 69 6c 79 .own.and.thus.do.not.necessarily
15e0 20 6e 65 65 64 20 74 6f 20 62 65 6c 6f 6e 67 20 74 6f 20 61 20 6d 61 70 20 28 69 6e 20 77 68 69 .need.to.belong.to.a.map.(in.whi
1600 63 68 20 63 61 73 65 0d 0a 20 20 20 20 2f 2f 2f 20 74 68 65 20 3c 73 65 65 20 63 72 65 66 3d 22 ch.case......///.the.<see.cref="
1620 49 6e 70 75 74 41 63 74 69 6f 6e 2e 61 63 74 69 6f 6e 4d 61 70 22 2f 3e 20 70 72 6f 70 65 72 74 InputAction.actionMap"/>.propert
1640 79 20 69 73 20 3c 63 3e 6e 75 6c 6c 3c 2f 63 3e 29 2e 0d 0a 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 y.is.<c>null</c>).......///.....
1660 20 2f 2f 2f 20 57 69 74 68 69 6e 20 61 20 6d 61 70 2c 20 61 6c 6c 20 61 63 74 69 6f 6e 73 20 68 .///.Within.a.map,.all.actions.h
1680 61 76 65 20 74 6f 20 68 61 76 65 20 6e 61 6d 65 73 20 61 6e 64 20 65 61 63 68 20 61 63 74 69 6f ave.to.have.names.and.each.actio
16a0 6e 20 6e 61 6d 65 20 6d 75 73 74 0d 0a 20 20 20 20 2f 2f 2f 20 62 65 20 75 6e 69 71 75 65 2e 20 n.name.must......///.be.unique..
16c0 54 68 65 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 42 69 6e 64 69 6e 67 2e 61 63 74 69 The.<see.cref="InputBinding.acti
16e0 6f 6e 22 2f 3e 20 70 72 6f 70 65 72 74 79 20 6f 66 20 62 69 6e 64 69 6e 67 73 20 69 6e 20 61 20 on"/>.property.of.bindings.in.a.
1700 6d 61 70 0d 0a 20 20 20 20 2f 2f 2f 20 61 72 65 20 72 65 73 6f 6c 76 65 64 20 77 69 74 68 69 6e map......///.are.resolved.within
1720 20 74 68 65 20 3c 73 65 65 20 63 72 65 66 3d 22 61 63 74 69 6f 6e 73 22 2f 3e 20 69 6e 20 74 68 .the.<see.cref="actions"/>.in.th
1740 65 20 6d 61 70 2e 20 4c 6f 6f 6b 69 6e 67 20 75 70 20 61 63 74 69 6f 6e 73 0d 0a 20 20 20 20 2f e.map..Looking.up.actions....../
1760 2f 2f 20 62 79 20 6e 61 6d 65 20 63 61 6e 20 62 65 20 64 6f 6e 65 20 74 68 72 6f 75 67 68 20 3c //.by.name.can.be.done.through.<
1780 73 65 65 20 63 72 65 66 3d 22 46 69 6e 64 41 63 74 69 6f 6e 28 73 74 72 69 6e 67 2c 62 6f 6f 6c see.cref="FindAction(string,bool
17a0 29 22 2f 3e 2e 0d 0a 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 2f 2f 2f 20 54 68 65 20 3c 73 65 65 )"/>.......///......///.The.<see
17c0 20 63 72 65 66 3d 22 6e 61 6d 65 22 2f 3e 20 6f 66 20 74 68 65 20 6d 61 70 20 69 74 73 65 6c 66 .cref="name"/>.of.the.map.itself
17e0 20 63 61 6e 20 62 65 20 65 6d 70 74 79 2c 20 65 78 63 65 70 74 20 69 66 20 74 68 65 20 6d 61 70 .can.be.empty,.except.if.the.map
1800 20 69 73 20 70 61 72 74 20 6f 66 0d 0a 20 20 20 20 2f 2f 2f 20 61 6e 20 3c 73 65 65 20 63 72 65 .is.part.of......///.an.<see.cre
1820 66 3d 22 49 6e 70 75 74 41 63 74 69 6f 6e 41 73 73 65 74 22 2f 3e 20 69 6e 20 77 68 69 63 68 20 f="InputActionAsset"/>.in.which.
1840 63 61 73 65 20 69 74 20 69 73 20 72 65 71 75 69 72 65 64 20 74 6f 20 68 61 76 65 20 61 20 6e 61 case.it.is.required.to.have.a.na
1860 6d 65 0d 0a 20 20 20 20 2f 2f 2f 20 77 68 69 63 68 20 61 6c 73 6f 20 6d 75 73 74 20 62 65 20 75 me......///.which.also.must.be.u
1880 6e 69 71 75 65 20 77 69 74 68 69 6e 20 74 68 65 20 61 73 73 65 74 2e 0d 0a 20 20 20 20 2f 2f 2f nique.within.the.asset.......///
18a0 0d 0a 20 20 20 20 2f 2f 2f 20 41 63 74 69 6f 6e 20 6d 61 70 73 20 61 72 65 20 6d 6f 73 74 20 75 ......///.Action.maps.are.most.u
18c0 73 65 66 75 6c 20 66 6f 72 20 67 72 6f 75 70 69 6e 67 20 61 63 74 69 6f 6e 73 20 74 68 61 74 20 seful.for.grouping.actions.that.
18e0 63 6f 6e 74 65 78 74 75 61 6c 6c 79 0d 0a 20 20 20 20 2f 2f 2f 20 62 65 6c 6f 6e 67 20 74 6f 67 contextually......///.belong.tog
1900 65 74 68 65 72 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 6f 6e 65 20 63 6f 6d 6d 6f 6e 20 75 ether..For.example,.one.common.u
1920 73 61 67 65 20 69 73 20 74 6f 20 73 65 70 61 72 61 74 65 20 74 68 65 20 61 63 74 69 6f 6e 73 0d sage.is.to.separate.the.actions.
1940 0a 20 20 20 20 2f 2f 2f 20 74 68 61 74 20 63 61 6e 20 62 65 20 70 65 72 66 6f 72 6d 65 64 20 69 .....///.that.can.be.performed.i
1960 6e 20 74 68 65 20 55 49 20 6f 72 20 69 6e 20 74 68 65 20 6d 61 69 6e 20 6d 65 6e 75 20 66 72 6f n.the.UI.or.in.the.main.menu.fro
1980 6d 20 74 68 6f 73 65 20 74 68 61 74 20 63 61 6e 0d 0a 20 20 20 20 2f 2f 2f 20 62 65 20 70 65 72 m.those.that.can......///.be.per
19a0 66 6f 72 6d 65 64 20 64 75 72 69 6e 67 20 67 61 6d 65 70 6c 61 79 2e 20 48 6f 77 65 76 65 72 2c formed.during.gameplay..However,
19c0 20 65 76 65 6e 20 77 69 74 68 69 6e 20 67 61 6d 65 70 6c 61 79 2c 20 6d 75 6c 74 69 70 6c 65 20 .even.within.gameplay,.multiple.
19e0 61 63 74 69 6f 6e 0d 0a 20 20 20 20 2f 2f 2f 20 6d 61 70 73 20 63 61 6e 20 62 65 20 65 6d 70 6c action......///.maps.can.be.empl
1a00 6f 79 65 64 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 6f 6e 65 20 63 6f 75 6c 64 20 68 61 76 oyed..For.example,.one.could.hav
1a20 65 20 64 69 66 66 65 72 65 6e 74 20 61 63 74 69 6f 6e 20 6d 61 70 73 20 66 6f 72 0d 0a 20 20 20 e.different.action.maps.for.....
1a40 20 2f 2f 2f 20 64 72 69 76 69 6e 67 20 61 6e 64 20 66 6f 72 20 77 61 6c 6b 69 6e 67 20 70 6c 75 .///.driving.and.for.walking.plu
1a60 73 20 6f 6e 65 20 6d 6f 72 65 20 6d 61 70 20 66 6f 72 20 74 68 65 20 61 63 74 69 6f 6e 73 20 73 s.one.more.map.for.the.actions.s
1a80 68 61 72 65 64 20 62 65 74 77 65 65 6e 0d 0a 20 20 20 20 2f 2f 2f 20 74 68 65 20 74 77 6f 20 6d hared.between......///.the.two.m
1aa0 6f 64 65 73 2e 0d 0a 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 2f 2f 2f 20 41 63 74 69 6f 6e 20 6d odes.......///......///.Action.m
1ac0 61 70 73 20 61 72 65 20 75 73 75 61 6c 6c 79 20 63 72 65 61 74 65 64 20 69 6e 20 74 68 65 20 3c aps.are.usually.created.in.the.<
1ae0 61 20 68 72 65 66 3d 22 2e 2e 2f 6d 61 6e 75 61 6c 2f 41 63 74 69 6f 6e 41 73 73 65 74 73 2e 68 a.href="../manual/ActionAssets.h
1b00 74 6d 6c 22 3e 61 63 74 69 6f 6e 0d 0a 20 20 20 20 2f 2f 2f 20 65 64 69 74 6f 72 3c 2f 61 3e 20 tml">action......///.editor</a>.
1b20 61 73 20 70 61 72 74 20 6f 66 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 41 63 74 69 6f as.part.of.<see.cref="InputActio
1b40 6e 41 73 73 65 74 22 2f 3e 73 2e 20 48 6f 77 65 76 65 72 2c 20 74 68 65 79 20 63 61 6e 20 61 6c nAsset"/>s..However,.they.can.al
1b60 73 6f 20 62 65 0d 0a 20 20 20 20 2f 2f 2f 20 63 72 65 61 74 65 64 20 73 74 61 6e 64 69 6e 67 20 so.be......///.created.standing.
1b80 6f 6e 20 74 68 65 69 72 20 6f 77 6e 20 64 69 72 65 63 74 6c 79 20 69 6e 20 63 6f 64 65 20 6f 72 on.their.own.directly.in.code.or
1ba0 20 66 72 6f 6d 20 4a 53 4f 4e 20 28 73 65 65 20 3c 73 65 65 20 63 72 65 66 3d 22 46 72 6f 6d 4a .from.JSON.(see.<see.cref="FromJ
1bc0 73 6f 6e 22 2f 3e 29 2e 0d 0a 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 2f 2f 2f 20 3c 65 78 61 6d son"/>).......///......///.<exam
1be0 70 6c 65 3e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 63 6f 64 65 3e 0d 0a 20 20 20 20 2f 2f 2f 20 2f 2f ple>......///.<code>......///.//
1c00 20 43 72 65 61 74 65 20 61 20 66 72 65 65 2d 73 74 61 6e 64 69 6e 67 20 61 63 74 69 6f 6e 20 6d .Create.a.free-standing.action.m
1c20 61 70 2e 0d 0a 20 20 20 20 2f 2f 2f 20 76 61 72 20 6d 61 70 20 3d 20 6e 65 77 20 49 6e 70 75 74 ap.......///.var.map.=.new.Input
1c40 41 63 74 69 6f 6e 4d 61 70 28 29 3b 0d 0a 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 2f 2f 2f 20 2f ActionMap();......///......///./
1c60 2f 20 41 64 64 20 73 6f 6d 65 20 61 63 74 69 6f 6e 73 20 61 6e 64 20 62 69 6e 64 69 6e 67 73 20 /.Add.some.actions.and.bindings.
1c80 74 6f 20 69 74 2e 0d 0a 20 20 20 20 2f 2f 2f 20 6d 61 70 2e 41 64 64 41 63 74 69 6f 6e 28 22 61 to.it.......///.map.AddAction("a
1ca0 63 74 69 6f 6e 31 22 2c 20 62 69 6e 64 69 6e 67 3a 20 22 26 6c 74 3b 4b 65 79 62 6f 61 72 64 26 ction1",.binding:."&lt;Keyboard&
1cc0 67 74 3b 2f 73 70 61 63 65 22 29 3b 0d 0a 20 20 20 20 2f 2f 2f 20 6d 61 70 2e 41 64 64 41 63 74 gt;/space");......///.map.AddAct
1ce0 69 6f 6e 28 22 61 63 74 69 6f 6e 32 22 2c 20 62 69 6e 64 69 6e 67 3a 20 22 26 6c 74 3b 47 61 6d ion("action2",.binding:."&lt;Gam
1d00 65 70 61 64 26 67 74 3b 2f 62 75 74 74 6f 6e 53 6f 75 74 68 22 29 3b 0d 0a 20 20 20 20 2f 2f 2f epad&gt;/buttonSouth");......///
1d20 20 3c 2f 63 6f 64 65 3e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f 65 78 61 6d 70 6c 65 3e 0d 0a 20 20 .</code>......///.</example>....
1d40 20 20 2f 2f 2f 0d 0a 20 20 20 20 2f 2f 2f 20 41 63 74 69 6f 6e 73 20 69 6e 20 61 63 74 69 6f 6e ..///......///.Actions.in.action
1d60 20 6d 61 70 73 2c 20 6c 69 6b 65 20 61 63 74 69 6f 6e 73 20 65 78 69 73 74 69 6e 67 20 62 79 20 .maps,.like.actions.existing.by.
1d80 74 68 65 6d 73 65 6c 76 65 73 20 6f 75 74 73 69 64 65 20 6f 66 20 61 63 74 69 6f 6e 0d 0a 20 20 themselves.outside.of.action....
1da0 20 20 2f 2f 2f 20 6d 61 70 73 2c 20 64 6f 20 6e 6f 74 20 61 63 74 69 76 65 6c 79 20 70 72 6f 63 ..///.maps,.do.not.actively.proc
1dc0 65 73 73 20 69 6e 70 75 74 20 65 78 63 65 70 74 20 69 66 20 65 6e 61 62 6c 65 64 2e 20 41 63 74 ess.input.except.if.enabled..Act
1de0 69 6f 6e 73 20 63 61 6e 20 65 69 74 68 65 72 0d 0a 20 20 20 20 2f 2f 2f 20 62 65 20 65 6e 61 62 ions.can.either......///.be.enab
1e00 6c 65 64 20 69 6e 64 69 76 69 64 75 61 6c 6c 79 20 28 73 65 65 20 3c 73 65 65 20 63 72 65 66 3d led.individually.(see.<see.cref=
1e20 22 49 6e 70 75 74 41 63 74 69 6f 6e 2e 45 6e 61 62 6c 65 22 2f 3e 20 61 6e 64 20 3c 73 65 65 0d "InputAction.Enable"/>.and.<see.
1e40 0a 20 20 20 20 2f 2f 2f 20 63 72 65 66 3d 22 49 6e 70 75 74 41 63 74 69 6f 6e 2e 44 69 73 61 62 .....///.cref="InputAction.Disab
1e60 6c 65 22 2f 3e 29 20 6f 72 20 69 6e 20 62 75 6c 6b 20 62 79 20 65 6e 61 62 6c 69 6e 67 20 61 6e le"/>).or.in.bulk.by.enabling.an
1e80 64 20 64 69 73 61 62 6c 69 6e 67 20 74 68 65 0d 0a 20 20 20 20 2f 2f 2f 20 65 6e 74 69 72 65 20 d.disabling.the......///.entire.
1ea0 6d 61 70 20 28 73 65 65 20 3c 73 65 65 20 63 72 65 66 3d 22 45 6e 61 62 6c 65 22 2f 3e 20 61 6e map.(see.<see.cref="Enable"/>.an
1ec0 64 20 3c 73 65 65 20 63 72 65 66 3d 22 44 69 73 61 62 6c 65 22 2f 3e 29 2e 0d 0a 20 20 20 20 2f d.<see.cref="Disable"/>)......./
1ee0 2f 2f 20 3c 2f 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 //.</remarks>......///.<seealso.
1f00 63 72 65 66 3d 22 49 6e 70 75 74 41 63 74 69 6f 6e 41 73 73 65 74 22 2f 3e 0d 0a 20 20 20 20 2f cref="InputActionAsset"/>....../
1f20 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 49 6e 70 75 74 41 63 74 69 6f 6e 22 2f 3e //.<seealso.cref="InputAction"/>
1f40 0d 0a 20 20 20 20 5b 53 65 72 69 61 6c 69 7a 61 62 6c 65 5d 0d 0a 20 20 20 20 70 75 62 6c 69 63 ......[Serializable]......public
1f60 20 73 65 61 6c 65 64 20 63 6c 61 73 73 20 49 6e 70 75 74 41 63 74 69 6f 6e 4d 61 70 20 3a 20 49 .sealed.class.InputActionMap.:.I
1f80 43 6c 6f 6e 65 61 62 6c 65 2c 20 49 53 65 72 69 61 6c 69 7a 61 74 69 6f 6e 43 61 6c 6c 62 61 63 Cloneable,.ISerializationCallbac
1fa0 6b 52 65 63 65 69 76 65 72 2c 20 49 49 6e 70 75 74 41 63 74 69 6f 6e 43 6f 6c 6c 65 63 74 69 6f kReceiver,.IInputActionCollectio
1fc0 6e 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 2f n,.IDisposable......{........../
1fe0 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 4e 61 6d 65 20 6f //.<summary>..........///.Name.o
2000 66 20 74 68 65 20 61 63 74 69 6f 6e 20 6d 61 70 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c f.the.action.map...........///.<
2020 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 76 61 6c 75 65 3e 4e 61 /summary>..........///.<value>Na
2040 6d 65 20 6f 66 20 74 68 65 20 61 63 74 69 6f 6e 20 6d 61 70 2e 3c 2f 76 61 6c 75 65 3e 0d 0a 20 me.of.the.action.map.</value>...
2060 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 2f 2f .......///.<remarks>..........//
2080 2f 20 46 6f 72 20 61 63 74 69 6f 6e 20 6d 61 70 73 20 74 68 61 74 20 61 72 65 20 70 61 72 74 20 /.For.action.maps.that.are.part.
20a0 6f 66 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 41 63 74 69 6f 6e 41 73 73 65 74 22 2f of.<see.cref="InputActionAsset"/
20c0 3e 73 2c 20 74 68 69 73 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 62 65 0d 0a 20 20 20 20 20 20 20 >s,.this.will.always.be.........
20e0 20 2f 2f 2f 20 61 20 6e 6f 6e 2d 6e 75 6c 6c 2c 20 6e 6f 6e 2d 65 6d 70 74 79 20 73 74 72 69 6e .///.a.non-null,.non-empty.strin
2100 67 20 74 68 61 74 20 69 73 20 75 6e 69 71 75 65 20 77 69 74 68 69 6e 20 74 68 65 20 6d 61 70 73 g.that.is.unique.within.the.maps
2120 20 69 6e 20 74 68 65 20 61 73 73 65 74 2e 20 46 6f 72 20 61 63 74 69 6f 6e 20 6d 61 70 73 0d 0a .in.the.asset..For.action.maps..
2140 20 20 20 20 20 20 20 20 2f 2f 2f 20 74 68 61 74 20 61 72 65 20 73 74 61 6e 64 69 6e 67 20 6f 6e ........///.that.are.standing.on
2160 20 74 68 65 69 72 20 6f 77 6e 2c 20 74 68 69 73 20 63 61 6e 20 62 65 20 6e 75 6c 6c 20 6f 72 20 .their.own,.this.can.be.null.or.
2180 65 6d 70 74 79 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 empty...........///.</remarks>..
21a0 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 72 69 6e 67 20 6e 61 6d 65 20 3d 3e 20 6d 5f ........public.string.name.=>.m_
21c0 4e 61 6d 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a Name;............///.<summary>..
21e0 20 20 20 20 20 20 20 20 2f 2f 2f 20 49 66 20 74 68 65 20 61 63 74 69 6f 6e 20 6d 61 70 20 69 73 ........///.If.the.action.map.is
2200 20 70 61 72 74 20 6f 66 20 61 6e 20 61 73 73 65 74 2c 20 74 68 69 73 20 72 65 66 65 72 73 20 74 .part.of.an.asset,.this.refers.t
2220 6f 20 74 68 65 20 61 73 73 65 74 2e 20 4f 74 68 65 72 77 69 73 65 20 69 74 20 69 73 20 3c 63 3e o.the.asset..Otherwise.it.is.<c>
2240 6e 75 6c 6c 3c 2f 63 3e 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 null</c>...........///.</summary
2260 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 76 61 6c 75 65 3e 41 73 73 65 74 20 74 6f 20 77 >..........///.<value>Asset.to.w
2280 68 69 63 68 20 74 68 65 20 61 63 74 69 6f 6e 20 6d 61 70 20 62 65 6c 6f 6e 67 73 2e 3c 2f 76 61 hich.the.action.map.belongs.</va
22a0 6c 75 65 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 74 69 6f 6e lue>..........public.InputAction
22c0 41 73 73 65 74 20 61 73 73 65 74 20 3d 3e 20 6d 5f 41 73 73 65 74 3b 0d 0a 0d 0a 20 20 20 20 20 Asset.asset.=>.m_Asset;.........
22e0 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 41 20 ...///.<summary>..........///.A.
2300 73 74 61 62 6c 65 2c 20 75 6e 69 71 75 65 20 69 64 65 6e 74 69 66 69 65 72 20 66 6f 72 20 74 68 stable,.unique.identifier.for.th
2320 65 20 6d 61 70 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 e.map...........///.</summary>..
2340 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 76 61 6c 75 65 3e 55 6e 69 71 75 65 20 49 44 20 66 6f 72 ........///.<value>Unique.ID.for
2360 20 74 68 65 20 61 63 74 69 6f 6e 20 6d 61 70 2e 3c 2f 76 61 6c 75 65 3e 0d 0a 20 20 20 20 20 20 .the.action.map.</value>........
2380 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 54 68 69 ..///.<remarks>..........///.Thi
23a0 73 20 63 61 6e 20 62 65 20 75 73 65 64 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 20 6e 61 6d s.can.be.used.instead.of.the.nam
23c0 65 20 74 6f 20 72 65 66 65 72 20 74 6f 20 74 68 65 20 61 63 74 69 6f 6e 20 6d 61 70 2e 20 44 6f e.to.refer.to.the.action.map..Do
23e0 69 6e 67 20 73 6f 20 61 6c 6c 6f 77 73 20 72 65 66 65 72 72 69 6e 67 20 74 6f 20 74 68 65 0d 0a ing.so.allows.referring.to.the..
2400 20 20 20 20 20 20 20 20 2f 2f 2f 20 6d 61 70 20 73 75 63 68 20 74 68 61 74 20 72 65 6e 61 6d 69 ........///.map.such.that.renami
2420 6e 67 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 62 72 65 61 6b 20 72 65 66 65 72 65 6e 63 65 73 2e ng.it.does.not.break.references.
2440 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 20 20 ..........///.</remarks>........
2460 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 41 63 74 69 6f 6e ..///.<seealso.cref="InputAction
2480 2e 69 64 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 47 75 69 64 20 69 64 0d 0a .id"/>..........public.Guid.id..
24a0 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 0d 0a 20 20 20 20 ........{..............get......
24c0 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 73 ........{..................if.(s
24e0 74 72 69 6e 67 2e 49 73 4e 75 6c 6c 4f 72 45 6d 70 74 79 28 6d 5f 49 64 29 29 0d 0a 20 20 20 20 tring.IsNullOrEmpty(m_Id))......
2500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 47 65 6e 65 72 61 74 65 49 64 28 29 3b 0d 0a 20 ................GenerateId();...
2520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77 20 47 75 69 64 28 6d ...............return.new.Guid(m
2540 5f 49 64 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 _Id);..............}..........}.
2560 0a 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 47 75 69 64 20 69 64 44 6f 6e 74 47 ...........internal.Guid.idDontG
2580 65 6e 65 72 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 enerate..........{..............
25a0 67 65 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 get..............{..............
25c0 20 20 20 20 69 66 20 28 73 74 72 69 6e 67 2e 49 73 4e 75 6c 6c 4f 72 45 6d 70 74 79 28 6d 5f 49 ....if.(string.IsNullOrEmpty(m_I
25e0 64 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 20 d))......................return.
2600 64 65 66 61 75 6c 74 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 default;..................return
2620 20 6e 65 77 20 47 75 69 64 28 6d 5f 49 64 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d .new.Guid(m_Id);..............}.
2640 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 61 .........}............///.<summa
2660 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 57 68 65 74 68 65 72 20 61 6e 79 20 61 63 74 ry>..........///.Whether.any.act
2680 69 6f 6e 20 69 6e 20 74 68 65 20 6d 61 70 20 69 73 20 63 75 72 72 65 6e 74 6c 79 20 65 6e 61 62 ion.in.the.map.is.currently.enab
26a0 6c 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 led...........///.</summary>....
26c0 20 20 20 20 20 20 2f 2f 2f 20 3c 76 61 6c 75 65 3e 54 72 75 65 20 69 66 20 61 6e 79 20 61 63 74 ......///.<value>True.if.any.act
26e0 69 6f 6e 20 69 6e 20 3c 73 65 65 20 63 72 65 66 3d 22 61 63 74 69 6f 6e 73 22 2f 3e 20 69 73 20 ion.in.<see.cref="actions"/>.is.
2700 63 75 72 72 65 6e 74 6c 79 20 65 6e 61 62 6c 65 64 2e 3c 2f 76 61 6c 75 65 3e 0d 0a 20 20 20 20 currently.enabled.</value>......
2720 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 41 63 74 69 ....///.<seealso.cref="InputActi
2740 6f 6e 2e 65 6e 61 62 6c 65 64 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 on.enabled"/>..........///.<seea
2760 6c 73 6f 20 63 72 65 66 3d 22 45 6e 61 62 6c 65 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f lso.cref="Enable"/>..........///
2780 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 49 6e 70 75 74 41 63 74 69 6f 6e 2e 45 6e 61 62 .<seealso.cref="InputAction.Enab
27a0 6c 65 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 62 6f 6f 6c 20 65 6e 61 62 6c le"/>..........public.bool.enabl
27c0 65 64 20 3d 3e 20 6d 5f 45 6e 61 62 6c 65 64 41 63 74 69 6f 6e 73 43 6f 75 6e 74 20 3e 20 30 3b ed.=>.m_EnabledActionsCount.>.0;
27e0 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>.......
2800 20 20 20 2f 2f 2f 20 4c 69 73 74 20 6f 66 20 61 63 74 69 6f 6e 73 20 63 6f 6e 74 61 69 6e 65 64 ...///.List.of.actions.contained
2820 20 69 6e 20 74 68 65 20 6d 61 70 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d .in.the.map...........///.</summ
2840 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 76 61 6c 75 65 3e 43 6f 6c 6c 65 63 74 ary>..........///.<value>Collect
2860 69 6f 6e 20 6f 66 20 61 63 74 69 6f 6e 73 20 62 65 6c 6f 6e 67 69 6e 67 20 74 6f 20 74 68 65 20 ion.of.actions.belonging.to.the.
2880 6d 61 70 2e 3c 2f 76 61 6c 75 65 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 map.</value>..........///.<remar
28a0 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 41 63 74 69 6f 6e 73 20 61 72 65 20 6f 77 6e ks>..........///.Actions.are.own
28c0 65 64 20 62 79 20 74 68 65 69 72 20 6d 61 70 2e 20 54 68 65 20 73 61 6d 65 20 61 63 74 69 6f 6e ed.by.their.map..The.same.action
28e0 20 63 61 6e 6e 6f 74 20 61 70 70 65 61 72 20 69 6e 20 6d 75 6c 74 69 70 6c 65 20 6d 61 70 73 2e .cannot.appear.in.multiple.maps.
2900 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 63 63 65 73 ..........///..........///.Acces
2920 73 69 6e 67 20 74 68 69 73 20 70 72 6f 70 65 72 74 79 2e 20 4e 6f 74 65 20 74 68 61 74 20 76 61 sing.this.property..Note.that.va
2940 6c 75 65 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 70 72 6f 70 65 72 74 79 20 62 65 lues.returned.by.the.property.be
2960 63 6f 6d 65 20 69 6e 76 61 6c 69 64 20 69 66 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 74 68 65 come.invalid.if..........///.the
2980 20 73 65 74 75 70 20 6f 66 20 61 63 74 69 6f 6e 73 20 69 6e 20 61 20 6d 61 70 20 69 73 20 63 68 .setup.of.actions.in.a.map.is.ch
29a0 61 6e 67 65 64 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 anged...........///.</remarks>..
29c0 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
29e0 41 63 74 69 6f 6e 2e 61 63 74 69 6f 6e 4d 61 70 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 Action.actionMap"/>..........pub
2a00 6c 69 63 20 52 65 61 64 4f 6e 6c 79 41 72 72 61 79 3c 49 6e 70 75 74 41 63 74 69 6f 6e 3e 20 61 lic.ReadOnlyArray<InputAction>.a
2a20 63 74 69 6f 6e 73 20 3d 3e 20 6e 65 77 20 52 65 61 64 4f 6e 6c 79 41 72 72 61 79 3c 49 6e 70 75 ctions.=>.new.ReadOnlyArray<Inpu
2a40 74 41 63 74 69 6f 6e 3e 28 6d 5f 41 63 74 69 6f 6e 73 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 tAction>(m_Actions);............
2a60 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 4c 69 73 74 20 ///.<summary>..........///.List.
2a80 6f 66 20 62 69 6e 64 69 6e 67 73 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 20 74 68 65 20 6d 61 70 of.bindings.contained.in.the.map
2aa0 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 ...........///.</summary>.......
2ac0 20 20 20 2f 2f 2f 20 3c 76 61 6c 75 65 3e 43 6f 6c 6c 65 63 74 69 6f 6e 20 6f 66 20 62 69 6e 64 ...///.<value>Collection.of.bind
2ae0 69 6e 67 73 20 69 6e 20 74 68 65 20 6d 61 70 2e 3c 2f 76 61 6c 75 65 3e 0d 0a 20 20 20 20 20 20 ings.in.the.map.</value>........
2b00 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 3c 73 65 ..///.<remarks>..........///.<se
2b20 65 20 63 72 65 66 3d 22 49 6e 70 75 74 42 69 6e 64 69 6e 67 22 2f 3e 73 20 61 72 65 20 6f 77 6e e.cref="InputBinding"/>s.are.own
2b40 65 64 20 62 79 20 61 63 74 69 6f 6e 20 6d 61 70 73 20 61 6e 64 20 6e 6f 74 20 62 79 20 69 6e 64 ed.by.action.maps.and.not.by.ind
2b60 69 76 69 64 75 61 6c 20 61 63 74 69 6f 6e 73 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 ividual.actions...........///...
2b80 20 20 20 20 20 20 20 2f 2f 2f 20 42 69 6e 64 69 6e 67 73 20 74 68 61 74 20 74 72 69 67 67 65 72 .......///.Bindings.that.trigger
2ba0 20 61 63 74 69 6f 6e 73 20 72 65 66 65 72 20 74 6f 20 74 68 65 20 61 63 74 69 6f 6e 20 62 79 20 .actions.refer.to.the.action.by.
2bc0 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 41 63 74 69 6f 6e 2e 6e 61 6d 65 22 2f 3e 0d 0a <see.cref="InputAction.name"/>..
2be0 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 41 ........///.or.<see.cref="InputA
2c00 63 74 69 6f 6e 2e 69 64 22 2f 3e 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 20 ction.id"/>...........///.......
2c20 20 20 20 2f 2f 2f 20 41 63 63 65 73 73 69 6e 67 20 74 68 69 73 20 70 72 6f 70 65 72 74 79 20 64 ...///.Accessing.this.property.d
2c40 6f 65 73 20 6e 6f 74 20 61 6c 6c 6f 63 61 74 65 2e 20 4e 6f 74 65 20 74 68 61 74 20 76 61 6c 75 oes.not.allocate..Note.that.valu
2c60 65 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 70 72 6f 70 65 72 74 79 0d 0a 20 20 20 es.returned.by.the.property.....
2c80 20 20 20 20 20 2f 2f 2f 20 62 65 63 6f 6d 65 20 69 6e 76 61 6c 69 64 20 69 66 20 74 68 65 20 73 .....///.become.invalid.if.the.s
2ca0 65 74 75 70 20 6f 66 20 62 69 6e 64 69 6e 67 73 20 69 6e 20 61 20 6d 61 70 20 69 73 20 63 68 61 etup.of.bindings.in.a.map.is.cha
2cc0 6e 67 65 64 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 nged...........///.</remarks>...
2ce0 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 41 .......///.<seealso.cref="InputA
2d00 63 74 69 6f 6e 2e 62 69 6e 64 69 6e 67 73 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 ction.bindings"/>..........publi
2d20 63 20 52 65 61 64 4f 6e 6c 79 41 72 72 61 79 3c 49 6e 70 75 74 42 69 6e 64 69 6e 67 3e 20 62 69 c.ReadOnlyArray<InputBinding>.bi
2d40 6e 64 69 6e 67 73 20 3d 3e 20 6e 65 77 20 52 65 61 64 4f 6e 6c 79 41 72 72 61 79 3c 49 6e 70 75 ndings.=>.new.ReadOnlyArray<Inpu
2d60 74 42 69 6e 64 69 6e 67 3e 28 6d 5f 42 69 6e 64 69 6e 67 73 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 tBinding>(m_Bindings);..........
2d80 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 43 6f 6e ..///.<summary>..........///.Con
2da0 74 72 6f 6c 20 73 63 68 65 6d 65 73 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 65 20 61 63 74 trol.schemes.defined.for.the.act
2dc0 69 6f 6e 20 6d 61 70 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 ion.map...........///.</summary>
2de0 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 76 61 6c 75 65 3e 4c 69 73 74 20 6f 66 20 61 76 61 ..........///.<value>List.of.ava
2e00 69 6c 61 62 6c 65 20 63 6f 6e 74 72 6f 6c 20 73 63 68 65 6d 65 73 2e 3c 2f 76 61 6c 75 65 3e 0d ilable.control.schemes.</value>.
2e20 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 .........///.<remarks>..........
2e40 2f 2f 2f 20 43 6f 6e 74 72 6f 6c 20 73 63 68 65 6d 65 73 20 63 61 6e 20 6f 6e 6c 79 20 62 65 20 ///.Control.schemes.can.only.be.
2e60 64 65 66 69 6e 65 64 20 61 74 20 74 68 65 20 6c 65 76 65 6c 20 6f 66 20 3c 73 65 65 20 63 72 65 defined.at.the.level.of.<see.cre
2e80 66 3d 22 49 6e 70 75 74 41 63 74 69 6f 6e 41 73 73 65 74 22 2f 3e 73 2e 0d 0a 20 20 20 20 20 20 f="InputActionAsset"/>s.........
2ea0 20 20 2f 2f 2f 20 46 6f 72 20 61 63 74 69 6f 6e 20 6d 61 70 73 20 74 68 61 74 20 61 72 65 20 70 ..///.For.action.maps.that.are.p
2ec0 61 72 74 20 6f 66 20 61 73 73 65 74 73 2c 20 74 68 69 73 20 70 72 6f 70 65 72 74 79 20 77 69 6c art.of.assets,.this.property.wil
2ee0 6c 20 72 65 74 75 72 6e 20 74 68 65 20 63 6f 6e 74 72 6f 6c 20 73 63 68 65 6d 65 73 0d 0a 20 20 l.return.the.control.schemes....
2f00 20 20 20 20 20 20 2f 2f 2f 20 66 72 6f 6d 20 74 68 65 20 61 73 73 65 74 2e 20 46 6f 72 20 66 72 ......///.from.the.asset..For.fr
2f20 65 65 2d 73 74 61 6e 64 69 6e 67 20 61 63 74 69 6f 6e 20 6d 61 70 73 2c 20 74 68 69 73 20 77 69 ee-standing.action.maps,.this.wi
2f40 6c 6c 20 72 65 74 75 72 6e 20 61 6e 20 65 6d 70 74 79 20 6c 69 73 74 2e 0d 0a 20 20 20 20 20 20 ll.return.an.empty.list.........
2f60 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 2f 2f 2f 20 3c 73 ..///.</remarks>..........///.<s
2f80 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 49 6e 70 75 74 41 63 74 69 6f 6e 41 73 73 65 74 2e 63 6f eealso.cref="InputActionAsset.co
2fa0 6e 74 72 6f 6c 53 63 68 65 6d 65 73 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 ntrolSchemes"/>..........public.
2fc0 52 65 61 64 4f 6e 6c 79 41 72 72 61 79 3c 49 6e 70 75 74 43 6f 6e 74 72 6f 6c 53 63 68 65 6d 65 ReadOnlyArray<InputControlScheme
2fe0 3e 20 63 6f 6e 74 72 6f 6c 53 63 68 65 6d 65 73 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 >.controlSchemes..........{.....
3000 20 20 20 20 20 20 20 20 20 67 65 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 .........get..............{.....
3020 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 41 73 73 65 74 20 3d 3d 20 6e 75 6c 6c .............if.(m_Asset.==.null
3040 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 20 6e 65 )......................return.ne
3060 77 20 52 65 61 64 4f 6e 6c 79 41 72 72 61 79 3c 49 6e 70 75 74 43 6f 6e 74 72 6f 6c 53 63 68 65 w.ReadOnlyArray<InputControlSche
3080 6d 65 3e 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d me>();..................return.m
30a0 5f 41 73 73 65 74 2e 63 6f 6e 74 72 6f 6c 53 63 68 65 6d 65 73 3b 0d 0a 20 20 20 20 20 20 20 20 _Asset.controlSchemes;..........
30c0 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 ....}..........}............///.
30e0 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 42 69 6e 64 69 6e 67 20 6d <summary>..........///.Binding.m
3100 61 73 6b 20 74 6f 20 61 70 70 6c 79 20 74 6f 20 61 6c 6c 20 61 63 74 69 6f 6e 73 20 69 6e 20 74 ask.to.apply.to.all.actions.in.t
3120 68 65 20 61 73 73 65 74 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 he.asset...........///.</summary
3140 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 76 61 6c 75 65 3e 4f 70 74 69 6f 6e 61 6c 20 6d >..........///.<value>Optional.m
3160 61 73 6b 20 74 68 61 74 20 64 65 74 65 72 6d 69 6e 65 73 20 77 68 69 63 68 20 62 69 6e 64 69 6e ask.that.determines.which.bindin
3180 67 73 20 69 6e 20 74 68 65 20 61 63 74 69 6f 6e 20 6d 61 70 20 74 6f 20 65 6e 61 62 6c 65 2e 3c gs.in.the.action.map.to.enable.<
31a0 2f 76 61 6c 75 65 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e 0d 0a /value>..........///.<remarks>..
31c0 20 20 20 20 20 20 20 20 2f 2f 2f 20 42 69 6e 64 69 6e 67 20 6d 61 73 6b 73 20 63 61 6e 20 62 65 ........///.Binding.masks.can.be
31e0 20 61 70 70 6c 69 65 64 20 61 74 20 74 68 72 65 65 20 64 69 66 66 65 72 65 6e 74 20 6c 65 76 65 .applied.at.three.different.leve
3200 6c 73 3a 20 66 6f 72 20 61 6e 20 65 6e 74 69 72 65 20 61 73 73 65 74 20 74 68 72 6f 75 67 68 0d ls:.for.an.entire.asset.through.
3220 0a 20 20 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 .........///.<see.cref="InputAct
3240 69 6f 6e 41 73 73 65 74 2e 62 69 6e 64 69 6e 67 4d 61 73 6b 22 2f 3e 2c 20 66 6f 72 20 61 20 73 ionAsset.bindingMask"/>,.for.a.s
3260 70 65 63 69 66 69 63 20 6d 61 70 20 74 68 72 6f 75 67 68 20 74 68 69 73 20 70 72 6f 70 65 72 74 pecific.map.through.this.propert
3280 79 2c 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 61 6e 64 20 66 6f 72 20 73 69 6e 67 6c 65 20 61 y,..........///.and.for.single.a
32a0 63 74 69 6f 6e 73 20 74 68 72 6f 75 67 68 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 41 ctions.through.<see.cref="InputA
32c0 63 74 69 6f 6e 2e 62 69 6e 64 69 6e 67 4d 61 73 6b 22 2f 3e 2e 20 42 79 20 64 65 66 61 75 6c 74 ction.bindingMask"/>..By.default
32e0 2c 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 6e 6f 6e 65 20 6f 66 20 74 68 65 20 6d 61 73 6b 73 ,..........///.none.of.the.masks
3300 20 77 69 6c 6c 20 62 65 20 73 65 74 20 28 69 2e 65 2e 20 74 68 65 79 20 77 69 6c 6c 20 62 65 20 .will.be.set.(i.e..they.will.be.
3320 3c 63 3e 6e 75 6c 6c 3c 2f 63 3e 29 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 <c>null</c>)...........///......
3340 20 20 20 20 2f 2f 2f 20 57 68 65 6e 20 61 6e 20 61 63 74 69 6f 6e 20 69 73 20 65 6e 61 62 6c 65 ....///.When.an.action.is.enable
3360 64 2c 20 61 6c 6c 20 74 68 65 20 62 69 6e 64 69 6e 67 20 6d 61 73 6b 73 20 74 68 61 74 20 61 70 d,.all.the.binding.masks.that.ap
3380 70 6c 79 20 74 6f 20 69 74 20 61 72 65 20 74 61 6b 65 6e 20 69 6e 74 6f 0d 0a 20 20 20 20 20 20 ply.to.it.are.taken.into........
33a0 20 20 2f 2f 2f 20 61 63 63 6f 75 6e 74 2e 20 53 70 65 63 69 66 69 63 61 6c 6c 79 2c 20 74 68 69 ..///.account..Specifically,.thi
33c0 73 20 6d 65 61 6e 73 20 74 68 61 74 20 61 6e 79 20 67 69 76 65 6e 20 62 69 6e 64 69 6e 67 20 6f s.means.that.any.given.binding.o
33e0 6e 20 74 68 65 20 61 63 74 69 6f 6e 20 77 69 6c 6c 20 62 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f n.the.action.will.be..........//
3400 2f 20 65 6e 61 62 6c 65 64 20 6f 6e 6c 79 20 69 66 20 69 74 20 6d 61 74 63 68 65 73 20 74 68 65 /.enabled.only.if.it.matches.the
3420 20 6d 61 73 6b 20 61 70 70 6c 69 65 64 20 74 6f 20 74 68 65 20 61 73 73 65 74 2c 20 74 68 65 20 .mask.applied.to.the.asset,.the.
3440 6d 61 73 6b 20 61 70 70 6c 69 65 64 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 74 6f 20 74 68 65 mask.applied..........///.to.the
3460 20 6d 61 70 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 61 63 74 69 6f 6e 2c 20 61 .map.that.contains.the.action,.a
3480 6e 64 20 74 68 65 20 6d 61 73 6b 20 61 70 70 6c 69 65 64 20 74 6f 20 74 68 65 20 61 63 74 69 6f nd.the.mask.applied.to.the.actio
34a0 6e 20 69 74 73 65 6c 66 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 41 6c 6c 20 74 68 65 20 6d n.itself...........///.All.the.m
34c0 61 73 6b 73 20 61 72 65 20 69 6e 64 69 76 69 64 75 61 6c 6c 79 20 6f 70 74 69 6f 6e 61 6c 2e 0d asks.are.individually.optional..
34e0 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 4d 61 73 6b 73 20 .........///..........///.Masks.
3500 61 72 65 20 6d 61 74 63 68 65 64 20 61 67 61 69 6e 73 74 20 62 69 6e 64 69 6e 67 73 20 75 73 69 are.matched.against.bindings.usi
3520 6e 67 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 42 69 6e 64 69 6e 67 2e 4d 61 74 63 68 ng.<see.cref="InputBinding.Match
3540 65 73 22 2f 3e 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f es"/>...........///..........///
3560 20 4e 6f 74 65 20 74 68 61 74 20 69 66 20 79 6f 75 20 6d 6f 64 69 66 79 20 74 68 65 20 6d 61 73 .Note.that.if.you.modify.the.mas
3580 6b 73 20 61 70 70 6c 69 63 61 62 6c 65 20 74 6f 20 61 6e 20 61 63 74 69 6f 6e 20 77 68 69 6c 65 ks.applicable.to.an.action.while
35a0 20 69 74 20 69 73 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 65 6e 61 62 6c 65 64 2c 20 74 68 65 .it.is..........///.enabled,.the
35c0 20 61 63 74 69 6f 6e 27 73 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 41 63 74 69 6f 6e .action's.<see.cref="InputAction
35e0 2e 63 6f 6e 74 72 6f 6c 73 22 2f 3e 20 77 69 6c 6c 20 67 65 74 20 75 70 64 61 74 65 64 20 69 6d .controls"/>.will.get.updated.im
3600 6d 65 64 69 61 74 65 6c 79 20 74 6f 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 72 65 73 70 65 63 mediately.to..........///.respec
3620 74 20 74 68 65 20 6d 61 73 6b 2e 20 54 6f 20 61 76 6f 69 64 20 72 65 70 65 61 74 65 64 20 62 69 t.the.mask..To.avoid.repeated.bi
3640 6e 64 69 6e 67 20 72 65 73 6f 6c 75 74 69 6f 6e 2c 20 69 74 20 69 73 20 6d 6f 73 74 20 65 66 66 nding.resolution,.it.is.most.eff
3660 69 63 69 65 6e 74 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 74 6f 20 61 70 70 6c 79 20 62 69 6e icient..........///.to.apply.bin
3680 64 69 6e 67 20 6d 61 73 6b 73 20 62 65 66 6f 72 65 20 65 6e 61 62 6c 69 6e 67 20 61 63 74 69 6f ding.masks.before.enabling.actio
36a0 6e 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 42 69 ns...........///..........///.Bi
36c0 6e 64 69 6e 67 20 6d 61 73 6b 73 20 61 72 65 20 6e 6f 6e 2d 64 65 73 74 72 75 63 74 69 76 65 2e nding.masks.are.non-destructive.
36e0 20 41 6c 6c 20 74 68 65 20 62 69 6e 64 69 6e 67 73 20 6f 6e 20 74 68 65 20 61 63 74 69 6f 6e 20 .All.the.bindings.on.the.action.
3700 61 72 65 20 6c 65 66 74 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 69 6e 20 70 6c 61 63 65 2e 20 are.left..........///.in.place..
3720 53 65 74 74 69 6e 67 20 61 20 6d 61 73 6b 20 77 69 6c 6c 20 6e 6f 74 20 61 66 66 65 63 74 20 74 Setting.a.mask.will.not.affect.t
3740 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 he.value.of.the.<see.cref="Input
3760 41 63 74 69 6f 6e 2e 62 69 6e 64 69 6e 67 73 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 Action.bindings"/>..........///.
3780 61 6e 64 20 3c 73 65 65 20 63 72 65 66 3d 22 62 69 6e 64 69 6e 67 73 22 2f 3e 20 70 72 6f 70 65 and.<see.cref="bindings"/>.prope
37a0 72 74 69 65 73 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 rties...........///.</remarks>..
37c0 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
37e0 42 69 6e 64 69 6e 67 2e 4d 61 73 6b 42 79 47 72 6f 75 70 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 Binding.MaskByGroup"/>..........
3800 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 49 6e 70 75 74 41 63 74 69 6f 6e 2e 62 ///.<seealso.cref="InputAction.b
3820 69 6e 64 69 6e 67 4d 61 73 6b 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 indingMask"/>..........///.<seea
3840 6c 73 6f 20 63 72 65 66 3d 22 49 6e 70 75 74 41 63 74 69 6f 6e 41 73 73 65 74 2e 62 69 6e 64 69 lso.cref="InputActionAsset.bindi
3860 6e 67 4d 61 73 6b 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 49 6e 70 75 74 42 ngMask"/>..........public.InputB
3880 69 6e 64 69 6e 67 3f 20 62 69 6e 64 69 6e 67 4d 61 73 6b 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a inding?.bindingMask..........{..
38a0 20 20 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 4d 61 73 6b ............get.=>.m_BindingMask
38c0 3b 0d 0a 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..............
38e0 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 42 69 6e 64 69 6e 67 {..................if.(m_Binding
3900 4d 61 73 6b 20 3d 3d 20 76 61 6c 75 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 Mask.==.value)..................
3920 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 6d ....return;....................m
3940 5f 42 69 6e 64 69 6e 67 4d 61 73 6b 20 3d 20 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 _BindingMask.=.value;...........
3960 20 20 20 20 20 20 20 4c 61 7a 79 52 65 73 6f 6c 76 65 42 69 6e 64 69 6e 67 73 28 29 3b 0d 0a 20 .......LazyResolveBindings();...
3980 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 ...........}..........}.........
39a0 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 53 65 ...///.<summary>..........///.Se
39c0 74 20 6f 66 20 64 65 76 69 63 65 73 20 74 68 61 74 20 62 69 6e 64 69 6e 67 73 20 69 6e 20 74 68 t.of.devices.that.bindings.in.th
39e0 65 20 61 63 74 69 6f 6e 20 6d 61 70 20 63 61 6e 20 62 69 6e 64 20 74 6f 2e 0d 0a 20 20 20 20 20 e.action.map.can.bind.to........
3a00 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 3c ...///.</summary>..........///.<
3a20 76 61 6c 75 65 3e 4f 70 74 69 6f 6e 61 6c 20 73 65 74 20 6f 66 20 64 65 76 69 63 65 73 20 74 6f value>Optional.set.of.devices.to
3a40 20 75 73 65 20 62 79 20 62 69 6e 64 69 6e 67 73 20 69 6e 20 74 68 65 20 6d 61 70 2e 3c 2f 76 61 .use.by.bindings.in.the.map.</va
3a60 6c 75 65 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 lue>..........///.<remarks>.....
3a80 20 20 20 20 20 2f 2f 2f 20 42 79 20 64 65 66 61 75 6c 74 20 28 77 69 74 68 20 74 68 69 73 20 70 .....///.By.default.(with.this.p
3aa0 72 6f 70 65 72 74 79 20 62 65 69 6e 67 20 3c 63 3e 6e 75 6c 6c 3c 2f 63 3e 29 2c 20 62 69 6e 64 roperty.being.<c>null</c>),.bind
3ac0 69 6e 67 73 20 77 69 6c 6c 20 62 69 6e 64 20 74 6f 20 61 6e 79 20 6f 66 20 74 68 65 0d 0a 20 20 ings.will.bind.to.any.of.the....
3ae0 20 20 20 20 20 20 2f 2f 2f 20 63 6f 6e 74 72 6f 6c 73 20 61 76 61 69 6c 61 62 6c 65 20 74 68 72 ......///.controls.available.thr
3b00 6f 75 67 68 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 53 79 73 74 65 6d 2e 64 65 76 69 ough.<see.cref="InputSystem.devi
3b20 63 65 73 22 2f 3e 2c 20 69 2e 65 2e 20 63 6f 6e 74 72 6f 6c 73 20 66 72 6f 6d 20 61 6c 6c 0d 0a ces"/>,.i.e..controls.from.all..
3b40 20 20 20 20 20 20 20 20 2f 2f 2f 20 64 65 76 69 63 65 73 20 69 6e 20 74 68 65 20 73 79 73 74 65 ........///.devices.in.the.syste
3b60 6d 20 77 69 6c 6c 20 62 65 20 75 73 65 64 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 m.will.be.used...........///....
3b80 20 20 20 20 20 20 2f 2f 2f 20 42 79 20 73 65 74 74 69 6e 67 20 74 68 69 73 20 70 72 6f 70 65 72 ......///.By.setting.this.proper
3ba0 74 79 2c 20 62 69 6e 64 69 6e 67 20 72 65 73 6f 6c 75 74 69 6f 6e 20 63 61 6e 20 69 6e 73 74 65 ty,.binding.resolution.can.inste
3bc0 61 64 20 62 65 20 72 65 73 74 72 69 63 74 65 64 20 74 6f 20 6a 75 73 74 20 73 70 65 63 69 66 69 ad.be.restricted.to.just.specifi
3be0 63 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 64 65 76 69 63 65 73 2e 20 54 68 69 73 20 72 65 73 c..........///.devices..This.res
3c00 74 72 69 63 74 69 6f 6e 20 63 61 6e 20 65 69 74 68 65 72 20 62 65 20 61 70 70 6c 69 65 64 20 74 triction.can.either.be.applied.t
3c20 6f 20 61 6e 20 65 6e 74 69 72 65 20 61 73 73 65 74 20 75 73 69 6e 67 20 3c 73 65 65 0d 0a 20 20 o.an.entire.asset.using.<see....
3c40 20 20 20 20 20 20 2f 2f 2f 20 63 72 65 66 3d 22 49 6e 70 75 74 41 63 74 69 6f 6e 4d 61 70 2e 64 ......///.cref="InputActionMap.d
3c60 65 76 69 63 65 73 22 2f 3e 20 6f 72 20 74 6f 20 73 70 65 63 69 66 69 63 20 61 63 74 69 6f 6e 20 evices"/>.or.to.specific.action.
3c80 6d 61 70 73 20 62 79 20 75 73 69 6e 67 20 74 68 69 73 20 70 72 6f 70 65 72 74 79 2e 20 4e 6f 74 maps.by.using.this.property..Not
3ca0 65 20 74 68 61 74 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 69 66 20 62 6f 74 68 20 74 68 69 73 e.that..........///.if.both.this
3cc0 20 70 72 6f 70 65 72 74 79 20 61 6e 64 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 41 63 .property.and.<see.cref="InputAc
3ce0 74 69 6f 6e 41 73 73 65 74 2e 64 65 76 69 63 65 73 22 2f 3e 20 69 73 20 73 65 74 20 66 6f 72 20 tionAsset.devices"/>.is.set.for.
3d00 61 20 73 70 65 63 69 66 69 63 20 61 63 74 69 6f 6e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 6d a.specific.action..........///.m
3d20 61 70 2c 20 74 68 65 20 6c 69 73 74 20 6f 66 20 64 65 76 69 63 65 73 20 6f 6e 20 74 68 65 20 61 ap,.the.list.of.devices.on.the.a
3d40 63 74 69 6f 6e 20 6d 61 70 20 77 69 6c 6c 20 74 61 6b 65 20 70 72 65 63 65 64 65 6e 63 65 20 61 ction.map.will.take.precedence.a
3d60 6e 64 20 74 68 65 20 6c 69 73 74 20 6f 6e 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 nd.the.list.on.the..........///.
3d80 61 73 73 65 74 20 77 69 6c 6c 20 62 65 20 69 67 6e 6f 72 65 64 20 66 6f 72 20 62 69 6e 64 69 6e asset.will.be.ignored.for.bindin
3da0 67 73 20 69 6e 20 74 68 61 74 20 61 63 74 69 6f 6e 20 6d 61 70 2e 0d 0a 20 20 20 20 20 20 20 20 gs.in.that.action.map...........
3dc0 2f 2f 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 ///..........///.<example>......
3de0 20 20 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 43 ....///.<code>..........///.//.C
3e00 72 65 61 74 65 20 61 6e 20 61 63 74 69 6f 6e 20 6d 61 70 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 reate.an.action.map.containing.a
3e20 20 73 69 6e 67 6c 65 20 61 63 74 69 6f 6e 20 77 69 74 68 20 61 20 67 61 6d 65 70 61 64 20 62 69 .single.action.with.a.gamepad.bi
3e40 6e 64 69 6e 67 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 76 61 72 20 61 63 74 69 6f 6e 4d 61 nding...........///.var.actionMa
3e60 70 20 3d 20 6e 65 77 20 49 6e 70 75 74 41 63 74 69 6f 6e 4d 61 70 28 29 3b 0d 0a 20 20 20 20 20 p.=.new.InputActionMap();.......
3e80 20 20 20 2f 2f 2f 20 76 61 72 20 66 69 72 65 41 63 74 69 6f 6e 20 3d 20 61 63 74 69 6f 6e 4d 61 ...///.var.fireAction.=.actionMa
3ea0 70 2e 41 64 64 41 63 74 69 6f 6e 28 22 46 69 72 65 22 2c 20 62 69 6e 64 69 6e 67 3a 20 22 26 6c p.AddAction("Fire",.binding:."&l
3ec0 74 3b 47 61 6d 65 70 61 64 26 67 74 3b 2f 62 75 74 74 6f 6e 53 6f 75 74 68 22 29 3b 0d 0a 20 20 t;Gamepad&gt;/buttonSouth");....
3ee0 20 20 20 20 20 20 2f 2f 2f 20 61 73 73 65 74 2e 41 64 64 41 63 74 69 6f 6e 4d 61 70 28 61 63 74 ......///.asset.AddActionMap(act
3f00 69 6f 6e 4d 61 70 29 3b 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 20 20 20 20 2f ionMap);..........///........../
3f20 2f 2f 20 2f 2f 20 4c 65 74 27 73 20 61 73 73 75 6d 65 20 77 65 20 68 61 76 65 20 74 77 6f 20 67 //.//.Let's.assume.we.have.two.g
3f40 61 6d 65 70 61 64 73 20 63 6f 6e 6e 65 63 74 65 64 2e 20 49 66 20 77 65 20 65 6e 61 62 6c 65 20 amepads.connected..If.we.enable.
3f60 74 68 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 2f 2f 20 61 63 74 69 6f 6e 20 6d 61 70 20 6e the..........///.//.action.map.n
3f80 6f 77 2c 20 74 68 65 20 27 46 69 72 65 27 20 61 63 74 69 6f 6e 20 77 69 6c 6c 20 62 69 6e 64 20 ow,.the.'Fire'.action.will.bind.
3fa0 74 6f 20 62 6f 74 68 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 61 63 74 69 6f 6e 4d 61 70 2e to.both...........///.actionMap.
3fc0 45 6e 61 62 6c 65 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 20 20 20 20 Enable();..........///..........
3fe0 2f 2f 2f 20 2f 2f 20 54 68 69 73 20 77 69 6c 6c 20 70 72 69 6e 74 20 74 77 6f 20 63 6f 6e 74 72 ///.//.This.will.print.two.contr
4000 6f 6c 73 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 44 65 62 75 67 2e 4c 6f 67 28 73 74 72 69 ols...........///.Debug.Log(stri
4020 6e 67 2e 4a 6f 69 6e 28 22 5c 6e 22 2c 20 66 69 72 65 41 63 74 69 6f 6e 2e 63 6f 6e 74 72 6f 6c ng.Join("\n",.fireAction.control
4040 73 29 29 3b 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 2f s));..........///..........///./
4060 2f 20 54 6f 20 72 65 73 74 72 69 63 74 20 74 68 65 20 73 65 74 75 70 20 74 6f 20 6a 75 73 74 20 /.To.restrict.the.setup.to.just.
4080 74 68 65 20 66 69 72 73 74 20 67 61 6d 65 70 61 64 2c 20 77 65 20 63 61 6e 20 61 73 73 69 67 6e the.first.gamepad,.we.can.assign
40a0 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 2f 2f 20 74 6f 20 74 68 65 20 27 64 65 76 69 63 65 73 ..........///.//.to.the.'devices
40c0 27 20 70 72 6f 70 65 72 74 79 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 61 63 74 69 6f 6e 4d '.property...........///.actionM
40e0 61 70 2e 64 65 76 69 63 65 73 20 3d 20 6e 65 77 20 49 6e 70 75 74 44 65 76 69 63 65 5b 5d 20 7b ap.devices.=.new.InputDevice[].{
4100 20 47 61 6d 65 70 61 64 2e 61 6c 6c 5b 30 5d 20 7d 3b 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0d .Gamepad.all[0].};..........///.
4120 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 2f 2f 20 4e 6f 77 20 74 68 69 73 20 77 69 6c 6c 20 70 72 .........///.//.Now.this.will.pr
4140 69 6e 74 20 6f 6e 6c 79 20 6f 6e 65 20 63 6f 6e 74 72 6f 6c 2e 0d 0a 20 20 20 20 20 20 20 20 2f int.only.one.control.........../
4160 2f 2f 20 44 65 62 75 67 2e 4c 6f 67 28 73 74 72 69 6e 67 2e 4a 6f 69 6e 28 22 5c 6e 22 2c 20 66 //.Debug.Log(string.Join("\n",.f
4180 69 72 65 41 63 74 69 6f 6e 2e 63 6f 6e 74 72 6f 6c 73 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 2f ireAction.controls));........../
41a0 2f 2f 20 3c 2f 63 6f 64 65 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 65 78 61 6d 70 6c //.</code>..........///.</exampl
41c0 65 3e 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 e>..........///.</remarks>......
41e0 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 41 63 74 69 ....///.<seealso.cref="InputActi
4200 6f 6e 41 73 73 65 74 2e 64 65 76 69 63 65 73 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c onAsset.devices"/>..........publ
4220 69 63 20 52 65 61 64 4f 6e 6c 79 41 72 72 61 79 3c 49 6e 70 75 74 44 65 76 69 63 65 3e 3f 20 64 ic.ReadOnlyArray<InputDevice>?.d
4240 65 76 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 67 evices..........{..............g
4260 65 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 et..............{...............
4280 20 20 20 69 66 20 28 6d 5f 44 65 76 69 63 65 73 43 6f 75 6e 74 20 3c 20 30 29 0d 0a 20 20 20 20 ...if.(m_DevicesCount.<.0)......
42a0 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 ............{...................
42c0 20 20 20 2f 2f 20 52 65 74 75 72 6e 20 61 73 73 65 74 27 73 20 64 65 76 69 63 65 20 6c 69 73 74 ...//.Return.asset's.device.list
42e0 20 69 66 20 77 65 20 68 61 76 65 20 6e 6f 6e 65 20 28 6f 6e 6c 79 20 69 66 20 77 65 27 72 65 20 .if.we.have.none.(only.if.we're.
4300 70 61 72 74 20 6f 66 20 61 6e 20 61 73 73 65 74 29 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 part.of.an.asset)...............
4320 20 20 20 20 20 20 20 20 69 66 20 28 61 73 73 65 74 20 21 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 ........if.(asset.!=.null)......
4340 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 61 73 73 65 74 ....................return.asset
4360 2e 64 65 76 69 63 65 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 .devices;......................r
4380 65 74 75 72 6e 20 6e 75 6c 6c 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a eturn.null;..................}..
43a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77 20 52 65 61 64 4f ................return.new.ReadO
43c0 6e 6c 79 41 72 72 61 79 3c 49 6e 70 75 74 44 65 76 69 63 65 3e 28 6d 5f 44 65 76 69 63 65 73 41 nlyArray<InputDevice>(m_DevicesA
43e0 72 72 61 79 2c 20 30 2c 20 6d 5f 44 65 76 69 63 65 73 43 6f 75 6e 74 29 3b 0d 0a 20 20 20 20 20 rray,.0,.m_DevicesCount);.......
4400 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 0d 0a 20 20 20 20 20 .......}..............set.......
4420 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 76 61 .......{..................if.(va
4440 6c 75 65 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d lue.==.null)..................{.
4460 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 6d 5f 44 65 76 69 63 .....................if.(m_Devic
4480 65 73 43 6f 75 6e 74 20 3c 20 30 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 esCount.<.0)....................
44a0 20 20 20 20 20 20 72 65 74 75 72 6e 3b 20 2f 2f 20 4e 6f 20 63 68 61 6e 67 65 2e 0d 0a 0d 0a 20 ......return;.//.No.change......
44c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 44 65 76 69 63 65 73 ...................if.(m_Devices
44e0 41 72 72 61 79 20 21 3d 20 6e 75 6c 6c 20 26 20 6d 5f 44 65 76 69 63 65 73 43 6f 75 6e 74 20 3e Array.!=.null.&.m_DevicesCount.>
4500 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 20 20 20 20 41 72 72 .0)..........................Arr
4520 61 79 2e 43 6c 65 61 72 28 6d 5f 44 65 76 69 63 65 73 41 72 72 61 79 2c 20 30 2c 20 6d 5f 44 65 ay.Clear(m_DevicesArray,.0,.m_De
4540 76 69 63 65 73 43 6f 75 6e 74 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 vicesCount);....................
4560 20 20 6d 5f 44 65 76 69 63 65 73 43 6f 75 6e 74 20 3d 20 2d 31 3b 0d 0a 20 20 20 20 20 20 20 20 ..m_DevicesCount.=.-1;..........
4580 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.
45a0 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 .................{..............
45c0 20 20 20 20 20 20 20 20 2f 2f 20 53 65 65 20 69 66 20 74 68 65 20 61 72 72 61 79 20 61 63 74 75 ........//.See.if.the.array.actu
45e0 61 6c 6c 79 20 63 68 61 6e 67 65 73 20 63 6f 6e 74 65 6e 74 2e 20 41 76 6f 69 64 73 20 72 65 2d ally.changes.content..Avoids.re-
4600 72 65 73 6f 6c 76 69 6e 67 20 77 68 65 6e 20 74 68 65 72 65 0d 0a 20 20 20 20 20 20 20 20 20 20 resolving.when.there............
4620 20 20 20 20 20 20 20 20 20 20 2f 2f 20 69 73 20 6e 6f 20 6e 65 65 64 20 74 6f 2e 0d 0a 20 20 20 ..........//.is.no.need.to......
4640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 44 65 76 69 63 65 73 43 6f .................if.(m_DevicesCo
4660 75 6e 74 20 3d 3d 20 76 61 6c 75 65 2e 56 61 6c 75 65 2e 43 6f 75 6e 74 29 0d 0a 20 20 20 20 20 unt.==.value.Value.Count).......
4680 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 ...............{................
46a0 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6e 6f 43 68 61 6e 67 65 20 3d 20 74 72 75 65 3b 0d 0a ..........var.noChange.=.true;..
46c0 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 72 20 28 76 61 72 ........................for.(var
46e0 20 69 20 3d 20 30 3b 20 69 20 3c 20 6d 5f 44 65 76 69 63 65 73 43 6f 75 6e 74 3b 20 2b 2b 69 29 .i.=.0;.i.<.m_DevicesCount;.++i)
4700 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 20 20 20 ..........................{.....
4720 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 21 52 65 .........................if.(!Re
4740 66 65 72 65 6e 63 65 45 71 75 61 6c 73 28 6d 5f 44 65 76 69 63 65 73 41 72 72 61 79 5b 69 5d 2c ferenceEquals(m_DevicesArray[i],
4760 20 76 61 6c 75 65 2e 56 61 6c 75 65 5b 69 5d 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .value.Value[i]))...............
4780 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 ...............{................
47a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 6f 43 68 61 6e 67 65 20 3d 20 66 61 6c ..................noChange.=.fal
47c0 73 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 20 20 20 se;.............................
47e0 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 20 .....break;.....................
4800 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 20 .........}......................
4820 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 69 ....}..........................i
4840 66 20 28 6e 6f 43 68 61 6e 67 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 f.(noChange)....................
4860 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 20 20 20 20 20 20 20 ..........return;...............
4880 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......}........................
48a0 69 66 20 28 6d 5f 44 65 76 69 63 65 73 43 6f 75 6e 74 20 3e 20 30 29 0d 0a 20 20 20 20 20 20 20 if.(m_DevicesCount.>.0).........
48c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 44 65 76 69 63 65 73 41 72 72 61 79 2e .................m_DevicesArray.
48e0 43 6c 65 61 72 28 72 65 66 20 6d 5f 44 65 76 69 63 65 73 43 6f 75 6e 74 29 3b 0d 0a 20 20 20 20 Clear(ref.m_DevicesCount);......
4900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 44 65 76 69 63 65 73 43 6f 75 6e 74 20 3d ................m_DevicesCount.=
4920 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 72 61 79 48 65 .0;......................ArrayHe
4940 6c 70 65 72 73 2e 41 70 70 65 6e 64 4c 69 73 74 57 69 74 68 43 61 70 61 63 69 74 79 28 72 65 66 lpers.AppendListWithCapacity(ref
4960 20 6d 5f 44 65 76 69 63 65 73 41 72 72 61 79 2c 20 72 65 66 20 6d 5f 44 65 76 69 63 65 73 43 6f .m_DevicesArray,.ref.m_DevicesCo
4980 75 6e 74 2c 20 76 61 6c 75 65 2e 56 61 6c 75 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 unt,.value.Value);..............
49a0 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 4c 61 7a 79 52 65 73 ....}....................LazyRes
49c0 6f 6c 76 65 42 69 6e 64 69 6e 67 73 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a olveBindings();..............}..
49e0 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 61 72 ........}............///.<summar
4a00 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 4c 6f 6f 6b 20 75 70 20 61 6e 20 61 63 74 69 6f y>..........///.Look.up.an.actio
4a20 6e 20 62 79 20 6e 61 6d 65 20 6f 72 20 49 44 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f n.by.name.or.ID...........///.</
4a40 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 6d 20 6e 61 6d summary>..........///.<param.nam
4a60 65 3d 22 61 63 74 69 6f 6e 4e 61 6d 65 4f 72 49 64 22 3e 4e 61 6d 65 20 28 61 73 20 69 6e 20 3c e="actionNameOrId">Name.(as.in.<
4a80 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 41 63 74 69 6f 6e 2e 6e 61 6d 65 22 2f 3e 29 20 6f see.cref="InputAction.name"/>).o
4aa0 72 20 49 44 20 28 61 73 20 69 6e 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 41 63 74 69 r.ID.(as.in.<see.cref="InputActi
4ac0 6f 6e 2e 69 64 22 2f 3e 29 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 6f 66 20 74 68 65 20 61 63 on.id"/>)..........///.of.the.ac
4ae0 74 69 6f 6e 2e 20 4e 6f 74 65 20 74 68 61 74 20 6d 61 74 63 68 69 6e 67 20 6f 66 20 6e 61 6d 65 tion..Note.that.matching.of.name
4b00 73 20 69 73 20 63 61 73 65 2d 69 6e 73 65 6e 73 69 74 69 76 65 2e 3c 2f 70 61 72 61 6d 3e 0d 0a s.is.case-insensitive.</param>..
4b20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 65 78 63 65 70 74 69 6f 6e 20 63 72 65 66 3d 22 41 72 67 ........///.<exception.cref="Arg
4b40 75 6d 65 6e 74 4e 75 6c 6c 45 78 63 65 70 74 69 6f 6e 22 3e 3c 70 61 72 61 6d 72 65 66 20 6e 61 umentNullException"><paramref.na
4b60 6d 65 3d 22 61 63 74 69 6f 6e 4e 61 6d 65 4f 72 49 64 22 2f 3e 20 69 73 20 3c 63 3e 6e 75 6c 6c me="actionNameOrId"/>.is.<c>null
4b80 3c 2f 63 3e 2e 3c 2f 65 78 63 65 70 74 69 6f 6e 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c </c>.</exception>..........///.<
4ba0 65 78 63 65 70 74 69 6f 6e 20 63 72 65 66 3d 22 4b 65 79 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 exception.cref="KeyNotFoundExcep
4bc0 74 69 6f 6e 22 3e 4e 6f 20 61 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20 6e 61 6d 65 20 6f 72 tion">No.action.with.the.name.or
4be0 20 49 44 20 6f 66 20 3c 70 61 72 61 6d 72 65 66 20 6e 61 6d 65 3d 22 61 63 74 69 6f 6e 4e 61 6d .ID.of.<paramref.name="actionNam
4c00 65 4f 72 49 64 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 77 61 73 20 66 6f 75 6e 64 20 eOrId"/>..........///.was.found.
4c20 69 6e 20 74 68 65 20 61 63 74 69 6f 6e 20 6d 61 70 2e 3c 2f 65 78 63 65 70 74 69 6f 6e 3e 0d 0a in.the.action.map.</exception>..
4c40 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 2f ........///.<remarks>........../
4c60 2f 2f 20 54 68 69 73 20 6d 65 74 68 6f 64 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 //.This.method.is.equivalent.to.
4c80 3c 73 65 65 20 63 72 65 66 3d 22 46 69 6e 64 41 63 74 69 6f 6e 28 73 74 72 69 6e 67 2c 62 6f 6f <see.cref="FindAction(string,boo
4ca0 6c 29 22 2f 3e 20 65 78 63 65 70 74 20 69 74 20 74 68 72 6f 77 73 20 3c 63 3e 4b 65 79 4e 6f 74 l)"/>.except.it.throws.<c>KeyNot
4cc0 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 3c 2f 63 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 FoundException</c>..........///.
4ce0 69 66 20 6e 6f 20 61 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20 67 69 76 65 6e 20 6e 61 6d 65 if.no.action.with.the.given.name
4d00 20 6f 72 20 49 44 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f .or.ID.can.be.found...........//
4d20 2f 20 3c 2f 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c /.</remarks>..........///.<seeal
4d40 73 6f 20 63 72 65 66 3d 22 46 69 6e 64 41 63 74 69 6f 6e 28 73 74 72 69 6e 67 2c 62 6f 6f 6c 29 so.cref="FindAction(string,bool)
4d60 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 "/>..........///.<seealso.cref="
4d80 46 69 6e 64 41 63 74 69 6f 6e 28 47 75 69 64 29 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f FindAction(Guid)"/>..........///
4da0 20 3c 73 65 65 20 63 72 65 66 3d 22 61 63 74 69 6f 6e 73 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 .<see.cref="actions"/>..........
4dc0 70 75 62 6c 69 63 20 49 6e 70 75 74 41 63 74 69 6f 6e 20 74 68 69 73 5b 73 74 72 69 6e 67 20 61 public.InputAction.this[string.a
4de0 63 74 69 6f 6e 4e 61 6d 65 4f 72 49 64 5d 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 ctionNameOrId]..........{.......
4e00 20 20 20 20 20 20 20 67 65 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 .......get..............{.......
4e20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 61 63 74 69 6f 6e 4e 61 6d 65 4f 72 49 64 20 3d 3d ...........if.(actionNameOrId.==
4e40 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 74 68 72 6f .null)......................thro
4e60 77 20 6e 65 77 20 41 72 67 75 6d 65 6e 74 4e 75 6c 6c 45 78 63 65 70 74 69 6f 6e 28 6e 61 6d 65 w.new.ArgumentNullException(name
4e80 6f 66 28 61 63 74 69 6f 6e 4e 61 6d 65 4f 72 49 64 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 of(actionNameOrId));............
4ea0 20 20 20 20 20 20 76 61 72 20 61 63 74 69 6f 6e 20 3d 20 46 69 6e 64 41 63 74 69 6f 6e 28 61 63 ......var.action.=.FindAction(ac
4ec0 74 69 6f 6e 4e 61 6d 65 4f 72 49 64 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tionNameOrId);..................
4ee0 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 20 if.(action.==.null).............
4f00 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 4b 65 79 4e 6f 74 46 6f 75 6e 64 45 78 .........throw.new.KeyNotFoundEx
4f20 63 65 70 74 69 6f 6e 28 24 22 43 61 6e 6e 6f 74 20 66 69 6e 64 20 61 63 74 69 6f 6e 20 27 7b 61 ception($"Cannot.find.action.'{a
4f40 63 74 69 6f 6e 4e 61 6d 65 4f 72 49 64 7d 27 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ctionNameOrId}'");..............
4f60 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 20 20 20 20 ....return.action;..............
4f80 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
4fa0 45 57 3a 20 69 6e 63 6f 6e 73 69 73 74 65 6e 74 20 6e 61 6d 69 6e 67 3b 20 65 6c 73 65 77 68 65 EW:.inconsistent.naming;.elsewhe
4fc0 72 65 20 77 65 20 75 73 65 20 22 6f 6e 41 63 74 69 6f 6e 54 72 69 67 67 65 72 65 64 22 20 28 77 re.we.use."onActionTriggered".(w
4fe0 68 69 63 68 20 69 6e 20 74 75 72 6e 20 69 73 20 69 6e 63 6f 6e 73 69 73 74 65 6e 74 20 77 69 74 hich.in.turn.is.inconsistent.wit
5000 68 20 49 6e 70 75 74 41 63 74 69 6f 6e 2e 73 74 61 72 74 65 64 20 65 74 63 29 0d 0a 20 20 20 20 h.InputAction.started.etc)......
5020 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 41 ....///.<summary>..........///.A
5040 64 64 20 6f 72 20 72 65 6d 6f 76 65 20 61 20 63 61 6c 6c 62 61 63 6b 20 74 68 61 74 20 69 73 20 dd.or.remove.a.callback.that.is.
5060 74 72 69 67 67 65 72 65 64 20 77 68 65 6e 20 61 6e 20 61 63 74 69 6f 6e 20 69 6e 20 74 68 65 20 triggered.when.an.action.in.the.
5080 6d 61 70 20 63 68 61 6e 67 65 73 20 69 74 73 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 map.changes.its.<see.cref="Input
50a0 41 63 74 69 6f 6e 50 68 61 73 65 22 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 70 68 61 73 65 ActionPhase">..........///.phase
50c0 3c 2f 73 65 65 3e 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 </see>...........///.</summary>.
50e0 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 49 6e 70 75 .........///.<seealso.cref="Inpu
5100 74 41 63 74 69 6f 6e 2e 73 74 61 72 74 65 64 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 tAction.started"/>..........///.
5120 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 49 6e 70 75 74 41 63 74 69 6f 6e 2e 70 65 72 66 6f <seealso.cref="InputAction.perfo
5140 72 6d 65 64 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 rmed"/>..........///.<seealso.cr
5160 65 66 3d 22 49 6e 70 75 74 41 63 74 69 6f 6e 2e 63 61 6e 63 65 6c 65 64 22 2f 3e 0d 0a 20 20 20 ef="InputAction.canceled"/>.....
5180 20 20 20 20 20 70 75 62 6c 69 63 20 65 76 65 6e 74 20 41 63 74 69 6f 6e 3c 49 6e 70 75 74 41 63 .....public.event.Action<InputAc
51a0 74 69 6f 6e 2e 43 61 6c 6c 62 61 63 6b 43 6f 6e 74 65 78 74 3e 20 61 63 74 69 6f 6e 54 72 69 67 tion.CallbackContext>.actionTrig
51c0 67 65 72 65 64 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 61 64 gered..........{..............ad
51e0 64 20 3d 3e 20 6d 5f 41 63 74 69 6f 6e 43 61 6c 6c 62 61 63 6b 73 2e 41 70 70 65 6e 64 57 69 74 d.=>.m_ActionCallbacks.AppendWit
5200 68 43 61 70 61 63 69 74 79 28 76 61 6c 75 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 hCapacity(value);..............r
5220 65 6d 6f 76 65 20 3d 3e 20 6d 5f 41 63 74 69 6f 6e 43 61 6c 6c 62 61 63 6b 73 2e 52 65 6d 6f 76 emove.=>.m_ActionCallbacks.Remov
5240 65 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 76 61 6c 75 65 29 eByMovingTailWithCapacity(value)
5260 3b 20 2f 2f 2f 2f 46 49 58 4d 45 3a 20 43 68 61 6e 67 65 73 20 63 61 6c 6c 62 61 63 6b 20 6f 72 ;.////FIXME:.Changes.callback.or
5280 64 65 72 69 6e 67 2e 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 dering...........}............pu
52a0 62 6c 69 63 20 49 6e 70 75 74 41 63 74 69 6f 6e 4d 61 70 28 29 0d 0a 20 20 20 20 20 20 20 20 7b blic.InputActionMap()..........{
52c0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 46 6f 72 20 73 6f 6d 65 20 72 65 61 73 6f 6e ..............//.For.some.reason
52e0 2c 20 77 68 65 6e 20 75 73 69 6e 67 20 55 6e 69 74 79 45 6e 67 69 6e 65 2e 4f 62 6a 65 63 74 2e ,.when.using.UnityEngine.Object.
5300 49 6e 73 74 61 6e 74 69 61 74 65 20 74 68 65 20 2d 31 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f Instantiate.the.-1.initializatio
5320 6e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 64 6f 65 73 20 6e 6f 74 20 63 6f 6d 65 20 n..............//.does.not.come.
5340 74 68 72 6f 75 67 68 20 65 78 63 65 70 74 20 69 66 20 65 78 70 6c 69 63 69 74 6c 79 20 64 6f 6e through.except.if.explicitly.don
5360 65 20 68 65 72 65 20 69 6e 20 74 68 65 20 64 65 66 61 75 6c 74 20 63 6f 6e 73 74 72 75 63 74 6f e.here.in.the.default.constructo
5380 72 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 44 65 76 69 63 65 73 43 6f 75 6e 74 20 3d r...............m_DevicesCount.=
53a0 20 2d 31 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 .-1;..........}............///.<
53c0 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 43 6f 6e 73 74 72 75 63 74 20 summary>..........///.Construct.
53e0 61 6e 20 61 63 74 69 6f 6e 20 6d 61 70 20 77 69 74 68 20 74 68 65 20 67 69 76 65 6e 20 6e 61 6d an.action.map.with.the.given.nam
5400 65 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 e...........///.</summary>......
5420 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 6e 61 6d 65 22 3e 4e 61 6d 65 20 ....///.<param.name="name">Name.
5440 74 6f 20 67 69 76 65 20 74 6f 20 74 68 65 20 61 63 74 69 6f 6e 20 6d 61 70 2e 20 42 79 20 64 65 to.give.to.the.action.map..By.de
5460 66 61 75 6c 74 20 3c 63 3e 6e 75 6c 6c 3c 2f 63 3e 2c 20 69 2e 65 2e 20 64 6f 65 73 0d 0a 20 20 fault.<c>null</c>,.i.e..does....
5480 20 20 20 20 20 20 2f 2f 2f 20 6e 6f 74 20 61 73 73 69 67 6e 20 61 20 6e 61 6d 65 20 74 6f 20 74 ......///.not.assign.a.name.to.t
54a0 68 65 20 6d 61 70 2e 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 he.map.</param>..........public.
54c0 49 6e 70 75 74 41 63 74 69 6f 6e 4d 61 70 28 73 74 72 69 6e 67 20 6e 61 6d 65 29 0d 0a 20 20 20 InputActionMap(string.name).....
54e0 20 20 20 20 20 20 20 20 20 3a 20 74 68 69 73 28 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 .........:.this()..........{....
5500 20 20 20 20 20 20 20 20 20 20 6d 5f 4e 61 6d 65 20 3d 20 6e 61 6d 65 3b 0d 0a 20 20 20 20 20 20 ..........m_Name.=.name;........
5520 20 20 20 20 20 20 6d 5f 44 65 76 69 63 65 73 43 6f 75 6e 74 20 3d 20 2d 31 3b 0d 0a 20 20 20 20 ......m_DevicesCount.=.-1;......
5540 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 0a ....}............///.<summary>..
5560 20 20 20 20 20 20 20 20 2f 2f 2f 20 52 65 6c 65 61 73 65 20 69 6e 74 65 72 6e 61 6c 20 73 74 61 ........///.Release.internal.sta
5580 74 65 20 68 65 6c 64 20 6f 6e 20 74 6f 20 62 79 20 74 68 65 20 61 63 74 69 6f 6e 20 6d 61 70 2e te.held.on.to.by.the.action.map.
55a0 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>........
55c0 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 4f 6e 63 ..///.<remarks>..........///.Onc
55e0 65 20 61 63 74 69 6f 6e 73 20 69 6e 20 61 20 6d 61 70 20 61 72 65 20 65 6e 61 62 6c 65 64 2c 20 e.actions.in.a.map.are.enabled,.
5600 74 68 65 20 6d 61 70 20 77 69 6c 6c 20 61 6c 6c 6f 63 61 74 65 20 61 20 62 6c 6f 63 6b 20 6f 66 the.map.will.allocate.a.block.of
5620 20 73 74 61 74 65 20 69 6e 74 65 72 6e 61 6c 6c 79 20 74 68 61 74 0d 0a 20 20 20 20 20 20 20 20 .state.internally.that..........
5640 2f 2f 2f 20 69 74 20 77 69 6c 6c 20 68 6f 6c 64 20 6f 6e 20 74 6f 20 75 6e 74 69 6c 20 64 69 73 ///.it.will.hold.on.to.until.dis
5660 70 6f 73 65 64 20 6f 66 2e 20 41 6c 6c 20 61 63 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 6d 61 70 posed.of..All.actions.in.the.map
5680 20 77 69 6c 6c 20 73 68 61 72 65 20 74 68 65 20 73 61 6d 65 20 69 6e 74 65 72 6e 61 6c 0d 0a 20 .will.share.the.same.internal...
56a0 20 20 20 20 20 20 20 2f 2f 2f 20 73 74 61 74 65 2e 20 41 6c 73 6f 2c 20 69 66 20 74 68 65 20 6d .......///.state..Also,.if.the.m
56c0 61 70 20 69 73 20 70 61 72 74 20 6f 66 20 61 6e 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 ap.is.part.of.an.<see.cref="Inpu
56e0 74 41 63 74 69 6f 6e 41 73 73 65 74 22 2f 3e 20 61 6c 6c 20 6d 61 70 73 20 61 6e 64 20 61 63 74 tActionAsset"/>.all.maps.and.act
5700 69 6f 6e 73 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 69 6e 20 74 68 65 20 73 61 6d 65 20 61 73 ions..........///.in.the.same.as
5720 73 65 74 20 77 69 6c 6c 20 73 68 61 72 65 20 74 68 65 20 73 61 6d 65 20 69 6e 74 65 72 6e 61 6c set.will.share.the.same.internal
5740 20 73 74 61 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 .state...........///..........//
5760 2f 20 4e 6f 74 65 20 74 68 61 74 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 73 74 61 74 65 20 68 /.Note.that.the.internal.state.h
5780 6f 6c 64 73 20 6f 6e 20 74 6f 20 47 43 20 68 65 61 70 20 6d 65 6d 6f 72 79 20 61 73 20 77 65 6c olds.on.to.GC.heap.memory.as.wel
57a0 6c 20 61 73 20 6d 65 6d 6f 72 79 20 66 72 6f 6d 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f l.as.memory.from.the..........//
57c0 2f 20 75 6e 6d 61 6e 61 67 65 64 2c 20 43 2b 2b 20 68 65 61 70 2e 0d 0a 20 20 20 20 20 20 20 20 /.unmanaged,.C++.heap...........
57e0 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 75 62 6c 69 63 20 76 ///.</remarks>..........public.v
5800 6f 69 64 20 44 69 73 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 oid.Dispose()..........{........
5820 20 20 20 20 20 20 6d 5f 53 74 61 74 65 3f 2e 44 69 73 70 6f 73 65 28 29 3b 0d 0a 20 20 20 20 20 ......m_State?.Dispose();.......
5840 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 69 6e 74 20 46 69 6e ...}............internal.int.Fin
5860 64 41 63 74 69 6f 6e 49 6e 64 65 78 28 73 74 72 69 6e 67 20 6e 61 6d 65 4f 72 49 64 29 0d 0a 20 dActionIndex(string.nameOrId)...
5880 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 2f 52 45 56 49 45 57 .......{..............////REVIEW
58a0 3a 20 68 61 76 65 20 74 72 61 6e 73 69 65 6e 74 20 6c 6f 6f 6b 75 70 20 74 61 62 6c 65 3f 20 77 :.have.transient.lookup.table?.w
58c0 6f 72 74 68 20 6f 70 74 69 6d 69 7a 69 6e 67 20 74 68 69 73 3f 0d 0a 20 20 20 20 20 20 20 20 20 orth.optimizing.this?...........
58e0 20 20 20 2f 2f 2f 2f 20 20 20 49 64 65 61 6c 6c 79 2c 20 74 68 69 73 20 73 68 6f 75 6c 64 20 61 ...////...Ideally,.this.should.a
5900 74 20 6c 65 61 73 74 20 62 65 20 61 6e 20 49 6e 74 65 72 6e 65 64 53 74 72 69 6e 67 20 63 6f 6d t.least.be.an.InternedString.com
5920 70 61 72 69 73 6f 6e 20 62 75 74 20 64 75 65 20 74 6f 20 73 65 72 69 61 6c 69 7a 61 74 69 6f 6e parison.but.due.to.serialization
5940 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 2f 20 20 20 74 68 61 74 27 73 20 71 75 69 ,..............////...that's.qui
5960 74 65 20 74 72 69 63 6b 79 2e 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 74 te.tricky.................if.(st
5980 72 69 6e 67 2e 49 73 4e 75 6c 6c 4f 72 45 6d 70 74 79 28 6e 61 6d 65 4f 72 49 64 29 29 0d 0a 20 ring.IsNullOrEmpty(nameOrId))...
59a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 2d 31 3b 0d 0a 20 20 20 20 20 ...............return.-1;.......
59c0 20 20 20 20 20 20 20 69 66 20 28 6d 5f 41 63 74 69 6f 6e 73 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 .......if.(m_Actions.==.null)...
59e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 2d 31 3b 0d 0a 0d 0a 20 20 20 ...............return.-1;.......
5a00 20 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 6d 5f 41 63 74 .........var.actionCount.=.m_Act
5a20 69 6f 6e 73 2e 4c 65 6e 67 74 68 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 ions.Length;................var.
5a40 69 73 4f 6c 64 42 72 61 63 65 64 46 6f 72 6d 61 74 20 3d 20 6e 61 6d 65 4f 72 49 64 2e 53 74 61 isOldBracedFormat.=.nameOrId.Sta
5a60 72 74 73 57 69 74 68 28 22 7b 22 29 20 26 26 20 6e 61 6d 65 4f 72 49 64 2e 45 6e 64 73 57 69 74 rtsWith("{").&&.nameOrId.EndsWit
5a80 68 28 22 7d 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 4f 6c 64 42 72 h("}");..............if.(isOldBr
5aa0 61 63 65 64 46 6f 72 6d 61 74 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 acedFormat)..............{......
5ac0 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6c 65 6e 67 74 68 20 3d 20 6e 61 6d 65 4f 72 49 ............var.length.=.nameOrI
5ae0 64 2e 4c 65 6e 67 74 68 20 2d 20 32 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 d.Length.-.2;..................f
5b00 6f 72 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 or.(var.i.=.0;.i.<.actionCount;.
5b20 2b 2b 69 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 ++i)..................{.........
5b40 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 74 72 69 6e 67 2e 43 6f 6d 70 61 72 65 28 .............if.(string.Compare(
5b60 6d 5f 41 63 74 69 6f 6e 73 5b 69 5d 2e 6d 5f 49 64 2c 20 30 2c 20 6e 61 6d 65 4f 72 49 64 2c 20 m_Actions[i].m_Id,.0,.nameOrId,.
5b80 31 2c 20 6c 65 6e 67 74 68 29 20 3d 3d 20 30 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 1,.length).==.0)................
5ba0 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 69 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ..........return.i;.............
5bc0 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 .....}..............}...........
5be0 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 61 63 74 69 6f 6e 43 .....for.(var.i.=.0;.i.<.actionC
5c00 6f 75 6e 74 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 ount;.++i)..............{.......
5c20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 61 63 74 69 6f 6e 20 3d 20 6d 5f 41 63 74 69 6f 6e ...........var.action.=.m_Action
5c40 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 61 63 74 69 6f s[i];..................if.(actio
5c60 6e 2e 6d 5f 49 64 20 3d 3d 20 6e 61 6d 65 4f 72 49 64 20 7c 7c 20 73 74 72 69 6e 67 2e 43 6f 6d n.m_Id.==.nameOrId.||.string.Com
5c80 70 61 72 65 28 6d 5f 41 63 74 69 6f 6e 73 5b 69 5d 2e 6d 5f 4e 61 6d 65 2c 20 6e 61 6d 65 4f 72 pare(m_Actions[i].m_Name,.nameOr
5ca0 49 64 2c 20 53 74 72 69 6e 67 43 6f 6d 70 61 72 69 73 6f 6e 2e 49 6e 76 61 72 69 61 6e 74 43 75 Id,.StringComparison.InvariantCu
5cc0 6c 74 75 72 65 49 67 6e 6f 72 65 43 61 73 65 29 20 3d 3d 20 30 29 0d 0a 20 20 20 20 20 20 20 20 ltureIgnoreCase).==.0)..........
5ce0 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 69 3b 0d 0a 20 20 20 20 20 20 20 20 20 ............return.i;...........
5d00 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 49 6e 70 75 74 ...}................return.Input
5d20 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 3b 0d 0a 20 20 20 20 ActionState.kInvalidIndex;......
5d40 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 69 6e 74 20 46 69 6e ....}............private.int.Fin
5d60 64 41 63 74 69 6f 6e 49 6e 64 65 78 28 47 75 69 64 20 69 64 29 0d 0a 20 20 20 20 20 20 20 20 7b dActionIndex(Guid.id)..........{
5d80 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 41 63 74 69 6f 6e 73 20 3d 3d 20 6e ..............if.(m_Actions.==.n
5da0 75 6c 6c 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 49 6e 70 ull)..................return.Inp
5dc0 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 3b 0d 0a 20 20 utActionState.kInvalidIndex;....
5de0 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 20 3d 20 6d 5f 41 63 ..........var.actionCount.=.m_Ac
5e00 74 69 6f 6e 73 2e 4c 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 tions.Length;..............for.(
5e20 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 69 29 var.i.=.0;.i.<.actionCount;.++i)
5e40 0d 0a 20 20 20 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 73 5b ..................if.(m_Actions[
5e60 69 5d 2e 69 64 44 6f 6e 74 47 65 6e 65 72 61 74 65 20 3d 3d 20 69 64 29 0d 0a 20 20 20 20 20 20 i].idDontGenerate.==.id)........
5e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 69 3b 0d 0a 0d 0a 20 20 20 20 20 ..............return.i;.........
5ea0 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 49 6e 70 75 74 41 63 74 69 6f 6e 53 74 61 74 65 2e 6b .......return.InputActionState.k
5ec0 49 6e 76 61 6c 69 64 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 InvalidIndex;..........}........
5ee0 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 46 ....///.<summary>..........///.F
5f00 69 6e 64 20 61 6e 20 61 63 74 69 6f 6e 20 69 6e 20 74 68 65 20 6d 61 70 20 62 79 20 6e 61 6d 65 ind.an.action.in.the.map.by.name
5f20 20 6f 72 20 49 44 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 .or.ID...........///.</summary>.
5f40 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 6e 61 6d 65 4f 72 .........///.<param.name="nameOr
5f60 49 64 22 3e 4e 61 6d 65 20 28 61 73 20 69 6e 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 Id">Name.(as.in.<see.cref="Input
5f80 41 63 74 69 6f 6e 2e 6e 61 6d 65 22 2f 3e 29 20 6f 72 20 49 44 20 28 61 73 20 69 6e 20 3c 73 65 Action.name"/>).or.ID.(as.in.<se
5fa0 65 20 63 72 65 66 3d 22 49 6e 70 75 74 41 63 74 69 6f 6e 2e 69 64 22 2f 3e 29 0d 0a 20 20 20 20 e.cref="InputAction.id"/>)......
5fc0 20 20 20 20 2f 2f 2f 20 6f 66 20 74 68 65 20 61 63 74 69 6f 6e 2e 20 4e 6f 74 65 20 74 68 61 74 ....///.of.the.action..Note.that
5fe0 20 6d 61 74 63 68 69 6e 67 20 6f 66 20 6e 61 6d 65 73 20 69 73 20 63 61 73 65 2d 69 6e 73 65 6e .matching.of.names.is.case-insen
6000 73 69 74 69 76 65 2e 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 sitive.</param>..........///.<re
6020 74 75 72 6e 73 3e 54 68 65 20 61 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20 67 69 76 65 6e 20 turns>The.action.with.the.given.
6040 6e 61 6d 65 20 6f 72 20 49 44 20 6f 72 20 3c 63 3e 6e 75 6c 6c 3c 2f 63 3e 20 69 66 20 6e 6f 20 name.or.ID.or.<c>null</c>.if.no.
6060 6d 61 74 63 68 69 6e 67 20 61 63 74 69 6f 6e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 77 61 73 matching.action..........///.was
6080 20 66 6f 75 6e 64 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 .found.</returns>..........///.<
60a0 65 78 63 65 70 74 69 6f 6e 20 63 72 65 66 3d 22 41 72 67 75 6d 65 6e 74 4e 75 6c 6c 45 78 63 65 exception.cref="ArgumentNullExce
60c0 70 74 69 6f 6e 22 3e 3c 70 61 72 61 6d 72 65 66 20 6e 61 6d 65 3d 22 6e 61 6d 65 4f 72 49 64 22 ption"><paramref.name="nameOrId"
60e0 2f 3e 20 69 73 20 3c 63 3e 6e 75 6c 6c 3c 2f 63 3e 2e 3c 2f 65 78 63 65 70 74 69 6f 6e 3e 0d 0a />.is.<c>null</c>.</exception>..
6100 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 46 69 6e 64 41 ........///.<seealso.cref="FindA
6120 63 74 69 6f 6e 28 47 75 69 64 29 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 49 ction(Guid)"/>..........public.I
6140 6e 70 75 74 41 63 74 69 6f 6e 20 46 69 6e 64 41 63 74 69 6f 6e 28 73 74 72 69 6e 67 20 6e 61 6d nputAction.FindAction(string.nam
6160 65 4f 72 49 64 2c 20 62 6f 6f 6c 20 74 68 72 6f 77 49 66 4e 6f 74 46 6f 75 6e 64 20 3d 20 66 61 eOrId,.bool.throwIfNotFound.=.fa
6180 6c 73 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 69 66 20 lse)..........{..............if.
61a0 28 6e 61 6d 65 4f 72 49 64 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 (nameOrId.==.null)..............
61c0 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 41 72 67 75 6d 65 6e 74 4e 75 6c 6c 45 78 63 65 70 74 ....throw.new.ArgumentNullExcept
61e0 69 6f 6e 28 6e 61 6d 65 6f 66 28 6e 61 6d 65 4f 72 49 64 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 ion(nameof(nameOrId));..........
6200 20 20 20 20 76 61 72 20 69 6e 64 65 78 20 3d 20 46 69 6e 64 41 63 74 69 6f 6e 49 6e 64 65 78 28 ....var.index.=.FindActionIndex(
6220 6e 61 6d 65 4f 72 49 64 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 6e 64 65 nameOrId);..............if.(inde
6240 78 20 3d 3d 20 2d 31 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 x.==.-1)..............{.........
6260 20 20 20 20 20 20 20 20 20 69 66 20 28 74 68 72 6f 77 49 66 4e 6f 74 46 6f 75 6e 64 29 0d 0a 20 .........if.(throwIfNotFound)...
6280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 41 72 67 ...................throw.new.Arg
62a0 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 24 22 4e 6f 20 61 63 74 69 6f 6e 20 27 7b 6e 61 6d umentException($"No.action.'{nam
62c0 65 4f 72 49 64 7d 27 20 69 6e 20 27 7b 74 68 69 73 7d 27 22 2c 20 6e 61 6d 65 6f 66 28 6e 61 6d eOrId}'.in.'{this}'",.nameof(nam
62e0 65 4f 72 49 64 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e eOrId));..................return
6300 20 6e 75 6c 6c 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 .null;..............}...........
6320 20 20 20 72 65 74 75 72 6e 20 6d 5f 41 63 74 69 6f 6e 73 5b 69 6e 64 65 78 5d 3b 0d 0a 20 20 20 ...return.m_Actions[index];.....
6340 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>.
6360 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 46 69 6e 64 20 61 6e 20 61 63 74 69 6f 6e 20 62 79 20 49 .........///.Find.an.action.by.I
6380 44 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 D...........///.</summary>......
63a0 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 69 64 22 3e 49 44 20 28 61 73 20 ....///.<param.name="id">ID.(as.
63c0 69 6e 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 41 63 74 69 6f 6e 2e 69 64 22 2f 3e 29 in.<see.cref="InputAction.id"/>)
63e0 20 6f 66 20 74 68 65 20 61 63 74 69 6f 6e 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 .of.the.action.</param>.........
6400 20 2f 2f 2f 20 3c 72 65 74 75 72 6e 73 3e 54 68 65 20 61 63 74 69 6f 6e 20 77 69 74 68 20 74 68 .///.<returns>The.action.with.th
6420 65 20 67 69 76 65 6e 20 49 44 20 6f 72 20 6e 75 6c 6c 20 69 66 20 6e 6f 20 61 63 74 69 6f 6e 20 e.given.ID.or.null.if.no.action.
6440 69 6e 20 74 68 65 20 6d 61 70 20 68 61 73 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 74 68 65 20 in.the.map.has..........///.the.
6460 67 69 76 65 6e 20 49 44 2e 3c 2f 72 65 74 75 72 6e 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f given.ID.</returns>..........///
6480 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 46 69 6e 64 41 63 74 69 6f 6e 28 73 74 72 69 6e .<seealso.cref="FindAction(strin
64a0 67 29 22 2f 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 74 69 6f g)"/>..........public.InputActio
64c0 6e 20 46 69 6e 64 41 63 74 69 6f 6e 28 47 75 69 64 20 69 64 29 0d 0a 20 20 20 20 20 20 20 20 7b n.FindAction(Guid.id)..........{
64e0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 69 6e 64 65 78 20 3d 20 46 69 6e 64 41 63 ..............var.index.=.FindAc
6500 74 69 6f 6e 49 6e 64 65 78 28 69 64 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 tionIndex(id);..............if.(
6520 69 6e 64 65 78 20 3d 3d 20 2d 31 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 index.==.-1)..................re
6540 74 75 72 6e 20 6e 75 6c 6c 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d turn.null;..............return.m
6560 5f 41 63 74 69 6f 6e 73 5b 69 6e 64 65 78 5d 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 _Actions[index];..........}.....
6580 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>..........//
65a0 2f 20 43 68 65 63 6b 20 77 68 65 74 68 65 72 20 74 68 65 72 65 20 61 72 65 20 61 6e 79 20 62 69 /.Check.whether.there.are.any.bi
65c0 6e 64 69 6e 67 73 20 69 6e 20 74 68 65 20 61 63 74 69 6f 6e 20 6d 61 70 20 74 68 61 74 20 63 61 ndings.in.the.action.map.that.ca
65e0 6e 20 62 69 6e 64 20 74 6f 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 63 6f 6e 74 72 6f 6c 73 20 n.bind.to..........///.controls.
6600 6f 6e 20 74 68 65 20 67 69 76 65 6e 20 64 65 76 69 63 65 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f on.the.given.device...........//
6620 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 6d /.</summary>..........///.<param
6640 20 6e 61 6d 65 3d 22 64 65 76 69 63 65 22 3e 41 6e 20 69 6e 70 75 74 20 64 65 76 69 63 65 2e 3c .name="device">An.input.device.<
6660 2f 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 6e 73 3e 54 72 /param>..........///.<returns>Tr
6680 75 65 20 69 66 20 61 6e 79 20 6f 66 20 74 68 65 20 62 69 6e 64 69 6e 67 73 20 69 6e 20 74 68 65 ue.if.any.of.the.bindings.in.the
66a0 20 6d 61 70 20 63 61 6e 20 72 65 73 6f 6c 76 65 20 74 6f 20 63 6f 6e 74 72 6f 6c 73 20 6f 6e 20 .map.can.resolve.to.controls.on.
66c0 74 68 65 20 64 65 76 69 63 65 2c 20 66 61 6c 73 65 20 6f 74 68 65 72 77 69 73 65 2e 3c 2f 72 65 the.device,.false.otherwise.</re
66e0 74 75 72 6e 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 65 78 63 65 70 74 69 6f 6e 20 63 turns>..........///.<exception.c
6700 72 65 66 3d 22 41 72 67 75 6d 65 6e 74 4e 75 6c 6c 45 78 63 65 70 74 69 6f 6e 22 3e 3c 70 61 72 ref="ArgumentNullException"><par
6720 61 6d 72 65 66 20 6e 61 6d 65 3d 22 64 65 76 69 63 65 22 2f 3e 20 69 73 20 3c 63 3e 6e 75 6c 6c amref.name="device"/>.is.<c>null
6740 3c 2f 63 3e 2e 3c 2f 65 78 63 65 70 74 69 6f 6e 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c </c>.</exception>..........///.<
6760 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 68 65 20 6c 6f 67 69 63 20 remarks>..........///.The.logic.
6780 69 73 20 65 6e 74 69 72 65 6c 79 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 63 6f 6e 74 65 6e 74 is.entirely.based.on.the.content
67a0 73 20 6f 66 20 3c 73 65 65 20 63 72 65 66 3d 22 62 69 6e 64 69 6e 67 73 22 2f 3e 20 61 6e 64 2c s.of.<see.cref="bindings"/>.and,
67c0 20 6d 6f 72 65 20 73 70 65 63 69 66 69 63 61 6c 6c 79 2c 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f .more.specifically,..........///
67e0 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 42 69 6e 64 69 6e 67 2e 65 66 66 65 63 74 69 .<see.cref="InputBinding.effecti
6800 76 65 50 61 74 68 22 2f 3e 20 6f 66 20 65 61 63 68 20 62 69 6e 64 69 6e 67 2e 20 45 61 63 68 20 vePath"/>.of.each.binding..Each.
6820 70 61 74 68 20 69 73 20 63 68 65 63 6b 65 64 20 75 73 69 6e 67 20 3c 73 65 65 0d 0a 20 20 20 20 path.is.checked.using.<see......
6840 20 20 20 20 2f 2f 2f 20 63 72 65 66 3d 22 49 6e 70 75 74 43 6f 6e 74 72 6f 6c 50 61 74 68 2e 4d ....///.cref="InputControlPath.M
6860 61 74 63 68 65 73 22 2f 3e 2e 20 49 66 20 61 6e 79 20 70 61 74 68 20 6d 61 74 63 68 65 73 2c 20 atches"/>..If.any.path.matches,.
6880 74 68 65 20 6d 65 74 68 6f 64 20 72 65 74 75 72 6e 73 20 3c 63 3e 74 72 75 65 3c 2f 63 3e 2e 0d the.method.returns.<c>true</c>..
68a0 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 50 72 6f 70 65 72 .........///..........///.Proper
68c0 74 69 65 73 20 73 75 63 68 20 61 73 20 3c 73 65 65 20 63 72 65 66 3d 22 64 65 76 69 63 65 73 22 ties.such.as.<see.cref="devices"
68e0 2f 3e 20 61 6e 64 20 3c 73 65 65 20 63 72 65 66 3d 22 62 69 6e 64 69 6e 67 4d 61 73 6b 22 2f 3e />.and.<see.cref="bindingMask"/>
6900 20 61 72 65 20 69 67 6e 6f 72 65 64 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 .are.ignored...........///......
6920 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 20 20 2f 2f 2f 20 3c ....///.<example>..........///.<
6940 63 6f 64 65 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 2f 2f 20 43 72 65 61 74 65 20 61 63 74 code>..........///.//.Create.act
6960 69 6f 6e 20 6d 61 70 20 77 69 74 68 20 74 77 6f 20 61 63 74 69 6f 6e 73 20 61 6e 64 20 62 69 6e ion.map.with.two.actions.and.bin
6980 64 69 6e 67 73 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 76 61 72 20 61 63 74 69 6f 6e 4d 61 dings...........///.var.actionMa
69a0 70 20 3d 20 6e 65 77 20 49 6e 70 75 74 41 63 74 69 6f 6e 4d 61 70 28 29 3b 0d 0a 20 20 20 20 20 p.=.new.InputActionMap();.......
69c0 20 20 20 2f 2f 2f 20 61 63 74 69 6f 6e 4d 61 70 2e 41 64 64 41 63 74 69 6f 6e 28 22 61 63 74 69 ...///.actionMap.AddAction("acti
69e0 6f 6e 31 22 2c 20 62 69 6e 64 69 6e 67 3a 20 22 26 6c 74 3b 47 61 6d 65 70 61 64 26 67 74 3b 2f on1",.binding:."&lt;Gamepad&gt;/
6a00 62 75 74 74 6f 6e 53 6f 75 74 68 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 61 63 74 69 buttonSouth");..........///.acti
6a20 6f 6e 4d 61 70 2e 41 64 64 41 63 74 69 6f 6e 28 22 61 63 74 69 6f 6e 32 22 2c 20 62 69 6e 64 69 onMap.AddAction("action2",.bindi
6a40 6e 67 3a 20 22 26 6c 74 3b 58 52 43 6f 6e 74 72 6f 6c 6c 65 72 7b 4c 65 66 74 48 61 6e 64 7d 26 ng:."&lt;XRController{LeftHand}&
6a60 67 74 3b 2f 7b 50 72 69 6d 61 72 79 41 63 74 69 6f 6e 7d 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 gt;/{PrimaryAction}");..........
6a80 2f 2f 2f 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 2f 2f 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f ///..........///.//..........///
6aa0 20 76 61 72 20 67 61 6d 65 70 61 64 20 3d 20 49 6e 70 75 74 53 79 73 74 65 6d 2e 41 64 64 44 65 .var.gamepad.=.InputSystem.AddDe
6ac0 76 69 63 65 26 6c 74 3b 47 61 6d 65 70 61 64 26 67 74 3b 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 vice&lt;Gamepad&gt;();..........
6ae0 2f 2f 2f 20 76 61 72 20 78 72 43 6f 6e 74 72 6f 6c 6c 65 72 20 3d 20 49 6e 70 75 74 53 79 73 74 ///.var.xrController.=.InputSyst
6b00 65 6d 2e 41 64 64 44 65 76 69 63 65 26 6c 74 3b 58 52 43 6f 6e 74 72 6f 6c 6c 65 72 26 67 74 3b em.AddDevice&lt;XRController&gt;
6b20 28 29 3b 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 2f 2f ();..........///..........///.//
6b40 20 52 65 74 75 72 6e 73 20 74 72 75 65 3a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 61 63 74 69 .Returns.true:..........///.acti
6b60 6f 6e 4d 61 70 2e 49 73 55 73 61 62 6c 65 57 69 74 68 28 67 61 6d 65 70 61 64 29 3b 0d 0a 20 20 onMap.IsUsableWith(gamepad);....
6b80 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 2f 2f 20 52 65 74 75 72 6e ......///..........///.//.Return
6ba0 73 20 66 61 6c 73 65 3a 20 28 74 68 65 20 58 52 43 6f 6e 74 72 6f 6c 6c 65 72 20 64 6f 65 73 20 s.false:.(the.XRController.does.
6bc0 6e 6f 74 20 68 61 76 65 20 74 68 65 20 4c 65 66 74 48 61 6e 64 20 75 73 61 67 65 20 61 73 73 69 not.have.the.LeftHand.usage.assi
6be0 67 6e 65 64 20 74 6f 20 69 74 29 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 61 63 74 69 6f 6e 4d gned.to.it)..........///.actionM
6c00 61 70 2e 49 73 55 73 61 62 6c 65 57 69 74 68 28 78 72 43 6f 6e 74 72 6f 6c 6c 65 72 29 3b 0d 0a ap.IsUsableWith(xrController);..
6c20 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 2f 2f 2f ........///.</code>..........///
6c40 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 6d 61 72 .</example>..........///.</remar
6c60 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 62 6f 6f 6c 20 49 73 55 73 61 62 6c ks>..........public.bool.IsUsabl
6c80 65 57 69 74 68 44 65 76 69 63 65 28 49 6e 70 75 74 44 65 76 69 63 65 20 64 65 76 69 63 65 29 0d eWithDevice(InputDevice.device).
6ca0 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 64 65 76 69 .........{..............if.(devi
6cc0 63 65 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 ce.==.null)..................thr
6ce0 6f 77 20 6e 65 77 20 41 72 67 75 6d 65 6e 74 4e 75 6c 6c 45 78 63 65 70 74 69 6f 6e 28 6e 61 6d ow.new.ArgumentNullException(nam
6d00 65 6f 66 28 64 65 76 69 63 65 29 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 eof(device));................if.
6d20 28 6d 5f 42 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 (m_Bindings.==.null)............
6d40 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 20 ......return.false;.............
6d60 20 20 20 66 6f 72 65 61 63 68 20 28 76 61 72 20 62 69 6e 64 69 6e 67 20 69 6e 20 6d 5f 42 69 6e ...foreach.(var.binding.in.m_Bin
6d80 64 69 6e 67 73 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 dings)..............{...........
6da0 20 20 20 20 20 20 20 76 61 72 20 70 61 74 68 20 3d 20 62 69 6e 64 69 6e 67 2e 65 66 66 65 63 74 .......var.path.=.binding.effect
6dc0 69 76 65 50 61 74 68 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 ivePath;..................if.(st
6de0 72 69 6e 67 2e 49 73 4e 75 6c 6c 4f 72 45 6d 70 74 79 28 70 61 74 68 29 29 0d 0a 20 20 20 20 20 ring.IsNullOrEmpty(path)).......
6e00 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 0d 0a 20 20 20 20 ...............continue;........
6e20 20 20 20 20 20 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 ............if.(InputControlPath
6e40 2e 4d 61 74 63 68 65 73 28 70 61 74 68 2c 20 64 65 76 69 63 65 29 29 0d 0a 20 20 20 20 20 20 20 .Matches(path,.device)).........
6e60 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 20 20 20 .............return.true;.......
6e80 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 66 .......}................return.f
6ea0 61 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 2f 20 alse;..........}............///.
6ec0 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 45 6e 61 62 6c 65 20 61 6c <summary>..........///.Enable.al
6ee0 6c 20 74 68 65 20 61 63 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 6d 61 70 2e 0d 0a 20 20 20 20 20 l.the.actions.in.the.map........
6f00 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 3c ...///.</summary>..........///.<
6f20 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 68 69 73 20 69 73 20 65 71 remarks>..........///.This.is.eq
6f40 75 69 76 61 6c 65 6e 74 20 74 6f 20 63 61 6c 6c 69 6e 67 20 3c 73 65 65 20 63 72 65 66 3d 22 49 uivalent.to.calling.<see.cref="I
6f60 6e 70 75 74 41 63 74 69 6f 6e 2e 45 6e 61 62 6c 65 22 2f 3e 20 6f 6e 20 65 61 63 68 0d 0a 20 20 nputAction.Enable"/>.on.each....
6f80 20 20 20 20 20 20 2f 2f 2f 20 61 63 74 69 6f 6e 20 69 6e 20 3c 73 65 65 20 63 72 65 66 3d 22 61 ......///.action.in.<see.cref="a
6fa0 63 74 69 6f 6e 73 22 2f 3e 2c 20 62 75 74 20 69 73 20 6d 6f 72 65 20 65 66 66 69 63 69 65 6e 74 ctions"/>,.but.is.more.efficient
6fc0 20 61 73 20 74 68 65 20 61 63 74 69 6f 6e 73 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 77 69 6c .as.the.actions..........///.wil
6fe0 6c 20 67 65 74 20 65 6e 61 62 6c 65 64 20 69 6e 20 62 75 6c 6b 2e 0d 0a 20 20 20 20 20 20 20 20 l.get.enabled.in.bulk...........
7000 2f 2f 2f 20 3c 2f 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 ///.</remarks>..........///.<see
7020 61 6c 73 6f 20 63 72 65 66 3d 22 44 69 73 61 62 6c 65 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 2f also.cref="Disable"/>........../
7040 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 65 6e 61 62 6c 65 64 22 2f 3e 0d 0a 20 20 //.<seealso.cref="enabled"/>....
7060 20 20 20 20 20 20 70 75 62 6c 69 63 20 76 6f 69 64 20 45 6e 61 62 6c 65 28 29 0d 0a 20 20 20 20 ......public.void.Enable()......
7080 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 41 63 74 69 6f 6e 73 ....{..............if.(m_Actions
70a0 20 3d 3d 20 6e 75 6c 6c 20 7c 7c 20 6d 5f 45 6e 61 62 6c 65 64 41 63 74 69 6f 6e 73 43 6f 75 6e .==.null.||.m_EnabledActionsCoun
70c0 74 20 3d 3d 20 6d 5f 41 63 74 69 6f 6e 73 2e 4c 65 6e 67 74 68 29 0d 0a 20 20 20 20 20 20 20 20 t.==.m_Actions.Length)..........
70e0 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 20 20 20 52 ........return;................R
7100 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 0a 20 20 esolveBindingsIfNecessary();....
7120 20 20 20 20 20 20 20 20 20 20 6d 5f 53 74 61 74 65 2e 45 6e 61 62 6c 65 41 6c 6c 41 63 74 69 6f ..........m_State.EnableAllActio
7140 6e 73 28 74 68 69 73 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 ns(this);..........}............
7160 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 44 69 73 61 62 ///.<summary>..........///.Disab
7180 6c 65 20 61 6c 6c 20 74 68 65 20 61 63 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 6d 61 70 2e 0d 0a le.all.the.actions.in.the.map...
71a0 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 ........///.</summary>..........
71c0 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 68 69 73 20 ///.<remarks>..........///.This.
71e0 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 63 61 6c 6c 69 6e 67 20 3c 73 65 65 20 63 72 is.equivalent.to.calling.<see.cr
7200 65 66 3d 22 49 6e 70 75 74 41 63 74 69 6f 6e 2e 44 69 73 61 62 6c 65 22 2f 3e 20 6f 6e 20 65 61 ef="InputAction.Disable"/>.on.ea
7220 63 68 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 61 63 74 69 6f 6e 20 69 6e 20 3c 73 65 65 20 63 ch..........///.action.in.<see.c
7240 72 65 66 3d 22 61 63 74 69 6f 6e 73 22 2f 3e 2c 20 62 75 74 20 69 73 20 6d 6f 72 65 20 65 66 66 ref="actions"/>,.but.is.more.eff
7260 69 63 69 65 6e 74 20 61 73 20 74 68 65 20 61 63 74 69 6f 6e 73 0d 0a 20 20 20 20 20 20 20 20 2f icient.as.the.actions........../
7280 2f 2f 20 77 69 6c 6c 20 67 65 74 20 64 69 73 61 62 6c 65 64 20 69 6e 20 62 75 6c 6b 2e 0d 0a 20 //.will.get.disabled.in.bulk....
72a0 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 2f .......///.</remarks>........../
72c0 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 45 6e 61 62 6c 65 22 2f 3e 0d 0a 20 20 20 //.<seealso.cref="Enable"/>.....
72e0 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 65 6e 61 62 6c 65 64 22 .....///.<seealso.cref="enabled"
7300 2f 3e 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 61 62 6c 65 28 />..........public.void.Disable(
7320 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 65 )..........{..............if.(!e
7340 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 72 65 74 75 72 6e 3b nabled)..................return;
7360 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 53 74 61 74 65 2e 44 69 73 61 62 6c 65 41 ................m_State.DisableA
7380 6c 6c 41 63 74 69 6f 6e 73 28 74 68 69 73 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 llActions(this);..........}.....
73a0 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>..........//
73c0 2f 20 50 72 6f 64 75 63 65 20 61 6e 20 69 64 65 6e 74 69 63 61 6c 20 63 6f 70 79 20 6f 66 20 74 /.Produce.an.identical.copy.of.t
73e0 68 65 20 61 63 74 69 6f 6e 20 6d 61 70 20 77 69 74 68 20 69 74 73 20 61 63 74 69 6f 6e 73 20 61 he.action.map.with.its.actions.a
7400 6e 64 20 62 69 6e 64 69 6e 67 73 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d nd.bindings...........///.</summ
7420 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 41 20 63 6f 70 ary>..........///.<returns>A.cop
7440 79 20 6f 66 20 74 68 65 20 61 63 74 69 6f 6e 20 6d 61 70 2e 3c 2f 72 65 74 75 72 6e 73 3e 0d 0a y.of.the.action.map.</returns>..
7460 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 2f ........///.<remarks>........../
7480 2f 2f 20 49 66 20 74 68 65 20 61 63 74 69 6f 6e 20 6d 61 70 20 69 73 20 70 61 72 74 20 6f 66 20 //.If.the.action.map.is.part.of.
74a0 61 6e 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 41 63 74 69 6f 6e 41 73 73 65 74 22 2f an.<see.cref="InputActionAsset"/
74c0 3e 2c 20 74 68 65 20 63 6c 6f 6e 65 20 77 69 6c 6c 20 3c 65 6d 3e 6e 6f 74 3c 2f 65 6d 3e 0d 0a >,.the.clone.will.<em>not</em>..
74e0 20 20 20 20 20 20 20 20 2f 2f 2f 20 62 65 2e 20 49 74 20 77 69 6c 6c 20 62 65 20 61 20 66 72 65 ........///.be..It.will.be.a.fre
7500 65 2d 73 74 61 6e 64 69 6e 67 20 61 63 74 69 6f 6e 20 6d 61 70 20 61 6e 64 20 3c 73 65 65 20 63 e-standing.action.map.and.<see.c
7520 72 65 66 3d 22 61 73 73 65 74 22 2f 3e 20 77 69 6c 6c 20 62 65 20 3c 63 3e 6e 75 6c 6c 3c 2f 63 ref="asset"/>.will.be.<c>null</c
7540 3e 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 4e 6f 74 >...........///..........///.Not
7560 65 20 74 68 61 74 20 74 68 65 20 49 44 73 20 66 6f 72 20 74 68 65 20 6d 61 70 20 69 74 73 65 6c e.that.the.IDs.for.the.map.itsel
7580 66 20 61 73 20 77 65 6c 6c 20 61 73 20 66 6f 72 20 69 74 73 20 3c 73 65 65 20 63 72 65 66 3d 22 f.as.well.as.for.its.<see.cref="
75a0 61 63 74 69 6f 6e 73 22 2f 3e 20 61 6e 64 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 actions"/>.and..........///.<see
75c0 20 63 72 65 66 3d 22 62 69 6e 64 69 6e 67 73 22 2f 3e 20 61 72 65 20 6e 6f 74 20 63 6f 70 69 65 .cref="bindings"/>.are.not.copie
75e0 64 2e 20 49 6e 73 74 65 61 64 2c 20 6e 65 77 20 49 44 73 20 77 69 6c 6c 20 62 65 20 61 73 73 69 d..Instead,.new.IDs.will.be.assi
7600 67 6e 65 64 2e 20 41 6c 73 6f 2c 20 63 61 6c 6c 62 61 63 6b 73 0d 0a 20 20 20 20 20 20 20 20 2f gned..Also,.callbacks........../
7620 2f 2f 20 69 6e 73 74 61 6c 6c 65 64 20 6f 6e 20 61 63 74 69 6f 6e 73 20 6f 72 20 6f 6e 20 74 68 //.installed.on.actions.or.on.th
7640 65 20 6d 61 70 20 69 74 73 65 6c 66 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 63 6f 70 69 65 64 20 e.map.itself.will.not.be.copied.
7660 6f 76 65 72 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 over...........///.</remarks>...
7680 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 49 6e 70 75 74 41 63 74 69 6f 6e 4d 61 70 20 43 6c 6f .......public.InputActionMap.Clo
76a0 6e 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 62 ne()..........{..............Deb
76c0 75 67 2e 41 73 73 65 72 74 28 6d 5f 53 69 6e 67 6c 65 74 6f 6e 41 63 74 69 6f 6e 20 3d 3d 20 6e ug.Assert(m_SingletonAction.==.n
76e0 75 6c 6c 2c 20 22 49 6e 74 65 72 6e 61 6c 20 28 68 69 64 64 65 6e 29 20 61 63 74 69 6f 6e 20 6d ull,."Internal.(hidden).action.m
7700 61 70 73 20 6f 66 20 73 69 6e 67 6c 65 74 6f 6e 20 61 63 74 69 6f 6e 73 20 73 68 6f 75 6c 64 20 aps.of.singleton.actions.should.
7720 6e 6f 74 20 62 65 20 63 6c 6f 6e 65 64 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 not.be.cloned");................
7740 76 61 72 20 63 6c 6f 6e 65 20 3d 20 6e 65 77 20 49 6e 70 75 74 41 63 74 69 6f 6e 4d 61 70 0d 0a var.clone.=.new.InputActionMap..
7760 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 6d ............{..................m
7780 5f 4e 61 6d 65 20 3d 20 6d 5f 4e 61 6d 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0d 0a _Name.=.m_Name..............};..
77a0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 43 6c 6f 6e 65 20 61 63 74 69 6f 6e 73 2e 0d ..............//.Clone.actions..
77c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 41 63 74 69 6f 6e 73 20 21 3d 20 6e 75 .............if.(m_Actions.!=.nu
77e0 6c 6c 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 ll)..............{..............
7800 20 20 20 20 76 61 72 20 61 63 74 69 6f 6e 43 6f 75 6e 74 20 3d 20 6d 5f 41 63 74 69 6f 6e 73 2e ....var.actionCount.=.m_Actions.
7820 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 76 61 72 20 61 63 74 Length;..................var.act
7840 69 6f 6e 73 20 3d 20 6e 65 77 20 49 6e 70 75 74 41 63 74 69 6f 6e 5b 61 63 74 69 6f 6e 43 6f 75 ions.=.new.InputAction[actionCou
7860 6e 74 5d 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 69 nt];..................for.(var.i
7880 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 0a 20 20 20 .=.0;.i.<.actionCount;.++i).....
78a0 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 .............{..................
78c0 20 20 20 20 76 61 72 20 6f 72 69 67 69 6e 61 6c 20 3d 20 6d 5f 41 63 74 69 6f 6e 73 5b 69 5d 3b ....var.original.=.m_Actions[i];
78e0 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 6e 73 5b 69 5d ......................actions[i]
7900 20 3d 20 6e 65 77 20 49 6e 70 75 74 41 63 74 69 6f 6e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 .=.new.InputAction..............
7920 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 20 ........{.......................
7940 20 20 20 6d 5f 4e 61 6d 65 20 3d 20 6f 72 69 67 69 6e 61 6c 2e 6d 5f 4e 61 6d 65 2c 0d 0a 20 20 ...m_Name.=.original.m_Name,....
7960 20 20 20 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 4d 61 ......................m_ActionMa
7980 70 20 3d 20 63 6c 6f 6e 65 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 p.=.clone,......................
79a0 20 20 20 20 6d 5f 54 79 70 65 20 3d 20 6f 72 69 67 69 6e 61 6c 2e 6d 5f 54 79 70 65 2c 0d 0a 20 ....m_Type.=.original.m_Type,...
79c0 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 49 6e 74 65 72 61 63 .......................m_Interac
79e0 74 69 6f 6e 73 20 3d 20 6f 72 69 67 69 6e 61 6c 2e 6d 5f 49 6e 74 65 72 61 63 74 69 6f 6e 73 2c tions.=.original.m_Interactions,
7a00 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 50 72 6f 63 ..........................m_Proc
7a20 65 73 73 6f 72 73 20 3d 20 6f 72 69 67 69 6e 61 6c 2e 6d 5f 50 72 6f 63 65 73 73 6f 72 73 2c 0d essors.=.original.m_Processors,.
7a40 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 45 78 70 65 63 .........................m_Expec
7a60 74 65 64 43 6f 6e 74 72 6f 6c 54 79 70 65 20 3d 20 6f 72 69 67 69 6e 61 6c 2e 6d 5f 45 78 70 65 tedControlType.=.original.m_Expe
7a80 63 74 65 64 43 6f 6e 74 72 6f 6c 54 79 70 65 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ctedControlType,................
7aa0 20 20 20 20 20 20 7d 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 ......};..................}.....
7ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6c 6f 6e 65 2e 6d 5f 41 63 74 69 6f 6e 73 20 3d 20 61 .............clone.m_Actions.=.a
7ae0 63 74 69 6f 6e 73 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 ctions;..............}..........
7b00 20 20 20 20 20 20 2f 2f 20 43 6c 6f 6e 65 20 62 69 6e 64 69 6e 67 73 2e 0d 0a 20 20 20 20 20 20 ......//.Clone.bindings.........
7b20 20 20 20 20 20 20 69 66 20 28 6d 5f 42 69 6e 64 69 6e 67 73 20 21 3d 20 6e 75 6c 6c 29 0d 0a 20 ......if.(m_Bindings.!=.null)...
7b40 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
7b60 72 20 62 69 6e 64 69 6e 67 43 6f 75 6e 74 20 3d 20 6d 5f 42 69 6e 64 69 6e 67 73 2e 4c 65 6e 67 r.bindingCount.=.m_Bindings.Leng
7b80 74 68 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 64 69 6e 67 th;..................var.binding
7ba0 73 20 3d 20 6e 65 77 20 49 6e 70 75 74 42 69 6e 64 69 6e 67 5b 62 69 6e 64 69 6e 67 43 6f 75 6e s.=.new.InputBinding[bindingCoun
7bc0 74 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 72 61 79 2e 43 6f 70 79 28 t];..................Array.Copy(
7be0 6d 5f 42 69 6e 64 69 6e 67 73 2c 20 30 2c 20 62 69 6e 64 69 6e 67 73 2c 20 30 2c 20 62 69 6e 64 m_Bindings,.0,.bindings,.0,.bind
7c00 69 6e 67 43 6f 75 6e 74 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 ingCount);..................for.
7c20 28 76 61 72 20 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 (var.i.=.0;.i.<.bindingCount;.++
7c40 69 29 0d 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 73 i)......................bindings
7c60 5b 69 5d 2e 6d 5f 49 64 20 3d 20 64 65 66 61 75 6c 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 [i].m_Id.=.default;.............
7c80 20 20 20 20 20 63 6c 6f 6e 65 2e 6d 5f 42 69 6e 64 69 6e 67 73 20 3d 20 62 69 6e 64 69 6e 67 73 .....clone.m_Bindings.=.bindings
7ca0 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 ;..............}................
7cc0 72 65 74 75 72 6e 20 63 6c 6f 6e 65 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 return.clone;..........}........
7ce0 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 0d 0a 20 ....object.ICloneable.Clone()...
7d00 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 43 6c 6f .......{..............return.Clo
7d20 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 2f 2f 20 ne();..........}............///.
7d40 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 74 75 72 6e 20 3c 63 <summary>..........///.Return.<c
7d60 3e 74 72 75 65 3c 2f 63 3e 20 69 66 20 74 68 65 20 61 63 74 69 6f 6e 20 6d 61 70 20 63 6f 6e 74 >true</c>.if.the.action.map.cont
7d80 61 69 6e 73 20 74 68 65 20 67 69 76 65 6e 20 61 63 74 69 6f 6e 2e 0d 0a 20 20 20 20 20 20 20 20 ains.the.given.action...........
7da0 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 ///.</summary>..........///.<par
7dc0 61 6d 20 6e 61 6d 65 3d 22 61 63 74 69 6f 6e 22 3e 41 6e 20 69 6e 70 75 74 20 61 63 74 69 6f 6e am.name="action">An.input.action
7de0 2e 20 43 61 6e 20 62 65 20 3c 63 3e 6e 75 6c 6c 3c 2f 63 3e 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 ..Can.be.<c>null</c>.</param>...
7e00 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 74 75 72 6e 73 3e 54 72 75 65 20 69 66 20 74 68 65 20 .......///.<returns>True.if.the.
7e20 61 63 74 69 6f 6e 20 6d 61 70 20 63 6f 6e 74 61 69 6e 73 20 3c 70 61 72 61 6d 72 65 66 20 6e 61 action.map.contains.<paramref.na
7e40 6d 65 3d 22 61 63 74 69 6f 6e 22 2f 3e 2c 20 66 61 6c 73 65 20 6f 74 68 65 72 77 69 73 65 2e 3c me="action"/>,.false.otherwise.<
7e60 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 43 /returns>..........public.bool.C
7e80 6f 6e 74 61 69 6e 73 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 ontains(InputAction.action).....
7ea0 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 61 63 74 69 6f 6e 20 3d .....{..............if.(action.=
7ec0 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 72 65 74 75 72 6e 20 =.null)..................return.
7ee0 66 61 6c 73 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 61 63 74 false;................return.act
7f00 69 6f 6e 2e 61 63 74 69 6f 6e 4d 61 70 20 3d 3d 20 74 68 69 73 3b 0d 0a 20 20 20 20 20 20 20 20 ion.actionMap.==.this;..........
7f20 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 20 }............///.<summary>......
7f40 20 20 20 20 2f 2f 2f 20 52 65 74 75 72 6e 20 61 20 73 74 72 69 6e 67 20 72 65 70 72 65 73 65 6e ....///.Return.a.string.represen
7f60 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 61 63 74 69 6f 6e 20 6d 61 70 20 75 73 65 66 75 6c 20 tation.of.the.action.map.useful.
7f80 66 6f 72 20 64 65 62 75 67 67 69 6e 67 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 for.debugging...........///.</su
7fa0 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 41 20 73 mmary>..........///.<returns>A.s
7fc0 74 72 69 6e 67 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 61 63 74 69 tring.representation.of.the.acti
7fe0 6f 6e 20 6d 61 70 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 on.map.</returns>..........///.<
8000 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 46 6f 72 20 75 6e 6e 61 6d 65 remarks>..........///.For.unname
8020 64 20 61 63 74 69 6f 6e 20 6d 61 70 73 2c 20 74 68 69 73 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 d.action.maps,.this.will.always.
8040 62 65 20 3c 63 3e 22 26 6c 74 3b 55 6e 6e 61 6d 65 64 20 41 63 74 69 6f 6e 20 4d 61 70 26 67 74 be.<c>"&lt;Unnamed.Action.Map&gt
8060 3b 22 3c 2f 63 3e 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 6d 61 72 6b 73 3e 0d ;"</c>...........///.</remarks>.
8080 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 73 74 72 69 6e 67 20 .........public.override.string.
80a0 54 6f 53 74 72 69 6e 67 28 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 ToString()..........{...........
80c0 20 20 20 69 66 20 28 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 ...if.(m_Asset.!=.null).........
80e0 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 22 7b 6d 5f 41 73 73 65 74 7d 3a 7b 6d 5f 4e .........return.$"{m_Asset}:{m_N
8100 61 6d 65 7d 22 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 73 74 72 69 6e 67 2e ame}";..............if.(!string.
8120 49 73 4e 75 6c 6c 4f 72 45 6d 70 74 79 28 6d 5f 4e 61 6d 65 29 29 0d 0a 20 20 20 20 20 20 20 20 IsNullOrEmpty(m_Name))..........
8140 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 5f 4e 61 6d 65 3b 0d 0a 20 20 20 20 20 20 20 20 ........return.m_Name;..........
8160 20 20 20 20 72 65 74 75 72 6e 20 22 3c 55 6e 6e 61 6d 65 64 20 41 63 74 69 6f 6e 20 4d 61 70 3e ....return."<Unnamed.Action.Map>
8180 22 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 75 ";..........}............///.<su
81a0 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 45 6e 75 6d 65 72 61 74 65 20 74 68 mmary>..........///.Enumerate.th
81c0 65 20 61 63 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 6d 61 70 2e 0d 0a 20 20 20 20 20 20 20 20 2f e.actions.in.the.map.........../
81e0 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 74 75 //.</summary>..........///.<retu
8200 72 6e 73 3e 41 6e 20 65 6e 75 6d 65 72 61 74 6f 72 20 67 6f 69 6e 67 20 6f 76 65 72 20 74 68 65 rns>An.enumerator.going.over.the
8220 20 61 63 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 6d 61 70 2e 3c 2f 72 65 74 75 72 6e 73 3e 0d 0a .actions.in.the.map.</returns>..
8240 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 2f ........///.<remarks>........../
8260 2f 2f 20 54 68 69 73 20 6d 65 74 68 6f 64 20 73 75 70 70 6f 72 74 73 20 74 6f 20 67 65 6e 65 72 //.This.method.supports.to.gener
8280 69 63 61 6c 6c 79 20 69 74 65 72 61 74 65 20 6f 76 65 72 20 74 68 65 20 61 63 74 69 6f 6e 73 20 ically.iterate.over.the.actions.
82a0 69 6e 20 61 20 6d 61 70 2e 20 48 6f 77 65 76 65 72 2c 20 69 74 20 77 69 6c 6c 20 75 73 75 61 6c in.a.map..However,.it.will.usual
82c0 6c 79 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 6c 65 61 64 20 74 6f 20 47 43 20 61 6c 6c 6f 63 ly..........///.lead.to.GC.alloc
82e0 61 74 69 6f 6e 2e 20 49 74 65 72 61 74 69 6e 67 20 64 69 72 65 63 74 6c 79 20 6f 76 65 72 20 3c ation..Iterating.directly.over.<
8300 73 65 65 20 63 72 65 66 3d 22 61 63 74 69 6f 6e 73 22 2f 3e 20 61 76 6f 69 64 73 20 61 6c 6c 6f see.cref="actions"/>.avoids.allo
8320 63 61 74 69 6e 67 20 47 43 20 6d 65 6d 6f 72 79 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c cating.GC.memory...........///.<
8340 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 45 6e 75 6d 65 /remarks>..........public.IEnume
8360 72 61 74 6f 72 3c 49 6e 70 75 74 41 63 74 69 6f 6e 3e 20 47 65 74 45 6e 75 6d 65 72 61 74 6f 72 rator<InputAction>.GetEnumerator
8380 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 72 65 74 75 72 ()..........{..............retur
83a0 6e 20 61 63 74 69 6f 6e 73 2e 47 65 74 45 6e 75 6d 65 72 61 74 6f 72 28 29 3b 0d 0a 20 20 20 20 n.actions.GetEnumerator();......
83c0 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 49 45 6e 75 6d 65 72 61 74 6f 72 20 49 45 6e ....}............IEnumerator.IEn
83e0 75 6d 65 72 61 62 6c 65 2e 47 65 74 45 6e 75 6d 65 72 61 74 6f 72 28 29 0d 0a 20 20 20 20 20 20 umerable.GetEnumerator()........
8400 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 47 65 74 45 6e 75 6d 65 ..{..............return.GetEnume
8420 72 61 74 6f 72 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 rator();..........}............/
8440 2f 20 54 68 65 20 73 74 61 74 65 20 77 65 20 70 65 72 73 69 73 74 20 69 73 20 70 72 65 74 74 79 /.The.state.we.persist.is.pretty
8460 20 6d 75 63 68 20 6a 75 73 74 20 61 20 6e 61 6d 65 2c 20 61 20 66 6c 61 74 20 6c 69 73 74 20 6f .much.just.a.name,.a.flat.list.o
8480 66 20 61 63 74 69 6f 6e 73 2c 20 61 6e 64 20 61 20 66 6c 61 74 0d 0a 20 20 20 20 20 20 20 20 2f f.actions,.and.a.flat........../
84a0 2f 20 6c 69 73 74 20 6f 66 20 62 69 6e 64 69 6e 67 73 2e 20 54 68 65 20 72 65 73 74 20 69 73 20 /.list.of.bindings..The.rest.is.
84c0 73 74 61 74 65 20 77 65 20 6b 65 65 70 20 61 74 20 72 75 6e 74 69 6d 65 20 77 68 65 6e 20 61 20 state.we.keep.at.runtime.when.a.
84e0 6d 61 70 20 69 73 20 69 6e 20 75 73 65 2e 0d 0a 0d 0a 20 20 20 20 20 20 20 20 5b 53 65 72 69 61 map.is.in.use.............[Seria
8500 6c 69 7a 65 46 69 65 6c 64 5d 20 69 6e 74 65 72 6e 61 6c 20 73 74 72 69 6e 67 20 6d 5f 4e 61 6d lizeField].internal.string.m_Nam
8520 65 3b 0d 0a 20 20 20 20 20 20 20 20 5b 53 65 72 69 61 6c 69 7a 65 46 69 65 6c 64 5d 20 69 6e 74 e;..........[SerializeField].int
8540 65 72 6e 61 6c 20 73 74 72 69 6e 67 20 6d 5f 49 64 3b 20 2f 2f 20 43 61 6e 27 74 20 73 65 72 69 ernal.string.m_Id;.//.Can't.seri
8560 61 6c 69 7a 65 20 53 79 73 74 65 6d 2e 47 75 69 64 20 61 6e 64 20 55 6e 69 74 79 27 73 20 47 55 alize.System.Guid.and.Unity's.GU
8580 49 44 20 69 73 20 65 64 69 74 6f 72 20 6f 6e 6c 79 2e 0d 0a 20 20 20 20 20 20 20 20 5b 53 65 72 ID.is.editor.only...........[Ser
85a0 69 61 6c 69 7a 65 46 69 65 6c 64 5d 20 69 6e 74 65 72 6e 61 6c 20 49 6e 70 75 74 41 63 74 69 6f ializeField].internal.InputActio
85c0 6e 41 73 73 65 74 20 6d 5f 41 73 73 65 74 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c nAsset.m_Asset;............///.<
85e0 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 63 summary>..........///.List.of.ac
8600 74 69 6f 6e 73 20 69 6e 20 74 68 69 73 20 6d 61 70 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 tions.in.this.map...........///.
8620 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 5b 53 65 72 69 61 6c 69 7a 65 46 69 </summary>..........[SerializeFi
8640 65 6c 64 5d 20 69 6e 74 65 72 6e 61 6c 20 49 6e 70 75 74 41 63 74 69 6f 6e 5b 5d 20 6d 5f 41 63 eld].internal.InputAction[].m_Ac
8660 74 69 6f 6e 73 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d tions;............///.<summary>.
8680 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 4c 69 73 74 20 6f 66 20 62 69 6e 64 69 6e 67 73 20 69 6e .........///.List.of.bindings.in
86a0 20 74 68 69 73 20 6d 61 70 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 .this.map...........///.</summar
86c0 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 20 20 20 20 y>..........///.<remarks>.......
86e0 20 20 20 2f 2f 2f 20 46 6f 72 20 73 69 6e 67 6c 65 74 6f 6e 20 61 63 74 69 6f 6e 73 2c 20 77 65 ...///.For.singleton.actions,.we
8700 20 65 6e 73 75 72 65 20 74 68 69 73 20 69 73 20 61 6c 77 61 79 73 20 74 68 65 20 73 61 6d 65 20 .ensure.this.is.always.the.same.
8720 61 73 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 41 63 74 69 6f 6e 2e 6d 5f 53 69 6e 67 as.<see.cref="InputAction.m_Sing
8740 6c 65 74 6f 6e 41 63 74 69 6f 6e 42 69 6e 64 69 6e 67 73 22 2f 3e 2e 0d 0a 20 20 20 20 20 20 20 letonActionBindings"/>..........
8760 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 5b 53 65 72 69 61 6c .///.</remarks>..........[Serial
8780 69 7a 65 46 69 65 6c 64 5d 20 69 6e 74 65 72 6e 61 6c 20 49 6e 70 75 74 42 69 6e 64 69 6e 67 5b izeField].internal.InputBinding[
87a0 5d 20 6d 5f 42 69 6e 64 69 6e 67 73 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 54 68 65 73 ].m_Bindings;............//.Thes
87c0 65 20 66 69 65 6c 64 73 20 61 72 65 20 63 61 63 68 65 73 2e 20 49 66 20 6d 5f 42 69 6e 64 69 6e e.fields.are.caches..If.m_Bindin
87e0 67 73 20 69 73 20 6d 6f 64 69 66 69 65 64 2c 20 74 68 65 73 65 20 61 72 65 20 74 68 72 6f 77 6e gs.is.modified,.these.are.thrown
8800 20 61 77 61 79 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 61 6e 64 20 72 65 2d 63 6f 6d 70 75 74 65 .away..........//.and.re-compute
8820 64 20 6f 6e 6c 79 20 69 66 20 6e 65 65 64 65 64 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 4e 4f d.only.if.needed...........//.NO
8840 54 45 3a 20 42 65 63 61 75 73 65 20 49 6e 70 75 74 42 69 6e 64 69 6e 67 73 20 61 72 65 20 73 74 TE:.Because.InputBindings.are.st
8860 72 75 63 74 73 2c 20 6d 5f 42 69 6e 64 69 6e 67 73 46 6f 72 45 61 63 68 41 63 74 69 6f 6e 20 61 ructs,.m_BindingsForEachAction.a
8880 63 74 75 61 6c 6c 79 20 64 75 70 6c 69 63 61 74 65 73 20 65 61 63 68 20 62 69 6e 64 69 6e 67 0d ctually.duplicates.each.binding.
88a0 0a 20 20 20 20 20 20 20 20 2f 2f 20 20 20 20 20 20 20 28 6f 6e 6c 79 20 69 6e 20 74 68 65 20 63 .........//.......(only.in.the.c
88c0 61 73 65 20 77 68 65 72 65 20 6d 5f 42 69 6e 64 69 6e 67 73 20 68 61 73 20 73 63 61 74 74 65 72 ase.where.m_Bindings.has.scatter
88e0 65 64 20 72 65 66 65 72 65 6e 63 65 73 20 74 6f 20 61 63 74 69 6f 6e 73 29 2e 0d 0a 20 20 20 20 ed.references.to.actions).......
8900 20 20 20 20 2f 2f 2f 2f 52 45 56 49 45 57 3a 20 74 68 69 73 20 77 69 6c 6c 20 6c 65 61 64 20 74 ....////REVIEW:.this.will.lead.t
8920 6f 20 70 72 6f 62 6c 65 6d 73 20 77 68 65 6e 20 6f 76 65 72 72 69 64 65 73 20 61 72 65 20 74 68 o.problems.when.overrides.are.th
8940 72 6f 77 6e 20 69 6e 74 6f 20 74 68 65 20 6d 69 78 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f rown.into.the.mix............///
8960 20 3c 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 20 65 61 63 68 .<summary>..........///.For.each
8980 20 65 6e 74 72 79 20 69 6e 20 3c 73 65 65 20 63 72 65 66 3d 22 6d 5f 41 63 74 69 6f 6e 73 22 2f .entry.in.<see.cref="m_Actions"/
89a0 3e 2c 20 61 20 73 6c 69 63 65 20 6f 66 20 74 68 69 73 20 61 72 72 61 79 20 63 6f 72 72 65 73 70 >,.a.slice.of.this.array.corresp
89c0 6f 6e 64 73 20 74 6f 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 61 63 74 69 6f 6e 27 onds.to.the..........///.action'
89e0 73 20 62 69 6e 64 69 6e 67 73 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 s.bindings...........///.</summa
8a00 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 20 20 20 ry>..........///.<remarks>......
8a20 20 20 20 20 2f 2f 2f 20 49 64 65 61 6c 6c 79 2c 20 74 68 69 73 20 61 72 72 61 79 20 69 73 20 74 ....///.Ideally,.this.array.is.t
8a40 68 65 20 73 61 6d 65 20 61 73 20 3c 73 65 65 20 63 72 65 66 3d 22 6d 5f 42 69 6e 64 69 6e 67 73 he.same.as.<see.cref="m_Bindings
8a60 22 2f 3e 20 28 74 68 65 20 73 61 6d 65 20 61 73 20 69 6e 20 6c 69 74 65 72 61 6c 6c 79 20 72 65 "/>.(the.same.as.in.literally.re
8a80 75 73 69 6e 67 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 73 61 6d 65 20 61 72 72 61 using.the..........///.same.arra
8aa0 79 29 2e 20 48 6f 77 65 76 65 72 2c 20 77 65 20 68 61 76 65 20 6e 6f 20 67 75 61 72 61 6e 74 65 y)..However,.we.have.no.guarante
8ac0 65 20 74 68 61 74 20 3c 73 65 65 20 63 72 65 66 3d 22 6d 5f 42 69 6e 64 69 6e 67 73 22 2f 3e 20 e.that.<see.cref="m_Bindings"/>.
8ae0 69 73 20 73 6f 72 74 65 64 20 62 79 20 61 63 74 69 6f 6e 73 2e 20 49 6e 20 63 61 73 65 20 69 74 is.sorted.by.actions..In.case.it
8b00 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 69 73 6e 27 74 2c 20 77 65 20 63 72 65 61 74 65 20 61 ..........///.isn't,.we.create.a
8b20 20 73 65 70 61 72 61 74 65 20 61 72 72 61 79 20 77 69 74 68 20 74 68 65 20 62 69 6e 64 69 6e 67 .separate.array.with.the.binding
8b40 73 20 73 6f 72 74 65 64 20 62 79 20 61 63 74 69 6f 6e 20 61 6e 64 20 68 61 76 65 20 65 61 63 68 s.sorted.by.action.and.have.each
8b60 20 61 63 74 69 6f 6e 20 72 65 66 65 72 65 6e 63 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 61 .action.reference..........///.a
8b80 20 73 6c 69 63 65 20 74 68 72 6f 75 67 68 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 41 .slice.through.<see.cref="InputA
8ba0 63 74 69 6f 6e 2e 6d 5f 42 69 6e 64 69 6e 67 73 53 74 61 72 74 49 6e 64 65 78 22 2f 3e 20 61 6e ction.m_BindingsStartIndex"/>.an
8bc0 64 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 41 63 74 69 6f 6e 2e 6d 5f 42 69 6e 64 69 d.<see.cref="InputAction.m_Bindi
8be0 6e 67 73 43 6f 75 6e 74 22 2f 3e 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 6d 61 ngsCount"/>...........///.</rema
8c00 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d rks>..........///.<seealso.cref=
8c20 22 53 65 74 55 70 50 65 72 41 63 74 69 6f 6e 43 61 63 68 65 64 42 69 6e 64 69 6e 67 44 61 74 61 "SetUpPerActionCachedBindingData
8c40 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 5b 4e 6f 6e 53 65 72 69 61 6c 69 7a 65 64 5d 20 70 72 69 "/>..........[NonSerialized].pri
8c60 76 61 74 65 20 49 6e 70 75 74 42 69 6e 64 69 6e 67 5b 5d 20 6d 5f 42 69 6e 64 69 6e 67 73 46 6f vate.InputBinding[].m_BindingsFo
8c80 72 45 61 63 68 41 63 74 69 6f 6e 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 5b 4e 6f 6e 53 65 72 69 rEachAction;............[NonSeri
8ca0 61 6c 69 7a 65 64 5d 20 70 72 69 76 61 74 65 20 49 6e 70 75 74 43 6f 6e 74 72 6f 6c 5b 5d 20 6d alized].private.InputControl[].m
8cc0 5f 43 6f 6e 74 72 6f 6c 73 46 6f 72 45 61 63 68 41 63 74 69 6f 6e 3b 0d 0a 0d 0a 20 20 20 20 20 _ControlsForEachAction;.........
8ce0 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 4e 75 ...///.<summary>..........///.Nu
8d00 6d 62 65 72 20 6f 66 20 61 63 74 69 6f 6e 73 20 63 75 72 72 65 6e 74 6c 79 20 65 6e 61 62 6c 65 mber.of.actions.currently.enable
8d20 64 20 69 6e 20 74 68 65 20 6d 61 70 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d d.in.the.map...........///.</sum
8d40 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 20 mary>..........///.<remarks>....
8d60 20 20 20 20 20 20 2f 2f 2f 20 54 68 69 73 20 73 68 6f 75 6c 64 20 6f 6e 6c 79 20 62 65 20 77 72 ......///.This.should.only.be.wr
8d80 69 74 74 65 6e 20 74 6f 20 62 79 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 41 63 74 69 itten.to.by.<see.cref="InputActi
8da0 6f 6e 53 74 61 74 65 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 onState"/>...........///.</remar
8dc0 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 5b 4e 6f 6e 53 65 72 69 61 6c 69 7a 65 64 5d 20 69 6e 74 ks>..........[NonSerialized].int
8de0 65 72 6e 61 6c 20 69 6e 74 20 6d 5f 45 6e 61 62 6c 65 64 41 63 74 69 6f 6e 73 43 6f 75 6e 74 3b ernal.int.m_EnabledActionsCount;
8e00 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 41 63 74 69 6f 6e 20 6d 61 70 73 20 74 68 61 74 20 ............//.Action.maps.that.
8e20 61 72 65 20 63 72 65 61 74 65 64 20 69 6e 74 65 72 6e 61 6c 6c 79 20 62 79 20 73 69 6e 67 6c 65 are.created.internally.by.single
8e40 74 6f 6e 20 61 63 74 69 6f 6e 73 20 74 6f 20 68 6f 6c 64 20 74 68 65 69 72 20 64 61 74 61 0d 0a ton.actions.to.hold.their.data..
8e60 20 20 20 20 20 20 20 20 2f 2f 20 61 72 65 20 6e 65 76 65 72 20 65 78 70 6f 73 65 64 20 61 6e 64 ........//.are.never.exposed.and
8e80 20 6e 65 76 65 72 20 73 65 72 69 61 6c 69 7a 65 64 20 73 6f 20 74 68 65 72 65 20 69 73 20 6e 6f .never.serialized.so.there.is.no
8ea0 20 70 6f 69 6e 74 20 61 6c 6c 6f 63 61 74 69 6e 67 20 61 6e 20 6d 5f 41 63 74 69 6f 6e 73 0d 0a .point.allocating.an.m_Actions..
8ec0 20 20 20 20 20 20 20 20 2f 2f 20 61 72 72 61 79 2e 0d 0a 20 20 20 20 20 20 20 20 5b 4e 6f 6e 53 ........//.array...........[NonS
8ee0 65 72 69 61 6c 69 7a 65 64 5d 20 69 6e 74 65 72 6e 61 6c 20 49 6e 70 75 74 41 63 74 69 6f 6e 20 erialized].internal.InputAction.
8f00 6d 5f 53 69 6e 67 6c 65 74 6f 6e 41 63 74 69 6f 6e 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 5b 4e m_SingletonAction;............[N
8f20 6f 6e 53 65 72 69 61 6c 69 7a 65 64 5d 20 69 6e 74 65 72 6e 61 6c 20 69 6e 74 20 6d 5f 4d 61 70 onSerialized].internal.int.m_Map
8f40 49 6e 64 65 78 49 6e 53 74 61 74 65 20 3d 20 49 6e 70 75 74 41 63 74 69 6f 6e 53 74 61 74 65 2e IndexInState.=.InputActionState.
8f60 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 2f 2f 2f 20 3c 73 kInvalidIndex;............///.<s
8f80 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 43 75 72 72 65 6e 74 20 65 78 65 ummary>..........///.Current.exe
8fa0 63 75 74 69 6f 6e 20 73 74 61 74 65 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d cution.state...........///.</sum
8fc0 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 20 mary>..........///.<remarks>....
8fe0 20 20 20 20 20 20 2f 2f 2f 20 49 6e 69 74 69 61 6c 69 7a 65 64 20 77 68 65 6e 20 6d 61 70 20 28 ......///.Initialized.when.map.(
9000 6f 72 20 61 6e 79 20 61 63 74 69 6f 6e 20 69 6e 20 69 74 29 20 69 73 20 66 69 72 73 74 20 65 6e or.any.action.in.it).is.first.en
9020 61 62 6c 65 64 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 abled...........///.</remarks>..
9040 20 20 20 20 20 20 20 20 5b 4e 6f 6e 53 65 72 69 61 6c 69 7a 65 64 5d 20 69 6e 74 65 72 6e 61 6c ........[NonSerialized].internal
9060 20 49 6e 70 75 74 41 63 74 69 6f 6e 53 74 61 74 65 20 6d 5f 53 74 61 74 65 3b 0d 0a 20 20 20 20 .InputActionState.m_State;......
9080 20 20 20 20 5b 4e 6f 6e 53 65 72 69 61 6c 69 7a 65 64 5d 20 70 72 69 76 61 74 65 20 62 6f 6f 6c ....[NonSerialized].private.bool
90a0 20 6d 5f 4e 65 65 64 54 6f 52 65 73 6f 6c 76 65 42 69 6e 64 69 6e 67 73 3b 0d 0a 20 20 20 20 20 .m_NeedToResolveBindings;.......
90c0 20 20 20 5b 4e 6f 6e 53 65 72 69 61 6c 69 7a 65 64 5d 20 69 6e 74 65 72 6e 61 6c 20 49 6e 70 75 ...[NonSerialized].internal.Inpu
90e0 74 42 69 6e 64 69 6e 67 3f 20 6d 5f 42 69 6e 64 69 6e 67 4d 61 73 6b 3b 0d 0a 0d 0a 20 20 20 20 tBinding?.m_BindingMask;........
9100 20 20 20 20 5b 4e 6f 6e 53 65 72 69 61 6c 69 7a 65 64 5d 20 70 72 69 76 61 74 65 20 69 6e 74 20 ....[NonSerialized].private.int.
9120 6d 5f 44 65 76 69 63 65 73 43 6f 75 6e 74 20 3d 20 2d 31 3b 0d 0a 20 20 20 20 20 20 20 20 5b 4e m_DevicesCount.=.-1;..........[N
9140 6f 6e 53 65 72 69 61 6c 69 7a 65 64 5d 20 70 72 69 76 61 74 65 20 49 6e 70 75 74 44 65 76 69 63 onSerialized].private.InputDevic
9160 65 5b 5d 20 6d 5f 44 65 76 69 63 65 73 41 72 72 61 79 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 5b e[].m_DevicesArray;............[
9180 4e 6f 6e 53 65 72 69 61 6c 69 7a 65 64 5d 20 69 6e 74 65 72 6e 61 6c 20 49 6e 6c 69 6e 65 64 41 NonSerialized].internal.InlinedA
91a0 72 72 61 79 3c 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 6b rray<Action<InputAction.Callback
91c0 43 6f 6e 74 65 78 74 3e 3e 20 6d 5f 41 63 74 69 6f 6e 43 61 6c 6c 62 61 63 6b 73 3b 0d 0a 0d 0a Context>>.m_ActionCallbacks;....
91e0 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 73 74 61 74 69 63 20 69 6e 74 20 73 5f 44 65 ........internal.static.int.s_De
9200 66 65 72 42 69 6e 64 69 6e 67 52 65 73 6f 6c 75 74 69 6f 6e 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 ferBindingResolution;...........
9220 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 74 75 .///.<summary>..........///.Retu
9240 72 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 20 62 69 6e 64 69 6e 67 73 20 66 6f 72 20 6a 75 73 74 rn.the.list.of.bindings.for.just
9260 20 74 68 65 20 67 69 76 65 6e 20 61 63 74 69 6f 6e 73 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f .the.given.actions...........///
9280 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 6d 20 .</summary>..........///.<param.
92a0 6e 61 6d 65 3d 22 61 63 74 69 6f 6e 22 3e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 name="action"></param>..........
92c0 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 20 ///.<returns></returns>.........
92e0 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 54 68 65 20 .///.<remarks>..........///.The.
9300 62 69 6e 64 69 6e 67 73 20 66 6f 72 20 61 20 73 69 6e 67 6c 65 20 61 63 74 69 6f 6e 20 6d 61 79 bindings.for.a.single.action.may
9320 20 62 65 20 63 6f 6e 74 69 67 75 6f 75 73 20 69 6e 20 3c 73 65 65 20 63 72 65 66 3d 22 6d 5f 42 .be.contiguous.in.<see.cref="m_B
9340 69 6e 64 69 6e 67 73 22 2f 3e 20 6f 72 20 6d 61 79 20 62 65 20 73 63 61 74 74 65 72 65 64 0d 0a indings"/>.or.may.be.scattered..
9360 20 20 20 20 20 20 20 20 2f 2f 2f 20 61 72 6f 75 6e 64 2e 20 57 65 20 64 6f 6e 27 74 20 6b 65 65 ........///.around..We.don't.kee
9380 70 20 70 65 72 73 69 73 74 65 6e 74 20 73 74 6f 72 61 67 65 20 66 6f 72 20 74 68 65 73 65 20 61 p.persistent.storage.for.these.a
93a0 6e 64 20 69 6e 73 74 65 61 64 20 73 65 74 20 75 70 20 61 20 74 72 61 6e 73 69 65 6e 74 0d 0a 20 nd.instead.set.up.a.transient...
93c0 20 20 20 20 20 20 20 2f 2f 2f 20 61 72 72 61 79 20 69 66 20 61 6e 64 20 77 68 65 6e 20 62 69 6e .......///.array.if.and.when.bin
93e0 64 69 6e 67 73 20 61 72 65 20 71 75 65 72 69 65 64 20 64 69 72 65 63 74 6c 79 20 66 72 6f 6d 20 dings.are.queried.directly.from.
9400 61 6e 20 61 63 74 69 6f 6e 2e 20 49 6e 20 74 68 65 20 73 69 6d 70 6c 65 20 63 61 73 65 2c 0d 0a an.action..In.the.simple.case,..
9420 20 20 20 20 20 20 20 20 2f 2f 2f 20 77 65 20 64 6f 6e 27 74 20 65 76 65 6e 20 6e 65 65 64 20 61 ........///.we.don't.even.need.a
9440 20 73 65 70 61 72 61 74 65 20 61 72 72 61 79 20 62 75 74 20 72 61 74 68 65 72 20 6a 75 73 74 20 .separate.array.but.rather.just.
9460 6e 65 65 64 20 74 6f 20 66 69 6e 64 20 6f 75 74 20 77 68 69 63 68 20 73 6c 69 63 65 20 69 6e 20 need.to.find.out.which.slice.in.
9480 74 68 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 62 69 6e 64 69 6e 67 73 20 61 72 72 61 79 20 the..........///.bindings.array.
94a0 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 77 68 69 63 68 20 61 63 74 69 6f 6e 2e 0d 0a 20 20 corresponds.to.which.action.....
94c0 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 4e 4f 54 45 3a 20 42 69 6e ......///..........///.NOTE:.Bin
94e0 64 69 6e 67 73 20 66 6f 72 20 69 6e 64 69 76 69 64 75 61 6c 20 61 63 74 69 6f 6e 73 20 61 72 65 dings.for.individual.actions.are
9500 6e 27 74 20 71 75 65 72 69 65 64 20 62 79 20 74 68 65 20 73 79 73 74 65 6d 20 69 74 73 65 6c 66 n't.queried.by.the.system.itself
9520 20 64 75 72 69 6e 67 20 6e 6f 72 6d 61 6c 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 .during.normal..........///.....
9540 20 20 72 75 6e 74 69 6d 65 20 6f 70 65 72 61 74 69 6f 6e 20 73 6f 20 77 65 20 6f 6e 6c 79 20 64 ..runtime.operation.so.we.only.d
9560 6f 20 74 68 69 73 20 66 6f 72 20 63 61 73 65 73 20 77 68 65 72 65 20 74 68 65 20 75 73 65 72 20 o.this.for.cases.where.the.user.
9580 61 73 6b 73 20 66 6f 72 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 asks.for.the..........///.......
95a0 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 20 49 66 20 74 68 65 20 75 73 65 72 20 6e 65 76 65 72 20 61 information..If.the.user.never.a
95c0 73 6b 73 20 66 6f 72 20 62 69 6e 64 69 6e 67 73 20 6f 72 20 63 6f 6e 74 72 6f 6c 73 20 6f 6e 20 sks.for.bindings.or.controls.on.
95e0 61 20 70 65 72 2d 61 63 74 69 6f 6e 20 62 61 73 69 73 2c 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f a.per-action.basis,..........///
9600 20 20 20 20 20 20 20 6e 6f 6e 65 20 6f 66 20 74 68 69 73 20 64 61 74 61 20 67 65 74 73 20 69 6e .......none.of.this.data.gets.in
9620 69 74 69 61 6c 69 7a 65 64 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 6d 61 72 6b itialized...........///.</remark
9640 73 3e 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 52 65 61 64 4f 6e 6c 79 41 72 72 s>..........internal.ReadOnlyArr
9660 61 79 3c 49 6e 70 75 74 42 69 6e 64 69 6e 67 3e 20 47 65 74 42 69 6e 64 69 6e 67 73 46 6f 72 53 ay<InputBinding>.GetBindingsForS
9680 69 6e 67 6c 65 41 63 74 69 6f 6e 28 49 6e 70 75 74 41 63 74 69 6f 6e 20 61 63 74 69 6f 6e 29 0d ingleAction(InputAction.action).
96a0 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
96c0 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 63 61 6e sert(action.!=.null,."Action.can
96e0 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
9700 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 20 3d 3d 20 74 g.Assert(action.m_ActionMap.==.t
9720 68 69 73 2c 20 22 41 63 74 69 6f 6e 20 6d 75 73 74 20 62 65 20 69 6e 20 61 63 74 69 6f 6e 20 6d his,."Action.must.be.in.action.m
9740 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 65 72 74 28 ap");..............Debug.Assert(
9760 21 61 63 74 69 6f 6e 2e 69 73 53 69 6e 67 6c 65 74 6f 6e 41 63 74 69 6f 6e 20 7c 7c 20 6d 5f 53 !action.isSingletonAction.||.m_S
9780 69 6e 67 6c 65 74 6f 6e 41 63 74 69 6f 6e 20 3d 3d 20 61 63 74 69 6f 6e 2c 20 22 41 63 74 69 6f ingletonAction.==.action,."Actio
97a0 6e 20 69 73 20 6e 6f 74 20 61 20 73 69 6e 67 6c 65 74 6f 6e 20 61 63 74 69 6f 6e 22 29 3b 0d 0a n.is.not.a.singleton.action");..
97c0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 53 65 65 20 69 66 20 77 65 20 6e 65 65 64 20 ..............//.See.if.we.need.
97e0 74 6f 20 72 65 66 72 65 73 68 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 42 to.refresh...............if.(m_B
9800 69 6e 64 69 6e 67 73 46 6f 72 45 61 63 68 41 63 74 69 6f 6e 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 indingsForEachAction.==.null)...
9820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 74 55 70 50 65 72 41 63 74 69 6f 6e 43 61 63 ...............SetUpPerActionCac
9840 68 65 64 42 69 6e 64 69 6e 67 44 61 74 61 28 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 hedBindingData();...............
9860 20 72 65 74 75 72 6e 20 6e 65 77 20 52 65 61 64 4f 6e 6c 79 41 72 72 61 79 3c 49 6e 70 75 74 42 .return.new.ReadOnlyArray<InputB
9880 69 6e 64 69 6e 67 3e 28 6d 5f 42 69 6e 64 69 6e 67 73 46 6f 72 45 61 63 68 41 63 74 69 6f 6e 2c inding>(m_BindingsForEachAction,
98a0 20 61 63 74 69 6f 6e 2e 6d 5f 42 69 6e 64 69 6e 67 73 53 74 61 72 74 49 6e 64 65 78 2c 0d 0a 20 .action.m_BindingsStartIndex,...
98c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 69 6f 6e 2e 6d 5f 42 69 6e 64 69 6e 67 73 ...............action.m_Bindings
98e0 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 20 69 6e Count);..........}............in
9900 74 65 72 6e 61 6c 20 52 65 61 64 4f 6e 6c 79 41 72 72 61 79 3c 49 6e 70 75 74 43 6f 6e 74 72 6f ternal.ReadOnlyArray<InputContro
9920 6c 3e 20 47 65 74 43 6f 6e 74 72 6f 6c 73 46 6f 72 53 69 6e 67 6c 65 41 63 74 69 6f 6e 28 49 6e l>.GetControlsForSingleAction(In
9940 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 0a 20 20 putAction.action)..........{....
9960 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 6d 5f 53 74 61 74 65 20 21 ..........Debug.Assert(m_State.!
9980 3d 20 6e 75 6c 6c 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
99a0 72 74 28 6d 5f 4d 61 70 49 6e 64 65 78 49 6e 53 74 61 74 65 20 21 3d 20 49 6e 70 75 74 41 63 74 rt(m_MapIndexInState.!=.InputAct
99c0 69 6f 6e 53 74 61 74 65 2e 6b 49 6e 76 61 6c 69 64 49 6e 64 65 78 29 3b 0d 0a 20 20 20 20 20 20 ionState.kInvalidIndex);........
99e0 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 6d 5f 41 63 74 69 6f 6e 73 20 21 3d 20 ......Debug.Assert(m_Actions.!=.
9a00 6e 75 6c 6c 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 null);..............Debug.Assert
9a20 28 61 63 74 69 6f 6e 20 21 3d 20 6e 75 6c 6c 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 (action.!=.null);..............D
9a40 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 20 3d ebug.Assert(action.m_ActionMap.=
9a60 3d 20 74 68 69 73 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 =.this);..............Debug.Asse
9a80 72 74 28 21 61 63 74 69 6f 6e 2e 69 73 53 69 6e 67 6c 65 74 6f 6e 41 63 74 69 6f 6e 20 7c 7c 20 rt(!action.isSingletonAction.||.
9aa0 6d 5f 53 69 6e 67 6c 65 74 6f 6e 41 63 74 69 6f 6e 20 3d 3d 20 61 63 74 69 6f 6e 29 3b 0d 0a 0d m_SingletonAction.==.action);...
9ac0 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 43 6f 6e 74 72 6f 6c 73 46 6f 72 45 61 .............if.(m_ControlsForEa
9ae0 63 68 41 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 20 20 20 chAction.==.null)...............
9b00 20 20 20 53 65 74 55 70 50 65 72 41 63 74 69 6f 6e 43 61 63 68 65 64 42 69 6e 64 69 6e 67 44 61 ...SetUpPerActionCachedBindingDa
9b20 74 61 28 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 6e 65 77 20 ta();................return.new.
9b40 52 65 61 64 4f 6e 6c 79 41 72 72 61 79 3c 49 6e 70 75 74 43 6f 6e 74 72 6f 6c 3e 28 6d 5f 43 6f ReadOnlyArray<InputControl>(m_Co
9b60 6e 74 72 6f 6c 73 46 6f 72 45 61 63 68 41 63 74 69 6f 6e 2c 20 61 63 74 69 6f 6e 2e 6d 5f 43 6f ntrolsForEachAction,.action.m_Co
9b80 6e 74 72 6f 6c 53 74 61 72 74 49 6e 64 65 78 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ntrolStartIndex,................
9ba0 20 20 61 63 74 69 6f 6e 2e 6d 5f 43 6f 6e 74 72 6f 6c 43 6f 75 6e 74 29 3b 0d 0a 20 20 20 20 20 ..action.m_ControlCount);.......
9bc0 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>...
9be0 20 20 20 20 20 20 20 2f 2f 2f 20 43 6f 6c 6c 65 63 74 20 64 61 74 61 20 66 72 6f 6d 20 3c 73 65 .......///.Collect.data.from.<se
9c00 65 20 63 72 65 66 3d 22 6d 5f 42 69 6e 64 69 6e 67 73 22 2f 3e 20 61 6e 64 20 3c 73 65 65 20 63 e.cref="m_Bindings"/>.and.<see.c
9c20 72 65 66 3d 22 6d 5f 41 63 74 69 6f 6e 73 22 2f 3e 20 73 75 63 68 20 74 68 61 74 20 77 65 20 63 ref="m_Actions"/>.such.that.we.c
9c40 61 6e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 77 65 20 63 61 6e 20 63 6c 65 61 6e 6c 79 20 65 an..........///.we.can.cleanly.e
9c60 78 70 6f 73 65 20 69 74 20 66 72 6f 6d 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 41 63 xpose.it.from.<see.cref="InputAc
9c80 74 69 6f 6e 2e 62 69 6e 64 69 6e 67 73 22 2f 3e 20 61 6e 64 20 3c 73 65 65 20 63 72 65 66 3d 22 tion.bindings"/>.and.<see.cref="
9ca0 49 6e 70 75 74 41 63 74 69 6f 6e 2e 63 6f 6e 74 72 6f 6c 73 22 2f 3e 2e 0d 0a 20 20 20 20 20 20 InputAction.controls"/>.........
9cc0 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 ..///.</summary>..........///.<r
9ce0 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 57 65 20 73 65 74 20 75 70 20 70 emarks>..........///.We.set.up.p
9d00 65 72 2d 61 63 74 69 6f 6e 20 63 61 63 68 65 73 20 74 68 65 20 66 69 72 73 74 20 74 69 6d 65 20 er-action.caches.the.first.time.
9d20 74 68 65 69 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 72 65 71 75 65 73 74 65 64 2e 20 their.information.is.requested..
9d40 49 6e 74 65 72 6e 61 6c 6c 79 2c 20 77 65 20 64 6f 20 6e 6f 74 0d 0a 20 20 20 20 20 20 20 20 2f Internally,.we.do.not........../
9d60 2f 2f 20 75 73 65 20 74 68 6f 73 65 20 61 72 72 61 79 73 20 61 6e 64 20 74 68 75 73 20 74 68 65 //.use.those.arrays.and.thus.the
9d80 79 20 77 69 6c 6c 20 6e 6f 74 20 67 65 74 20 73 65 74 20 75 70 20 62 79 20 64 65 66 61 75 6c 74 y.will.not.get.set.up.by.default
9da0 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 4e 6f 74 65 ...........///..........///.Note
9dc0 20 74 68 61 74 20 69 74 20 69 73 20 69 6d 70 6f 72 74 61 6e 74 20 74 6f 20 61 6c 6c 6f 77 20 74 .that.it.is.important.to.allow.t
9de0 6f 20 63 61 6c 6c 20 74 68 69 73 20 6d 65 74 68 6f 64 20 61 74 20 61 20 70 6f 69 6e 74 20 77 68 o.call.this.method.at.a.point.wh
9e00 65 72 65 20 77 65 20 68 61 76 65 20 6e 6f 74 20 72 65 73 6f 6c 76 65 64 0d 0a 20 20 20 20 20 20 ere.we.have.not.resolved........
9e20 20 20 2f 2f 2f 20 63 6f 6e 74 72 6f 6c 73 20 79 65 74 20 28 69 2e 65 2e 20 3c 73 65 65 20 63 72 ..///.controls.yet.(i.e..<see.cr
9e40 65 66 3d 22 6d 5f 53 74 61 74 65 22 2f 3e 20 69 73 20 3c 63 3e 6e 75 6c 6c 3c 2f 63 3e 29 2e 20 ef="m_State"/>.is.<c>null</c>)..
9e60 4f 74 68 65 72 77 69 73 65 2c 20 75 73 69 6e 67 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 Otherwise,.using.<see.cref="Inpu
9e80 74 41 63 74 69 6f 6e 2e 62 69 6e 64 69 6e 67 73 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f tAction.bindings"/>..........///
9ea0 20 6d 61 79 20 74 72 69 67 67 65 72 20 61 20 63 6f 6e 74 72 6f 6c 20 72 65 73 6f 6c 75 74 69 6f .may.trigger.a.control.resolutio
9ec0 6e 20 77 68 69 63 68 20 77 6f 75 6c 64 20 62 65 20 73 75 72 70 72 69 73 69 6e 67 2e 0d 0a 20 20 n.which.would.be.surprising.....
9ee0 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 70 72 ......///.</remarks>..........pr
9f00 69 76 61 74 65 20 75 6e 73 61 66 65 20 76 6f 69 64 20 53 65 74 55 70 50 65 72 41 63 74 69 6f 6e ivate.unsafe.void.SetUpPerAction
9f20 43 61 63 68 65 64 42 69 6e 64 69 6e 67 44 61 74 61 28 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a CachedBindingData()..........{..
9f40 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 48 61 6e 64 6c 65 20 63 61 73 65 20 77 68 65 72 65 ............//.Handle.case.where
9f60 20 77 65 20 64 6f 6e 27 74 20 68 61 76 65 20 61 6e 79 20 62 69 6e 64 69 6e 67 73 2e 0d 0a 20 20 .we.don't.have.any.bindings.....
9f80 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 42 69 6e 64 69 6e 67 73 20 3d 3d 20 6e 75 6c 6c ..........if.(m_Bindings.==.null
9fa0 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 3b 0d 0a 0d 0a 20 20 )..................return;......
9fc0 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 53 69 6e 67 6c 65 74 6f 6e 41 63 74 69 6f 6e 20 ..........if.(m_SingletonAction.
9fe0 21 3d 20 6e 75 6c 6c 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 !=.null)..............{.........
a000 20 20 20 20 20 20 20 20 20 2f 2f 20 44 65 61 64 20 73 69 6d 70 6c 65 20 63 61 73 65 3a 20 6d 61 .........//.Dead.simple.case:.ma
a020 70 20 69 73 20 69 6e 74 65 72 6e 61 6c 6c 79 20 6f 77 6e 65 64 20 62 79 20 61 63 74 69 6f 6e 2e p.is.internally.owned.by.action.
a040 20 54 68 65 20 65 6e 74 69 72 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 .The.entire..................//.
a060 6c 69 73 74 20 6f 66 20 62 69 6e 64 69 6e 67 73 20 69 73 20 73 70 65 63 69 66 69 63 20 74 6f 20 list.of.bindings.is.specific.to.
a080 74 68 65 20 61 63 74 69 6f 6e 2e 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 the.action.....................D
a0a0 65 62 75 67 2e 41 73 73 65 72 74 28 6d 5f 42 69 6e 64 69 6e 67 73 20 3d 3d 20 6d 5f 53 69 6e 67 ebug.Assert(m_Bindings.==.m_Sing
a0c0 6c 65 74 6f 6e 41 63 74 69 6f 6e 2e 6d 5f 53 69 6e 67 6c 65 74 6f 6e 41 63 74 69 6f 6e 42 69 6e letonAction.m_SingletonActionBin
a0e0 64 69 6e 67 73 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 42 69 6e dings);....................m_Bin
a100 64 69 6e 67 73 46 6f 72 45 61 63 68 41 63 74 69 6f 6e 20 3d 20 6d 5f 42 69 6e 64 69 6e 67 73 3b dingsForEachAction.=.m_Bindings;
a120 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 43 6f 6e 74 72 6f 6c 73 46 6f 72 45 ..................m_ControlsForE
a140 61 63 68 41 63 74 69 6f 6e 20 3d 20 6d 5f 53 74 61 74 65 3f 2e 63 6f 6e 74 72 6f 6c 73 3b 0d 0a achAction.=.m_State?.controls;..
a160 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 53 69 6e 67 6c 65 74 6f 6e 41 63 74 ..................m_SingletonAct
a180 69 6f 6e 2e 6d 5f 42 69 6e 64 69 6e 67 73 53 74 61 72 74 49 6e 64 65 78 20 3d 20 30 3b 0d 0a 20 ion.m_BindingsStartIndex.=.0;...
a1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 53 69 6e 67 6c 65 74 6f 6e 41 63 74 69 6f 6e ...............m_SingletonAction
a1c0 2e 6d 5f 42 69 6e 64 69 6e 67 73 43 6f 75 6e 74 20 3d 20 6d 5f 42 69 6e 64 69 6e 67 73 2e 4c 65 .m_BindingsCount.=.m_Bindings.Le
a1e0 6e 67 74 68 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 53 69 6e 67 6c 65 74 ngth;..................m_Singlet
a200 6f 6e 41 63 74 69 6f 6e 2e 6d 5f 43 6f 6e 74 72 6f 6c 53 74 61 72 74 49 6e 64 65 78 20 3d 20 30 onAction.m_ControlStartIndex.=.0
a220 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 53 69 6e 67 6c 65 74 6f 6e 41 63 ;..................m_SingletonAc
a240 74 69 6f 6e 2e 6d 5f 43 6f 6e 74 72 6f 6c 43 6f 75 6e 74 20 3d 20 6d 5f 53 74 61 74 65 3f 2e 74 tion.m_ControlCount.=.m_State?.t
a260 6f 74 61 6c 43 6f 6e 74 72 6f 6c 43 6f 75 6e 74 20 3f 3f 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 otalControlCount.??.0;..........
a280 20 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 ....}..............else.........
a2a0 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 2f 52 45 56 49 .....{..................////REVI
a2c0 45 57 3a 20 6e 6f 77 20 74 68 61 74 20 77 65 20 68 61 76 65 20 70 65 72 2d 61 63 74 69 6f 6e 20 EW:.now.that.we.have.per-action.
a2e0 62 69 6e 64 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 6e 20 55 6e 6d 61 6e 61 67 65 64 binding.information.in.Unmanaged
a300 4d 65 6d 6f 72 79 2c 20 74 68 69 73 20 68 65 72 65 20 63 61 6e 20 6c 69 6b 65 6c 79 20 62 65 20 Memory,.this.here.can.likely.be.
a320 64 6f 6e 65 20 6d 6f 72 65 20 65 61 73 69 6c 79 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 done.more.easily................
a340 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 64 69 6e 67 73 20 61 ....//.Go.through.all.bindings.a
a360 6e 64 20 73 6c 69 63 65 20 74 68 65 6d 20 6f 75 74 20 74 6f 20 69 6e 64 69 76 69 64 75 61 6c 20 nd.slice.them.out.to.individual.
a380 61 63 74 69 6f 6e 73 2e 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 actions.....................Debu
a3a0 67 2e 41 73 73 65 72 74 28 6d 5f 41 63 74 69 6f 6e 73 20 21 3d 20 6e 75 6c 6c 29 3b 20 2f 2f 20 g.Assert(m_Actions.!=.null);.//.
a3c0 41 63 74 69 6f 6e 20 69 73 6e 27 74 20 61 20 73 69 6e 67 6c 65 74 6f 6e 20 73 6f 20 74 68 69 73 Action.isn't.a.singleton.so.this
a3e0 20 68 61 73 20 74 6f 20 62 65 20 74 72 75 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .has.to.be.true.................
a400 20 20 76 61 72 20 6d 61 70 49 6e 64 69 63 65 73 20 3d 20 6d 5f 53 74 61 74 65 3f 2e 46 65 74 63 ..var.mapIndices.=.m_State?.Fetc
a420 68 4d 61 70 49 6e 64 69 63 65 73 28 74 68 69 73 29 20 3f 3f 20 6e 65 77 20 49 6e 70 75 74 41 63 hMapIndices(this).??.new.InputAc
a440 74 69 6f 6e 53 74 61 74 65 2e 41 63 74 69 6f 6e 4d 61 70 49 6e 64 69 63 65 73 28 29 3b 0d 0a 0d tionState.ActionMapIndices();...
a460 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 52 65 73 65 74 20 73 74 61 74 65 20 .................//.Reset.state.
a480 6f 6e 20 65 61 63 68 20 61 63 74 69 6f 6e 2e 20 49 6d 70 6f 72 74 61 6e 74 20 69 66 20 77 65 20 on.each.action..Important.if.we.
a4a0 68 61 76 65 20 61 63 74 69 6f 6e 73 20 74 68 61 74 20 61 72 65 20 6e 6f 20 6c 6f 6e 67 65 72 0d have.actions.that.are.no.longer.
a4c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 72 65 66 65 72 72 65 64 20 74 6f 20 .................//.referred.to.
a4e0 62 79 20 62 69 6e 64 69 6e 67 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f by.bindings...................fo
a500 72 20 28 76 61 72 20 69 20 3d 20 30 3b 20 69 20 3c 20 6d 5f 41 63 74 69 6f 6e 73 2e 4c 65 6e 67 r.(var.i.=.0;.i.<.m_Actions.Leng
a520 74 68 3b 20 2b 2b 69 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 th;.++i)..................{.....
a540 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 20 3d 20 6d 5f .................var.action.=.m_
a560 41 63 74 69 6f 6e 73 5b 69 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 Actions[i];.....................
a580 20 61 63 74 69 6f 6e 2e 6d 5f 42 69 6e 64 69 6e 67 73 43 6f 75 6e 74 20 3d 20 30 3b 0d 0a 20 20 .action.m_BindingsCount.=.0;....
a5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 69 6f 6e 2e 6d 5f 42 69 6e 64 69 ..................action.m_Bindi
a5c0 6e 67 73 53 74 61 72 74 49 6e 64 65 78 20 3d 20 2d 31 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ngsStartIndex.=.-1;.............
a5e0 20 20 20 20 20 20 20 20 20 61 63 74 69 6f 6e 2e 6d 5f 43 6f 6e 74 72 6f 6c 43 6f 75 6e 74 20 3d .........action.m_ControlCount.=
a600 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 69 6f 6e 2e .0;......................action.
a620 6d 5f 43 6f 6e 74 72 6f 6c 53 74 61 72 74 49 6e 64 65 78 20 3d 20 2d 31 3b 0d 0a 20 20 20 20 20 m_ControlStartIndex.=.-1;.......
a640 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 ...........}....................
a660 2f 2f 20 43 6f 75 6e 74 20 62 69 6e 64 69 6e 67 73 20 6f 6e 20 65 61 63 68 20 61 63 74 69 6f 6e //.Count.bindings.on.each.action
a680 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 41 66 74 65 72 20 74 68 69 73 ...................//.After.this
a6a0 20 6c 6f 6f 70 2c 20 77 65 20 63 61 6e 20 68 61 76 65 20 6f 6e 65 20 6f 66 20 74 77 6f 20 73 69 .loop,.we.can.have.one.of.two.si
a6c0 74 75 61 74 69 6f 6e 73 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 31 29 tuations:..................//.1)
a6e0 20 54 68 65 20 62 69 6e 64 69 6e 67 73 20 66 6f 72 20 61 6e 79 20 61 63 74 69 6f 6e 20 58 20 73 .The.bindings.for.any.action.X.s
a700 74 61 72 74 20 61 74 20 73 6f 6d 65 20 69 6e 64 65 78 20 4e 20 61 6e 64 20 6f 63 63 75 70 79 20 tart.at.some.index.N.and.occupy.
a720 74 68 65 20 6e 65 78 74 20 6d 5f 42 69 6e 64 69 6e 67 73 43 6f 75 6e 74 20 73 6c 6f 74 73 2e 0d the.next.m_BindingsCount.slots..
a740 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 32 29 20 54 68 65 20 62 69 6e 64 69 .................//.2).The.bindi
a760 6e 67 73 20 66 6f 72 20 73 6f 6d 65 20 6f 72 20 61 6c 6c 20 61 63 74 69 6f 6e 73 20 61 72 65 20 ngs.for.some.or.all.actions.are.
a780 73 63 61 74 74 65 72 65 64 20 61 63 72 6f 73 73 20 6e 6f 6e 2d 63 6f 6e 74 69 67 75 6f 75 73 20 scattered.across.non-contiguous.
a7a0 63 68 75 6e 6b 73 20 6f 66 20 74 68 65 20 61 72 72 61 79 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 chunks.of.the.array.............
a7c0 20 20 20 20 20 20 76 61 72 20 62 69 6e 64 69 6e 67 43 6f 75 6e 74 20 3d 20 6d 5f 42 69 6e 64 69 ......var.bindingCount.=.m_Bindi
a7e0 6e 67 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 66 6f 72 ngs.Length;..................for
a800 20 28 76 61 72 20 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 .(var.i.=.0;.i.<.bindingCount;.+
a820 2b 69 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 +i)..................{..........
a840 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 46 69 6e 64 41 63 74 ............var.action.=.FindAct
a860 69 6f 6e 28 6d 5f 42 69 6e 64 69 6e 67 73 5b 69 5d 2e 61 63 74 69 6f 6e 29 3b 0d 0a 20 20 20 20 ion(m_Bindings[i].action);......
a880 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 20 21 3d 20 6e 75 ................if.(action.!=.nu
a8a0 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 20 20 20 20 2b 2b 61 ll)..........................++a
a8c0 63 74 69 6f 6e 2e 6d 5f 42 69 6e 64 69 6e 67 73 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 ction.m_BindingsCount;..........
a8e0 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 2f 2f 20 ........}....................//.
a900 43 6f 6c 6c 65 63 74 20 74 68 65 20 62 69 6e 64 69 6e 67 73 20 61 6e 64 20 63 6f 6e 74 72 6f 6c Collect.the.bindings.and.control
a920 73 20 61 6e 64 20 62 75 6e 64 6c 65 20 74 68 65 6d 20 69 6e 74 6f 20 63 68 75 6e 6b 73 2e 0d 0a s.and.bundle.them.into.chunks...
a940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6e 65 77 42 69 6e 64 69 6e 67 73 41 ................var.newBindingsA
a960 72 72 61 79 49 6e 64 65 78 20 3d 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rrayIndex.=.0;..................
a980 69 66 20 28 6d 5f 53 74 61 74 65 20 21 3d 20 6e 75 6c 6c 20 26 26 20 28 6d 5f 43 6f 6e 74 72 6f if.(m_State.!=.null.&&.(m_Contro
a9a0 6c 73 46 6f 72 45 61 63 68 41 63 74 69 6f 6e 20 3d 3d 20 6e 75 6c 6c 20 7c 7c 20 6d 5f 43 6f 6e lsForEachAction.==.null.||.m_Con
a9c0 74 72 6f 6c 73 46 6f 72 45 61 63 68 41 63 74 69 6f 6e 2e 4c 65 6e 67 74 68 20 21 3d 20 6d 61 70 trolsForEachAction.Length.!=.map
a9e0 49 6e 64 69 63 65 73 2e 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 29 29 0d 0a 20 20 20 20 20 20 20 20 Indices.controlCount))..........
aa00 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 69 ........{......................i
aa20 66 20 28 6d 61 70 49 6e 64 69 63 65 73 2e 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 20 3d 3d 20 30 29 f.(mapIndices.controlCount.==.0)
aa40 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 6e 74 ..........................m_Cont
aa60 72 6f 6c 73 46 6f 72 45 61 63 68 41 63 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0d 0a 20 20 20 20 20 rolsForEachAction.=.null;.......
aa80 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 20 ...............else.............
aaa0 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 43 6f 6e 74 72 6f 6c 73 46 6f 72 45 61 63 68 41 63 .............m_ControlsForEachAc
aac0 74 69 6f 6e 20 3d 20 6e 65 77 20 49 6e 70 75 74 43 6f 6e 74 72 6f 6c 5b 6d 61 70 49 6e 64 69 63 tion.=.new.InputControl[mapIndic
aae0 65 73 2e 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 es.controlCount];...............
ab00 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 70 75 74 42 69 6e 64 69 ...}..................InputBindi
ab20 6e 67 5b 5d 20 6e 65 77 42 69 6e 64 69 6e 67 73 41 72 72 61 79 20 3d 20 6e 75 6c 6c 3b 0d 0a 20 ng[].newBindingsArray.=.null;...
ab40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 75 72 72 65 6e 74 43 6f 6e 74 72 6f ...............var.currentContro
ab60 6c 49 6e 64 65 78 20 3d 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 lIndex.=.0;..................for
ab80 20 28 76 61 72 20 63 75 72 72 65 6e 74 42 69 6e 64 69 6e 67 49 6e 64 65 78 20 3d 20 30 3b 20 63 .(var.currentBindingIndex.=.0;.c
aba0 75 72 72 65 6e 74 42 69 6e 64 69 6e 67 49 6e 64 65 78 20 3c 20 6d 5f 42 69 6e 64 69 6e 67 73 2e urrentBindingIndex.<.m_Bindings.
abc0 4c 65 6e 67 74 68 3b 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 Length;)..................{.....
abe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 75 72 72 65 6e 74 41 63 74 69 .................var.currentActi
ac00 6f 6e 20 3d 20 46 69 6e 64 41 63 74 69 6f 6e 28 6d 5f 42 69 6e 64 69 6e 67 73 5b 63 75 72 72 65 on.=.FindAction(m_Bindings[curre
ac20 6e 74 42 69 6e 64 69 6e 67 49 6e 64 65 78 5d 2e 61 63 74 69 6f 6e 29 3b 0d 0a 20 20 20 20 20 20 ntBindingIndex].action);........
ac40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 75 72 72 65 6e 74 41 63 74 69 6f 6e 20 ..............if.(currentAction.
ac60 3d 3d 20 6e 75 6c 6c 20 7c 7c 20 63 75 72 72 65 6e 74 41 63 74 69 6f 6e 2e 6d 5f 42 69 6e 64 69 ==.null.||.currentAction.m_Bindi
ac80 6e 67 73 53 74 61 72 74 49 6e 64 65 78 20 21 3d 20 2d 31 29 0d 0a 20 20 20 20 20 20 20 20 20 20 ngsStartIndex.!=.-1)............
aca0 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 ..........{.....................
acc0 20 20 20 20 20 2f 2f 20 53 6b 69 70 20 62 69 6e 64 69 6e 67 73 20 6e 6f 74 20 74 61 72 67 65 74 .....//.Skip.bindings.not.target
ace0 69 6e 67 20 61 6e 20 61 63 74 69 6f 6e 20 6f 72 20 62 69 6e 64 69 6e 67 73 20 77 65 20 68 61 76 ing.an.action.or.bindings.we.hav
ad00 65 20 61 6c 72 65 61 64 79 20 70 72 6f 63 65 73 73 65 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20 e.already.processed.............
ad20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 28 77 68 65 6e 20 67 61 74 68 65 72 69 6e 67 20 .............//.(when.gathering.
ad40 62 69 6e 64 69 6e 67 73 20 66 6f 72 20 61 20 73 69 6e 67 6c 65 20 61 63 74 69 6f 6e 73 20 73 63 bindings.for.a.single.actions.sc
ad60 61 74 74 65 72 65 64 20 61 63 72 6f 73 73 20 74 68 65 20 61 72 72 61 79 20 77 65 20 6d 61 79 20 attered.across.the.array.we.may.
ad80 68 61 76 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 2f 2f have..........................//
ada0 20 73 6b 69 70 70 69 6e 67 20 61 68 65 61 64 29 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .skipping.ahead)................
adc0 20 20 20 20 20 20 20 20 20 20 20 2b 2b 63 75 72 72 65 6e 74 42 69 6e 64 69 6e 67 49 6e 64 65 78 ...........++currentBindingIndex
ade0 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 69 ;..........................conti
ae00 6e 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 0d 0a 20 nue;......................}.....
ae20 20 20 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 66 ...................//.Bindings.f
ae40 6f 72 20 63 75 72 72 65 6e 74 20 61 63 74 69 6f 6e 20 73 74 61 72 74 20 61 74 20 63 75 72 72 65 or.current.action.start.at.curre
ae60 6e 74 20 69 6e 64 65 78 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 nt.index.......................c
ae80 75 72 72 65 6e 74 41 63 74 69 6f 6e 2e 6d 5f 42 69 6e 64 69 6e 67 73 53 74 61 72 74 49 6e 64 65 urrentAction.m_BindingsStartInde
aea0 78 20 3d 20 6e 65 77 42 69 6e 64 69 6e 67 73 41 72 72 61 79 20 21 3d 20 6e 75 6c 6c 0d 0a 20 20 x.=.newBindingsArray.!=.null....
aec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3f 20 6e 65 77 42 69 6e 64 69 ......................?.newBindi
aee0 6e 67 73 41 72 72 61 79 49 6e 64 65 78 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ngsArrayIndex...................
af00 20 20 20 20 20 20 20 3a 20 63 75 72 72 65 6e 74 42 69 6e 64 69 6e 67 49 6e 64 65 78 3b 0d 0a 20 .......:.currentBindingIndex;...
af20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 72 65 6e 74 41 63 74 69 6f 6e ...................currentAction
af40 2e 6d 5f 43 6f 6e 74 72 6f 6c 53 74 61 72 74 49 6e 64 65 78 20 3d 20 63 75 72 72 65 6e 74 43 6f .m_ControlStartIndex.=.currentCo
af60 6e 74 72 6f 6c 49 6e 64 65 78 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ntrolIndex;.....................
af80 20 20 20 2f 2f 20 43 6f 6c 6c 65 63 74 20 61 6c 6c 20 62 69 6e 64 69 6e 67 73 20 66 6f 72 20 74 ...//.Collect.all.bindings.for.t
afa0 68 65 20 61 63 74 69 6f 6e 2e 20 41 73 20 70 61 72 74 20 6f 66 20 74 68 61 74 2c 20 61 6c 73 6f he.action..As.part.of.that,.also
afc0 20 63 6f 70 79 20 74 68 65 20 63 6f 6e 74 72 6f 6c 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 .copy.the.controls..............
afe0 20 20 20 20 20 20 20 20 2f 2f 20 66 6f 72 20 65 61 63 68 20 62 69 6e 64 69 6e 67 20 6f 76 65 72 ........//.for.each.binding.over
b000 20 74 6f 20 6d 5f 43 6f 6e 74 72 6f 6c 73 46 6f 72 45 61 63 68 41 63 74 69 6f 6e 2e 0d 0a 20 20 .to.m_ControlsForEachAction.....
b020 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 69 6e 67 43 6f 75 ..................var.bindingCou
b040 6e 74 46 6f 72 43 75 72 72 65 6e 74 41 63 74 69 6f 6e 20 3d 20 63 75 72 72 65 6e 74 41 63 74 69 ntForCurrentAction.=.currentActi
b060 6f 6e 2e 6d 5f 42 69 6e 64 69 6e 67 73 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 on.m_BindingsCount;.............
b080 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
b0a0 6e 74 46 6f 72 43 75 72 72 65 6e 74 41 63 74 69 6f 6e 20 3e 20 30 29 3b 0d 0a 20 20 20 20 20 20 ntForCurrentAction.>.0);........
b0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 73 6f 75 72 63 65 42 69 6e 64 69 6e 67 54 ..............var.sourceBindingT
b0e0 6f 43 6f 70 79 20 3d 20 63 75 72 72 65 6e 74 42 69 6e 64 69 6e 67 49 6e 64 65 78 3b 0d 0a 20 20 oCopy.=.currentBindingIndex;....
b100 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 20 30 ..................for.(var.i.=.0
b120 3b 20 69 20 3c 20 62 69 6e 64 69 6e 67 43 6f 75 6e 74 46 6f 72 43 75 72 72 65 6e 74 41 63 74 69 ;.i.<.bindingCountForCurrentActi
b140 6f 6e 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 7b 0d on;.++i)......................{.
b160 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 53 65 65 20 .........................//.See.
b180 69 66 20 77 65 27 76 65 20 63 6f 6d 65 20 61 63 72 6f 73 73 20 61 20 62 69 6e 64 69 6e 67 20 74 if.we've.come.across.a.binding.t
b1a0 68 61 74 20 64 6f 65 73 6e 27 74 20 62 65 6c 6f 6e 67 20 74 6f 20 6f 75 72 20 63 75 72 72 65 6e hat.doesn't.belong.to.our.curren
b1c0 74 6c 79 20 6c 6f 6f 6b 65 64 20 61 74 20 61 63 74 69 6f 6e 2e 0d 0a 20 20 20 20 20 20 20 20 20 tly.looked.at.action............
b1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 46 69 6e 64 41 63 74 69 6f 6e 28 6d 5f ...............if.(FindAction(m_
b200 42 69 6e 64 69 6e 67 73 5b 73 6f 75 72 63 65 42 69 6e 64 69 6e 67 54 6f 43 6f 70 79 5d 2e 61 63 Bindings[sourceBindingToCopy].ac
b220 74 69 6f 6e 29 20 21 3d 20 63 75 72 72 65 6e 74 41 63 74 69 6f 6e 29 0d 0a 20 20 20 20 20 20 20 tion).!=.currentAction).........
b240 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 .................{..............
b260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 59 65 73 2c 20 77 65 20 68 61 76 65 2e ................//.Yes,.we.have.
b280 20 4d 65 61 6e 73 20 74 68 65 20 62 69 6e 64 69 6e 67 73 20 66 6f 72 20 6f 75 72 20 61 63 74 69 .Means.the.bindings.for.our.acti
b2a0 6f 6e 73 20 61 72 65 20 73 63 61 74 74 65 72 65 64 20 69 6e 20 6d 5f 42 69 6e 64 69 6e 67 73 20 ons.are.scattered.in.m_Bindings.
b2c0 61 6e 64 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 and.............................
b2e0 20 2f 2f 20 77 65 20 6e 65 65 64 20 74 6f 20 63 6f 6c 6c 65 63 74 20 74 68 65 6d 2e 0d 0a 0d 0a .//.we.need.to.collect.them.....
b300 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 2f 2f 20 49 ............................//.I
b320 66 20 74 68 69 73 20 69 73 20 74 68 65 20 66 69 72 73 74 20 61 63 74 69 6f 6e 20 74 68 61 74 20 f.this.is.the.first.action.that.
b340 68 61 73 20 69 74 73 20 62 69 6e 64 69 6e 67 73 20 73 63 61 74 74 65 72 65 64 20 61 72 6f 75 6e has.its.bindings.scattered.aroun
b360 64 2c 20 73 77 69 74 63 68 20 74 6f 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d,.switch.to....................
b380 20 20 20 20 20 20 20 20 20 20 2f 2f 20 68 61 76 69 6e 67 20 61 20 73 65 70 61 72 61 74 65 20 62 ..........//.having.a.separate.b
b3a0 69 6e 64 69 6e 67 73 20 61 72 72 61 79 20 61 6e 64 20 63 6f 70 79 20 77 68 61 74 65 76 65 72 20 indings.array.and.copy.whatever.
b3c0 62 69 6e 64 69 6e 67 73 20 77 65 20 61 6c 72 65 61 64 79 20 70 72 6f 63 65 73 73 65 64 0d 0a 20 bindings.we.already.processed...
b3e0 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 2f 2f 20 6f 76 ...........................//.ov
b400 65 72 20 74 6f 20 69 74 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 er.to.it........................
b420 20 20 20 20 20 20 20 69 66 20 28 6e 65 77 42 69 6e 64 69 6e 67 73 41 72 72 61 79 20 3d 3d 20 6e .......if.(newBindingsArray.==.n
b440 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 20 20 20 20 20 20 ull)............................
b460 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 ..{.............................
b480 20 20 20 20 20 6e 65 77 42 69 6e 64 69 6e 67 73 41 72 72 61 79 20 3d 20 6e 65 77 20 49 6e 70 75 .....newBindingsArray.=.new.Inpu
b4a0 74 42 69 6e 64 69 6e 67 5b 6d 5f 42 69 6e 64 69 6e 67 73 2e 4c 65 6e 67 74 68 5d 3b 0d 0a 20 20 tBinding[m_Bindings.Length];....
b4c0 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 6e 65 ..............................ne
b4e0 77 42 69 6e 64 69 6e 67 73 41 72 72 61 79 49 6e 64 65 78 20 3d 20 73 6f 75 72 63 65 42 69 6e 64 wBindingsArrayIndex.=.sourceBind
b500 69 6e 67 54 6f 43 6f 70 79 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ingToCopy;......................
b520 20 20 20 20 20 20 20 20 20 20 20 20 41 72 72 61 79 2e 43 6f 70 79 28 6d 5f 42 69 6e 64 69 6e 67 ............Array.Copy(m_Binding
b540 73 2c 20 30 2c 20 6e 65 77 42 69 6e 64 69 6e 67 73 41 72 72 61 79 2c 20 30 2c 20 73 6f 75 72 63 s,.0,.newBindingsArray,.0,.sourc
b560 65 42 69 6e 64 69 6e 67 54 6f 43 6f 70 79 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 eBindingToCopy);................
b580 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 ..............}.................
b5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 46 69 6e 64 20 74 68 65 20 6e 65 78 74 20 ...............//.Find.the.next.
b5c0 62 69 6e 64 69 6e 67 20 62 65 6c 6f 6e 67 69 6e 67 20 74 6f 20 74 68 65 20 61 63 74 69 6f 6e 2e binding.belonging.to.the.action.
b5e0 20 57 65 27 76 65 20 63 6f 75 6e 74 65 64 20 62 69 6e 64 69 6e 67 73 20 66 6f 72 0d 0a 20 20 20 .We've.counted.bindings.for.....
b600 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 2f 2f 20 74 68 65 20 .........................//.the.
b620 61 63 74 69 6f 6e 20 69 6e 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 70 61 73 73 20 73 6f 20 77 action.in.the.previous.pass.so.w
b640 65 20 6b 6e 6f 77 20 65 78 61 63 74 6c 79 20 68 6f 77 20 6d 61 6e 79 20 62 69 6e 64 69 6e 67 73 e.know.exactly.how.many.bindings
b660 20 77 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 20 20 20 .we.............................
b680 20 2f 2f 20 63 61 6e 20 65 78 70 65 63 74 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .//.can.expect..................
b6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............do.................
b6c0 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 .............{..................
b6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2b 2b 73 6f 75 72 63 65 42 69 6e 64 69 6e 67 54 ................++sourceBindingT
b700 6f 43 6f 70 79 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 oCopy;..........................
b720 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 73 6f 75 72 63 65 42 69 6e 64 69 ........Debug.Assert(sourceBindi
b740 6e 67 54 6f 43 6f 70 79 20 3c 20 6d 5f 42 69 6e 64 69 6e 67 73 2e 4c 65 6e 67 74 68 29 3b 0d 0a ngToCopy.<.m_Bindings.Length);..
b760 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 0a 20 ............................}...
b780 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 77 68 69 6c 65 ...........................while
b7a0 20 28 46 69 6e 64 41 63 74 69 6f 6e 28 6d 5f 42 69 6e 64 69 6e 67 73 5b 73 6f 75 72 63 65 42 69 .(FindAction(m_Bindings[sourceBi
b7c0 6e 64 69 6e 67 54 6f 43 6f 70 79 5d 2e 61 63 74 69 6f 6e 29 20 21 3d 20 63 75 72 72 65 6e 74 41 ndingToCopy].action).!=.currentA
b7e0 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 20 20 20 20 20 ction);.........................
b800 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 65 6c 73 65 .}..........................else
b820 20 69 66 20 28 63 75 72 72 65 6e 74 42 69 6e 64 69 6e 67 49 6e 64 65 78 20 3d 3d 20 73 6f 75 72 .if.(currentBindingIndex.==.sour
b840 63 65 42 69 6e 64 69 6e 67 54 6f 43 6f 70 79 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ceBindingToCopy)................
b860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2b 2b 63 75 72 72 65 6e 74 42 69 6e 64 69 6e 67 49 6e ..............++currentBindingIn
b880 64 65 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 dex;............................
b8a0 2f 2f 20 43 6f 70 79 20 62 69 6e 64 69 6e 67 20 6f 76 65 72 20 74 6f 20 6e 65 77 20 62 69 6e 64 //.Copy.binding.over.to.new.bind
b8c0 69 6e 67 73 20 61 72 72 61 79 2c 20 69 66 20 6e 65 65 64 20 62 65 2e 0d 0a 20 20 20 20 20 20 20 ings.array,.if.need.be..........
b8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6e 65 77 42 69 6e 64 69 6e 67 73 .................if.(newBindings
b900 41 72 72 61 79 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 Array.!=.null)..................
b920 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 42 69 6e 64 69 6e 67 73 41 72 72 61 79 5b 6e 65 77 ............newBindingsArray[new
b940 42 69 6e 64 69 6e 67 73 41 72 72 61 79 49 6e 64 65 78 2b 2b 5d 20 3d 20 6d 5f 42 69 6e 64 69 6e BindingsArrayIndex++].=.m_Bindin
b960 67 73 5b 73 6f 75 72 63 65 42 69 6e 64 69 6e 67 54 6f 43 6f 70 79 5d 3b 0d 0a 0d 0a 20 20 20 20 gs[sourceBindingToCopy];........
b980 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 70 79 20 63 6f 6e 74 ....................//.Copy.cont
b9a0 72 6f 6c 73 20 66 6f 72 20 62 69 6e 64 69 6e 67 2c 20 69 66 20 77 65 20 68 61 76 65 20 72 65 73 rols.for.binding,.if.we.have.res
b9c0 6f 6c 76 65 64 20 63 6f 6e 74 72 6f 6c 73 20 61 6c 72 65 61 64 79 20 61 6e 64 20 69 66 20 74 68 olved.controls.already.and.if.th
b9e0 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 2f 2f 20 62 69 e..........................//.bi
ba00 6e 64 69 6e 67 20 69 73 6e 27 74 20 61 20 63 6f 6d 70 6f 73 69 74 65 20 28 74 68 65 79 20 72 65 nding.isn't.a.composite.(they.re
ba20 66 65 72 20 74 6f 20 74 68 65 20 63 6f 6e 74 72 6f 6c 73 20 66 72 6f 6d 20 61 6c 6c 20 6f 66 20 fer.to.the.controls.from.all.of.
ba40 74 68 65 69 72 20 70 61 72 74 20 62 69 6e 64 69 6e 67 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 their.part.bindings.............
ba60 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 62 75 74 20 64 6f 20 6e 6f 74 20 72 65 61 6c 6c .............//.but.do.not.reall
ba80 79 20 72 65 73 6f 6c 76 65 20 74 6f 20 63 6f 6e 74 72 6f 6c 73 20 74 68 65 6d 73 65 6c 76 65 73 y.resolve.to.controls.themselves
baa0 29 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 69 66 20 28 )...........................if.(
bac0 6d 5f 53 74 61 74 65 20 21 3d 20 6e 75 6c 6c 20 26 26 20 21 6d 5f 42 69 6e 64 69 6e 67 73 5b 73 m_State.!=.null.&&.!m_Bindings[s
bae0 6f 75 72 63 65 42 69 6e 64 69 6e 67 54 6f 43 6f 70 79 5d 2e 69 73 43 6f 6d 70 6f 73 69 74 65 29 ourceBindingToCopy].isComposite)
bb00 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 20 20 20 ..........................{.....
bb20 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 63 6f 6e .........................var.con
bb40 74 72 6f 6c 43 6f 75 6e 74 46 6f 72 42 69 6e 64 69 6e 67 20 3d 20 6d 5f 53 74 61 74 65 0d 0a 20 trolCountForBinding.=.m_State...
bb60 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 2e ................................
bb80 62 69 6e 64 69 6e 67 53 74 61 74 65 73 5b 6d 61 70 49 6e 64 69 63 65 73 2e 62 69 6e 64 69 6e 67 bindingStates[mapIndices.binding
bba0 53 74 61 72 74 49 6e 64 65 78 20 2b 20 73 6f 75 72 63 65 42 69 6e 64 69 6e 67 54 6f 43 6f 70 79 StartIndex.+.sourceBindingToCopy
bbc0 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 20 20 20 ].controlCount;.................
bbe0 20 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 46 6f 72 .............if.(controlCountFor
bc00 42 69 6e 64 69 6e 67 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 Binding.>.0)....................
bc20 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 ..........{.....................
bc40 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 72 61 79 2e 43 6f 70 79 28 6d 5f 53 74 61 74 65 2e .............Array.Copy(m_State.
bc60 63 6f 6e 74 72 6f 6c 73 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 controls,.......................
bc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 53 74 61 74 65 2e 62 69 6e 64 69 6e 67 53 74 ...............m_State.bindingSt
bca0 61 74 65 73 5b 6d 61 70 49 6e 64 69 63 65 73 2e 62 69 6e 64 69 6e 67 53 74 61 72 74 49 6e 64 65 ates[mapIndices.bindingStartInde
bcc0 78 20 2b 20 73 6f 75 72 63 65 42 69 6e 64 69 6e 67 54 6f 43 6f 70 79 5d 0d 0a 20 20 20 20 20 20 x.+.sourceBindingToCopy]........
bce0 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 20 ................................
bd00 20 20 2e 63 6f 6e 74 72 6f 6c 53 74 61 72 74 49 6e 64 65 78 2c 0d 0a 20 20 20 20 20 20 20 20 20 ...controlStartIndex,...........
bd20 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 6d 5f 43 6f 6e ...........................m_Con
bd40 74 72 6f 6c 73 46 6f 72 45 61 63 68 41 63 74 69 6f 6e 2c 20 63 75 72 72 65 6e 74 43 6f 6e 74 72 trolsForEachAction,.currentContr
bd60 6f 6c 49 6e 64 65 78 2c 20 63 6f 6e 74 72 6f 6c 43 6f 75 6e 74 46 6f 72 42 69 6e 64 69 6e 67 29 olIndex,.controlCountForBinding)
bd80 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 20 20 20 ;...............................
bda0 20 20 20 20 20 63 75 72 72 65 6e 74 43 6f 6e 74 72 6f 6c 49 6e 64 65 78 20 2b 3d 20 63 6f 6e 74 .....currentControlIndex.+=.cont
bdc0 72 6f 6c 43 6f 75 6e 74 46 6f 72 42 69 6e 64 69 6e 67 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 rolCountForBinding;.............
bde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 72 65 6e 74 41 63 74 69 .....................currentActi
be00 6f 6e 2e 6d 5f 43 6f 6e 74 72 6f 6c 43 6f 75 6e 74 20 2b 3d 20 63 6f 6e 74 72 6f 6c 43 6f 75 6e on.m_ControlCount.+=.controlCoun
be20 74 46 6f 72 42 69 6e 64 69 6e 67 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tForBinding;....................
be40 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 ..........}.....................
be60 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....}..........................
be80 20 20 2b 2b 73 6f 75 72 63 65 42 69 6e 64 69 6e 67 54 6f 43 6f 70 79 3b 0d 0a 20 20 20 20 20 20 ..++sourceBindingToCopy;........
bea0 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 20 20 ..............}.................
bec0 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6e 65 77 42 69 6e .}....................if.(newBin
bee0 64 69 6e 67 73 41 72 72 61 79 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 dingsArray.==.null).............
bf00 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 2f 20 42 .....{......................//.B
bf20 69 6e 64 69 6e 67 73 20 61 72 65 20 61 6c 72 65 61 64 79 20 63 6c 75 73 74 65 72 65 64 20 62 79 indings.are.already.clustered.by
bf40 20 61 63 74 69 6f 6e 20 69 6e 20 6d 5f 42 69 6e 64 69 6e 67 73 0d 0a 20 20 20 20 20 20 20 20 20 .action.in.m_Bindings...........
bf60 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 73 6f 20 77 65 20 63 61 6e 20 6a 75 73 74 20 73 74 69 ...........//.so.we.can.just.sti
bf80 63 6b 20 74 6f 20 68 61 76 69 6e 67 20 6f 6e 65 20 61 72 72 61 79 20 6f 6e 6c 79 2e 0d 0a 20 20 ck.to.having.one.array.only.....
bfa0 20 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 73 46 6f 72 45 ..................m_BindingsForE
bfc0 61 63 68 41 63 74 69 6f 6e 20 3d 20 6d 5f 42 69 6e 64 69 6e 67 73 3b 0d 0a 20 20 20 20 20 20 20 achAction.=.m_Bindings;.........
bfe0 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 65 .........}..................else
c000 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 20 20 ..................{.............
c020 20 20 20 20 20 20 20 20 20 2f 2f 20 42 69 6e 64 69 6e 67 73 20 61 72 65 20 6e 6f 74 20 63 6c 75 .........//.Bindings.are.not.clu
c040 73 74 65 72 65 64 20 62 79 20 61 63 74 69 6f 6e 20 69 6e 20 6d 5f 42 69 6e 64 69 6e 67 73 20 73 stered.by.action.in.m_Bindings.s
c060 6f 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 77 65 20 68 61 64 o......................//.we.had
c080 20 74 6f 20 61 6c 6c 6f 63 61 74 65 20 61 20 73 65 70 61 72 61 74 65 20 61 72 72 61 79 20 77 68 .to.allocate.a.separate.array.wh
c0a0 65 72 65 20 74 68 65 20 62 69 6e 64 69 6e 67 73 20 61 72 65 20 73 6f 72 74 65 64 2e 0d 0a 20 20 ere.the.bindings.are.sorted.....
c0c0 20 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 73 46 6f 72 45 ..................m_BindingsForE
c0e0 61 63 68 41 63 74 69 6f 6e 20 3d 20 6e 65 77 42 69 6e 64 69 6e 67 73 41 72 72 61 79 3b 0d 0a 20 achAction.=.newBindingsArray;...
c100 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 0d ...............}..............}.
c120 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 54 4f 44 4f 3a 20 .........}............////TODO:.
c140 72 65 2d 75 73 65 20 61 6c 6c 6f 63 61 74 69 6f 6e 73 20 73 75 63 68 20 74 68 61 74 20 6f 6e 6c re-use.allocations.such.that.onl
c160 79 20 67 72 6f 77 20 74 68 65 20 61 72 72 61 79 73 20 61 6e 64 20 68 69 74 20 7a 65 72 6f 20 47 y.grow.the.arrays.and.hit.zero.G
c180 43 20 61 6c 6c 6f 63 73 20 77 68 65 6e 20 77 65 20 61 6c 72 65 61 64 79 20 68 61 76 65 20 65 6e C.allocs.when.we.already.have.en
c1a0 6f 75 67 68 20 6d 65 6d 6f 72 79 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 76 6f ough.memory..........internal.vo
c1c0 69 64 20 43 6c 65 61 72 50 65 72 41 63 74 69 6f 6e 43 61 63 68 65 64 42 69 6e 64 69 6e 67 44 61 id.ClearPerActionCachedBindingDa
c1e0 74 61 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 6d 5f 42 ta()..........{..............m_B
c200 69 6e 64 69 6e 67 73 46 6f 72 45 61 63 68 41 63 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0d 0a 20 20 indingsForEachAction.=.null;....
c220 20 20 20 20 20 20 20 20 20 20 6d 5f 43 6f 6e 74 72 6f 6c 73 46 6f 72 45 61 63 68 41 63 74 69 6f ..........m_ControlsForEachActio
c240 6e 20 3d 20 6e 75 6c 6c 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 n.=.null;..........}............
c260 69 6e 74 65 72 6e 61 6c 20 76 6f 69 64 20 47 65 6e 65 72 61 74 65 49 64 28 29 0d 0a 20 20 20 20 internal.void.GenerateId()......
c280 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 49 64 20 3d 20 47 75 69 64 2e 4e ....{..............m_Id.=.Guid.N
c2a0 65 77 47 75 69 64 28 29 2e 54 6f 53 74 72 69 6e 67 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d ewGuid().ToString();..........}.
c2c0 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>........
c2e0 20 20 2f 2f 2f 20 52 65 73 6f 6c 76 65 20 62 69 6e 64 69 6e 67 73 20 72 69 67 68 74 20 61 77 61 ..///.Resolve.bindings.right.awa
c300 79 20 69 66 20 77 65 20 68 61 76 65 20 74 6f 2e 20 4f 74 68 65 72 77 69 73 65 20 64 65 66 65 72 y.if.we.have.to..Otherwise.defer
c320 20 69 74 20 74 6f 20 77 68 65 6e 20 77 65 20 6e 65 78 74 20 6e 65 65 64 0d 0a 20 20 20 20 20 20 .it.to.when.we.next.need........
c340 20 20 2f 2f 2f 20 74 68 65 20 62 69 6e 64 69 6e 67 73 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f ..///.the.bindings...........///
c360 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 62 6f .</summary>..........internal.bo
c380 6f 6c 20 4c 61 7a 79 52 65 73 6f 6c 76 65 42 69 6e 64 69 6e 67 73 28 29 0d 0a 20 20 20 20 20 20 ol.LazyResolveBindings()........
c3a0 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 43 6c 65 61 72 20 63 61 63 68 65 64 ..{..............//.Clear.cached
c3c0 20 63 6f 6e 74 72 6f 6c 73 20 66 6f 72 20 61 63 74 69 6f 6e 73 2e 20 44 6f 6e 27 74 20 6e 65 65 .controls.for.actions..Don't.nee
c3e0 64 20 74 6f 20 6e 65 63 65 73 73 61 72 69 6c 79 20 63 6c 65 61 72 20 6d 5f 42 69 6e 64 69 6e 67 d.to.necessarily.clear.m_Binding
c400 73 46 6f 72 45 61 63 68 41 63 74 69 6f 6e 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 43 sForEachAction...............m_C
c420 6f 6e 74 72 6f 6c 73 46 6f 72 45 61 63 68 41 63 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0d 0a 0d 0a ontrolsForEachAction.=.null;....
c440 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 6e 27 74 20 68 61 64 ............//.If.we.haven't.had
c460 20 74 6f 20 72 65 73 6f 6c 76 65 20 62 69 6e 64 69 6e 67 73 20 79 65 74 2c 20 77 65 20 63 61 6e .to.resolve.bindings.yet,.we.can
c480 20 77 61 69 74 20 75 6e 74 69 6c 20 77 68 65 6e 20 77 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 .wait.until.when.we.............
c4a0 20 2f 2f 20 61 63 74 75 61 6c 6c 79 20 68 61 76 65 20 74 6f 2e 0d 0a 20 20 20 20 20 20 20 20 20 .//.actually.have.to............
c4c0 20 20 20 69 66 20 28 6d 5f 53 74 61 74 65 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 ...if.(m_State.==.null).........
c4e0 20 20 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 .........return.false;..........
c500 20 20 20 20 20 20 2f 2f 20 57 65 20 75 73 65 64 20 74 6f 20 64 65 66 65 72 20 62 69 6e 64 69 6e ......//.We.used.to.defer.bindin
c520 67 20 72 65 73 6f 6c 75 74 69 6f 6e 20 68 65 72 65 20 69 6e 20 63 61 73 65 20 74 68 65 20 6d 61 g.resolution.here.in.case.the.ma
c540 70 20 68 61 64 20 6e 6f 20 65 6e 61 62 6c 65 64 20 61 63 74 69 6f 6e 73 2e 20 54 68 61 74 20 62 p.had.no.enabled.actions..That.b
c560 65 68 61 76 69 6f 72 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 68 6f 77 65 76 65 72 ehavior,..............//.however
c580 2c 20 6c 65 61 64 73 20 74 6f 20 72 61 74 68 65 72 20 75 6e 70 72 65 64 69 63 74 61 62 6c 65 20 ,.leads.to.rather.unpredictable.
c5a0 42 6f 75 6e 64 43 6f 6e 74 72 6f 6c 73 43 68 61 6e 67 65 64 20 6e 6f 74 69 66 69 63 61 74 69 6f BoundControlsChanged.notificatio
c5c0 6e 73 20 28 65 73 70 65 63 69 61 6c 6c 79 20 66 6f 72 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ns.(especially.for..............
c5e0 2f 2f 20 72 65 62 69 6e 64 69 6e 67 20 55 49 73 29 2c 20 73 6f 20 6e 6f 77 20 77 65 20 6a 75 73 //.rebinding.UIs),.so.now.we.jus
c600 74 20 61 6c 77 61 79 73 20 72 65 2d 72 65 73 6f 6c 76 65 20 61 6e 79 74 68 69 6e 67 20 74 68 61 t.always.re-resolve.anything.tha
c620 74 20 65 76 65 72 20 68 61 64 20 61 6e 20 49 6e 70 75 74 41 63 74 69 6f 6e 53 74 61 74 65 0d 0a t.ever.had.an.InputActionState..
c640 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 63 72 65 61 74 65 64 2e 20 55 6e 66 6f 72 74 75 6e ............//.created..Unfortun
c660 61 74 65 6c 79 2c 20 74 68 69 73 20 63 61 6e 20 6c 65 61 64 20 74 6f 20 73 6f 6d 65 20 75 6e 6e ately,.this.can.lead.to.some.unn
c680 65 63 65 73 73 61 72 79 20 72 65 2d 72 65 73 6f 6c 76 69 6e 67 2e 0d 0a 0d 0a 20 20 20 20 20 20 ecessary.re-resolving...........
c6a0 20 20 20 20 20 20 69 66 20 28 73 5f 44 65 66 65 72 42 69 6e 64 69 6e 67 52 65 73 6f 6c 75 74 69 ......if.(s_DeferBindingResoluti
c6c0 6f 6e 20 3e 20 30 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 on.>.0)..............{..........
c6e0 20 20 20 20 20 20 20 20 6d 5f 4e 65 65 64 54 6f 52 65 73 6f 6c 76 65 42 69 6e 64 69 6e 67 73 20 ........m_NeedToResolveBindings.
c700 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 72 65 74 75 72 6e 20 =.true;..................return.
c720 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 20 20 20 false;..............}...........
c740 20 20 20 20 20 2f 2f 20 48 61 76 65 20 74 6f 20 64 6f 20 69 74 20 73 74 72 61 69 67 68 74 20 61 .....//.Have.to.do.it.straight.a
c760 77 61 79 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 52 65 73 6f 6c 76 65 42 69 6e 64 69 6e 67 way...............ResolveBinding
c780 73 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0d 0a s();..............return.true;..
c7a0 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
c7c0 69 64 20 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 0d id.ResolveBindingsIfNecessary().
c7e0 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 20 4e 4f 54 45 3a .........{..............//.NOTE:
c800 20 57 65 20 6f 6e 6c 79 20 63 68 65 63 6b 20 6c 6f 63 61 6c 6c 79 20 66 6f 72 20 74 68 65 20 63 .We.only.check.locally.for.the.c
c820 75 72 72 65 6e 74 20 6d 61 70 20 68 65 72 65 2e 20 57 68 65 6e 20 74 68 65 72 65 20 61 72 65 20 urrent.map.here..When.there.are.
c840 6d 75 6c 74 69 70 6c 65 20 6d 61 70 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 20 20 multiple.maps..............//...
c860 20 20 20 20 69 6e 20 61 6e 20 61 73 73 65 74 2c 20 77 65 20 6d 61 79 20 68 61 76 65 20 6d 61 70 ....in.an.asset,.we.may.have.map
c880 73 20 74 68 61 74 20 72 65 71 75 69 72 65 20 72 65 2d 72 65 73 6f 6c 75 74 69 6f 6e 20 77 68 69 s.that.require.re-resolution.whi
c8a0 6c 65 20 6f 74 68 65 72 73 20 64 6f 6e 27 74 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f le.others.don't...............//
c8c0 20 20 20 20 20 20 20 57 65 20 6f 6e 6c 79 20 72 65 73 6f 6c 76 65 20 69 66 20 61 20 6d 61 70 20 .......We.only.resolve.if.a.map.
c8e0 69 73 20 75 73 65 64 20 74 68 61 74 20 6e 65 65 64 73 20 72 65 73 6f 6c 75 74 69 6f 6e 20 74 6f is.used.that.needs.resolution.to
c900 20 68 61 70 70 65 6e 2e 20 4e 6f 74 65 20 74 68 61 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 .happen..Note.that..............
c920 2f 2f 20 20 20 20 20 20 20 74 68 69 73 20 77 69 6c 6c 20 73 74 69 6c 6c 20 72 65 73 6f 6c 76 65 //.......this.will.still.resolve
c940 20 62 69 6e 64 69 6e 67 73 20 66 6f 72 20 2a 61 6c 6c 2a 20 6d 61 70 73 20 69 6e 20 74 68 65 20 .bindings.for.*all*.maps.in.the.
c960 61 73 73 65 74 2e 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 53 74 61 74 asset.................if.(m_Stat
c980 65 20 3d 3d 20 6e 75 6c 6c 20 7c 7c 20 6d 5f 4e 65 65 64 54 6f 52 65 73 6f 6c 76 65 42 69 6e 64 e.==.null.||.m_NeedToResolveBind
c9a0 69 6e 67 73 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 73 6f 6c 76 65 42 69 ings)..................ResolveBi
c9c0 6e 64 69 6e 67 73 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 ndings();..........}............
c9e0 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 73 6f 6c ///.<summary>..........///.Resol
ca00 76 65 20 61 6c 6c 20 62 69 6e 64 69 6e 67 73 20 74 6f 20 74 68 65 69 72 20 63 6f 6e 74 72 6f 6c ve.all.bindings.to.their.control
ca20 73 20 61 6e 64 20 61 6c 73 6f 20 61 64 64 20 61 6e 79 20 61 63 74 69 6f 6e 20 69 6e 74 65 72 61 s.and.also.add.any.action.intera
ca40 63 74 69 6f 6e 73 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 66 72 6f 6d 20 74 68 65 20 62 69 6e ctions..........///.from.the.bin
ca60 64 69 6e 67 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 dings...........///.</summary>..
ca80 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 2f ........///.<remarks>........../
caa0 2f 2f 20 54 68 69 73 20 69 73 20 74 68 65 20 63 6f 72 65 20 6d 65 74 68 6f 64 20 6f 66 20 61 63 //.This.is.the.core.method.of.ac
cac0 74 69 6f 6e 20 62 69 6e 64 69 6e 67 20 72 65 73 6f 6c 75 74 69 6f 6e 2e 20 41 6c 6c 20 62 69 6e tion.binding.resolution..All.bin
cae0 64 69 6e 67 20 72 65 73 6f 6c 75 74 69 6f 6e 20 67 6f 65 73 20 74 68 72 6f 75 67 68 20 68 65 72 ding.resolution.goes.through.her
cb00 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 65 e...........///..........///.The
cb20 20 62 65 73 74 20 77 61 79 20 69 73 20 66 6f 72 20 62 69 6e 64 69 6e 67 20 72 65 73 6f 6c 75 74 .best.way.is.for.binding.resolut
cb40 69 6f 6e 20 74 6f 20 68 61 70 70 65 6e 20 6f 6e 63 65 20 66 6f 72 20 65 61 63 68 20 61 63 74 69 ion.to.happen.once.for.each.acti
cb60 6f 6e 20 6d 61 70 20 61 74 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 67 on.map.at.the.beginning.of.the.g
cb80 61 6d 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 61 6e 64 20 74 6f 20 74 68 65 6e 20 65 6e 61 ame..........///.and.to.then.ena
cba0 62 6c 65 20 61 6e 64 20 64 69 73 61 62 6c 65 20 74 68 65 20 6d 61 70 73 20 61 73 20 6e 65 65 64 ble.and.disable.the.maps.as.need
cbc0 65 64 2e 20 48 6f 77 65 76 65 72 2c 20 74 68 65 20 73 79 73 74 65 6d 20 77 69 6c 6c 20 61 6c 73 ed..However,.the.system.will.als
cbe0 6f 20 72 65 2d 72 65 73 6f 6c 76 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 62 69 6e 64 69 6e o.re-resolve..........///.bindin
cc00 67 73 20 69 66 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 gs.if.the.control.setup.in.the.s
cc20 79 73 74 65 6d 20 63 68 61 6e 67 65 73 20 28 69 2e 65 2e 20 69 66 20 64 65 76 69 63 65 73 20 61 ystem.changes.(i.e..if.devices.a
cc40 72 65 20 61 64 64 65 64 20 6f 72 20 72 65 6d 6f 76 65 64 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f re.added.or.removed..........///
cc60 20 6f 72 20 69 66 20 6c 61 79 6f 75 74 73 20 69 6e 20 74 68 65 20 73 79 73 74 65 6d 20 61 72 65 .or.if.layouts.in.the.system.are
cc80 20 63 68 61 6e 67 65 64 29 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 20 20 20 .changed)...........///.........
cca0 20 2f 2f 2f 20 42 69 6e 64 69 6e 67 73 20 63 61 6e 20 62 65 20 72 65 2d 72 65 73 6f 6c 76 65 64 .///.Bindings.can.be.re-resolved
ccc0 20 77 68 69 6c 65 20 61 63 74 69 6f 6e 73 20 61 72 65 20 65 6e 61 62 6c 65 64 2e 20 54 68 69 73 .while.actions.are.enabled..This
cce0 20 68 61 70 70 65 6e 73 20 63 68 61 6e 67 69 6e 67 20 64 65 76 69 63 65 20 6f 72 20 62 69 6e 64 .happens.changing.device.or.bind
cd00 69 6e 67 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 6d 61 73 6b 73 20 6f 6e 20 61 63 74 69 6f 6e ing..........///.masks.on.action
cd20 20 6d 61 70 73 20 6f 72 20 61 73 73 65 74 73 20 28 3c 73 65 65 20 63 72 65 66 3d 22 64 65 76 69 .maps.or.assets.(<see.cref="devi
cd40 63 65 73 22 2f 3e 2c 20 3c 73 65 65 20 63 72 65 66 3d 22 62 69 6e 64 69 6e 67 4d 61 73 6b 22 2f ces"/>,.<see.cref="bindingMask"/
cd60 3e 2c 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 41 63 74 69 6f 6e 2e 62 69 6e 64 69 6e >,.<see.cref="InputAction.bindin
cd80 67 4d 61 73 6b 22 2f 3e 2c 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 20 63 72 65 66 gMask"/>,..........///.<see.cref
cda0 3d 22 49 6e 70 75 74 41 63 74 69 6f 6e 41 73 73 65 74 2e 64 65 76 69 63 65 73 22 2f 3e 2c 20 3c ="InputActionAsset.devices"/>,.<
cdc0 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 41 63 74 69 6f 6e 41 73 73 65 74 2e 62 69 6e 64 69 see.cref="InputActionAsset.bindi
cde0 6e 67 4d 61 73 6b 22 2f 3e 29 2e 20 57 68 65 6e 20 74 68 69 73 20 68 61 70 70 65 6e 73 2c 0d 0a ngMask"/>)..When.this.happens,..
ce00 20 20 20 20 20 20 20 20 2f 2f 2f 20 77 65 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 64 69 73 61 62 ........///.we.temporarily.disab
ce20 6c 65 20 61 6e 64 20 74 68 65 6e 20 72 65 65 6e 61 62 6c 65 20 61 63 74 69 6f 6e 73 2e 20 4e 6f le.and.then.reenable.actions..No
ce40 74 65 20 74 68 61 74 20 74 68 69 73 20 69 73 20 76 69 73 69 62 6c 65 20 74 6f 20 6f 62 73 65 72 te.that.this.is.visible.to.obser
ce60 76 65 72 73 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 vers...........///.</remarks>...
ce80 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 76 6f 69 64 20 52 65 73 6f 6c 76 65 42 69 6e 64 .......internal.void.ResolveBind
cea0 69 6e 67 73 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 2f ings()..........{............../
cec0 2f 20 49 6e 20 63 61 73 65 20 77 65 20 68 61 76 65 20 61 63 74 69 6f 6e 73 20 74 68 61 74 20 61 /.In.case.we.have.actions.that.a
cee0 72 65 20 63 75 72 72 65 6e 74 6c 79 20 65 6e 61 62 6c 65 64 2c 20 77 65 20 74 65 6d 70 6f 72 61 re.currently.enabled,.we.tempora
cf00 72 69 6c 79 20 72 65 74 61 69 6e 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 rily.retain.the..............//.
cf20 55 6e 6d 61 6e 61 67 65 64 4d 65 6d 6f 72 79 20 6f 66 20 6f 75 72 20 49 6e 70 75 74 41 63 74 69 UnmanagedMemory.of.our.InputActi
cf40 6f 6e 53 74 61 74 65 20 73 6f 20 74 68 61 74 20 77 65 20 63 61 6e 20 73 79 6e 63 20 61 63 74 69 onState.so.that.we.can.sync.acti
cf60 6f 6e 20 73 74 61 74 65 73 20 61 66 74 65 72 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 on.states.after..............//.
cf80 77 65 20 68 61 76 65 20 72 65 2d 72 65 73 6f 6c 76 65 64 20 62 69 6e 64 69 6e 67 73 2e 0d 0a 20 we.have.re-resolved.bindings....
cfa0 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 74 65 6d 70 4d 65 6d 6f 72 79 20 3d 20 6e 65 77 20 ...........var.tempMemory.=.new.
cfc0 49 6e 70 75 74 41 63 74 69 6f 6e 53 74 61 74 65 2e 55 6e 6d 61 6e 61 67 65 64 4d 65 6d 6f 72 79 InputActionState.UnmanagedMemory
cfe0 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 72 79 0d 0a 20 20 20 20 20 20 20 20 20 20 ();..............try............
d000 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 6e 65 4f 72 4d 6f 72 65 3c 49 ..{..................OneOrMore<I
d020 6e 70 75 74 41 63 74 69 6f 6e 4d 61 70 2c 20 52 65 61 64 4f 6e 6c 79 41 72 72 61 79 3c 49 6e 70 nputActionMap,.ReadOnlyArray<Inp
d040 75 74 41 63 74 69 6f 6e 4d 61 70 3e 3e 20 61 63 74 69 6f 6e 4d 61 70 73 3b 0d 0a 0d 0a 20 20 20 utActionMap>>.actionMaps;.......
d060 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 53 74 61 72 74 20 72 65 73 6f 6c 76 69 6e 67 2e .............//.Start.resolving.
d080 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 72 65 73 6f 6c 76 65 72 20 3d ..................var.resolver.=
d0a0 20 6e 65 77 20 49 6e 70 75 74 42 69 6e 64 69 6e 67 52 65 73 6f 6c 76 65 72 28 29 3b 0d 0a 0d 0a .new.InputBindingResolver();....
d0c0 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 70 61 72 74 ................//.If.we're.part
d0e0 20 6f 66 20 61 6e 20 61 73 73 65 74 2c 20 77 65 20 73 68 61 72 65 20 73 74 61 74 65 20 61 6e 64 .of.an.asset,.we.share.state.and
d100 20 74 68 75 73 20 62 69 6e 64 69 6e 67 20 72 65 73 6f 6c 75 74 69 6f 6e 20 77 69 74 68 0d 0a 20 .thus.binding.resolution.with...
d120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 61 6c 6c 20 6d 61 70 73 20 69 6e 20 74 68 ...............//.all.maps.in.th
d140 65 20 61 73 73 65 74 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f e.asset...................if.(m_
d160 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 20 20 20 20 20 20 20 Asset.!=.null)..................
d180 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 69 6f 6e 4d 61 70 {......................actionMap
d1a0 73 20 3d 20 6d 5f 41 73 73 65 74 2e 61 63 74 69 6f 6e 4d 61 70 73 3b 0d 0a 20 20 20 20 20 20 20 s.=.m_Asset.actionMaps;.........
d1c0 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 6f 6e .............Debug.Assert(action
d1e0 4d 61 70 73 2e 43 6f 75 6e 74 20 3e 20 30 2c 20 22 41 73 73 65 74 20 72 65 66 65 72 72 65 64 20 Maps.Count.>.0,."Asset.referred.
d200 74 6f 20 62 79 20 61 63 74 69 6f 6e 20 6d 61 70 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 61 to.by.action.map.does.not.have.a
d220 63 74 69 6f 6e 20 6d 61 70 73 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ction.maps");...................
d240 20 20 20 20 20 2f 2f 20 49 66 20 74 68 65 72 65 27 73 20 61 20 62 69 6e 64 69 6e 67 20 6d 61 73 .....//.If.there's.a.binding.mas
d260 6b 20 73 65 74 20 6f 6e 20 74 68 65 20 61 73 73 65 74 2c 20 61 70 70 6c 79 20 69 74 2e 0d 0a 20 k.set.on.the.asset,.apply.it....
d280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 6f 6c 76 65 72 2e 62 69 6e 64 ...................resolver.bind
d2a0 69 6e 67 4d 61 73 6b 20 3d 20 6d 5f 41 73 73 65 74 2e 6d 5f 42 69 6e 64 69 6e 67 4d 61 73 6b 3b ingMask.=.m_Asset.m_BindingMask;
d2c0 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 ..................}.............
d2e0 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 7b 0d 0a 20 20 .....else..................{....
d300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 53 74 61 6e 64 61 6c 6f 6e 65 20 ..................//.Standalone.
d320 61 63 74 69 6f 6e 20 6d 61 70 20 28 70 6f 73 73 69 62 6c 79 20 61 20 68 69 64 64 65 6e 20 6f 6e action.map.(possibly.a.hidden.on
d340 65 20 63 72 65 61 74 65 64 20 66 6f 72 20 61 20 73 69 6e 67 6c 65 74 6f 6e 20 61 63 74 69 6f 6e e.created.for.a.singleton.action
d360 29 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 20 47 65 74 73 20 ).......................//.Gets.
d380 69 74 73 20 6f 77 6e 20 70 72 69 76 61 74 65 20 73 74 61 74 65 2e 0d 0a 0d 0a 20 20 20 20 20 20 its.own.private.state...........
d3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 69 6f 6e 4d 61 70 73 20 3d 20 74 68 69 73 3b ..............actionMaps.=.this;
d3c0 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 ..................}.............
d3e0 20 20 20 20 20 20 20 2f 2f 20 49 66 20 77 65 20 61 6c 72 65 61 64 79 20 68 61 76 65 20 61 20 73 .......//.If.we.already.have.a.s
d400 74 61 74 65 2c 20 72 65 2d 75 73 65 20 74 68 65 20 61 72 72 61 79 73 20 77 65 20 68 61 76 65 20 tate,.re-use.the.arrays.we.have.
d420 61 6c 72 65 61 64 79 20 61 6c 6c 6f 63 61 74 65 64 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 already.allocated...............
d440 20 20 20 20 2f 2f 20 4e 4f 54 45 3a 20 57 65 20 77 69 6c 6c 20 69 6e 73 74 61 6c 6c 20 74 68 65 ....//.NOTE:.We.will.install.the
d460 20 61 72 72 61 79 73 20 6f 6e 20 74 68 65 20 76 65 72 79 20 73 61 6d 65 20 49 6e 70 75 74 41 63 .arrays.on.the.very.same.InputAc
d480 74 69 6f 6e 53 74 61 74 65 20 69 6e 73 74 61 6e 63 65 20 62 65 6c 6f 77 2e 20 49 6e 20 74 68 65 tionState.instance.below..In.the
d4a0 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 63 61 73 65 20 ..................//.......case.
d4c0 77 68 65 72 65 20 77 65 20 64 69 64 6e 27 74 20 68 61 76 65 20 74 6f 20 67 72 6f 77 20 74 68 65 where.we.didn't.have.to.grow.the
d4e0 20 61 72 72 61 79 73 2c 20 77 65 20 73 68 6f 75 6c 64 20 65 6e 64 20 75 70 20 77 69 74 68 20 7a .arrays,.we.should.end.up.with.z
d500 65 72 6f 20 47 43 20 61 6c 6c 6f 63 61 74 69 6f 6e 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ero.GC.allocations..............
d520 20 20 20 20 2f 2f 20 20 20 20 20 20 20 68 65 72 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ....//.......here...............
d540 20 20 20 20 76 61 72 20 68 61 73 45 6e 61 62 6c 65 64 41 63 74 69 6f 6e 73 20 3d 20 66 61 6c 73 ....var.hasEnabledActions.=.fals
d560 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 53 74 61 74 65 20 e;..................if.(m_State.
d580 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 7b 0d 0a 20 20 20 !=.null)..................{.....
d5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 47 72 61 62 20 61 20 63 6c 6f 6e 65 .................//.Grab.a.clone
d5c0 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 6d 65 6d 6f 72 79 2e 20 57 65 20 63 6c 6f 6e 65 .of.the.current.memory..We.clone
d5e0 20 62 65 63 61 75 73 65 20 64 69 73 61 62 6c 69 6e 67 20 61 6c 6c 20 74 68 65 20 61 63 74 69 6f .because.disabling.all.the.actio
d600 6e 73 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 69 6e 20 74 68 ns......................//.in.th
d620 65 20 6d 61 70 20 77 69 6c 6c 20 61 6c 74 65 72 20 74 68 65 20 6d 65 6d 6f 72 79 20 73 74 61 74 e.map.will.alter.the.memory.stat
d640 65 20 61 6e 64 20 77 65 20 77 61 6e 74 20 74 68 65 20 73 74 61 74 65 20 62 65 66 6f 72 65 20 77 e.and.we.want.the.state.before.w
d660 65 20 73 74 61 72 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 e.start......................//.
d680 74 6f 75 63 68 69 6e 67 20 69 74 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 touching.it.....................
d6a0 20 20 2f 2f 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 54 65 63 ..//......................//.Tec
d6c0 68 6e 69 63 61 6c 6c 79 2c 20 41 54 4d 20 77 65 20 6f 6e 6c 79 20 6e 65 65 64 20 74 68 65 20 70 hnically,.ATM.we.only.need.the.p
d6e0 68 61 73 65 20 76 61 6c 75 65 73 20 69 6e 20 74 68 65 20 61 63 74 69 6f 6e 20 73 74 61 74 65 73 hase.values.in.the.action.states
d700 20 62 75 74 20 64 75 70 6c 69 63 61 74 69 6e 67 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .but.duplicating................
d720 20 20 20 20 20 20 2f 2f 20 74 68 65 20 75 6e 6d 61 6e 61 67 65 64 20 6d 65 6d 6f 72 79 20 69 73 ......//.the.unmanaged.memory.is
d740 20 63 68 65 61 70 20 61 6e 64 20 61 76 6f 69 64 73 20 68 61 76 69 6e 67 20 74 6f 20 61 64 64 20 .cheap.and.avoids.having.to.add.
d760 79 65 74 20 6d 6f 72 65 20 63 6f 6d 70 6c 69 63 61 74 69 6f 6e 20 74 6f 20 74 68 65 0d 0a 20 20 yet.more.complication.to.the....
d780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 63 6f 64 65 20 70 61 74 68 73 20 ..................//.code.paths.
d7a0 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 20 20 74 65 6d 70 4d here.......................tempM
d7c0 65 6d 6f 72 79 20 3d 20 6d 5f 53 74 61 74 65 2e 6d 65 6d 6f 72 79 2e 43 6c 6f 6e 65 28 29 3b 0d emory.=.m_State.memory.Clone();.
d7e0 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 66 20 74 68 65 .......................//.If.the
d800 20 73 74 61 74 65 20 68 61 73 20 65 6e 61 62 6c 65 64 20 61 63 74 69 6f 6e 73 2c 20 74 65 6d 70 .state.has.enabled.actions,.temp
d820 6f 72 61 72 69 6c 79 20 64 69 73 61 62 6c 65 20 74 68 65 6d 2e 0d 0a 20 20 20 20 20 20 20 20 20 orarily.disable.them............
d840 20 20 20 20 20 20 20 20 20 20 20 68 61 73 45 6e 61 62 6c 65 64 41 63 74 69 6f 6e 73 20 3d 20 6d ...........hasEnabledActions.=.m
d860 5f 53 74 61 74 65 2e 48 61 73 45 6e 61 62 6c 65 64 41 63 74 69 6f 6e 73 28 29 3b 0d 0a 20 20 20 _State.HasEnabledActions();.....
d880 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 20 30 3b .................for.(var.i.=.0;
d8a0 20 69 20 3c 20 61 63 74 69 6f 6e 4d 61 70 73 2e 43 6f 75 6e 74 3b 20 2b 2b 69 29 0d 0a 20 20 20 .i.<.actionMaps.Count;.++i).....
d8c0 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 .................{..............
d8e0 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 69 6f 6e 4d 61 70 73 ............var.map.=.actionMaps
d900 5b 69 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 20 69 66 [i];..........................if
d920 20 28 68 61 73 45 6e 61 62 6c 65 64 41 63 74 69 6f 6e 73 29 0d 0a 20 20 20 20 20 20 20 20 20 20 .(hasEnabledActions)............
d940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 53 74 61 74 65 2e 44 69 73 61 62 6c ..................m_State.Disabl
d960 65 41 6c 6c 41 63 74 69 6f 6e 73 28 6d 61 70 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 eAllActions(map);...............
d980 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 4c 65 74 20 6c 69 73 74 65 6e 65 72 73 20 6b 6e .............//.Let.listeners.kn
d9a0 6f 77 20 77 65 20 61 72 65 20 61 62 6f 75 74 20 74 6f 20 6d 6f 64 69 66 79 20 62 69 6e 64 69 6e ow.we.are.about.to.modify.bindin
d9c0 67 73 2e 20 44 6f 20 74 68 69 73 20 2a 61 66 74 65 72 2a 20 77 65 20 64 69 73 61 62 6c 65 64 20 gs..Do.this.*after*.we.disabled.
d9e0 74 68 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 the..........................//.
da00 61 63 74 69 6f 6e 73 20 73 6f 20 74 68 61 74 20 63 61 6e 63 65 6c 6c 61 74 69 6f 6e 73 20 68 61 actions.so.that.cancellations.ha
da20 70 70 65 6e 20 66 69 72 73 74 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ppen.first......................
da40 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 6e 20 21 .....if.(map.m_SingletonAction.!
da60 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 20 20 20 =.null).........................
da80 20 20 20 20 20 49 6e 70 75 74 41 63 74 69 6f 6e 53 74 61 74 65 2e 4e 6f 74 69 66 79 4c 69 73 74 .....InputActionState.NotifyList
daa0 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
dac0 68 61 6e 67 65 2e 42 6f 75 6e 64 43 6f 6e 74 72 6f 6c 73 41 62 6f 75 74 54 6f 43 68 61 6e 67 65 hange.BoundControlsAboutToChange
dae0 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 0d 0a 20 20 20 20 20 ,.map.m_SingletonAction);.......
db00 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 6d 5f 41 73 ...................else.if.(m_As
db20 73 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 20 20 set.==.null)....................
db40 20 20 20 20 20 20 20 20 20 20 49 6e 70 75 74 41 63 74 69 6f 6e 53 74 61 74 65 2e 4e 6f 74 69 66 ..........InputActionState.Notif
db60 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 63 yListenersOfActionChange(InputAc
db80 74 69 6f 6e 43 68 61 6e 67 65 2e 42 6f 75 6e 64 43 6f 6e 74 72 6f 6c 73 41 62 6f 75 74 54 6f 43 tionChange.BoundControlsAboutToC
dba0 68 61 6e 67 65 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 hange,.map);....................
dbc0 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 69 66 20 28 6d 5f 41 ..}......................if.(m_A
dbe0 73 73 65 74 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 20 sset.!=.null)...................
dc00 20 20 20 20 20 20 20 49 6e 70 75 74 41 63 74 69 6f 6e 53 74 61 74 65 2e 4e 6f 74 69 66 79 4c 69 .......InputActionState.NotifyLi
dc20 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 63 74 69 6f stenersOfActionChange(InputActio
dc40 6e 43 68 61 6e 67 65 2e 42 6f 75 6e 64 43 6f 6e 74 72 6f 6c 73 41 62 6f 75 74 54 6f 43 68 61 6e nChange.BoundControlsAboutToChan
dc60 67 65 2c 20 6d 5f 41 73 73 65 74 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ge,.m_Asset);...................
dc80 20 20 20 20 20 2f 2f 20 52 65 75 73 65 20 74 68 65 20 61 72 72 61 79 73 20 77 65 20 68 61 76 65 .....//.Reuse.the.arrays.we.have
dca0 20 73 6f 20 74 68 61 74 20 77 65 20 63 61 6e 20 61 76 6f 69 64 20 6d 61 6e 61 67 65 64 20 6d 65 .so.that.we.can.avoid.managed.me
dcc0 6d 6f 72 79 20 61 6c 6c 6f 63 61 74 69 6f 6e 73 2c 20 69 66 20 70 6f 73 73 69 62 6c 65 2e 0d 0a mory.allocations,.if.possible...
dce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 6f 6c 76 65 72 2e 53 74 61 ....................resolver.Sta
dd00 72 74 57 69 74 68 41 72 72 61 79 73 46 72 6f 6d 28 6d 5f 53 74 61 74 65 29 3b 0d 0a 0d 0a 20 20 rtWithArraysFrom(m_State);......
dd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 54 68 72 6f 77 20 61 77 61 79 20 ..................//.Throw.away.
dd40 6f 6c 64 20 6d 65 6d 6f 72 79 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 old.memory......................
dd60 20 6d 5f 53 74 61 74 65 2e 6d 65 6d 6f 72 79 2e 44 69 73 70 6f 73 65 28 29 3b 0d 0a 20 20 20 20 .m_State.memory.Dispose();......
dd80 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ............}...................
dda0 20 2f 2f 20 52 65 73 6f 6c 76 65 20 61 6c 6c 20 6d 61 70 73 20 69 6e 20 74 68 65 20 61 73 73 65 .//.Resolve.all.maps.in.the.asse
ddc0 74 2e 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 t...................for.(var.i.=
dde0 20 30 3b 20 69 20 3c 20 61 63 74 69 6f 6e 4d 61 70 73 2e 43 6f 75 6e 74 3b 20 2b 2b 69 29 0d 0a .0;.i.<.actionMaps.Count;.++i)..
de00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 6f 6c 76 65 72 2e 41 64 64 ....................resolver.Add
de20 41 63 74 69 6f 6e 4d 61 70 28 61 63 74 69 6f 6e 4d 61 70 73 5b 69 5d 29 3b 0d 0a 0d 0a 20 20 20 ActionMap(actionMaps[i]);.......
de40 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 6e 73 74 61 6c 6c 20 73 74 61 74 65 2e 0d 0a .............//.Install.state...
de60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 53 74 61 74 65 20 3d 3d 20 6e ................if.(m_State.==.n
de80 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 20 20 20 ull)..................{.........
dea0 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 41 73 73 65 74 20 21 3d 20 6e 75 6c 6c .............if.(m_Asset.!=.null
dec0 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 20 )......................{........
dee0 20 20 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 6e 65 ..................var.state.=.ne
df00 77 20 49 6e 70 75 74 41 63 74 69 6f 6e 53 74 61 74 65 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 w.InputActionState();...........
df20 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
df40 20 3c 20 61 63 74 69 6f 6e 4d 61 70 73 2e 43 6f 75 6e 74 3b 20 2b 2b 69 29 0d 0a 20 20 20 20 20 .<.actionMaps.Count;.++i).......
df60 20 20 20 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 4d 61 70 .......................actionMap
df80 73 5b 69 5d 2e 6d 5f 53 74 61 74 65 20 3d 20 73 74 61 74 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 s[i].m_State.=.state;...........
dfa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 41 73 73 65 74 2e 6d 5f 53 68 61 72 65 64 53 ...............m_Asset.m_SharedS
dfc0 74 61 74 65 46 6f 72 41 6c 6c 4d 61 70 73 20 3d 20 73 74 61 74 65 3b 0d 0a 20 20 20 20 20 20 20 tateForAllMaps.=.state;.........
dfe0 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 .............}..................
e000 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......................{.
e020 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 53 74 61 74 65 .........................m_State
e040 20 3d 20 6e 65 77 20 49 6e 70 75 74 41 63 74 69 6f 6e 53 74 61 74 65 28 29 3b 0d 0a 20 20 20 20 .=.new.InputActionState();......
e060 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 ................}...............
e080 20 20 20 20 20 20 20 6d 5f 53 74 61 74 65 2e 49 6e 69 74 69 61 6c 69 7a 65 28 72 65 73 6f 6c 76 .......m_State.Initialize(resolv
e0a0 65 72 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 er);..................}.........
e0c0 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 7b .........else..................{
e0e0 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 61 74 65 2e 43 6c ......................m_State.Cl
e100 61 69 6d 44 61 74 61 46 72 6f 6d 28 72 65 73 6f 6c 76 65 72 29 3b 0d 0a 20 20 20 20 20 20 20 20 aimDataFrom(resolver);..........
e120 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 2f 2f 20 ........}....................//.
e140 57 69 70 65 20 63 61 63 68 65 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f Wipe.caches...................fo
e160 72 20 28 76 61 72 20 69 20 3d 20 30 3b 20 69 20 3c 20 61 63 74 69 6f 6e 4d 61 70 73 2e 43 6f 75 r.(var.i.=.0;.i.<.actionMaps.Cou
e180 6e 74 3b 20 2b 2b 69 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 nt;.++i)..................{.....
e1a0 20 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 61 63 74 69 6f .................var.map.=.actio
e1c0 6e 4d 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 20 20 20 20 6d nMaps[i];......................m
e1e0 61 70 2e 6d 5f 4e 65 65 64 54 6f 52 65 73 6f 6c 76 65 42 69 6e 64 69 6e 67 73 20 3d 20 66 61 6c ap.m_NeedToResolveBindings.=.fal
e200 73 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 2f 2f 2f 2f 54 se;........................////T
e220 4f 44 4f 3a 20 64 65 74 65 72 6d 69 6e 65 20 77 68 65 74 68 65 72 20 77 65 20 72 65 61 6c 6c 79 ODO:.determine.whether.we.really
e240 20 6e 65 65 64 20 74 6f 20 77 69 70 65 20 74 68 69 73 3b 20 6b 65 65 70 20 74 68 65 6d 20 69 66 .need.to.wipe.this;.keep.them.if
e260 20 6e 6f 74 68 69 6e 67 20 68 61 73 20 63 68 61 6e 67 65 64 0d 0a 20 20 20 20 20 20 20 20 20 20 .nothing.has.changed............
e280 20 20 20 20 20 20 20 20 20 20 6d 61 70 2e 6d 5f 43 6f 6e 74 72 6f 6c 73 46 6f 72 45 61 63 68 41 ..........map.m_ControlsForEachA
e2a0 63 74 69 6f 6e 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 ction.=.null;...................
e2c0 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 6e 20 21 .....if.(map.m_SingletonAction.!
e2e0 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 20 20 20 =.null).........................
e300 20 49 6e 70 75 74 41 63 74 69 6f 6e 53 74 61 74 65 2e 4e 6f 74 69 66 79 4c 69 73 74 65 6e 65 72 .InputActionState.NotifyListener
e320 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
e340 65 2e 42 6f 75 6e 64 43 6f 6e 74 72 6f 6c 73 43 68 61 6e 67 65 64 2c 20 6d 61 70 2e 6d 5f 53 69 e.BoundControlsChanged,.map.m_Si
e360 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 20 20 20 ngletonAction);.................
e380 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 6d 5f 41 73 73 65 74 20 3d 3d 20 6e 75 6c 6c 29 0d 0a .....else.if.(m_Asset.==.null)..
e3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 70 75 74 41 63 74 ........................InputAct
e3c0 69 6f 6e 53 74 61 74 65 2e 4e 6f 74 69 66 79 4c 69 73 74 65 6e 65 72 73 4f 66 41 63 74 69 6f 6e ionState.NotifyListenersOfAction
e3e0 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 42 6f 75 6e 64 43 6f Change(InputActionChange.BoundCo
e400 6e 74 72 6f 6c 73 43 68 61 6e 67 65 64 2c 20 6d 61 70 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 ntrolsChanged,.map);............
e420 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 69 66 20 28 6d 5f 41 ......}..................if.(m_A
e440 73 73 65 74 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 20 sset.!=.null)...................
e460 20 20 20 49 6e 70 75 74 41 63 74 69 6f 6e 53 74 61 74 65 2e 4e 6f 74 69 66 79 4c 69 73 74 65 6e ...InputActionState.NotifyListen
e480 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 68 61 ersOfActionChange(InputActionCha
e4a0 6e 67 65 2e 42 6f 75 6e 64 43 6f 6e 74 72 6f 6c 73 43 68 61 6e 67 65 64 2c 20 6d 5f 41 73 73 65 nge.BoundControlsChanged,.m_Asse
e4c0 74 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 52 65 2d 65 6e 61 t);....................//.Re-ena
e4e0 62 6c 65 20 61 63 74 69 6f 6e 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 ble.actions...................if
e500 20 28 68 61 73 45 6e 61 62 6c 65 64 41 63 74 69 6f 6e 73 29 0d 0a 20 20 20 20 20 20 20 20 20 20 .(hasEnabledActions)............
e520 20 20 20 20 20 20 20 20 20 20 6d 5f 53 74 61 74 65 2e 52 65 73 74 6f 72 65 41 63 74 69 6f 6e 53 ..........m_State.RestoreActionS
e540 74 61 74 65 73 28 74 65 6d 70 4d 65 6d 6f 72 79 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 tates(tempMemory);..............
e560 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6e 61 6c 6c 79 0d 0a 20 20 20 20 20 20 20 20 }..............finally..........
e580 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 65 6d 70 4d 65 6d 6f 72 ....{..................tempMemor
e5a0 79 2e 44 69 73 70 6f 73 65 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 y.Dispose();..............}.....
e5c0 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 69 6e 74 20 46 .....}............internal.int.F
e5e0 69 6e 64 42 69 6e 64 69 6e 67 28 49 6e 70 75 74 42 69 6e 64 69 6e 67 20 6d 61 74 63 68 29 0d 0a indBinding(InputBinding.match)..
e600 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 6e 75 6d 42 69 ........{..............var.numBi
e620 6e 64 69 6e 67 73 20 3d 20 6d 5f 42 69 6e 64 69 6e 67 73 2e 4c 65 6e 67 74 68 53 61 66 65 28 29 ndings.=.m_Bindings.LengthSafe()
e640 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
e660 20 3c 20 6e 75 6d 42 69 6e 64 69 6e 67 73 3b 20 2b 2b 69 29 0d 0a 20 20 20 20 20 20 20 20 20 20 .<.numBindings;.++i)............
e680 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 66 20 76 61 72 20 62 69 6e ..{..................ref.var.bin
e6a0 64 69 6e 67 20 3d 20 72 65 66 20 6d 5f 42 69 6e 64 69 6e 67 73 5b 69 5d 3b 0d 0a 20 20 20 20 20 ding.=.ref.m_Bindings[i];.......
e6c0 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 61 74 63 68 2e 4d 61 74 63 68 65 73 28 72 65 66 ...........if.(match.Matches(ref
e6e0 20 62 69 6e 64 69 6e 67 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .binding))......................
e700 72 65 74 75 72 6e 20 69 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 return.i;..............}........
e720 20 20 20 20 20 20 72 65 74 75 72 6e 20 2d 31 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 ......return.-1;..........}.....
e740 20 20 20 20 20 20 20 23 72 65 67 69 6f 6e 20 53 65 72 69 61 6c 69 7a 61 74 69 6f 6e 0d 0a 0d 0a .......#region.Serialization....
e760 20 20 20 20 20 20 20 20 2f 2f 20 41 63 74 69 6f 6e 20 6d 61 70 73 20 61 72 65 20 73 65 72 69 61 ........//.Action.maps.are.seria
e780 6c 69 7a 65 64 20 69 6e 20 74 77 6f 20 64 69 66 66 65 72 65 6e 74 20 77 61 79 73 2e 20 46 6f 72 lized.in.two.different.ways..For
e7a0 20 73 74 6f 72 61 67 65 20 61 73 20 69 6d 70 6f 72 74 65 64 20 61 73 73 65 74 73 20 69 6e 20 55 .storage.as.imported.assets.in.U
e7c0 6e 69 74 79 27 73 20 4c 69 62 72 61 72 79 2f 20 66 6f 6c 64 65 72 0d 0a 20 20 20 20 20 20 20 20 nity's.Library/.folder..........
e7e0 2f 2f 20 61 6e 64 20 69 6e 20 70 6c 61 79 65 72 20 64 61 74 61 20 61 6e 64 20 61 73 73 65 74 20 //.and.in.player.data.and.asset.
e800 62 75 6e 64 6c 65 73 20 61 73 20 77 65 6c 6c 20 61 73 20 66 6f 72 20 73 75 72 76 69 76 69 6e 67 bundles.as.well.as.for.surviving
e820 20 64 6f 6d 61 69 6e 20 72 65 6c 6f 61 64 73 2c 20 49 6e 70 75 74 41 63 74 69 6f 6e 4d 61 70 73 .domain.reloads,.InputActionMaps
e840 20 61 72 65 20 73 65 72 69 61 6c 69 7a 65 64 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 64 69 72 65 .are.serialized..........//.dire
e860 63 74 6c 79 20 62 79 20 55 6e 69 74 79 2e 20 46 6f 72 20 73 74 6f 72 61 67 65 20 61 73 20 73 6f ctly.by.Unity..For.storage.as.so
e880 75 72 63 65 20 64 61 74 61 20 69 6e 20 75 73 65 72 20 70 72 6f 6a 65 63 74 73 2c 20 49 6e 70 75 urce.data.in.user.projects,.Inpu
e8a0 74 41 63 74 69 6f 6e 4d 61 70 73 20 61 72 65 20 73 65 72 69 61 6c 69 7a 65 64 20 69 6e 64 69 72 tActionMaps.are.serialized.indir
e8c0 65 63 74 6c 79 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 61 73 20 4a 53 4f 4e 20 62 79 20 73 65 74 ectly..........//.as.JSON.by.set
e8e0 74 69 6e 67 20 75 70 20 61 20 73 65 70 61 72 61 74 65 20 73 65 74 20 6f 66 20 73 74 72 75 63 74 ting.up.a.separate.set.of.struct
e900 73 20 74 68 61 74 20 61 72 65 20 74 68 65 6e 20 72 65 61 64 20 61 6e 64 20 77 72 69 74 74 65 6e s.that.are.then.read.and.written
e920 20 75 73 69 6e 67 20 55 6e 69 74 79 27 73 20 4a 53 4f 4e 20 73 65 72 69 61 6c 69 7a 65 72 2e 0d .using.Unity's.JSON.serializer..
e940 0a 0d 0a 20 20 20 20 20 20 20 20 5b 53 65 72 69 61 6c 69 7a 61 62 6c 65 5d 0d 0a 20 20 20 20 20 ...........[Serializable].......
e960 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 4a 73 6f 6e 0d 0a ...internal.struct.BindingJson..
e980 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 62 6c 69 63 20 73 74 ........{..............public.st
e9a0 72 69 6e 67 20 6e 61 6d 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 ring.name;..............public.s
e9c0 74 72 69 6e 67 20 69 64 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 tring.id;..............public.st
e9e0 72 69 6e 67 20 70 61 74 68 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 ring.path;..............public.s
ea00 74 72 69 6e 67 20 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 tring.interactions;.............
ea20 20 70 75 62 6c 69 63 20 73 74 72 69 6e 67 20 70 72 6f 63 65 73 73 6f 72 73 3b 0d 0a 20 20 20 20 .public.string.processors;......
ea40 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 72 69 6e 67 20 67 72 6f 75 70 73 3b 0d 0a 20 ........public.string.groups;...
ea60 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 72 69 6e 67 20 61 63 74 69 6f 6e 3b ...........public.string.action;
ea80 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 43 6f 6d 70 ..............public.bool.isComp
eaa0 6f 73 69 74 65 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 osite;..............public.bool.
eac0 69 73 50 61 72 74 4f 66 43 6f 6d 70 6f 73 69 74 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 isPartOfComposite;..............
eae0 20 20 70 75 62 6c 69 63 20 49 6e 70 75 74 42 69 6e 64 69 6e 67 20 54 6f 42 69 6e 64 69 6e 67 28 ..public.InputBinding.ToBinding(
eb00 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 )..............{................
eb20 20 20 72 65 74 75 72 6e 20 6e 65 77 20 49 6e 70 75 74 42 69 6e 64 69 6e 67 0d 0a 20 20 20 20 20 ..return.new.InputBinding.......
eb40 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 ...........{....................
eb60 20 20 6e 61 6d 65 20 3d 20 73 74 72 69 6e 67 2e 49 73 4e 75 6c 6c 4f 72 45 6d 70 74 79 28 6e 61 ..name.=.string.IsNullOrEmpty(na
eb80 6d 65 29 20 3f 20 6e 75 6c 6c 20 3a 20 6e 61 6d 65 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 me).?.null.:.name,..............
eba0 20 20 20 20 20 20 20 20 6d 5f 49 64 20 3d 20 73 74 72 69 6e 67 2e 49 73 4e 75 6c 6c 4f 72 45 6d ........m_Id.=.string.IsNullOrEm
ebc0 70 74 79 28 69 64 29 20 3f 20 6e 75 6c 6c 20 3a 20 69 64 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 pty(id).?.null.:.id,............
ebe0 20 20 20 20 20 20 20 20 20 20 70 61 74 68 20 3d 20 73 74 72 69 6e 67 2e 49 73 4e 75 6c 6c 4f 72 ..........path.=.string.IsNullOr
ec00 45 6d 70 74 79 28 70 61 74 68 29 20 3f 20 6e 75 6c 6c 20 3a 20 70 61 74 68 2c 0d 0a 20 20 20 20 Empty(path).?.null.:.path,......
ec20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 69 6f 6e 20 3d 20 73 74 72 69 6e 67 2e ................action.=.string.
ec40 49 73 4e 75 6c 6c 4f 72 45 6d 70 74 79 28 61 63 74 69 6f 6e 29 20 3f 20 6e 75 6c 6c 20 3a 20 61 IsNullOrEmpty(action).?.null.:.a
ec60 63 74 69 6f 6e 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 ction,......................inte
ec80 72 61 63 74 69 6f 6e 73 20 3d 20 73 74 72 69 6e 67 2e 49 73 4e 75 6c 6c 4f 72 45 6d 70 74 79 28 ractions.=.string.IsNullOrEmpty(
eca0 69 6e 74 65 72 61 63 74 69 6f 6e 73 29 20 3f 20 6e 75 6c 6c 20 3a 20 69 6e 74 65 72 61 63 74 69 interactions).?.null.:.interacti
ecc0 6f 6e 73 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 ons,......................proces
ece0 73 6f 72 73 20 3d 20 73 74 72 69 6e 67 2e 49 73 4e 75 6c 6c 4f 72 45 6d 70 74 79 28 70 72 6f 63 sors.=.string.IsNullOrEmpty(proc
ed00 65 73 73 6f 72 73 29 20 3f 20 6e 75 6c 6c 20 3a 20 70 72 6f 63 65 73 73 6f 72 73 2c 0d 0a 20 20 essors).?.null.:.processors,....
ed20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 72 6f 75 70 73 20 3d 20 73 74 72 69 6e ..................groups.=.strin
ed40 67 2e 49 73 4e 75 6c 6c 4f 72 45 6d 70 74 79 28 67 72 6f 75 70 73 29 20 3f 20 6e 75 6c 6c 20 3a g.IsNullOrEmpty(groups).?.null.:
ed60 20 67 72 6f 75 70 73 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 73 .groups,......................is
ed80 43 6f 6d 70 6f 73 69 74 65 20 3d 20 69 73 43 6f 6d 70 6f 73 69 74 65 2c 0d 0a 20 20 20 20 20 20 Composite.=.isComposite,........
eda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 73 50 61 72 74 4f 66 43 6f 6d 70 6f 73 69 74 65 20 ..............isPartOfComposite.
edc0 3d 20 69 73 50 61 72 74 4f 66 43 6f 6d 70 6f 73 69 74 65 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 =.isPartOfComposite,............
ede0 20 20 20 20 20 20 7d 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 ......};..............}.........
ee00 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 42 69 6e 64 69 6e 67 4a 73 6f 6e .......public.static.BindingJson
ee20 20 46 72 6f 6d 42 69 6e 64 69 6e 67 28 72 65 66 20 49 6e 70 75 74 42 69 6e 64 69 6e 67 20 62 69 .FromBinding(ref.InputBinding.bi
ee40 6e 64 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 nding)..............{...........
ee60 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77 20 42 69 6e 64 69 6e 67 4a 73 6f 6e 0d 0a 20 .......return.new.BindingJson...
ee80 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 ...............{................
eea0 20 20 20 20 20 20 6e 61 6d 65 20 3d 20 62 69 6e 64 69 6e 67 2e 6e 61 6d 65 2c 0d 0a 20 20 20 20 ......name.=.binding.name,......
eec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 64 20 3d 20 62 69 6e 64 69 6e 67 2e 6d 5f 49 ................id.=.binding.m_I
eee0 64 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 74 68 20 3d 20 62 d,......................path.=.b
ef00 69 6e 64 69 6e 67 2e 70 61 74 68 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 inding.path,....................
ef20 20 20 61 63 74 69 6f 6e 20 3d 20 62 69 6e 64 69 6e 67 2e 61 63 74 69 6f 6e 2c 0d 0a 20 20 20 20 ..action.=.binding.action,......
ef40 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 62 ................interactions.=.b
ef60 69 6e 64 69 6e 67 2e 69 6e 74 65 72 61 63 74 69 6f 6e 73 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 inding.interactions,............
ef80 20 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 6f 72 73 20 3d 20 62 69 6e 64 69 6e 67 2e 70 ..........processors.=.binding.p
efa0 72 6f 63 65 73 73 6f 72 73 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rocessors,......................
efc0 67 72 6f 75 70 73 20 3d 20 62 69 6e 64 69 6e 67 2e 67 72 6f 75 70 73 2c 0d 0a 20 20 20 20 20 20 groups.=.binding.groups,........
efe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 73 43 6f 6d 70 6f 73 69 74 65 20 3d 20 62 69 6e 64 ..............isComposite.=.bind
f000 69 6e 67 2e 69 73 43 6f 6d 70 6f 73 69 74 65 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ing.isComposite,................
f020 20 20 20 20 20 20 69 73 50 61 72 74 4f 66 43 6f 6d 70 6f 73 69 74 65 20 3d 20 62 69 6e 64 69 6e ......isPartOfComposite.=.bindin
f040 67 2e 69 73 50 61 72 74 4f 66 43 6f 6d 70 6f 73 69 74 65 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 g.isPartOfComposite,............
f060 20 20 20 20 20 20 7d 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 ......};..............}.........
f080 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 42 61 63 6b 77 61 72 64 73 2d 63 6f 6d 70 61 .}............//.Backwards-compa
f0a0 74 69 62 6c 65 20 72 65 61 64 20 66 6f 72 6d 61 74 2e 0d 0a 20 20 20 20 20 20 20 20 5b 53 65 72 tible.read.format...........[Ser
f0c0 69 61 6c 69 7a 61 62 6c 65 5d 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 73 74 72 ializable]..........internal.str
f0e0 75 63 74 20 52 65 61 64 41 63 74 69 6f 6e 4a 73 6f 6e 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 uct.ReadActionJson..........{...
f100 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 72 69 6e 67 20 6e 61 6d 65 3b 0d 0a ...........public.string.name;..
f120 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 72 69 6e 67 20 74 79 70 65 3b 0d ............public.string.type;.
f140 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 72 69 6e 67 20 69 64 3b 0d 0a .............public.string.id;..
f160 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 72 69 6e 67 20 65 78 70 65 63 74 ............public.string.expect
f180 65 64 43 6f 6e 74 72 6f 6c 54 79 70 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c edControlType;..............publ
f1a0 69 63 20 73 74 72 69 6e 67 20 65 78 70 65 63 74 65 64 43 6f 6e 74 72 6f 6c 4c 61 79 6f 75 74 3b ic.string.expectedControlLayout;
f1c0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 72 69 6e 67 20 70 72 6f 63 ..............public.string.proc
f1e0 65 73 73 6f 72 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 72 69 essors;..............public.stri
f200 6e 67 20 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 20 70 75 ng.interactions;..............pu
f220 62 6c 69 63 20 62 6f 6f 6c 20 70 61 73 73 54 68 72 6f 75 67 68 3b 0d 0a 20 20 20 20 20 20 20 20 blic.bool.passThrough;..........
f240 20 20 20 20 70 75 62 6c 69 63 20 62 6f 6f 6c 20 69 6e 69 74 69 61 6c 53 74 61 74 65 43 68 65 63 ....public.bool.initialStateChec
f260 6b 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 42 69 6e 64 69 6e 67 73 20 63 61 k;................//.Bindings.ca
f280 6e 20 65 69 74 68 65 72 20 62 65 20 6f 6e 20 74 68 65 20 61 63 74 69 6f 6e 20 69 74 73 65 6c 66 n.either.be.on.the.action.itself
f2a0 20 28 69 6e 20 77 68 69 63 68 20 63 61 73 65 20 74 68 65 20 61 63 74 69 6f 6e 20 6e 61 6d 65 0d .(in.which.case.the.action.name.
f2c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 66 6f 72 20 65 61 63 68 20 62 69 6e 64 69 6e 67 .............//.for.each.binding
f2e0 20 69 73 20 69 6d 70 6c 69 65 64 29 20 6f 72 20 6c 69 73 74 65 64 20 73 65 70 61 72 61 74 65 6c .is.implied).or.listed.separatel
f300 79 20 69 6e 20 74 68 65 20 61 63 74 69 6f 6e 20 66 69 6c 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 y.in.the.action.file............
f320 20 20 20 70 75 62 6c 69 63 20 42 69 6e 64 69 6e 67 4a 73 6f 6e 5b 5d 20 62 69 6e 64 69 6e 67 73 ...public.BindingJson[].bindings
f340 3b 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
f360 69 6f 6e 20 54 6f 41 63 74 69 6f 6e 28 73 74 72 69 6e 67 20 61 63 74 69 6f 6e 4e 61 6d 65 20 3d ion.ToAction(string.actionName.=
f380 20 6e 75 6c 6c 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 .null)..............{...........
f3a0 20 20 20 20 20 20 20 2f 2f 20 46 6f 72 6d 65 72 6c 79 53 65 72 69 61 6c 69 7a 65 64 41 73 20 64 .......//.FormerlySerializedAs.d
f3c0 6f 65 73 6e 27 74 20 73 65 65 6d 20 74 6f 20 77 6f 72 6b 20 61 73 20 65 78 70 65 63 74 65 64 20 oesn't.seem.to.work.as.expected.
f3e0 73 6f 20 6d 61 6e 75 61 6c 6c 79 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 so.manually..................//.
f400 68 61 6e 64 6c 69 6e 67 20 74 68 65 20 72 65 6e 61 6d 65 20 68 65 72 65 2e 0d 0a 20 20 20 20 20 handling.the.rename.here........
f420 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 73 74 72 69 6e 67 2e 49 73 4e 75 6c 6c 4f 72 45 ...........if.(!string.IsNullOrE
f440 6d 70 74 79 28 65 78 70 65 63 74 65 64 43 6f 6e 74 72 6f 6c 4c 61 79 6f 75 74 29 29 0d 0a 20 20 mpty(expectedControlLayout))....
f460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 70 65 63 74 65 64 43 6f 6e 74 72 6f ..................expectedContro
f480 6c 54 79 70 65 20 3d 20 65 78 70 65 63 74 65 64 43 6f 6e 74 72 6f 6c 4c 61 79 6f 75 74 3b 0d 0a lType.=.expectedControlLayout;..
f4a0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 44 65 74 65 72 6d 69 6e 65 20 74 ..................//.Determine.t
f4c0 79 70 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 70 75 74 41 63 74 69 6f ype...................InputActio
f4e0 6e 54 79 70 65 20 61 63 74 69 6f 6e 54 79 70 65 20 3d 20 64 65 66 61 75 6c 74 3b 0d 0a 20 20 20 nType.actionType.=.default;.....
f500 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 73 74 72 69 6e 67 2e 49 73 4e 75 6c 6c 4f .............if.(!string.IsNullO
f520 72 45 6d 70 74 79 28 74 79 70 65 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rEmpty(type))...................
f540 20 20 20 61 63 74 69 6f 6e 54 79 70 65 20 3d 20 28 49 6e 70 75 74 41 63 74 69 6f 6e 54 79 70 65 ...actionType.=.(InputActionType
f560 29 45 6e 75 6d 2e 50 61 72 73 65 28 74 79 70 65 6f 66 28 49 6e 70 75 74 41 63 74 69 6f 6e 54 79 )Enum.Parse(typeof(InputActionTy
f580 70 65 29 2c 20 74 79 70 65 2c 20 74 72 75 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 pe),.type,.true);...............
f5a0 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 7b 0d 0a 20 20 20 20 ...else..................{......
f5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 4f 6c 64 20 66 6f 72 6d 61 74 20 74 68 ................//.Old.format.th
f5e0 61 74 20 64 6f 65 73 6e 27 74 20 68 61 76 65 20 74 79 70 65 2e 20 54 72 79 20 74 6f 20 69 6e 66 at.doesn't.have.type..Try.to.inf
f600 65 72 20 66 72 6f 6d 20 73 65 74 74 69 6e 67 73 2e 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 er.from.settings................
f620 20 20 20 20 20 20 20 20 20 69 66 20 28 70 61 73 73 54 68 72 6f 75 67 68 29 0d 0a 20 20 20 20 20 .........if.(passThrough).......
f640 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 54 79 70 65 20 3d 20 ...................actionType.=.
f660 49 6e 70 75 74 41 63 74 69 6f 6e 54 79 70 65 2e 50 61 73 73 54 68 72 6f 75 67 68 3b 0d 0a 20 20 InputActionType.PassThrough;....
f680 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 69 6e 69 74 69 ..................else.if.(initi
f6a0 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 20 20 20 20 alStateCheck)...................
f6c0 20 20 20 20 20 20 20 61 63 74 69 6f 6e 54 79 70 65 20 3d 20 49 6e 70 75 74 41 63 74 69 6f 6e 54 .......actionType.=.InputActionT
f6e0 79 70 65 2e 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 ype.Value;......................
f700 65 6c 73 65 20 69 66 20 28 21 73 74 72 69 6e 67 2e 49 73 4e 75 6c 6c 4f 72 45 6d 70 74 79 28 65 else.if.(!string.IsNullOrEmpty(e
f720 78 70 65 63 74 65 64 43 6f 6e 74 72 6f 6c 54 79 70 65 29 20 26 26 0d 0a 20 20 20 20 20 20 20 20 xpectedControlType).&&..........
f740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 78 70 65 63 74 65 64 43 6f .....................(expectedCo
f760 6e 74 72 6f 6c 54 79 70 65 20 3d 3d 20 22 42 75 74 74 6f 6e 22 20 7c 7c 20 65 78 70 65 63 74 65 ntrolType.==."Button".||.expecte
f780 64 43 6f 6e 74 72 6f 6c 54 79 70 65 20 3d 3d 20 22 4b 65 79 22 29 29 0d 0a 20 20 20 20 20 20 20 dControlType.==."Key")).........
f7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 69 6f 6e 54 79 70 65 20 3d 20 49 6e .................actionType.=.In
f7c0 70 75 74 41 63 74 69 6f 6e 54 79 70 65 2e 42 75 74 74 6f 6e 3b 0d 0a 20 20 20 20 20 20 20 20 20 putActionType.Button;...........
f7e0 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 72 65 74 75 .......}....................retu
f800 72 6e 20 6e 65 77 20 49 6e 70 75 74 41 63 74 69 6f 6e 28 61 63 74 69 6f 6e 4e 61 6d 65 20 3f 3f rn.new.InputAction(actionName.??
f820 20 6e 61 6d 65 2c 20 61 63 74 69 6f 6e 54 79 70 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 .name,.actionType)..............
f840 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 49 64 20 ....{......................m_Id.
f860 3d 20 73 74 72 69 6e 67 2e 49 73 4e 75 6c 6c 4f 72 45 6d 70 74 79 28 69 64 29 20 3f 20 6e 75 6c =.string.IsNullOrEmpty(id).?.nul
f880 6c 20 3a 20 69 64 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 45 l.:.id,......................m_E
f8a0 78 70 65 63 74 65 64 43 6f 6e 74 72 6f 6c 54 79 70 65 20 3d 20 21 73 74 72 69 6e 67 2e 49 73 4e xpectedControlType.=.!string.IsN
f8c0 75 6c 6c 4f 72 45 6d 70 74 79 28 65 78 70 65 63 74 65 64 43 6f 6e 74 72 6f 6c 54 79 70 65 29 0d ullOrEmpty(expectedControlType).
f8e0 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 3f 20 65 78 70 65 63 .........................?.expec
f900 74 65 64 43 6f 6e 74 72 6f 6c 54 79 70 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tedControlType..................
f920 20 20 20 20 20 20 20 20 3a 20 6e 75 6c 6c 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........:.null,.................
f940 20 20 20 20 20 6d 5f 50 72 6f 63 65 73 73 6f 72 73 20 3d 20 70 72 6f 63 65 73 73 6f 72 73 2c 0d .....m_Processors.=.processors,.
f960 0a 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
f980 6f 6e 73 20 3d 20 69 6e 74 65 72 61 63 74 69 6f 6e 73 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ons.=.interactions,.............
f9a0 20 20 20 20 20 7d 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 .....};..............}..........
f9c0 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 5b 53 65 72 69 61 6c 69 7a 61 62 6c 65 5d 0d 0a 20 20 20 }............[Serializable].....
f9e0 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 73 74 72 75 63 74 20 57 72 69 74 65 41 63 74 69 6f 6e .....internal.struct.WriteAction
fa00 4a 73 6f 6e 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 62 Json..........{..............pub
fa20 6c 69 63 20 73 74 72 69 6e 67 20 6e 61 6d 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 lic.string.name;..............pu
fa40 62 6c 69 63 20 73 74 72 69 6e 67 20 74 79 70 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 blic.string.type;..............p
fa60 75 62 6c 69 63 20 73 74 72 69 6e 67 20 69 64 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 ublic.string.id;..............pu
fa80 62 6c 69 63 20 73 74 72 69 6e 67 20 65 78 70 65 63 74 65 64 43 6f 6e 74 72 6f 6c 54 79 70 65 3b blic.string.expectedControlType;
faa0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 72 69 6e 67 20 70 72 6f 63 ..............public.string.proc
fac0 65 73 73 6f 72 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 72 69 essors;..............public.stri
fae0 6e 67 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 20 20 20 20 ng.interactions;................
fb00 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 57 72 69 74 65 41 63 74 69 6f 6e 4a 73 6f 6e 20 46 72 public.static.WriteActionJson.Fr
fb20 6f 6d 41 63 74 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 omAction(InputAction.action)....
fb40 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
fb60 75 72 6e 20 6e 65 77 20 57 72 69 74 65 41 63 74 69 6f 6e 4a 73 6f 6e 0d 0a 20 20 20 20 20 20 20 urn.new.WriteActionJson.........
fb80 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 .........{......................
fba0 6e 61 6d 65 20 3d 20 61 63 74 69 6f 6e 2e 6d 5f 4e 61 6d 65 2c 0d 0a 20 20 20 20 20 20 20 20 20 name.=.action.m_Name,...........
fbc0 20 20 20 20 20 20 20 20 20 20 20 74 79 70 65 20 3d 20 61 63 74 69 6f 6e 2e 6d 5f 54 79 70 65 2e ...........type.=.action.m_Type.
fbe0 54 6f 53 74 72 69 6e 67 28 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ToString(),.....................
fc00 20 69 64 20 3d 20 61 63 74 69 6f 6e 2e 6d 5f 49 64 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 .id.=.action.m_Id,..............
fc20 20 20 20 20 20 20 20 20 65 78 70 65 63 74 65 64 43 6f 6e 74 72 6f 6c 54 79 70 65 20 3d 20 61 63 ........expectedControlType.=.ac
fc40 74 69 6f 6e 2e 6d 5f 45 78 70 65 63 74 65 64 43 6f 6e 74 72 6f 6c 54 79 70 65 2c 0d 0a 20 20 20 tion.m_ExpectedControlType,.....
fc60 20 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 61 63 .................processors.=.ac
fc80 74 69 6f 6e 2e 70 72 6f 63 65 73 73 6f 72 73 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tion.processors,................
fca0 20 20 20 20 20 20 69 6e 74 65 72 61 63 74 69 6f 6e 73 20 3d 20 61 63 74 69 6f 6e 2e 69 6e 74 65 ......interactions.=.action.inte
fcc0 72 61 63 74 69 6f 6e 73 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0d 0a 20 ractions,..................};...
fce0 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 ...........}..........}.........
fd00 20 20 20 5b 53 65 72 69 61 6c 69 7a 61 62 6c 65 5d 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72 ...[Serializable]..........inter
fd20 6e 61 6c 20 73 74 72 75 63 74 20 52 65 61 64 4d 61 70 4a 73 6f 6e 0d 0a 20 20 20 20 20 20 20 20 nal.struct.ReadMapJson..........
fd40 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 72 69 6e 67 20 6e 61 6d {..............public.string.nam
fd60 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 72 69 6e 67 20 69 64 e;..............public.string.id
fd80 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 52 65 61 64 41 63 74 69 6f 6e ;..............public.ReadAction
fda0 4a 73 6f 6e 5b 5d 20 61 63 74 69 6f 6e 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 Json[].actions;..............pub
fdc0 6c 69 63 20 42 69 6e 64 69 6e 67 4a 73 6f 6e 5b 5d 20 62 69 6e 64 69 6e 67 73 3b 0d 0a 20 20 20 lic.BindingJson[].bindings;.....
fde0 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 5b 53 65 72 69 61 6c 69 7a 61 62 6c 65 5d .....}............[Serializable]
fe00 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 73 74 72 75 63 74 20 57 72 69 74 65 4d ..........internal.struct.WriteM
fe20 61 70 4a 73 6f 6e 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 apJson..........{..............p
fe40 75 62 6c 69 63 20 73 74 72 69 6e 67 20 6e 61 6d 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ublic.string.name;..............
fe60 70 75 62 6c 69 63 20 73 74 72 69 6e 67 20 69 64 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 public.string.id;..............p
fe80 75 62 6c 69 63 20 57 72 69 74 65 41 63 74 69 6f 6e 4a 73 6f 6e 5b 5d 20 61 63 74 69 6f 6e 73 3b ublic.WriteActionJson[].actions;
fea0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 42 69 6e 64 69 6e 67 4a 73 6f 6e ..............public.BindingJson
fec0 5b 5d 20 62 69 6e 64 69 6e 67 73 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c [].bindings;................publ
fee0 69 63 20 73 74 61 74 69 63 20 57 72 69 74 65 4d 61 70 4a 73 6f 6e 20 46 72 6f 6d 4d 61 70 28 49 ic.static.WriteMapJson.FromMap(I
ff00 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 20 20 20 20 nputActionMap.map)..............
ff20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 72 69 74 65 41 63 74 69 6f 6e 4a 73 {..................WriteActionJs
ff40 6f 6e 5b 5d 20 6a 73 6f 6e 41 63 74 69 6f 6e 73 20 3d 20 6e 75 6c 6c 3b 0d 0a 20 20 20 20 20 20 on[].jsonActions.=.null;........
ff60 20 20 20 20 20 20 20 20 20 20 42 69 6e 64 69 6e 67 4a 73 6f 6e 5b 5d 20 6a 73 6f 6e 42 69 6e 64 ..........BindingJson[].jsonBind
ff80 69 6e 67 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 ings.=.null;....................
ffa0 76 61 72 20 61 63 74 69 6f 6e 73 20 3d 20 6d 61 70 2e 6d 5f 41 63 74 69 6f 6e 73 3b 0d 0a 20 20 var.actions.=.map.m_Actions;....
ffc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 61 63 74 69 6f 6e 73 20 21 3d 20 6e 75 6c ..............if.(actions.!=.nul
ffe0 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 20 l)..................{...........
10000 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 20 3d 20 61 63 74 ...........var.actionCount.=.act
10020 69 6f 6e 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 ions.Length;....................
10040 20 20 6a 73 6f 6e 41 63 74 69 6f 6e 73 20 3d 20 6e 65 77 20 57 72 69 74 65 41 63 74 69 6f 6e 4a ..jsonActions.=.new.WriteActionJ
10060 73 6f 6e 5b 61 63 74 69 6f 6e 43 6f 75 6e 74 5d 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 son[actionCount];...............
10080 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 61 63 74 .........for.(var.i.=.0;.i.<.act
100a0 69 6f 6e 43 6f 75 6e 74 3b 20 2b 2b 69 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ionCount;.++i)..................
100c0 20 20 20 20 20 20 20 20 6a 73 6f 6e 41 63 74 69 6f 6e 73 5b 69 5d 20 3d 20 57 72 69 74 65 41 63 ........jsonActions[i].=.WriteAc
100e0 74 69 6f 6e 4a 73 6f 6e 2e 46 72 6f 6d 41 63 74 69 6f 6e 28 61 63 74 69 6f 6e 73 5b 69 5d 29 3b tionJson.FromAction(actions[i]);
10100 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 ..................}.............
10120 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 42 69 6e 64 .......var.bindings.=.map.m_Bind
10140 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 69 6e 64 69 ings;..................if.(bindi
10160 6e 67 73 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 7b 0d ngs.!=.null)..................{.
10180 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 69 6e 67 .....................var.binding
101a0 43 6f 75 6e 74 20 3d 20 62 69 6e 64 69 6e 67 73 2e 4c 65 6e 67 74 68 3b 0d 0a 20 20 20 20 20 20 Count.=.bindings.Length;........
101c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6a 73 6f 6e 42 69 6e 64 69 6e 67 73 20 3d 20 6e 65 77 ..............jsonBindings.=.new
101e0 20 42 69 6e 64 69 6e 67 4a 73 6f 6e 5b 62 69 6e 64 69 6e 67 43 6f 75 6e 74 5d 3b 0d 0a 0d 0a 20 .BindingJson[bindingCount];.....
10200 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 20 ...................for.(var.i.=.
10220 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 20 20 20 20 0;.i.<.bindingCount;.++i).......
10240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6a 73 6f 6e 42 69 6e 64 69 6e 67 73 5b ...................jsonBindings[
10260 69 5d 20 3d 20 42 69 6e 64 69 6e 67 4a 73 6f 6e 2e 46 72 6f 6d 42 69 6e 64 69 6e 67 28 72 65 66 i].=.BindingJson.FromBinding(ref
10280 20 62 69 6e 64 69 6e 67 73 5b 69 5d 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .bindings[i]);..................
102a0 7d 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 6e 65 77 20 }....................return.new.
102c0 57 72 69 74 65 4d 61 70 4a 73 6f 6e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d WriteMapJson..................{.
102e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 61 6d 65 20 3d 20 6d 61 70 2e .....................name.=.map.
10300 6e 61 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 69 64 20 3d 20 name,......................id.=.
10320 6d 61 70 2e 69 64 2e 54 6f 53 74 72 69 6e 67 28 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 map.id.ToString(),..............
10340 20 20 20 20 20 20 20 20 61 63 74 69 6f 6e 73 20 3d 20 6a 73 6f 6e 41 63 74 69 6f 6e 73 2c 0d 0a ........actions.=.jsonActions,..
10360 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 73 20 3d 20 6a ....................bindings.=.j
10380 73 6f 6e 42 69 6e 64 69 6e 67 73 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b sonBindings,..................};
103a0 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 20 ..............}..........}......
103c0 20 20 20 20 20 20 2f 2f 20 57 65 20 77 72 69 74 65 20 4a 53 4f 4e 20 69 6e 20 61 20 6c 65 73 73 ......//.We.write.JSON.in.a.less
103e0 20 66 6c 65 78 69 62 6c 65 20 66 6f 72 6d 61 74 20 74 68 61 6e 20 77 65 20 61 6c 6c 6f 77 20 74 .flexible.format.than.we.allow.t
10400 6f 20 62 65 20 72 65 61 64 2e 20 4a 53 4f 4e 20 66 69 6c 65 73 0d 0a 20 20 20 20 20 20 20 20 2f o.be.read..JSON.files........../
10420 2f 20 77 65 20 72 65 61 64 20 63 61 6e 20 6a 75 73 74 20 62 65 20 66 6c 61 74 20 6c 69 73 74 73 /.we.read.can.just.be.flat.lists
10440 20 6f 66 20 61 63 74 69 6f 6e 73 20 77 69 74 68 20 74 68 65 20 6d 61 70 20 6e 61 6d 65 20 62 65 .of.actions.with.the.map.name.be
10460 69 6e 67 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 74 68 65 ing.contained.in..........//.the
10480 20 61 63 74 69 6f 6e 20 6e 61 6d 65 20 61 6e 64 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 69 .action.name.and.containing.thei
104a0 72 20 6f 77 6e 20 62 69 6e 64 69 6e 67 73 20 64 69 72 65 63 74 6c 79 2e 20 4a 53 4f 4e 20 66 69 r.own.bindings.directly..JSON.fi
104c0 6c 65 73 20 77 65 20 77 72 69 74 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 67 6f 20 6d 61 70 20 les.we.write..........//.go.map.
104e0 62 79 20 6d 61 70 20 61 6e 64 20 73 65 70 61 72 61 74 65 20 62 69 6e 64 69 6e 67 73 20 61 6e 64 by.map.and.separate.bindings.and
10500 20 61 63 74 69 6f 6e 73 2e 0d 0a 20 20 20 20 20 20 20 20 5b 53 65 72 69 61 6c 69 7a 61 62 6c 65 .actions...........[Serializable
10520 5d 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 73 74 72 75 63 74 20 57 72 69 74 65 ]..........internal.struct.Write
10540 46 69 6c 65 4a 73 6f 6e 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 FileJson..........{.............
10560 20 70 75 62 6c 69 63 20 57 72 69 74 65 4d 61 70 4a 73 6f 6e 5b 5d 20 6d 61 70 73 3b 0d 0a 0d 0a .public.WriteMapJson[].maps;....
10580 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 57 72 69 74 65 46 ............public.static.WriteF
105a0 69 6c 65 4a 73 6f 6e 20 46 72 6f 6d 4d 61 70 28 49 6e 70 75 74 41 63 74 69 6f 6e 4d 61 70 20 6d ileJson.FromMap(InputActionMap.m
105c0 61 70 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 ap)..............{..............
105e0 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77 20 57 72 69 74 65 46 69 6c 65 4a 73 6f 6e 0d 0a 20 20 ....return.new.WriteFileJson....
10600 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 ..............{.................
10620 20 20 20 20 20 6d 61 70 73 20 3d 20 6e 65 77 5b 5d 20 7b 57 72 69 74 65 4d 61 70 4a 73 6f 6e 2e .....maps.=.new[].{WriteMapJson.
10640 46 72 6f 6d 4d 61 70 28 6d 61 70 29 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d FromMap(map)}..................}
10660 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 ;..............}................
10680 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 57 72 69 74 65 46 69 6c 65 4a 73 6f 6e 20 46 72 6f 6d public.static.WriteFileJson.From
106a0 4d 61 70 73 28 49 45 6e 75 6d 65 72 61 62 6c 65 3c 49 6e 70 75 74 41 63 74 69 6f 6e 4d 61 70 3e Maps(IEnumerable<InputActionMap>
106c0 20 6d 61 70 73 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 .maps)..............{...........
106e0 20 20 20 20 20 20 20 76 61 72 20 6d 61 70 43 6f 75 6e 74 20 3d 20 6d 61 70 73 2e 43 6f 75 6e 74 .......var.mapCount.=.maps.Count
10700 28 29 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 43 6f 75 6e ();..................if.(mapCoun
10720 74 20 3d 3d 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 72 65 74 t.==.0)......................ret
10740 75 72 6e 20 6e 65 77 20 57 72 69 74 65 46 69 6c 65 4a 73 6f 6e 28 29 3b 0d 0a 0d 0a 20 20 20 20 urn.new.WriteFileJson();........
10760 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d 61 70 73 4a 73 6f 6e 20 3d 20 6e 65 77 20 57 ............var.mapsJson.=.new.W
10780 72 69 74 65 4d 61 70 4a 73 6f 6e 5b 6d 61 70 43 6f 75 6e 74 5d 3b 0d 0a 20 20 20 20 20 20 20 20 riteMapJson[mapCount];..........
107a0 20 20 20 20 20 20 20 20 76 61 72 20 69 6e 64 65 78 20 3d 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 ........var.index.=.0;..........
107c0 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 76 61 72 20 6d 61 70 20 69 6e 20 6d 61 70 73 ........foreach.(var.map.in.maps
107e0 29 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 73 4a 73 6f 6e 5b )......................mapsJson[
10800 69 6e 64 65 78 2b 2b 5d 20 3d 20 57 72 69 74 65 4d 61 70 4a 73 6f 6e 2e 46 72 6f 6d 4d 61 70 28 index++].=.WriteMapJson.FromMap(
10820 6d 61 70 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 map);....................return.
10840 6e 65 77 20 57 72 69 74 65 46 69 6c 65 4a 73 6f 6e 20 7b 6d 61 70 73 20 3d 20 6d 61 70 73 4a 73 new.WriteFileJson.{maps.=.mapsJs
10860 6f 6e 7d 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 on};..............}..........}..
10880 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 41 20 4a 53 4f 4e 20 72 65 70 72 65 73 65 6e 74 61 74 69 ..........//.A.JSON.representati
108a0 6f 6e 20 6f 66 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 73 65 74 73 20 6f 66 20 61 63 74 69 6f 6e on.of.one.or.more.sets.of.action
108c0 73 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 43 6f 6e 74 61 69 6e 73 20 61 20 6c 69 73 74 20 6f s...........//.Contains.a.list.o
108e0 66 20 61 63 74 69 6f 6e 73 2e 20 45 61 63 68 20 61 63 74 69 6f 6e 20 6d 61 79 20 73 70 65 63 69 f.actions..Each.action.may.speci
10900 66 79 20 74 68 65 20 73 65 74 20 69 74 20 62 65 6c 6f 6e 67 73 20 74 6f 0d 0a 20 20 20 20 20 20 fy.the.set.it.belongs.to........
10920 20 20 2f 2f 20 61 73 20 70 61 72 74 20 6f 66 20 69 74 73 20 6e 61 6d 65 20 28 22 73 65 74 2f 61 ..//.as.part.of.its.name.("set/a
10940 63 74 69 6f 6e 22 29 2e 0d 0a 20 20 20 20 20 20 20 20 5b 53 65 72 69 61 6c 69 7a 61 62 6c 65 5d ction")...........[Serializable]
10960 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 73 74 72 75 63 74 20 52 65 61 64 46 69 ..........internal.struct.ReadFi
10980 6c 65 4a 73 6f 6e 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 leJson..........{..............p
109a0 75 62 6c 69 63 20 52 65 61 64 41 63 74 69 6f 6e 4a 73 6f 6e 5b 5d 20 61 63 74 69 6f 6e 73 3b 0d ublic.ReadActionJson[].actions;.
109c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 52 65 61 64 4d 61 70 4a 73 6f 6e 5b .............public.ReadMapJson[
109e0 5d 20 6d 61 70 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 49 6e ].maps;................public.In
10a00 70 75 74 41 63 74 69 6f 6e 4d 61 70 5b 5d 20 54 6f 4d 61 70 73 28 29 0d 0a 20 20 20 20 20 20 20 putActionMap[].ToMaps().........
10a20 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 4c .....{..................var.mapL
10a40 69 73 74 20 3d 20 6e 65 77 20 4c 69 73 74 3c 49 6e 70 75 74 41 63 74 69 6f 6e 4d 61 70 3e 28 29 ist.=.new.List<InputActionMap>()
10a60 3b 0d 0a 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 4c 69 73 ;..................var.actionLis
10a80 74 73 20 3d 20 6e 65 77 20 4c 69 73 74 3c 4c 69 73 74 3c 49 6e 70 75 74 41 63 74 69 6f 6e 3e 3e ts.=.new.List<List<InputAction>>
10aa0 28 29 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 64 69 6e 67 ();..................var.binding
10ac0 4c 69 73 74 73 20 3d 20 6e 65 77 20 4c 69 73 74 3c 4c 69 73 74 3c 49 6e 70 75 74 42 69 6e 64 69 Lists.=.new.List<List<InputBindi
10ae0 6e 67 3e 3e 28 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 50 72 ng>>();....................//.Pr
10b00 6f 63 65 73 73 20 61 63 74 69 6f 6e 73 20 6c 69 73 74 65 64 20 61 74 20 74 6f 70 6c 65 76 65 6c ocess.actions.listed.at.toplevel
10b20 2e 0d 0a 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 43 6f 75 ...................var.actionCou
10b40 6e 74 20 3d 20 61 63 74 69 6f 6e 73 3f 2e 4c 65 6e 67 74 68 20 3f 3f 20 30 3b 0d 0a 20 20 20 20 nt.=.actions?.Length.??.0;......
10b60 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 20 ............for.(var.i.=.0;.i.<.
10b80 61 63 74 69 6f 6e 43 6f 75 6e 74 3b 20 2b 2b 69 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 actionCount;.++i)...............
10ba0 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 6a 73 ...{......................var.js
10bc0 6f 6e 41 63 74 69 6f 6e 20 3d 20 61 63 74 69 6f 6e 73 5b 69 5d 3b 0d 0a 0d 0a 20 20 20 20 20 20 onAction.=.actions[i];..........
10be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 74 72 69 6e 67 2e 49 73 4e 75 6c 6c 4f ..............if.(string.IsNullO
10c00 72 45 6d 70 74 79 28 6a 73 6f 6e 41 63 74 69 6f 6e 2e 6e 61 6d 65 29 29 0d 0a 20 20 20 20 20 20 rEmpty(jsonAction.name))........
10c20 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 49 6e 76 61 ..................throw.new.Inva
10c40 6c 69 64 4f 70 65 72 61 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 28 24 22 41 63 74 69 6f 6e 20 6e lidOperationException($"Action.n
10c60 75 6d 62 65 72 20 7b 69 20 2b 20 31 7d 20 68 61 73 20 6e 6f 20 6e 61 6d 65 22 29 3b 0d 0a 0d 0a umber.{i.+.1}.has.no.name");....
10c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 2f 52 45 56 49 45 57 3a 20 ....................////REVIEW:.
10ca0 6d 61 6b 65 20 73 75 72 65 20 61 6c 6c 20 61 63 74 69 6f 6e 20 6e 61 6d 65 73 20 61 72 65 20 75 make.sure.all.action.names.are.u
10cc0 6e 69 71 75 65 3f 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f nique?........................//
10ce0 20 44 65 74 65 72 6d 69 6e 65 20 6e 61 6d 65 20 6f 66 20 61 63 74 69 6f 6e 20 6d 61 70 2e 0d 0a .Determine.name.of.action.map...
10d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 20 6d 61 70 4e 61 ....................string.mapNa
10d20 6d 65 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 20 20 20 20 me.=.null;......................
10d40 76 61 72 20 61 63 74 69 6f 6e 4e 61 6d 65 20 3d 20 6a 73 6f 6e 41 63 74 69 6f 6e 2e 6e 61 6d 65 var.actionName.=.jsonAction.name
10d60 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 69 6e 64 65 78 ;......................var.index
10d80 4f 66 46 69 72 73 74 53 6c 61 73 68 20 3d 20 61 63 74 69 6f 6e 4e 61 6d 65 2e 49 6e 64 65 78 4f OfFirstSlash.=.actionName.IndexO
10da0 66 28 27 2f 27 29 3b 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 f('/');......................if.
10dc0 28 69 6e 64 65 78 4f 66 46 69 72 73 74 53 6c 61 73 68 20 21 3d 20 2d 31 29 0d 0a 20 20 20 20 20 (indexOfFirstSlash.!=.-1).......
10de0 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 ...............{................
10e00 20 20 20 20 20 20 20 20 20 20 6d 61 70 4e 61 6d 65 20 3d 20 61 63 74 69 6f 6e 4e 61 6d 65 2e 53 ..........mapName.=.actionName.S
10e20 75 62 73 74 72 69 6e 67 28 30 2c 20 69 6e 64 65 78 4f 66 46 69 72 73 74 53 6c 61 73 68 29 3b 0d ubstring(0,.indexOfFirstSlash);.
10e40 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 61 63 74 69 6f 6e 4e .........................actionN
10e60 61 6d 65 20 3d 20 61 63 74 69 6f 6e 4e 61 6d 65 2e 53 75 62 73 74 72 69 6e 67 28 69 6e 64 65 78 ame.=.actionName.Substring(index
10e80 4f 66 46 69 72 73 74 53 6c 61 73 68 20 2b 20 31 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 OfFirstSlash.+.1);..............
10ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 74 72 69 6e 67 2e 49 73 4e 75 6c 6c 4f ..............if.(string.IsNullO
10ec0 72 45 6d 70 74 79 28 61 63 74 69 6f 6e 4e 61 6d 65 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 rEmpty(actionName)).............
10ee0 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 49 6e 76 61 6c .................throw.new.Inval
10f00 69 64 4f 70 65 72 61 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 28 0d 0a 20 20 20 20 20 20 20 20 20 idOperationException(...........
10f20 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 49 6e 76 61 6c 69 64 .......................$"Invalid
10f40 20 61 63 74 69 6f 6e 20 6e 61 6d 65 20 27 7b 6a 73 6f 6e 41 63 74 69 6f 6e 2e 6e 61 6d 65 7d 27 .action.name.'{jsonAction.name}'
10f60 20 28 6d 69 73 73 69 6e 67 20 61 63 74 69 6f 6e 20 6e 61 6d 65 20 61 66 74 65 72 20 27 2f 27 29 .(missing.action.name.after.'/')
10f80 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 7d 0d 0a 0d 0a 20 20 ");......................}......
10fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 54 72 79 20 74 6f 20 66 69 6e 64 ..................//.Try.to.find
10fc0 20 65 78 69 73 74 69 6e 67 20 6d 61 70 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .existing.map...................
10fe0 20 20 20 20 49 6e 70 75 74 41 63 74 69 6f 6e 4d 61 70 20 6d 61 70 20 3d 20 6e 75 6c 6c 3b 0d 0a ....InputActionMap.map.=.null;..
11000 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 64 65 78 ....................var.mapIndex
11020 20 3d 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 .=.0;......................for.(
11040 3b 20 6d 61 70 49 6e 64 65 78 20 3c 20 6d 61 70 4c 69 73 74 2e 43 6f 75 6e 74 3b 20 2b 2b 6d 61 ;.mapIndex.<.mapList.Count;.++ma
11060 70 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 pIndex)......................{..
11080 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 73 74 72 69 ........................if.(stri
110a0 6e 67 2e 43 6f 6d 70 61 72 65 28 6d 61 70 4c 69 73 74 5b 6d 61 70 49 6e 64 65 78 5d 2e 6e 61 6d ng.Compare(mapList[mapIndex].nam
110c0 65 2c 20 6d 61 70 4e 61 6d 65 2c 20 53 74 72 69 6e 67 43 6f 6d 70 61 72 69 73 6f 6e 2e 49 6e 76 e,.mapName,.StringComparison.Inv
110e0 61 72 69 61 6e 74 43 75 6c 74 75 72 65 49 67 6e 6f 72 65 43 61 73 65 29 20 3d 3d 20 30 29 0d 0a ariantCultureIgnoreCase).==.0)..
11100 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 ........................{.......
11120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 70 20 3d 20 6d 61 70 .......................map.=.map
11140 4c 69 73 74 5b 6d 61 70 49 6e 64 65 78 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 List[mapIndex];.................
11160 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 20 20 .............break;.............
11180 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 .............}..................
111a0 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 ....}........................//.
111c0 43 72 65 61 74 65 20 6e 65 77 20 6d 61 70 20 69 66 20 69 74 27 73 20 74 68 65 20 66 69 72 73 74 Create.new.map.if.it's.the.first
111e0 20 61 63 74 69 6f 6e 20 69 6e 20 74 68 65 20 6d 61 70 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 .action.in.the.map..............
11200 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 61 70 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 .........if.(map.==.null).......
11220 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 ...............{................
11240 20 20 20 20 20 20 20 20 20 20 2f 2f 20 4e 4f 54 45 3a 20 4e 6f 20 6d 61 70 20 49 44 73 20 73 75 ..........//.NOTE:.No.map.IDs.su
11260 70 70 6f 72 74 65 64 20 6f 6e 20 74 68 69 73 20 70 61 74 68 2e 0d 0a 20 20 20 20 20 20 20 20 20 pported.on.this.path............
11280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 70 20 3d 20 6e 65 77 20 49 6e 70 75 74 41 63 ...............map.=.new.InputAc
112a0 74 69 6f 6e 4d 61 70 28 6d 61 70 4e 61 6d 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 tionMap(mapName);...............
112c0 20 20 20 20 20 20 20 20 20 20 20 6d 61 70 49 6e 64 65 78 20 3d 20 6d 61 70 4c 69 73 74 2e 43 6f ...........mapIndex.=.mapList.Co
112e0 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 20 20 20 20 6d 61 unt;..........................ma
11300 70 4c 69 73 74 2e 41 64 64 28 6d 61 70 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pList.Add(map);.................
11320 20 20 20 20 20 20 20 20 20 61 63 74 69 6f 6e 4c 69 73 74 73 2e 41 64 64 28 6e 65 77 20 4c 69 73 .........actionLists.Add(new.Lis
11340 74 3c 49 6e 70 75 74 41 63 74 69 6f 6e 3e 28 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 t<InputAction>());..............
11360 20 20 20 20 20 20 20 20 20 20 20 20 62 69 6e 64 69 6e 67 4c 69 73 74 73 2e 41 64 64 28 6e 65 77 ............bindingLists.Add(new
11380 20 4c 69 73 74 3c 49 6e 70 75 74 42 69 6e 64 69 6e 67 3e 28 29 29 3b 0d 0a 20 20 20 20 20 20 20 .List<InputBinding>());.........
113a0 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............}..................
113c0 20 20 20 20 20 20 2f 2f 20 43 72 65 61 74 65 20 61 63 74 69 6f 6e 2e 0d 0a 20 20 20 20 20 20 20 ......//.Create.action..........
113e0 20 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 6a 73 6f 6e 41 63 .............var.action.=.jsonAc
11400 74 69 6f 6e 2e 54 6f 41 63 74 69 6f 6e 28 61 63 74 69 6f 6e 4e 61 6d 65 29 3b 0d 0a 20 20 20 20 tion.ToAction(actionName);......
11420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 69 6f 6e 4c 69 73 74 73 5b 6d 61 70 49 ................actionLists[mapI
11440 6e 64 65 78 5d 2e 41 64 64 28 61 63 74 69 6f 6e 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 ndex].Add(action);..............
11460 20 20 20 20 20 20 20 20 20 20 2f 2f 20 41 64 64 20 62 69 6e 64 69 6e 67 73 2e 0d 0a 20 20 20 20 ..........//.Add.bindings.......
11480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6a 73 6f 6e 41 63 74 69 6f 6e 2e 62 ................if.(jsonAction.b
114a0 69 6e 64 69 6e 67 73 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 indings.!=.null)................
114c0 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 20 ......{.........................
114e0 20 76 61 72 20 62 69 6e 64 69 6e 67 73 46 6f 72 4d 61 70 20 3d 20 62 69 6e 64 69 6e 67 4c 69 73 .var.bindingsForMap.=.bindingLis
11500 74 73 5b 6d 61 70 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 ts[mapIndex];...................
11520 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 6a 73 6f 6e 41 .......for.(var.n.=.0;.n.<.jsonA
11540 63 74 69 6f 6e 2e 62 69 6e 64 69 6e 67 73 2e 4c 65 6e 67 74 68 3b 20 2b 2b 6e 29 0d 0a 20 20 20 ction.bindings.Length;.++n).....
11560 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 20 20 .....................{..........
11580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6a 73 6f 6e 42 69 6e 64 ....................var.jsonBind
115a0 69 6e 67 20 3d 20 6a 73 6f 6e 41 63 74 69 6f 6e 2e 62 69 6e 64 69 6e 67 73 5b 6e 5d 3b 0d 0a 20 ing.=.jsonAction.bindings[n];...
115c0 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 62 ...........................var.b
115e0 69 6e 64 69 6e 67 20 3d 20 6a 73 6f 6e 42 69 6e 64 69 6e 67 2e 54 6f 42 69 6e 64 69 6e 67 28 29 inding.=.jsonBinding.ToBinding()
11600 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 20 20 62 ;..............................b
11620 69 6e 64 69 6e 67 2e 61 63 74 69 6f 6e 20 3d 20 61 63 74 69 6f 6e 2e 6d 5f 4e 61 6d 65 3b 0d 0a inding.action.=.action.m_Name;..
11640 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 62 69 6e 64 ............................bind
11660 69 6e 67 73 46 6f 72 4d 61 70 2e 41 64 64 28 62 69 6e 64 69 6e 67 29 3b 0d 0a 20 20 20 20 20 20 ingsForMap.Add(binding);........
11680 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 20 ..................}.............
116a0 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 0d .........}..................}...
116c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 50 72 6f 63 65 73 73 20 6d 61 70 73 .................//.Process.maps
116e0 2e 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 43 6f 75 6e 74 20 ...................var.mapCount.
11700 3d 20 6d 61 70 73 3f 2e 4c 65 6e 67 74 68 20 3f 3f 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 =.maps?.Length.??.0;............
11720 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 6d 61 70 43 6f 75 ......for.(var.i.=.0;.i.<.mapCou
11740 6e 74 3b 20 2b 2b 69 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 nt;.++i)..................{.....
11760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6a 73 6f 6e 4d 61 70 20 3d 20 6d .................var.jsonMap.=.m
11780 61 70 73 5b 69 5d 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 aps[i];........................v
117a0 61 72 20 6d 61 70 4e 61 6d 65 20 3d 20 6a 73 6f 6e 4d 61 70 2e 6e 61 6d 65 3b 0d 0a 20 20 20 20 ar.mapName.=.jsonMap.name;......
117c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 74 72 69 6e 67 2e 49 73 4e 75 6c ................if.(string.IsNul
117e0 6c 4f 72 45 6d 70 74 79 28 6d 61 70 4e 61 6d 65 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 lOrEmpty(mapName))..............
11800 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 65 ............throw.new.InvalidOpe
11820 72 61 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 28 24 22 4d 61 70 20 6e 75 6d 62 65 72 20 7b 69 20 rationException($"Map.number.{i.
11840 2b 20 31 7d 20 68 61 73 20 6e 6f 20 6e 61 6d 65 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 +.1}.has.no.name");.............
11860 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 54 72 79 20 74 6f 20 66 69 6e 64 20 65 78 69 73 74 69 ...........//.Try.to.find.existi
11880 6e 67 20 6d 61 70 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 70 ng.map.......................Inp
118a0 75 74 41 63 74 69 6f 6e 4d 61 70 20 6d 61 70 20 3d 20 6e 75 6c 6c 3b 0d 0a 20 20 20 20 20 20 20 utActionMap.map.=.null;.........
118c0 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 3d 20 30 3b 0d 0a .............var.mapIndex.=.0;..
118e0 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 3b 20 6d 61 70 49 6e ....................for.(;.mapIn
11900 64 65 78 20 3c 20 6d 61 70 4c 69 73 74 2e 43 6f 75 6e 74 3b 20 2b 2b 6d 61 70 49 6e 64 65 78 29 dex.<.mapList.Count;.++mapIndex)
11920 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 20 20 ......................{.........
11940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 74 72 69 6e 67 2e 43 6f 6d 70 .................if.(string.Comp
11960 61 72 65 28 6d 61 70 4c 69 73 74 5b 6d 61 70 49 6e 64 65 78 5d 2e 6e 61 6d 65 2c 20 6d 61 70 4e are(mapList[mapIndex].name,.mapN
11980 61 6d 65 2c 20 53 74 72 69 6e 67 43 6f 6d 70 61 72 69 73 6f 6e 2e 49 6e 76 61 72 69 61 6e 74 43 ame,.StringComparison.InvariantC
119a0 75 6c 74 75 72 65 49 67 6e 6f 72 65 43 61 73 65 29 20 3d 3d 20 30 29 0d 0a 20 20 20 20 20 20 20 ultureIgnoreCase).==.0).........
119c0 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 .................{..............
119e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 70 20 3d 20 6d 61 70 4c 69 73 74 5b 6d 61 ................map.=.mapList[ma
11a00 70 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 pIndex];........................
11a20 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;....................
11a40 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 20 7d 0d 0a ......}......................}..
11a60 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 43 72 65 61 74 65 20 ......................//.Create.
11a80 6e 65 77 20 6d 61 70 20 69 66 20 77 65 20 68 61 76 65 6e 27 74 20 73 65 65 6e 20 69 74 20 62 65 new.map.if.we.haven't.seen.it.be
11aa0 66 6f 72 65 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 6d fore.......................if.(m
11ac0 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).....................
11ae0 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 6d 61 70 20 .{..........................map.
11b00 3d 20 6e 65 77 20 49 6e 70 75 74 41 63 74 69 6f 6e 4d 61 70 28 6d 61 70 4e 61 6d 65 29 0d 0a 20 =.new.InputActionMap(mapName)...
11b20 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 .......................{........
11b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 49 64 20 3d 20 73 74 72 ......................m_Id.=.str
11b60 69 6e 67 2e 49 73 4e 75 6c 6c 4f 72 45 6d 70 74 79 28 6a 73 6f 6e 4d 61 70 2e 69 64 29 20 3f 20 ing.IsNullOrEmpty(jsonMap.id).?.
11b80 6e 75 6c 6c 20 3a 20 6a 73 6f 6e 4d 61 70 2e 69 64 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 null.:.jsonMap.id...............
11ba0 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........};...................
11bc0 20 20 20 20 20 20 20 6d 61 70 49 6e 64 65 78 20 3d 20 6d 61 70 4c 69 73 74 2e 43 6f 75 6e 74 3b .......mapIndex.=.mapList.Count;
11be0 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 61 70 4c 69 73 ..........................mapLis
11c00 74 2e 41 64 64 28 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 t.Add(map);.....................
11c20 20 20 20 20 20 61 63 74 69 6f 6e 4c 69 73 74 73 2e 41 64 64 28 6e 65 77 20 4c 69 73 74 3c 49 6e .....actionLists.Add(new.List<In
11c40 70 75 74 41 63 74 69 6f 6e 3e 28 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 putAction>());..................
11c60 20 20 20 20 20 20 20 20 62 69 6e 64 69 6e 67 4c 69 73 74 73 2e 41 64 64 28 6e 65 77 20 4c 69 73 ........bindingLists.Add(new.Lis
11c80 74 3c 49 6e 70 75 74 42 69 6e 64 69 6e 67 3e 28 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 t<InputBinding>());.............
11ca0 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 20 20 .........}......................
11cc0 20 20 2f 2f 20 50 72 6f 63 65 73 73 20 61 63 74 69 6f 6e 73 20 69 6e 20 6d 61 70 2e 0d 0a 20 20 ..//.Process.actions.in.map.....
11ce0 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 43 6f 75 6e ..................var.actionCoun
11d00 74 49 6e 4d 61 70 20 3d 20 6a 73 6f 6e 4d 61 70 2e 61 63 74 69 6f 6e 73 3f 2e 4c 65 6e 67 74 68 tInMap.=.jsonMap.actions?.Length
11d20 20 3f 3f 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 .??.0;......................for.
11d40 28 76 61 72 20 6e 20 3d 20 30 3b 20 6e 20 3c 20 61 63 74 69 6f 6e 43 6f 75 6e 74 49 6e 4d 61 70 (var.n.=.0;.n.<.actionCountInMap
11d60 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 20 20 20 7b 0d 0a 20 ;.++n)......................{...
11d80 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 6a 73 6f 6e 41 .......................var.jsonA
11da0 63 74 69 6f 6e 20 3d 20 6a 73 6f 6e 4d 61 70 2e 61 63 74 69 6f 6e 73 5b 6e 5d 3b 0d 0a 0d 0a 20 ction.=.jsonMap.actions[n];.....
11dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 74 72 69 6e .......................if.(strin
11de0 67 2e 49 73 4e 75 6c 6c 4f 72 45 6d 70 74 79 28 6a 73 6f 6e 41 63 74 69 6f 6e 2e 6e 61 6d 65 29 g.IsNullOrEmpty(jsonAction.name)
11e00 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 74 )..............................t
11e20 68 72 6f 77 20 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 hrow.new.InvalidOperationExcepti
11e40 6f 6e 28 24 22 41 63 74 69 6f 6e 20 6e 75 6d 62 65 72 20 7b 69 20 2b 20 31 7d 20 69 6e 20 6d 61 on($"Action.number.{i.+.1}.in.ma
11e60 70 20 27 7b 6d 61 70 4e 61 6d 65 7d 27 20 68 61 73 20 6e 6f 20 6e 61 6d 65 22 29 3b 0d 0a 0d 0a p.'{mapName}'.has.no.name");....
11e80 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 72 65 61 74 ........................//.Creat
11ea0 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 20 20 20 20 e.action........................
11ec0 20 20 20 76 61 72 20 61 63 74 69 6f 6e 20 3d 20 6a 73 6f 6e 41 63 74 69 6f 6e 2e 54 6f 41 63 74 ...var.action.=.jsonAction.ToAct
11ee0 69 6f 6e 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ion();..........................
11f00 61 63 74 69 6f 6e 4c 69 73 74 73 5b 6d 61 70 49 6e 64 65 78 5d 2e 41 64 64 28 61 63 74 69 6f 6e actionLists[mapIndex].Add(action
11f20 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f );............................//
11f40 20 41 64 64 20 62 69 6e 64 69 6e 67 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .Add.bindings...................
11f60 20 20 20 20 20 20 20 20 69 66 20 28 6a 73 6f 6e 41 63 74 69 6f 6e 2e 62 69 6e 64 69 6e 67 73 20 ........if.(jsonAction.bindings.
11f80 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 20 20 20 20 20 20 !=.null)........................
11fa0 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 ..{.............................
11fc0 20 76 61 72 20 62 69 6e 64 69 6e 67 4c 69 73 74 20 3d 20 62 69 6e 64 69 6e 67 4c 69 73 74 73 5b .var.bindingList.=.bindingLists[
11fe0 6d 61 70 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 mapIndex];......................
12000 20 20 20 20 20 20 20 20 66 6f 72 20 28 76 61 72 20 6b 20 3d 20 30 3b 20 6b 20 3c 20 6a 73 6f 6e ........for.(var.k.=.0;.k.<.json
12020 41 63 74 69 6f 6e 2e 62 69 6e 64 69 6e 67 73 2e 4c 65 6e 67 74 68 3b 20 2b 2b 6b 29 0d 0a 20 20 Action.bindings.Length;.++k)....
12040 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 7b 0d 0a 20 20 20 ..........................{.....
12060 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 76 61 72 .............................var
12080 20 6a 73 6f 6e 42 69 6e 64 69 6e 67 20 3d 20 6a 73 6f 6e 41 63 74 69 6f 6e 2e 62 69 6e 64 69 6e .jsonBinding.=.jsonAction.bindin
120a0 67 73 5b 6b 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 20 gs[k];..........................
120c0 20 20 20 20 20 20 20 20 76 61 72 20 62 69 6e 64 69 6e 67 20 3d 20 6a 73 6f 6e 42 69 6e 64 69 6e ........var.binding.=.jsonBindin
120e0 67 2e 54 6f 42 69 6e 64 69 6e 67 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 g.ToBinding();..................
12100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 69 6e 64 69 6e 67 2e 61 63 74 69 6f 6e 20 3d ................binding.action.=
12120 20 61 63 74 69 6f 6e 2e 6d 5f 4e 61 6d 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .action.m_Name;.................
12140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 69 6e 64 69 6e 67 4c 69 73 74 2e 41 64 64 .................bindingList.Add
12160 28 62 69 6e 64 69 6e 67 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (binding);......................
12180 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 20 20 ........}.......................
121a0 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 7d 0d 0a 0d 0a 20 ...}......................}.....
121c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 50 72 6f 63 65 73 73 20 62 69 ...................//.Process.bi
121e0 6e 64 69 6e 67 73 20 69 6e 20 6d 61 70 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ndings.in.map...................
12200 20 20 20 20 76 61 72 20 62 69 6e 64 69 6e 67 43 6f 75 6e 74 49 6e 4d 61 70 20 3d 20 6a 73 6f 6e ....var.bindingCountInMap.=.json
12220 4d 61 70 2e 62 69 6e 64 69 6e 67 73 3f 2e 4c 65 6e 67 74 68 20 3f 3f 20 30 3b 0d 0a 20 20 20 20 Map.bindings?.Length.??.0;......
12240 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 73 46 6f 72 4d ................var.bindingsForM
12260 61 70 20 3d 20 62 69 6e 64 69 6e 67 4c 69 73 74 73 5b 6d 61 70 49 6e 64 65 78 5d 3b 0d 0a 20 20 ap.=.bindingLists[mapIndex];....
12280 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 6e 20 3d 20 30 ..................for.(var.n.=.0
122a0 3b 20 6e 20 3c 20 62 69 6e 64 69 6e 67 43 6f 75 6e 74 49 6e 4d 61 70 3b 20 2b 2b 6e 29 0d 0a 20 ;.n.<.bindingCountInMap;.++n)...
122c0 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 ...................{............
122e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6a 73 6f 6e 42 69 6e 64 69 6e 67 20 3d 20 ..............var.jsonBinding.=.
12300 6a 73 6f 6e 4d 61 70 2e 62 69 6e 64 69 6e 67 73 5b 6e 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 jsonMap.bindings[n];............
12320 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 20 3d 20 6a 73 6f 6e ..............var.binding.=.json
12340 42 69 6e 64 69 6e 67 2e 54 6f 42 69 6e 64 69 6e 67 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 Binding.ToBinding();............
12360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 69 6e 64 69 6e 67 73 46 6f 72 4d 61 70 2e 41 64 64 ..............bindingsForMap.Add
12380 28 62 69 6e 64 69 6e 67 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (binding);......................
123a0 7d 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 }..................}............
123c0 20 20 20 20 20 20 20 20 2f 2f 20 46 69 6e 61 6c 69 7a 65 20 61 72 72 61 79 73 2e 0d 0a 20 20 20 ........//.Finalize.arrays......
123e0 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.<
12400 20 6d 61 70 4c 69 73 74 2e 43 6f 75 6e 74 3b 20 2b 2b 69 29 0d 0a 20 20 20 20 20 20 20 20 20 20 .mapList.Count;.++i)............
12420 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 76 61 72 ......{......................var
12440 20 6d 61 70 20 3d 20 6d 61 70 4c 69 73 74 5b 69 5d 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 .map.=.mapList[i];..............
12460 20 20 20 20 20 20 20 20 20 20 76 61 72 20 61 63 74 69 6f 6e 41 72 72 61 79 20 3d 20 61 63 74 69 ..........var.actionArray.=.acti
12480 6f 6e 4c 69 73 74 73 5b 69 5d 2e 54 6f 41 72 72 61 79 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 onLists[i].ToArray();...........
124a0 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 62 69 6e 64 69 6e 67 41 72 72 61 79 20 3d 20 62 69 ...........var.bindingArray.=.bi
124c0 6e 64 69 6e 67 4c 69 73 74 73 5b 69 5d 2e 54 6f 41 72 72 61 79 28 29 3b 0d 0a 0d 0a 20 20 20 20 ndingLists[i].ToArray();........
124e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 70 2e 6d 5f 41 63 74 69 6f 6e 73 20 3d 20 ................map.m_Actions.=.
12500 61 63 74 69 6f 6e 41 72 72 61 79 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 actionArray;....................
12520 20 20 6d 61 70 2e 6d 5f 42 69 6e 64 69 6e 67 73 20 3d 20 62 69 6e 64 69 6e 67 41 72 72 61 79 3b ..map.m_Bindings.=.bindingArray;
12540 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 76 61 72 ........................for.(var
12560 20 6e 20 3d 20 30 3b 20 6e 20 3c 20 61 63 74 69 6f 6e 41 72 72 61 79 2e 4c 65 6e 67 74 68 3b 20 .n.=.0;.n.<.actionArray.Length;.
12580 2b 2b 6e 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 ++n)......................{.....
125a0 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 61 63 74 69 6f 6e 20 .....................var.action.
125c0 3d 20 61 63 74 69 6f 6e 41 72 72 61 79 5b 6e 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 =.actionArray[n];...............
125e0 20 20 20 20 20 20 20 20 20 20 20 61 63 74 69 6f 6e 2e 6d 5f 41 63 74 69 6f 6e 4d 61 70 20 3d 20 ...........action.m_ActionMap.=.
12600 6d 61 70 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 map;......................}.....
12620 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............}..................
12640 20 20 72 65 74 75 72 6e 20 6d 61 70 4c 69 73 74 2e 54 6f 41 72 72 61 79 28 29 3b 0d 0a 20 20 20 ..return.mapList.ToArray();.....
12660 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 .........}..........}...........
12680 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 4c 6f 61 64 .///.<summary>..........///.Load
126a0 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 61 63 74 69 6f 6e 20 6d 61 70 73 20 66 72 6f 6d 20 4a 53 .one.or.more.action.maps.from.JS
126c0 4f 4e 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 ON...........///.</summary>.....
126e0 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 6a 73 6f 6e 22 3e 4a 53 4f 4e .....///.<param.name="json">JSON
12700 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 61 63 74 69 6f 6e 20 6d 61 .representation.of.the.action.ma
12720 70 73 2e 20 43 61 6e 20 62 65 20 65 6d 70 74 79 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 ps..Can.be.empty.</param>.......
12740 20 20 20 2f 2f 2f 20 3c 65 78 63 65 70 74 69 6f 6e 20 63 72 65 66 3d 22 41 72 67 75 6d 65 6e 74 ...///.<exception.cref="Argument
12760 4e 75 6c 6c 45 78 63 65 70 74 69 6f 6e 22 3e 3c 70 61 72 61 6d 72 65 66 20 6e 61 6d 65 3d 22 6a NullException"><paramref.name="j
12780 73 6f 6e 22 2f 3e 20 69 73 20 3c 63 3e 6e 75 6c 6c 3c 2f 63 3e 2e 3c 2f 65 78 63 65 70 74 69 6f son"/>.is.<c>null</c>.</exceptio
127a0 6e 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 74 75 72 6e 73 3e 54 68 65 20 61 72 72 n>..........///.<returns>The.arr
127c0 61 79 20 6f 66 20 61 63 74 69 6f 6e 20 6d 61 70 73 20 28 6d 61 79 20 62 65 20 65 6d 70 74 79 29 ay.of.action.maps.(may.be.empty)
127e0 20 72 65 61 64 20 66 72 6f 6d 20 74 68 65 20 67 69 76 65 6e 20 4a 53 4f 4e 20 73 74 72 69 6e 67 .read.from.the.given.JSON.string
12800 2e 20 57 69 6c 6c 20 6e 6f 74 20 62 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 63 3e 6e 75 ..Will.not.be..........///.<c>nu
12820 6c 6c 3c 2f 63 3e 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 ll</c>.</returns>..........///.<
12840 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 4e 6f 74 65 20 74 68 61 74 20 remarks>..........///.Note.that.
12860 74 68 65 20 66 6f 72 6d 61 74 20 75 73 65 64 20 62 79 20 74 68 69 73 20 6d 65 74 68 6f 64 20 69 the.format.used.by.this.method.i
12880 73 20 64 69 66 66 65 72 65 6e 74 20 74 68 61 6e 20 77 68 61 74 20 79 6f 75 0d 0a 20 20 20 20 20 s.different.than.what.you.......
128a0 20 20 20 2f 2f 2f 20 67 65 74 20 69 66 20 79 6f 75 20 63 61 6c 6c 20 3c 63 3e 4a 73 6f 6e 55 74 ...///.get.if.you.call.<c>JsonUt
128c0 69 6c 69 74 79 2e 54 6f 4a 73 6f 6e 3c 2f 63 3e 20 6f 6e 20 61 6e 20 49 6e 70 75 74 41 63 74 69 ility.ToJson</c>.on.an.InputActi
128e0 6f 6e 4d 61 70 20 69 6e 73 74 61 6e 63 65 2e 20 49 6e 20 6f 74 68 65 72 0d 0a 20 20 20 20 20 20 onMap.instance..In.other........
12900 20 20 2f 2f 2f 20 77 6f 72 64 73 2c 20 74 68 65 20 4a 53 4f 4e 20 66 6f 72 6d 61 74 20 69 73 20 ..///.words,.the.JSON.format.is.
12920 6e 6f 74 20 69 64 65 6e 74 69 63 61 6c 20 74 6f 20 74 68 65 20 55 6e 69 74 79 20 73 65 72 69 61 not.identical.to.the.Unity.seria
12940 6c 69 7a 65 64 20 6f 62 6a 65 63 74 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 0d 0a 20 20 20 lized.object.representation.....
12960 20 20 20 20 20 2f 2f 2f 20 6f 66 20 74 68 65 20 61 73 73 65 74 2e 0d 0a 20 20 20 20 20 20 20 20 .....///.of.the.asset...........
12980 2f 2f 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 ///..........///.<example>......
129a0 20 20 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 76 61 72 20 ....///.<code>..........///.var.
129c0 6d 61 70 73 20 3d 20 49 6e 70 75 74 41 63 74 69 6f 6e 4d 61 70 2e 46 72 6f 6d 4a 73 6f 6e 28 40 maps.=.InputActionMap.FromJson(@
129e0 22 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 2f 2f "..........///.....{..........//
12a00 2f 20 20 20 20 20 20 20 20 20 22 22 6d 61 70 73 22 22 20 3a 20 5b 0d 0a 20 20 20 20 20 20 20 20 /.........""maps"".:.[..........
12a20 2f 2f 2f 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 ///.............{..........///..
12a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 22 6e 61 6d 65 22 22 20 3a 20 22 22 47 61 6d 65 ...............""name"".:.""Game
12a60 70 6c 61 79 22 22 2c 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 20 20 20 play"",..........///............
12a80 20 20 20 20 20 22 22 61 63 74 69 6f 6e 73 22 22 20 3a 20 5b 0d 0a 20 20 20 20 20 20 20 20 2f 2f .....""actions"".:.[..........//
12aa0 2f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 22 6e 61 6d 65 22 22 /.....................{.""name""
12ac0 20 3a 20 22 22 66 69 72 65 22 22 2c 20 22 22 74 79 70 65 22 22 20 3a 20 22 22 62 75 74 74 6f 6e .:.""fire"",.""type"".:.""button
12ae0 22 22 20 7d 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "".}..........///...............
12b00 20 20 5d 2c 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..],..........///...............
12b20 20 20 22 22 62 69 6e 64 69 6e 67 73 22 22 20 3a 20 5b 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 ..""bindings"".:.[..........///.
12b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 22 70 61 74 68 22 22 20 3a ....................{.""path"".:
12b60 20 22 22 26 6c 74 3b 47 61 6d 65 70 61 64 26 67 74 3b 2f 6c 65 66 74 54 72 69 67 67 65 72 22 22 .""&lt;Gamepad&gt;/leftTrigger""
12b80 2c 20 22 22 61 63 74 69 6f 6e 22 22 20 3a 20 22 22 66 69 72 65 22 22 20 7d 0d 0a 20 20 20 20 20 ,.""action"".:.""fire"".}.......
12ba0 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5d 2c 0d 0a 20 20 20 20 20 ...///.................],.......
12bc0 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 2f 2f ...///.............}..........//
12be0 2f 20 20 20 20 20 20 20 20 20 5d 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 7d 0d 0a /.........]..........///.....}..
12c00 20 20 20 20 20 20 20 20 2f 2f 2f 20 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 63 ........///.");..........///.</c
12c20 6f 64 65 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 65 78 61 6d 70 6c 65 3e 0d 0a 20 20 ode>..........///.</example>....
12c40 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 2f 2f ......///.</remarks>..........//
12c60 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 49 6e 70 75 74 41 63 74 69 6f 6e 41 73 73 65 /.<seealso.cref="InputActionAsse
12c80 74 2e 46 72 6f 6d 4a 73 6f 6e 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 t.FromJson"/>..........///.<seea
12ca0 6c 73 6f 20 63 72 65 66 3d 22 54 6f 4a 73 6f 6e 28 49 45 6e 75 6d 65 72 61 62 6c 65 7b 49 6e 70 lso.cref="ToJson(IEnumerable{Inp
12cc0 75 74 41 63 74 69 6f 6e 4d 61 70 7d 29 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 utActionMap})"/>..........public
12ce0 20 73 74 61 74 69 63 20 49 6e 70 75 74 41 63 74 69 6f 6e 4d 61 70 5b 5d 20 46 72 6f 6d 4a 73 6f .static.InputActionMap[].FromJso
12d00 6e 28 73 74 72 69 6e 67 20 6a 73 6f 6e 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 n(string.json)..........{.......
12d20 20 20 20 20 20 20 20 69 66 20 28 6a 73 6f 6e 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 .......if.(json.==.null)........
12d40 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 41 72 67 75 6d 65 6e 74 4e 75 6c 6c ..........throw.new.ArgumentNull
12d60 45 78 63 65 70 74 69 6f 6e 28 6e 61 6d 65 6f 66 28 6a 73 6f 6e 29 29 3b 0d 0a 20 20 20 20 20 20 Exception(nameof(json));........
12d80 20 20 20 20 20 20 76 61 72 20 66 69 6c 65 4a 73 6f 6e 20 3d 20 4a 73 6f 6e 55 74 69 6c 69 74 79 ......var.fileJson.=.JsonUtility
12da0 2e 46 72 6f 6d 4a 73 6f 6e 3c 52 65 61 64 46 69 6c 65 4a 73 6f 6e 3e 28 6a 73 6f 6e 29 3b 0d 0a .FromJson<ReadFileJson>(json);..
12dc0 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 69 6c 65 4a 73 6f 6e 2e 54 6f 4d 61 ............return.fileJson.ToMa
12de0 70 73 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 ps();..........}............///.
12e00 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 43 6f 6e 76 65 72 74 20 61 <summary>..........///.Convert.a
12e20 20 73 65 74 20 6f 66 20 61 63 74 69 6f 6e 20 6d 61 70 73 20 74 6f 20 4a 53 4f 4e 20 66 6f 72 6d .set.of.action.maps.to.JSON.form
12e40 61 74 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 at...........///.</summary>.....
12e60 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 6d 61 70 73 22 3e 4c 69 73 74 .....///.<param.name="maps">List
12e80 20 6f 66 20 61 63 74 69 6f 6e 20 6d 61 70 73 20 74 6f 20 73 65 72 69 61 6c 69 7a 65 2e 3c 2f 70 .of.action.maps.to.serialize.</p
12ea0 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 65 78 63 65 70 74 69 6f 6e 20 63 72 aram>..........///.<exception.cr
12ec0 65 66 3d 22 41 72 67 75 6d 65 6e 74 4e 75 6c 6c 45 78 63 65 70 74 69 6f 6e 22 3e 3c 70 61 72 61 ef="ArgumentNullException"><para
12ee0 6d 72 65 66 20 6e 61 6d 65 3d 22 6d 61 70 73 22 2f 3e 20 69 73 20 3c 63 3e 6e 75 6c 6c 3c 2f 63 mref.name="maps"/>.is.<c>null</c
12f00 3e 2e 3c 2f 65 78 63 65 70 74 69 6f 6e 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 74 >.</exception>..........///.<ret
12f20 75 72 6e 73 3e 4a 53 4f 4e 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 urns>JSON.representation.of.the.
12f40 67 69 76 65 6e 20 61 63 74 69 6f 6e 20 6d 61 70 73 2e 3c 2f 72 65 74 75 72 6e 73 3e 0d 0a 20 20 given.action.maps.</returns>....
12f60 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 2f 2f 2f ......///.<remarks>..........///
12f80 20 54 68 65 20 72 65 73 75 6c 74 20 6f 66 20 74 68 69 73 20 6d 65 74 68 6f 64 20 63 61 6e 20 62 .The.result.of.this.method.can.b
12fa0 65 20 6c 6f 61 64 65 64 20 77 69 74 68 20 3c 73 65 65 20 63 72 65 66 3d 22 46 72 6f 6d 4a 73 6f e.loaded.with.<see.cref="FromJso
12fc0 6e 22 2f 3e 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 n"/>...........///..........///.
12fe0 4e 6f 74 65 20 74 68 61 74 20 74 68 65 20 66 6f 72 6d 61 74 20 75 73 65 64 20 62 79 20 74 68 69 Note.that.the.format.used.by.thi
13000 73 20 6d 65 74 68 6f 64 20 69 73 20 64 69 66 66 65 72 65 6e 74 20 74 68 61 6e 20 77 68 61 74 20 s.method.is.different.than.what.
13020 79 6f 75 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 67 65 74 20 69 66 20 79 6f 75 20 63 61 6c 6c you..........///.get.if.you.call
13040 20 3c 63 3e 4a 73 6f 6e 55 74 69 6c 69 74 79 2e 54 6f 4a 73 6f 6e 3c 2f 63 3e 20 6f 6e 20 61 6e .<c>JsonUtility.ToJson</c>.on.an
13060 20 49 6e 70 75 74 41 63 74 69 6f 6e 4d 61 70 20 69 6e 73 74 61 6e 63 65 2e 20 49 6e 20 6f 74 68 .InputActionMap.instance..In.oth
13080 65 72 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 77 6f 72 64 73 2c 20 74 68 65 20 4a 53 4f 4e 20 er..........///.words,.the.JSON.
130a0 66 6f 72 6d 61 74 20 69 73 20 6e 6f 74 20 69 64 65 6e 74 69 63 61 6c 20 74 6f 20 74 68 65 20 55 format.is.not.identical.to.the.U
130c0 6e 69 74 79 20 73 65 72 69 61 6c 69 7a 65 64 20 6f 62 6a 65 63 74 20 72 65 70 72 65 73 65 6e 74 nity.serialized.object.represent
130e0 61 74 69 6f 6e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 6f 66 20 74 68 65 20 61 73 73 65 74 2e ation..........///.of.the.asset.
13100 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 20 20 ..........///.</remarks>........
13120 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 46 72 6f 6d 4a 73 6f 6e 22 2f 3e ..///.<seealso.cref="FromJson"/>
13140 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 73 74 72 69 6e 67 20 54 ..........public.static.string.T
13160 6f 4a 73 6f 6e 28 49 45 6e 75 6d 65 72 61 62 6c 65 3c 49 6e 70 75 74 41 63 74 69 6f 6e 4d 61 70 oJson(IEnumerable<InputActionMap
13180 3e 20 6d 61 70 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 >.maps)..........{..............
131a0 69 66 20 28 6d 61 70 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 if.(maps.==.null)...............
131c0 20 20 20 74 68 72 6f 77 20 6e 65 77 20 41 72 67 75 6d 65 6e 74 4e 75 6c 6c 45 78 63 65 70 74 69 ...throw.new.ArgumentNullExcepti
131e0 6f 6e 28 6e 61 6d 65 6f 66 28 6d 61 70 73 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 on(nameof(maps));..............v
13200 61 72 20 66 69 6c 65 4a 73 6f 6e 20 3d 20 57 72 69 74 65 46 69 6c 65 4a 73 6f 6e 2e 46 72 6f 6d ar.fileJson.=.WriteFileJson.From
13220 4d 61 70 73 28 6d 61 70 73 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 Maps(maps);..............return.
13240 4a 73 6f 6e 55 74 69 6c 69 74 79 2e 54 6f 4a 73 6f 6e 28 66 69 6c 65 4a 73 6f 6e 2c 20 74 72 75 JsonUtility.ToJson(fileJson,.tru
13260 65 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 e);..........}............///.<s
13280 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 43 6f 6e 76 65 72 74 20 74 68 65 ummary>..........///.Convert.the
132a0 20 61 63 74 69 6f 6e 20 6d 61 70 20 74 6f 20 4a 53 4f 4e 20 66 6f 72 6d 61 74 2e 0d 0a 20 20 20 .action.map.to.JSON.format......
132c0 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>..........///
132e0 20 3c 72 65 74 75 72 6e 73 3e 41 20 4a 53 4f 4e 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 .<returns>A.JSON.representation.
13300 6f 66 20 74 68 65 20 61 63 74 69 6f 6e 20 6d 61 70 2e 3c 2f 72 65 74 75 72 6e 73 3e 0d 0a 20 20 of.the.action.map.</returns>....
13320 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 2f 2f 2f ......///.<remarks>..........///
13340 20 54 68 65 20 72 65 73 75 6c 74 20 6f 66 20 74 68 69 73 20 6d 65 74 68 6f 64 20 63 61 6e 20 62 .The.result.of.this.method.can.b
13360 65 20 6c 6f 61 64 65 64 20 77 69 74 68 20 3c 73 65 65 20 63 72 65 66 3d 22 46 72 6f 6d 4a 73 6f e.loaded.with.<see.cref="FromJso
13380 6e 22 2f 3e 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 n"/>...........///..........///.
133a0 4e 6f 74 65 20 74 68 61 74 20 74 68 65 20 66 6f 72 6d 61 74 20 75 73 65 64 20 62 79 20 74 68 69 Note.that.the.format.used.by.thi
133c0 73 20 6d 65 74 68 6f 64 20 69 73 20 64 69 66 66 65 72 65 6e 74 20 74 68 61 6e 20 77 68 61 74 20 s.method.is.different.than.what.
133e0 79 6f 75 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 67 65 74 20 69 66 20 79 6f 75 20 63 61 6c 6c you..........///.get.if.you.call
13400 20 3c 63 3e 4a 73 6f 6e 55 74 69 6c 69 74 79 2e 54 6f 4a 73 6f 6e 3c 2f 63 3e 20 6f 6e 20 61 6e .<c>JsonUtility.ToJson</c>.on.an
13420 20 49 6e 70 75 74 41 63 74 69 6f 6e 4d 61 70 20 69 6e 73 74 61 6e 63 65 2e 20 49 6e 20 6f 74 68 .InputActionMap.instance..In.oth
13440 65 72 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 77 6f 72 64 73 2c 20 74 68 65 20 4a 53 4f 4e 20 er..........///.words,.the.JSON.
13460 66 6f 72 6d 61 74 20 69 73 20 6e 6f 74 20 69 64 65 6e 74 69 63 61 6c 20 74 6f 20 74 68 65 20 55 format.is.not.identical.to.the.U
13480 6e 69 74 79 20 73 65 72 69 61 6c 69 7a 65 64 20 6f 62 6a 65 63 74 20 72 65 70 72 65 73 65 6e 74 nity.serialized.object.represent
134a0 61 74 69 6f 6e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 6f 66 20 74 68 65 20 61 73 73 65 74 2e ation..........///.of.the.asset.
134c0 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 20 20 ..........///.</remarks>........
134e0 20 20 70 75 62 6c 69 63 20 73 74 72 69 6e 67 20 54 6f 4a 73 6f 6e 28 29 0d 0a 20 20 20 20 20 20 ..public.string.ToJson()........
13500 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 66 69 6c 65 4a 73 6f 6e 20 3d 20 ..{..............var.fileJson.=.
13520 57 72 69 74 65 46 69 6c 65 4a 73 6f 6e 2e 46 72 6f 6d 4d 61 70 28 74 68 69 73 29 3b 0d 0a 20 20 WriteFileJson.FromMap(this);....
13540 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4a 73 6f 6e 55 74 69 6c 69 74 79 2e 54 6f 4a ..........return.JsonUtility.ToJ
13560 73 6f 6e 28 66 69 6c 65 4a 73 6f 6e 2c 20 74 72 75 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d son(fileJson,.true);..........}.
13580 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>........
135a0 20 20 2f 2f 2f 20 43 61 6c 6c 65 64 20 62 79 20 55 6e 69 74 79 20 62 65 66 6f 72 65 20 74 68 65 ..///.Called.by.Unity.before.the
135c0 20 61 63 74 69 6f 6e 20 6d 61 70 20 69 73 20 73 65 72 69 61 6c 69 7a 65 64 20 75 73 69 6e 67 20 .action.map.is.serialized.using.
135e0 55 6e 69 74 79 27 73 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 73 65 72 69 61 6c 69 7a 61 74 69 Unity's..........///.serializati
13600 6f 6e 20 73 79 73 74 65 6d 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 on.system...........///.</summar
13620 79 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 76 6f 69 64 20 4f 6e 42 65 66 6f 72 65 y>..........public.void.OnBefore
13640 53 65 72 69 61 6c 69 7a 65 28 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 Serialize()..........{..........
13660 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 20 }............///.<summary>......
13680 20 20 20 20 2f 2f 2f 20 43 61 6c 6c 65 64 20 62 79 20 55 6e 69 74 79 20 61 66 74 65 72 20 74 68 ....///.Called.by.Unity.after.th
136a0 65 20 61 63 74 69 6f 6e 20 6d 61 70 20 68 61 73 20 62 65 65 6e 20 64 65 73 65 72 69 61 6c 69 7a e.action.map.has.been.deserializ
136c0 65 64 20 75 73 69 6e 67 20 55 6e 69 74 79 27 73 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 73 65 ed.using.Unity's..........///.se
136e0 72 69 61 6c 69 7a 61 74 69 6f 6e 20 73 79 73 74 65 6d 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f rialization.system...........///
13700 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 76 6f 69 64 .</summary>..........public.void
13720 20 4f 6e 41 66 74 65 72 44 65 73 65 72 69 61 6c 69 7a 65 28 29 0d 0a 20 20 20 20 20 20 20 20 7b .OnAfterDeserialize()..........{
13740 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 53 74 61 74 65 20 3d 20 6e 75 6c 6c 3b 0d 0a 20 ..............m_State.=.null;...
13760 20 20 20 20 20 20 20 20 20 20 20 6d 5f 4d 61 70 49 6e 64 65 78 49 6e 53 74 61 74 65 20 3d 20 49 ...........m_MapIndexInState.=.I
13780 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 3b 0d 0a nputActionState.kInvalidIndex;..
137a0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 52 65 73 74 6f 72 65 20 72 65 66 65 72 65 6e ..............//.Restore.referen
137c0 63 65 73 20 6f 66 20 61 63 74 69 6f 6e 73 20 6c 69 6e 6b 69 6e 67 20 62 61 63 6b 20 74 6f 20 75 ces.of.actions.linking.back.to.u
137e0 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 41 63 74 69 6f 6e 73 20 21 3d s...............if.(m_Actions.!=
13800 20 6e 75 6c 6c 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 .null)..............{...........
13820 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 6d 5f 41 63 74 69 6f .......var.actionCount.=.m_Actio
13840 6e 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 66 6f 72 20 ns.Length;..................for.
13860 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 69 (var.i.=.0;.i.<.actionCount;.++i
13880 29 0d 0a 20 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 73 )......................m_Actions
138a0 5b 69 5d 2e 6d 5f 41 63 74 69 6f 6e 4d 61 70 20 3d 20 74 68 69 73 3b 0d 0a 20 20 20 20 20 20 20 [i].m_ActionMap.=.this;.........
138c0 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 4d 61 6b 65 20 73 75 .....}................//.Make.su
138e0 72 65 20 77 65 20 64 6f 6e 27 74 20 72 65 74 61 69 6e 20 61 6e 79 20 63 61 63 68 65 64 20 70 65 re.we.don't.retain.any.cached.pe
13900 72 2d 61 63 74 69 6f 6e 20 64 61 74 61 20 77 68 65 6e 20 75 73 69 6e 67 20 73 65 72 69 61 6c 69 r-action.data.when.using.seriali
13920 7a 61 74 69 6f 6e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 74 6f 20 64 6f 63 74 6f 72 zation..............//.to.doctor
13940 20 61 72 6f 75 6e 64 20 69 6e 20 61 63 74 69 6f 6e 20 6d 61 70 20 63 6f 6e 66 69 67 75 72 61 74 .around.in.action.map.configurat
13960 69 6f 6e 73 20 69 6e 20 74 68 65 20 65 64 69 74 6f 72 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ions.in.the.editor..............
13980 20 43 6c 65 61 72 50 65 72 41 63 74 69 6f 6e 43 61 63 68 65 64 42 69 6e 64 69 6e 67 44 61 74 61 .ClearPerActionCachedBindingData
139a0 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 23 65 6e 64 72 65 ();..........}............#endre
139c0 67 69 6f 6e 0d 0a 20 20 20 20 7d 0d 0a 7d 0d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 gion......}..}..................
139e0 00 00 00 00 0e 00 00 00 49 6e 70 75 74 41 63 74 69 6f 6e 4d 61 70 00 00 17 00 00 00 55 6e 69 74 ........InputActionMap......Unit
13a00 79 45 6e 67 69 6e 65 2e 49 6e 70 75 74 53 79 73 74 65 6d 00 yEngine.InputSystem.