summaryrefslogtreecommitdiff
path: root/Library/Artifacts/f1/f120ec1804cb8aacf6bb960b607f60c6
blob: 234c34281b9663a8ce33e11c77aa96ff27aa410d (plain)
ofshex dumpascii
0000 00 00 0f 81 00 00 79 74 00 00 00 15 00 00 10 00 00 00 00 00 32 30 31 39 2e 33 2e 36 66 31 00 fe ......yt............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 14 69 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .i..............................
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 0d 00 00 00 49 6e 70 75 74 52 65 6d 6f 74 69 6e 67 00 00 00 90 68 00 00 ............InputRemoting....h..
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 4c 69 6e 71 using.System;..using.System.Linq
10c0 3b 0d 0a 75 73 69 6e 67 20 53 79 73 74 65 6d 2e 54 65 78 74 3b 0d 0a 75 73 69 6e 67 20 55 6e 69 ;..using.System.Text;..using.Uni
10e0 74 79 2e 43 6f 6c 6c 65 63 74 69 6f 6e 73 2e 4c 6f 77 4c 65 76 65 6c 2e 55 6e 73 61 66 65 3b 0d ty.Collections.LowLevel.Unsafe;.
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 4c .using.UnityEngine.InputSystem.L
1120 61 79 6f 75 74 73 3b 0d 0a 75 73 69 6e 67 20 55 6e 69 74 79 45 6e 67 69 6e 65 2e 49 6e 70 75 74 ayouts;..using.UnityEngine.Input
1140 53 79 73 74 65 6d 2e 4c 6f 77 4c 65 76 65 6c 3b 0d 0a 75 73 69 6e 67 20 55 6e 69 74 79 45 6e 67 System.LowLevel;..using.UnityEng
1160 69 6e 65 2e 49 6e 70 75 74 53 79 73 74 65 6d 2e 55 74 69 6c 69 74 69 65 73 3b 0d 0a 0d 0a 2f 2f ine.InputSystem.Utilities;....//
1180 2f 2f 54 4f 44 4f 3a 20 73 68 6f 77 20 72 65 6d 6f 74 65 20 64 65 76 69 63 65 20 49 44 73 20 69 //TODO:.show.remote.device.IDs.i
11a0 6e 20 74 68 65 20 64 65 62 75 67 67 65 72 0d 0a 0d 0a 2f 2f 2f 2f 54 4f 44 4f 3a 20 72 65 6d 6f n.the.debugger....////TODO:.remo
11c0 74 65 20 74 69 6d 65 73 74 61 6d 70 73 20 6e 65 65 64 20 74 6f 20 62 65 20 74 72 61 6e 73 6c 61 te.timestamps.need.to.be.transla
11e0 74 65 64 20 74 6f 20 6c 6f 63 61 6c 20 74 69 6d 65 73 74 61 6d 70 73 3b 20 64 6f 65 73 6e 27 74 ted.to.local.timestamps;.doesn't
1200 20 6d 61 6b 65 20 73 65 6e 73 65 20 66 6f 72 20 72 65 6d 6f 74 65 20 65 76 65 6e 74 73 20 67 65 .make.sense.for.remote.events.ge
1220 74 74 69 6e 67 0d 0a 2f 2f 2f 2f 20 20 20 20 20 20 70 72 6f 63 65 73 73 65 64 20 6f 6e 20 74 68 tting..////......processed.on.th
1240 65 20 6c 6f 63 61 6c 20 74 69 6d 65 6c 69 6e 65 20 61 73 20 69 73 20 77 68 65 6e 20 74 68 65 20 e.local.timeline.as.is.when.the.
1260 6f 72 69 67 69 6e 61 74 69 6e 67 20 74 69 6d 65 6c 69 6e 65 20 6d 61 79 20 62 65 20 71 75 69 74 originating.timeline.may.be.quit
1280 65 20 64 69 66 66 65 72 65 6e 74 0d 0a 0d 0a 2f 2f 2f 2f 54 4f 44 4f 3a 20 73 75 70 70 6f 72 74 e.different....////TODO:.support
12a0 20 61 63 74 69 6f 6e 73 0d 0a 0d 0a 2f 2f 2f 2f 54 4f 44 4f 3a 20 73 75 70 70 6f 72 74 20 69 6e .actions....////TODO:.support.in
12c0 70 75 74 20 75 73 65 72 73 0d 0a 0d 0a 2f 2f 2f 2f 54 4f 44 4f 3a 20 74 65 78 74 20 69 6e 70 75 put.users....////TODO:.text.inpu
12e0 74 20 65 76 65 6e 74 73 0d 0a 0d 0a 2f 2f 2f 2f 52 45 56 49 45 57 3a 20 69 74 20 73 65 65 6d 73 t.events....////REVIEW:.it.seems
1300 20 74 68 61 74 20 74 68 65 20 76 61 72 69 6f 75 73 20 58 58 58 4d 73 67 20 73 74 72 75 63 74 20 .that.the.various.XXXMsg.struct.
1320 73 68 6f 75 6c 64 20 62 65 20 70 75 62 6c 69 63 3b 20 41 54 4d 20 64 6f 65 73 6e 27 74 20 73 65 should.be.public;.ATM.doesn't.se
1340 65 6d 20 6c 69 6b 65 20 77 6f 72 6b 69 6e 67 20 77 69 74 68 20 74 68 65 20 6d 65 73 73 61 67 65 em.like.working.with.the.message
1360 20 69 6e 74 65 72 66 61 63 65 20 69 73 20 70 72 61 63 74 69 63 61 6c 0d 0a 0d 0a 2f 2f 2f 2f 52 .interface.is.practical....////R
1380 45 56 49 45 57 3a 20 74 68 65 20 6e 61 6d 65 73 70 61 63 69 6e 67 20 6d 65 63 68 61 6e 69 73 6d EVIEW:.the.namespacing.mechanism
13a0 20 66 6f 72 20 6c 61 79 6f 75 74 73 20 77 68 69 63 68 20 63 68 61 6e 67 65 73 20 62 61 73 65 20 .for.layouts.which.changes.base.
13c0 6c 61 79 6f 75 74 73 20 6d 65 61 6e 73 20 74 68 61 74 20 6c 61 79 6f 75 74 73 20 63 61 6e 27 74 layouts.means.that.layouts.can't
13e0 20 62 65 20 70 6c 61 79 65 64 0d 0a 2f 2f 2f 2f 20 20 20 20 20 20 20 20 61 72 6f 75 6e 64 20 77 .be.played..////........around.w
1400 69 74 68 20 6f 6e 20 74 68 65 20 65 64 69 74 6f 72 20 73 69 64 65 20 62 75 74 20 77 69 6c 6c 20 ith.on.the.editor.side.but.will.
1420 6f 6e 6c 79 20 62 65 20 63 68 61 6e 67 65 64 20 6f 6e 63 65 20 74 68 65 79 27 72 65 20 75 70 64 only.be.changed.once.they're.upd
1440 61 74 65 64 20 69 6e 20 74 68 65 20 70 6c 61 79 65 72 0d 0a 0d 0a 6e 61 6d 65 73 70 61 63 65 20 ated.in.the.player....namespace.
1460 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 20 20 20 20 UnityEngine.InputSystem..{......
1480 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 2f 2f 2f 20 4d 61 6b 65 73 20 74 68 65 ///.<summary>......///.Makes.the
14a0 20 61 63 74 69 76 69 74 79 20 61 6e 64 20 64 61 74 61 20 6f 66 20 61 6e 20 49 6e 70 75 74 4d 61 .activity.and.data.of.an.InputMa
14c0 6e 61 67 65 72 20 6f 62 73 65 72 76 61 62 6c 65 20 69 6e 20 6d 65 73 73 61 67 65 20 66 6f 72 6d nager.observable.in.message.form
14e0 2e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 2f 2f 2f 20 3c .......///.</summary>......///.<
1500 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 2f 2f 2f 20 43 61 6e 20 61 63 74 20 61 73 20 62 6f 74 remarks>......///.Can.act.as.bot
1520 68 20 74 68 65 20 73 65 6e 64 65 72 20 61 6e 64 20 72 65 63 65 69 76 65 72 20 6f 66 20 74 68 65 h.the.sender.and.receiver.of.the
1540 73 65 20 6d 65 73 73 61 67 65 20 73 6f 20 74 68 65 20 66 6c 6f 77 20 69 73 20 66 75 6c 6c 79 20 se.message.so.the.flow.is.fully.
1560 62 69 64 69 72 65 63 74 69 6f 6e 61 6c 2c 0d 0a 20 20 20 20 2f 2f 2f 20 69 2e 65 2e 20 74 68 65 bidirectional,......///.i.e..the
1580 20 49 6e 70 75 74 4d 61 6e 61 67 65 72 20 6f 6e 20 65 69 74 68 65 72 20 65 6e 64 20 63 61 6e 20 .InputManager.on.either.end.can.
15a0 6d 69 72 72 6f 72 20 69 74 73 20 6c 61 79 6f 75 74 73 2c 20 64 65 76 69 63 65 73 2c 20 61 6e 64 mirror.its.layouts,.devices,.and
15c0 20 65 76 65 6e 74 73 20 6f 76 65 72 0d 0a 20 20 20 20 2f 2f 2f 20 74 6f 20 74 68 65 20 6f 74 68 .events.over......///.to.the.oth
15e0 65 72 20 65 6e 64 2e 20 54 68 69 73 20 70 65 72 6d 69 74 73 20 73 74 72 65 61 6d 69 6e 67 20 69 er.end..This.permits.streaming.i
1600 6e 70 75 74 20 6e 6f 74 20 6a 75 73 74 20 66 72 6f 6d 20 74 68 65 20 70 6c 61 79 65 72 20 74 6f nput.not.just.from.the.player.to
1620 20 74 68 65 20 65 64 69 74 6f 72 20 62 75 74 0d 0a 20 20 20 20 2f 2f 2f 20 61 6c 73 6f 20 66 65 .the.editor.but......///.also.fe
1640 65 64 69 6e 67 20 69 6e 70 75 74 20 66 72 6f 6d 20 74 68 65 20 65 64 69 74 6f 72 20 62 61 63 6b eding.input.from.the.editor.back
1660 20 69 6e 74 6f 20 74 68 65 20 70 6c 61 79 65 72 2e 0d 0a 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 .into.the.player.......///......
1680 2f 2f 2f 20 52 65 6d 6f 74 69 6e 67 20 73 69 74 73 20 65 6e 74 69 72 65 6c 79 20 6f 6e 20 74 6f ///.Remoting.sits.entirely.on.to
16a0 70 20 6f 66 20 74 68 65 20 69 6e 70 75 74 20 73 79 73 74 65 6d 20 61 73 20 61 6e 20 6f 70 74 69 p.of.the.input.system.as.an.opti
16c0 6f 6e 61 6c 20 70 69 65 63 65 20 6f 66 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 2e 0d 0a 20 20 onal.piece.of.functionality.....
16e0 20 20 2f 2f 2f 20 49 6e 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 70 6c 61 79 65 72 73 20 61 6e 64 ..///.In.development.players.and
1700 20 74 68 65 20 65 64 69 74 6f 72 2c 20 77 65 20 65 6e 61 62 6c 65 20 69 74 20 61 75 74 6f 6d 61 .the.editor,.we.enable.it.automa
1720 74 69 63 61 6c 6c 79 20 62 75 74 20 69 6e 20 6e 6f 6e 2d 64 65 76 65 6c 6f 70 6d 65 6e 74 0d 0a tically.but.in.non-development..
1740 20 20 20 20 2f 2f 2f 20 70 6c 61 79 65 72 73 20 69 74 20 68 61 73 20 74 6f 20 62 65 20 65 78 70 ....///.players.it.has.to.be.exp
1760 6c 69 63 69 74 6c 79 20 72 65 71 75 65 73 74 65 64 20 62 79 20 74 68 65 20 75 73 65 72 2e 0d 0a licitly.requested.by.the.user...
1780 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 2f 2f 2f 20 54 6f 20 73 65 65 20 64 65 76 69 63 65 73 20 ....///......///.To.see.devices.
17a0 61 6e 64 20 69 6e 70 75 74 20 66 72 6f 6d 20 70 6c 61 79 65 72 73 20 69 6e 20 74 68 65 20 65 64 and.input.from.players.in.the.ed
17c0 69 74 6f 72 2c 20 6f 70 65 6e 20 74 68 65 20 49 6e 70 75 74 20 44 65 62 75 67 67 65 72 20 74 68 itor,.open.the.Input.Debugger.th
17e0 72 6f 75 67 68 0d 0a 20 20 20 20 2f 2f 2f 20 22 57 69 6e 64 6f 77 73 20 3e 3e 20 49 6e 70 75 74 rough......///."Windows.>>.Input
1800 20 44 65 62 75 67 67 65 72 22 2e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 6d 61 72 6b 73 3e 0d .Debugger".......///.</remarks>.
1820 0a 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 53 79 73 .....///.<seealso.cref="InputSys
1840 74 65 6d 2e 72 65 6d 6f 74 69 6e 67 22 2f 3e 0d 0a 20 20 20 20 2f 2f 2f 20 5c 74 6f 64 6f 20 52 tem.remoting"/>......///.\todo.R
1860 65 75 73 65 20 6d 65 6d 6f 72 79 20 61 6c 6c 6f 63 61 74 65 64 20 66 6f 72 20 6d 65 73 73 61 67 euse.memory.allocated.for.messag
1880 65 73 20 69 6e 73 74 65 61 64 20 6f 66 20 61 6c 6c 6f 63 61 74 69 6e 67 20 73 65 70 61 72 61 74 es.instead.of.allocating.separat
18a0 65 6c 79 20 66 6f 72 20 65 61 63 68 20 6d 65 73 73 61 67 65 2e 0d 0a 20 20 20 20 2f 2f 2f 20 5c ely.for.each.message.......///.\
18c0 74 6f 64 6f 20 49 6e 74 65 66 61 63 65 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 20 77 68 61 74 20 todo.Inteface.to.determine.what.
18e0 74 6f 20 6d 69 72 72 6f 72 20 66 72 6f 6d 20 74 68 65 20 6c 6f 63 61 6c 20 6d 61 6e 61 67 65 72 to.mirror.from.the.local.manager
1900 20 74 6f 20 74 68 65 20 72 65 6d 6f 74 65 20 73 79 73 74 65 6d 2e 0d 0a 20 20 20 20 70 75 62 6c .to.the.remote.system.......publ
1920 69 63 20 73 65 61 6c 65 64 20 63 6c 61 73 73 20 49 6e 70 75 74 52 65 6d 6f 74 69 6e 67 20 3a 20 ic.sealed.class.InputRemoting.:.
1940 49 4f 62 73 65 72 76 61 62 6c 65 3c 49 6e 70 75 74 52 65 6d 6f 74 69 6e 67 2e 4d 65 73 73 61 67 IObservable<InputRemoting.Messag
1960 65 3e 2c 20 49 4f 62 73 65 72 76 65 72 3c 49 6e 70 75 74 52 65 6d 6f 74 69 6e 67 2e 4d 65 73 73 e>,.IObserver<InputRemoting.Mess
1980 61 67 65 3e 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 age>......{..........///.<summar
19a0 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 45 6e 75 6d 65 72 61 74 69 6f 6e 20 6f 66 20 70 y>..........///.Enumeration.of.p
19c0 6f 73 73 69 62 6c 65 20 74 79 70 65 73 20 6f 66 20 6d 65 73 73 61 67 65 73 20 65 78 63 68 61 6e ossible.types.of.messages.exchan
19e0 67 65 64 20 62 65 74 77 65 65 6e 20 74 77 6f 20 49 6e 70 75 74 52 65 6d 6f 74 69 6e 67 20 69 6e ged.between.two.InputRemoting.in
1a00 73 74 61 6e 63 65 73 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e stances...........///.</summary>
1a20 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 65 6e 75 6d 20 4d 65 73 73 61 67 65 54 79 70 ..........public.enum.MessageTyp
1a40 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 43 6f 6e 6e 65 63 e..........{..............Connec
1a60 74 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 69 73 63 6f 6e 6e 65 63 74 2c 0d 0a 20 20 20 t,..............Disconnect,.....
1a80 20 20 20 20 20 20 20 20 20 4e 65 77 4c 61 79 6f 75 74 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 .........NewLayout,.............
1aa0 20 4e 65 77 44 65 76 69 63 65 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 4e 65 77 45 76 65 6e .NewDevice,..............NewEven
1ac0 74 73 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 52 65 6d 6f 76 65 44 65 76 69 63 65 2c 0d 0a ts,..............RemoveDevice,..
1ae0 20 20 20 20 20 20 20 20 20 20 20 20 52 65 6d 6f 76 65 4c 61 79 6f 75 74 2c 0d 0a 20 20 20 20 20 ............RemoveLayout,.......
1b00 20 20 20 20 20 20 20 43 68 61 6e 67 65 55 73 61 67 65 73 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 .......ChangeUsages,............
1b20 20 20 53 74 61 72 74 53 65 6e 64 69 6e 67 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 53 74 6f ..StartSending,..............Sto
1b40 70 53 65 6e 64 69 6e 67 2c 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 pSending,..........}............
1b60 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 6d 65 73 ///.<summary>..........///.A.mes
1b80 73 61 67 65 20 65 78 63 68 61 6e 67 65 64 20 62 65 74 77 65 65 6e 20 74 77 6f 20 49 6e 70 75 74 sage.exchanged.between.two.Input
1ba0 52 65 6d 6f 74 69 6e 67 20 69 6e 73 74 61 6e 63 65 73 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f Remoting.instances...........///
1bc0 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 73 74 72 75 .</summary>..........public.stru
1be0 63 74 20 4d 65 73 73 61 67 65 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 ct.Message..........{...........
1c00 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f ...///.<summary>..............//
1c20 2f 20 46 6f 72 20 6d 65 73 73 61 67 65 73 20 63 6f 6d 69 6e 67 20 69 6e 2c 20 6e 75 6d 65 72 69 /.For.messages.coming.in,.numeri
1c40 63 20 49 44 20 6f 66 20 74 68 65 20 73 65 6e 64 65 72 20 6f 66 20 74 68 65 20 6d 65 73 73 61 67 c.ID.of.the.sender.of.the.messag
1c60 65 2e 20 46 6f 72 20 6d 65 73 73 61 67 65 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f e..For.messages..............///
1c80 20 67 6f 69 6e 67 20 6f 75 74 2c 20 6e 75 6d 65 72 69 63 20 49 44 20 6f 66 20 74 68 65 20 74 61 .going.out,.numeric.ID.of.the.ta
1ca0 72 67 65 74 65 64 20 72 65 63 65 69 76 65 72 20 6f 66 20 74 68 65 20 6d 65 73 73 61 67 65 2e 0d rgeted.receiver.of.the.message..
1cc0 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 .............///.</summary>.....
1ce0 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 20 70 61 72 74 69 63 69 70 61 6e 74 49 .........public.int.participantI
1d00 64 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 4d 65 73 73 61 67 65 54 79 d;..............public.MessageTy
1d20 70 65 20 74 79 70 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 62 79 74 pe.type;..............public.byt
1d40 65 5b 5d 20 64 61 74 61 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 e[].data;..........}............
1d60 70 75 62 6c 69 63 20 62 6f 6f 6c 20 73 65 6e 64 69 6e 67 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a public.bool.sending..........{..
1d80 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 20 3d 3e 20 28 6d 5f 46 6c 61 67 73 20 26 20 46 6c ............get.=>.(m_Flags.&.Fl
1da0 61 67 73 2e 53 65 6e 64 69 6e 67 29 20 3d 3d 20 46 6c 61 67 73 2e 53 65 6e 64 69 6e 67 3b 0d 0a ags.Sending).==.Flags.Sending;..
1dc0 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 73 65 74 0d 0a 20 20 20 20 20 20 20 ............private.set.........
1de0 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 6c 75 .....{..................if.(valu
1e00 65 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 46 6c 61 67 73 20 e)......................m_Flags.
1e20 7c 3d 20 46 6c 61 67 73 2e 53 65 6e 64 69 6e 67 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 |=.Flags.Sending;...............
1e40 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 6d 5f 46 ...else......................m_F
1e60 6c 61 67 73 20 26 3d 20 7e 46 6c 61 67 73 2e 53 65 6e 64 69 6e 67 3b 0d 0a 20 20 20 20 20 20 20 lags.&=.~Flags.Sending;.........
1e80 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 .....}..........}............int
1ea0 65 72 6e 61 6c 20 49 6e 70 75 74 52 65 6d 6f 74 69 6e 67 28 49 6e 70 75 74 4d 61 6e 61 67 65 72 ernal.InputRemoting(InputManager
1ec0 20 6d 61 6e 61 67 65 72 2c 20 62 6f 6f 6c 20 73 74 61 72 74 53 65 6e 64 69 6e 67 4f 6e 43 6f 6e .manager,.bool.startSendingOnCon
1ee0 6e 65 63 74 20 3d 20 66 61 6c 73 65 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 nect.=.false)..........{........
1f00 20 20 20 20 20 20 69 66 20 28 6d 61 6e 61 67 65 72 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 ......if.(manager.==.null)......
1f20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 41 72 67 75 6d 65 6e 74 4e 75 ............throw.new.ArgumentNu
1f40 6c 6c 45 78 63 65 70 74 69 6f 6e 28 22 6d 61 6e 61 67 65 72 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 llException("manager");.........
1f60 20 20 20 20 20 20 20 6d 5f 4c 6f 63 61 6c 4d 61 6e 61 67 65 72 20 3d 20 6d 61 6e 61 67 65 72 3b .......m_LocalManager.=.manager;
1f80 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 74 61 72 74 53 65 6e 64 69 6e 67 ................if.(startSending
1fa0 4f 6e 43 6f 6e 6e 65 63 74 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 46 6c OnConnect)..................m_Fl
1fc0 61 67 73 20 7c 3d 20 46 6c 61 67 73 2e 53 74 61 72 74 53 65 6e 64 69 6e 67 4f 6e 43 6f 6e 6e 65 ags.|=.Flags.StartSendingOnConne
1fe0 63 74 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 77 68 65 6e 20 6c 69 73 74 65 6e ct;................//when.listen
2000 69 6e 67 20 66 6f 72 20 6e 65 77 6c 79 20 61 64 64 65 64 20 6c 61 79 6f 75 74 73 2c 20 6d 75 73 ing.for.newly.added.layouts,.mus
2020 74 20 66 69 6c 74 65 72 20 6f 75 74 20 6f 6e 65 73 20 77 65 27 76 65 20 61 64 64 65 64 20 66 72 t.filter.out.ones.we've.added.fr
2040 6f 6d 20 72 65 6d 6f 74 65 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 om.remote..........}............
2060 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 74 61 72 74 ///.<summary>..........///.Start
2080 20 73 65 6e 64 69 6e 67 20 6d 65 73 73 61 67 65 73 20 66 6f 72 20 64 61 74 61 20 61 6e 64 20 61 .sending.messages.for.data.and.a
20a0 63 74 69 76 69 74 79 20 69 6e 20 74 68 65 20 6c 6f 63 61 6c 20 69 6e 70 75 74 20 73 79 73 74 65 ctivity.in.the.local.input.syste
20c0 6d 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 74 6f 20 6f 62 73 65 72 76 65 72 73 2e 0d 0a 20 20 m..........///.to.observers.....
20e0 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f ......///.</summary>..........//
2100 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 73 65 6e 64 69 6e 67 22 2f 3e 0d 0a 20 20 20 /.<seealso.cref="sending"/>.....
2120 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 53 74 6f 70 53 65 6e 64 .....///.<seealso.cref="StopSend
2140 69 6e 67 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 76 6f 69 64 20 53 74 61 72 ing"/>..........public.void.Star
2160 74 53 65 6e 64 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 tSending()..........{...........
2180 20 20 20 69 66 20 28 73 65 6e 64 69 6e 67 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...if.(sending).................
21a0 20 72 65 74 75 72 6e 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 2f 54 4f 44 4f .return;................////TODO
21c0 3a 20 73 65 6e 64 20 65 76 65 6e 74 73 20 69 6e 20 62 75 6c 6b 20 72 61 74 68 65 72 20 74 68 61 :.send.events.in.bulk.rather.tha
21e0 6e 20 6f 6e 65 2d 62 79 2d 6f 6e 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 4c 6f 63 61 n.one-by-one..............m_Loca
2200 6c 4d 61 6e 61 67 65 72 2e 6f 6e 45 76 65 6e 74 20 2b 3d 20 53 65 6e 64 45 76 65 6e 74 3b 0d 0a lManager.onEvent.+=.SendEvent;..
2220 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 4c 6f 63 61 6c 4d 61 6e 61 67 65 72 2e 6f 6e 44 65 76 ............m_LocalManager.onDev
2240 69 63 65 43 68 61 6e 67 65 20 2b 3d 20 53 65 6e 64 44 65 76 69 63 65 43 68 61 6e 67 65 3b 0d 0a iceChange.+=.SendDeviceChange;..
2260 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 4c 6f 63 61 6c 4d 61 6e 61 67 65 72 2e 6f 6e 4c 61 79 ............m_LocalManager.onLay
2280 6f 75 74 43 68 61 6e 67 65 20 2b 3d 20 53 65 6e 64 4c 61 79 6f 75 74 43 68 61 6e 67 65 3b 0d 0a outChange.+=.SendLayoutChange;..
22a0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6e 64 69 6e 67 20 3d 20 74 72 75 65 3b 0d 0a 0d ..............sending.=.true;...
22c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 53 65 6e 64 41 6c 6c 44 65 76 69 63 65 73 28 29 3b 0d 0a .............SendAllDevices();..
22e0 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 76 6f 69 64 ........}............public.void
2300 20 53 74 6f 70 53 65 6e 64 69 6e 67 28 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 .StopSending()..........{.......
2320 20 20 20 20 20 20 20 69 66 20 28 21 73 65 6e 64 69 6e 67 29 0d 0a 20 20 20 20 20 20 20 20 20 20 .......if.(!sending)............
2340 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 6d 5f 4c ......return;................m_L
2360 6f 63 61 6c 4d 61 6e 61 67 65 72 2e 6f 6e 45 76 65 6e 74 20 2d 3d 20 53 65 6e 64 45 76 65 6e 74 ocalManager.onEvent.-=.SendEvent
2380 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 4c 6f 63 61 6c 4d 61 6e 61 67 65 72 2e 6f 6e ;..............m_LocalManager.on
23a0 44 65 76 69 63 65 43 68 61 6e 67 65 20 2d 3d 20 53 65 6e 64 44 65 76 69 63 65 43 68 61 6e 67 65 DeviceChange.-=.SendDeviceChange
23c0 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 4c 6f 63 61 6c 4d 61 6e 61 67 65 72 2e 6f 6e ;..............m_LocalManager.on
23e0 4c 61 79 6f 75 74 43 68 61 6e 67 65 20 2d 3d 20 53 65 6e 64 4c 61 79 6f 75 74 43 68 61 6e 67 65 LayoutChange.-=.SendLayoutChange
2400 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6e 64 69 6e 67 20 3d 20 66 61 6c 73 65 ;................sending.=.false
2420 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 76 6f 69 64 20 49 4f 62 ;..........}............void.IOb
2440 73 65 72 76 65 72 3c 4d 65 73 73 61 67 65 3e 2e 4f 6e 4e 65 78 74 28 4d 65 73 73 61 67 65 20 6d server<Message>.OnNext(Message.m
2460 73 67 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 77 69 74 sg)..........{..............swit
2480 63 68 20 28 6d 73 67 2e 74 79 70 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 ch.(msg.type)..............{....
24a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 4d 65 73 73 61 67 65 54 79 70 65 2e 43 ..............case.MessageType.C
24c0 6f 6e 6e 65 63 74 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 6f 6e onnect:......................Con
24e0 6e 65 63 74 4d 73 67 2e 50 72 6f 63 65 73 73 28 74 68 69 73 29 3b 0d 0a 20 20 20 20 20 20 20 20 nectMsg.Process(this);..........
2500 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ............break;..............
2520 20 20 20 20 63 61 73 65 20 4d 65 73 73 61 67 65 54 79 70 65 2e 44 69 73 63 6f 6e 6e 65 63 74 3a ....case.MessageType.Disconnect:
2540 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 69 73 63 6f 6e 6e 65 63 74 ......................Disconnect
2560 4d 73 67 2e 50 72 6f 63 65 73 73 28 74 68 69 73 2c 20 6d 73 67 29 3b 0d 0a 20 20 20 20 20 20 20 Msg.Process(this,.msg);.........
2580 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;.............
25a0 20 20 20 20 20 63 61 73 65 20 4d 65 73 73 61 67 65 54 79 70 65 2e 4e 65 77 4c 61 79 6f 75 74 3a .....case.MessageType.NewLayout:
25c0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 65 77 4c 61 79 6f 75 74 4d ......................NewLayoutM
25e0 73 67 2e 50 72 6f 63 65 73 73 28 74 68 69 73 2c 20 6d 73 67 29 3b 0d 0a 20 20 20 20 20 20 20 20 sg.Process(this,.msg);..........
2600 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ............break;..............
2620 20 20 20 20 63 61 73 65 20 4d 65 73 73 61 67 65 54 79 70 65 2e 52 65 6d 6f 76 65 4c 61 79 6f 75 ....case.MessageType.RemoveLayou
2640 74 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 6d 6f 76 65 4c 61 t:......................RemoveLa
2660 79 6f 75 74 4d 73 67 2e 50 72 6f 63 65 73 73 28 74 68 69 73 2c 20 6d 73 67 29 3b 0d 0a 20 20 20 youtMsg.Process(this,.msg);.....
2680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a 20 20 20 20 20 20 20 .................break;.........
26a0 20 20 20 20 20 20 20 20 20 63 61 73 65 20 4d 65 73 73 61 67 65 54 79 70 65 2e 4e 65 77 44 65 76 .........case.MessageType.NewDev
26c0 69 63 65 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 65 77 44 65 76 ice:......................NewDev
26e0 69 63 65 4d 73 67 2e 50 72 6f 63 65 73 73 28 74 68 69 73 2c 20 6d 73 67 29 3b 0d 0a 20 20 20 20 iceMsg.Process(this,.msg);......
2700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a 20 20 20 20 20 20 20 20 ................break;..........
2720 20 20 20 20 20 20 20 20 63 61 73 65 20 4d 65 73 73 61 67 65 54 79 70 65 2e 4e 65 77 45 76 65 6e ........case.MessageType.NewEven
2740 74 73 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 65 77 45 76 65 6e ts:......................NewEven
2760 74 73 4d 73 67 2e 50 72 6f 63 65 73 73 28 74 68 69 73 2c 20 6d 73 67 29 3b 0d 0a 20 20 20 20 20 tsMsg.Process(this,.msg);.......
2780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a 20 20 20 20 20 20 20 20 20 ...............break;...........
27a0 20 20 20 20 20 20 20 63 61 73 65 20 4d 65 73 73 61 67 65 54 79 70 65 2e 43 68 61 6e 67 65 55 73 .......case.MessageType.ChangeUs
27c0 61 67 65 73 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 68 61 6e 67 ages:......................Chang
27e0 65 55 73 61 67 65 4d 73 67 2e 50 72 6f 63 65 73 73 28 74 68 69 73 2c 20 6d 73 67 29 3b 0d 0a 20 eUsageMsg.Process(this,.msg);...
2800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a 20 20 20 20 20 ...................break;.......
2820 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 4d 65 73 73 61 67 65 54 79 70 65 2e 52 65 6d 6f ...........case.MessageType.Remo
2840 76 65 44 65 76 69 63 65 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 veDevice:......................R
2860 65 6d 6f 76 65 44 65 76 69 63 65 4d 73 67 2e 50 72 6f 63 65 73 73 28 74 68 69 73 2c 20 6d 73 67 emoveDeviceMsg.Process(this,.msg
2880 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a );......................break;..
28a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 4d 65 73 73 61 67 65 54 79 70 65 ................case.MessageType
28c0 2e 53 74 61 72 74 53 65 6e 64 69 6e 67 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .StartSending:..................
28e0 20 20 20 20 53 74 61 72 74 53 65 6e 64 69 6e 67 4d 73 67 2e 50 72 6f 63 65 73 73 28 74 68 69 73 ....StartSendingMsg.Process(this
2900 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a );......................break;..
2920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 4d 65 73 73 61 67 65 54 79 70 65 ................case.MessageType
2940 2e 53 74 6f 70 53 65 6e 64 69 6e 67 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .StopSending:...................
2960 20 20 20 53 74 6f 70 53 65 6e 64 69 6e 67 4d 73 67 2e 50 72 6f 63 65 73 73 28 74 68 69 73 29 3b ...StopSendingMsg.Process(this);
2980 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a 20 20 ......................break;....
29a0 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 ..........}..........}..........
29c0 20 20 76 6f 69 64 20 49 4f 62 73 65 72 76 65 72 3c 4d 65 73 73 61 67 65 3e 2e 4f 6e 45 72 72 6f ..void.IObserver<Message>.OnErro
29e0 72 28 45 78 63 65 70 74 69 6f 6e 20 65 72 72 6f 72 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 r(Exception.error)..........{...
2a00 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 76 6f 69 64 20 49 4f 62 73 65 72 76 .......}............void.IObserv
2a20 65 72 3c 4d 65 73 73 61 67 65 3e 2e 4f 6e 43 6f 6d 70 6c 65 74 65 64 28 29 0d 0a 20 20 20 20 20 er<Message>.OnCompleted().......
2a40 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 ...{..........}............publi
2a60 63 20 49 44 69 73 70 6f 73 61 62 6c 65 20 53 75 62 73 63 72 69 62 65 28 49 4f 62 73 65 72 76 65 c.IDisposable.Subscribe(IObserve
2a80 72 3c 4d 65 73 73 61 67 65 3e 20 6f 62 73 65 72 76 65 72 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d r<Message>.observer)..........{.
2aa0 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6f 62 73 65 72 76 65 72 20 3d 3d 20 6e 75 6c .............if.(observer.==.nul
2ac0 6c 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 41 72 l)..................throw.new.Ar
2ae0 67 75 6d 65 6e 74 4e 75 6c 6c 45 78 63 65 70 74 69 6f 6e 28 22 6f 62 73 65 72 76 65 72 22 29 3b gumentNullException("observer");
2b00 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 73 75 62 73 63 72 69 62 65 72 20 3d ................var.subscriber.=
2b20 20 6e 65 77 20 53 75 62 73 63 72 69 62 65 72 20 7b 6f 77 6e 65 72 20 3d 20 74 68 69 73 2c 20 6f .new.Subscriber.{owner.=.this,.o
2b40 62 73 65 72 76 65 72 20 3d 20 6f 62 73 65 72 76 65 72 7d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 bserver.=.observer};............
2b60 20 20 41 72 72 61 79 48 65 6c 70 65 72 73 2e 41 70 70 65 6e 64 28 72 65 66 20 6d 5f 53 75 62 73 ..ArrayHelpers.Append(ref.m_Subs
2b80 63 72 69 62 65 72 73 2c 20 73 75 62 73 63 72 69 62 65 72 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 cribers,.subscriber);...........
2ba0 20 20 20 20 20 72 65 74 75 72 6e 20 73 75 62 73 63 72 69 62 65 72 3b 0d 0a 20 20 20 20 20 20 20 .....return.subscriber;.........
2bc0 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 76 6f 69 64 20 53 65 6e 64 41 .}............private.void.SendA
2be0 6c 6c 44 65 76 69 63 65 73 28 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 llDevices()..........{..........
2c00 20 20 20 20 76 61 72 20 64 65 76 69 63 65 73 20 3d 20 6d 5f 4c 6f 63 61 6c 4d 61 6e 61 67 65 72 ....var.devices.=.m_LocalManager
2c20 2e 64 65 76 69 63 65 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 .devices;..............foreach.(
2c40 76 61 72 20 64 65 76 69 63 65 20 69 6e 20 64 65 76 69 63 65 73 29 0d 0a 20 20 20 20 20 20 20 20 var.device.in.devices)..........
2c60 20 20 20 20 20 20 20 20 53 65 6e 64 44 65 76 69 63 65 28 64 65 76 69 63 65 29 3b 0d 0a 20 20 20 ........SendDevice(device);.....
2c80 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 76 6f 69 64 20 53 .....}............private.void.S
2ca0 65 6e 64 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 0a 20 endDevice(InputDevice.device)...
2cc0 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 6d 65 73 73 61 67 .......{..............var.messag
2ce0 65 20 3d 20 4e 65 77 44 65 76 69 63 65 4d 73 67 2e 43 72 65 61 74 65 28 64 65 76 69 63 65 29 3b e.=.NewDeviceMsg.Create(device);
2d00 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 53 65 6e 64 28 6d 65 73 73 61 67 65 29 3b 0d 0a 20 20 ..............Send(message);....
2d20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 75 6e 73 61 66 ......}............private.unsaf
2d40 65 20 76 6f 69 64 20 53 65 6e 64 45 76 65 6e 74 28 49 6e 70 75 74 45 76 65 6e 74 50 74 72 20 65 e.void.SendEvent(InputEventPtr.e
2d60 76 65 6e 74 50 74 72 2c 20 49 6e 70 75 74 44 65 76 69 63 65 20 64 65 76 69 63 65 29 0d 0a 20 20 ventPtr,.InputDevice.device)....
2d80 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 53 75 62 73 63 ......{..............if.(m_Subsc
2da0 72 69 62 65 72 73 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ribers.==.null).................
2dc0 20 72 65 74 75 72 6e 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 2f 52 45 56 49 .return;................////REVI
2de0 45 57 3a 20 77 65 20 70 72 6f 62 61 62 6c 79 20 77 61 6e 74 20 74 6f 20 68 61 76 65 20 62 65 74 EW:.we.probably.want.to.have.bet
2e00 74 65 72 20 63 6f 6e 74 72 6f 6c 20 6f 76 65 72 20 74 68 69 73 20 61 6e 64 20 61 6c 6c 6f 77 20 ter.control.over.this.and.allow.
2e20 70 72 6f 64 75 63 69 6e 67 20 6c 6f 63 61 6c 20 65 76 65 6e 74 73 0d 0a 20 20 20 20 20 20 20 20 producing.local.events..........
2e40 20 20 20 20 2f 2f 2f 2f 20 20 20 20 20 20 20 20 61 67 61 69 6e 73 74 20 72 65 6d 6f 74 65 20 64 ....////........against.remote.d
2e60 65 76 69 63 65 73 20 77 68 69 63 68 20 2a 61 72 65 2a 20 69 6e 64 65 65 64 20 73 65 6e 74 20 61 evices.which.*are*.indeed.sent.a
2e80 63 72 6f 73 73 20 74 68 65 20 77 69 72 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 44 cross.the.wire..............//.D
2ea0 6f 6e 27 74 20 73 65 6e 64 20 65 76 65 6e 74 73 20 74 68 61 74 20 63 61 6d 65 20 69 6e 20 66 72 on't.send.events.that.came.in.fr
2ec0 6f 6d 20 72 65 6d 6f 74 65 20 64 65 76 69 63 65 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 om.remote.devices...............
2ee0 69 66 20 28 64 65 76 69 63 65 20 21 3d 20 6e 75 6c 6c 20 26 26 20 64 65 76 69 63 65 2e 72 65 6d if.(device.!=.null.&&.device.rem
2f00 6f 74 65 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 ote)..................return;...
2f20 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d 65 73 73 61 67 65 20 3d 20 4e 65 77 45 76 .............var.message.=.NewEv
2f40 65 6e 74 73 4d 73 67 2e 43 72 65 61 74 65 28 65 76 65 6e 74 50 74 72 2e 64 61 74 61 2c 20 31 29 entsMsg.Create(eventPtr.data,.1)
2f60 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 53 65 6e 64 28 6d 65 73 73 61 67 65 29 3b 0d 0a 20 ;..............Send(message);...
2f80 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 76 6f 69 64 .......}............private.void
2fa0 20 53 65 6e 64 44 65 76 69 63 65 43 68 61 6e 67 65 28 49 6e 70 75 74 44 65 76 69 63 65 20 64 65 .SendDeviceChange(InputDevice.de
2fc0 76 69 63 65 2c 20 49 6e 70 75 74 44 65 76 69 63 65 43 68 61 6e 67 65 20 63 68 61 6e 67 65 29 0d vice,.InputDeviceChange.change).
2fe0 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 6d 5f 53 75 .........{..............if.(m_Su
3000 62 73 63 72 69 62 65 72 73 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 bscribers.==.null)..............
3020 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 2f 2f 20 44 6f ....return;................//.Do
3040 6e 27 74 20 6d 69 72 72 6f 72 20 72 65 6d 6f 74 65 64 20 64 65 76 69 63 65 73 20 74 6f 20 6f 74 n't.mirror.remoted.devices.to.ot
3060 68 65 72 20 72 65 6d 6f 74 65 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 64 65 her.remotes...............if.(de
3080 76 69 63 65 2e 72 65 6d 6f 74 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 vice.remote)..................re
30a0 74 75 72 6e 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 4d 65 73 73 61 67 65 20 6d 73 67 turn;................Message.msg
30c0 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 77 69 74 63 68 20 28 63 68 61 6e 67 65 29 0d 0a ;..............switch.(change)..
30e0 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 ............{..................c
3100 61 73 65 20 49 6e 70 75 74 44 65 76 69 63 65 43 68 61 6e 67 65 2e 41 64 64 65 64 3a 0d 0a 20 20 ase.InputDeviceChange.Added:....
3120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 73 67 20 3d 20 4e 65 77 44 65 76 69 63 ..................msg.=.NewDevic
3140 65 4d 73 67 2e 43 72 65 61 74 65 28 64 65 76 69 63 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 eMsg.Create(device);............
3160 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........break;................
3180 20 20 63 61 73 65 20 49 6e 70 75 74 44 65 76 69 63 65 43 68 61 6e 67 65 2e 52 65 6d 6f 76 65 64 ..case.InputDeviceChange.Removed
31a0 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 73 67 20 3d 20 52 65 6d :......................msg.=.Rem
31c0 6f 76 65 44 65 76 69 63 65 4d 73 67 2e 43 72 65 61 74 65 28 64 65 76 69 63 65 29 3b 0d 0a 20 20 oveDeviceMsg.Create(device);....
31e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a 20 20 20 20 20 20 ..................break;........
3200 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 49 6e 70 75 74 44 65 76 69 63 65 43 68 61 6e 67 65 ..........case.InputDeviceChange
3220 2e 55 73 61 67 65 43 68 61 6e 67 65 64 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .UsageChanged:..................
3240 20 20 20 20 6d 73 67 20 3d 20 43 68 61 6e 67 65 55 73 61 67 65 4d 73 67 2e 43 72 65 61 74 65 28 ....msg.=.ChangeUsageMsg.Create(
3260 64 65 76 69 63 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 device);......................br
3280 65 61 6b 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 3a 0d 0a eak;..................default:..
32a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0d 0a 20 20 20 ....................return;.....
32c0 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 53 65 6e 64 28 6d .........}................Send(m
32e0 73 67 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 sg);..........}............priva
3300 74 65 20 76 6f 69 64 20 53 65 6e 64 4c 61 79 6f 75 74 43 68 61 6e 67 65 28 73 74 72 69 6e 67 20 te.void.SendLayoutChange(string.
3320 6c 61 79 6f 75 74 2c 20 49 6e 70 75 74 43 6f 6e 74 72 6f 6c 4c 61 79 6f 75 74 43 68 61 6e 67 65 layout,.InputControlLayoutChange
3340 20 63 68 61 6e 67 65 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 .change)..........{.............
3360 20 69 66 20 28 6d 5f 53 75 62 73 63 72 69 62 65 72 73 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 .if.(m_Subscribers.==.null).....
3380 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 .............return;............
33a0 20 20 20 20 4d 65 73 73 61 67 65 20 6d 73 67 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 77 ....Message.msg;..............sw
33c0 69 74 63 68 20 28 63 68 61 6e 67 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 itch.(change)..............{....
33e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 49 6e 70 75 74 43 6f 6e 74 72 6f 6c 4c ..............case.InputControlL
3400 61 79 6f 75 74 43 68 61 6e 67 65 2e 41 64 64 65 64 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ayoutChange.Added:..............
3420 20 20 20 20 63 61 73 65 20 49 6e 70 75 74 43 6f 6e 74 72 6f 6c 4c 61 79 6f 75 74 43 68 61 6e 67 ....case.InputControlLayoutChang
3440 65 2e 52 65 70 6c 61 63 65 64 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.Replaced:.....................
3460 20 76 61 72 20 6d 65 73 73 61 67 65 20 3d 20 4e 65 77 4c 61 79 6f 75 74 4d 73 67 2e 43 72 65 61 .var.message.=.NewLayoutMsg.Crea
3480 74 65 28 74 68 69 73 2c 20 6c 61 79 6f 75 74 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 te(this,.layout);...............
34a0 20 20 20 20 20 20 20 69 66 20 28 6d 65 73 73 61 67 65 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 .......if.(message.==.null).....
34c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0d 0a 20 20 .....................return;....
34e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 73 67 20 3d 20 6d 65 73 73 61 67 65 2e ..................msg.=.message.
3500 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 62 72 65 61 Value;......................brea
3520 6b 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 49 6e 70 75 74 43 6f k;..................case.InputCo
3540 6e 74 72 6f 6c 4c 61 79 6f 75 74 43 68 61 6e 67 65 2e 52 65 6d 6f 76 65 64 3a 0d 0a 20 20 20 20 ntrolLayoutChange.Removed:......
3560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 73 67 20 3d 20 52 65 6d 6f 76 65 4c 61 79 6f ................msg.=.RemoveLayo
3580 75 74 4d 73 67 2e 43 72 65 61 74 65 28 6c 61 79 6f 75 74 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 utMsg.Create(layout);...........
35a0 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........break;...............
35c0 20 20 20 64 65 66 61 75 6c 74 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...default:.....................
35e0 20 72 65 74 75 72 6e 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 .return;..............}.........
3600 20 20 20 20 20 20 20 53 65 6e 64 28 6d 73 67 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a .......Send(msg);..........}....
3620 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 76 6f 69 64 20 53 65 6e 64 28 4d 65 73 73 61 67 ........private.void.Send(Messag
3640 65 20 6d 73 67 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 e.msg)..........{..............f
3660 6f 72 65 61 63 68 20 28 76 61 72 20 73 75 62 73 63 72 69 62 65 72 20 69 6e 20 6d 5f 53 75 62 73 oreach.(var.subscriber.in.m_Subs
3680 63 72 69 62 65 72 73 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 75 62 73 63 72 cribers)..................subscr
36a0 69 62 65 72 2e 6f 62 73 65 72 76 65 72 2e 4f 6e 4e 65 78 74 28 6d 73 67 29 3b 0d 0a 20 20 20 20 iber.observer.OnNext(msg);......
36c0 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 2f 54 4f 44 4f 3a 20 77 69 74 68 20 ....}............////TODO:.with.
36e0 43 23 37 20 74 68 69 73 20 73 68 6f 75 6c 64 20 62 65 20 61 20 72 65 66 20 72 65 74 75 72 6e 0d C#7.this.should.be.a.ref.return.
3700 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 69 6e 74 20 46 69 6e 64 4f 72 43 72 65 61 74 .........private.int.FindOrCreat
3720 65 53 65 6e 64 65 72 52 65 63 6f 72 64 28 69 6e 74 20 73 65 6e 64 65 72 49 64 29 0d 0a 20 20 20 eSenderRecord(int.senderId).....
3740 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 54 72 79 20 74 6f 20 66 69 .....{..............//.Try.to.fi
3760 6e 64 20 65 78 69 73 74 69 6e 67 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f nd.existing...............if.(m_
3780 53 65 6e 64 65 72 73 20 21 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d Senders.!=.null)..............{.
37a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 73 65 6e 64 65 72 43 6f 75 6e 74 .................var.senderCount
37c0 20 3d 20 6d 5f 53 65 6e 64 65 72 73 2e 4c 65 6e 67 74 68 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 .=.m_Senders.Length;............
37e0 20 20 20 20 20 20 66 6f 72 20 28 76 61 72 20 69 20 3d 20 30 3b 20 69 20 3c 20 73 65 6e 64 65 72 ......for.(var.i.=.0;.i.<.sender
3800 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 20 20 20 Count;.++i).....................
3820 20 69 66 20 28 6d 5f 53 65 6e 64 65 72 73 5b 69 5d 2e 73 65 6e 64 65 72 49 64 20 3d 3d 20 73 65 .if.(m_Senders[i].senderId.==.se
3840 6e 64 65 72 49 64 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nderId).........................
3860 20 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 0d 0a 20 20 20 .return.i;..............}.......
3880 20 20 20 20 20 20 20 20 20 2f 2f 20 43 72 65 61 74 65 20 6e 65 77 2e 0d 0a 20 20 20 20 20 20 20 .........//.Create.new..........
38a0 20 20 20 20 20 76 61 72 20 73 65 6e 64 65 72 20 3d 20 6e 65 77 20 52 65 6d 6f 74 65 53 65 6e 64 .....var.sender.=.new.RemoteSend
38c0 65 72 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 er..............{...............
38e0 20 20 20 73 65 6e 64 65 72 49 64 20 3d 20 73 65 6e 64 65 72 49 64 2c 0d 0a 20 20 20 20 20 20 20 ...senderId.=.senderId,.........
3900 20 20 20 20 20 7d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 41 72 72 61 .....};..............return.Arra
3920 79 48 65 6c 70 65 72 73 2e 41 70 70 65 6e 64 28 72 65 66 20 6d 5f 53 65 6e 64 65 72 73 2c 20 73 yHelpers.Append(ref.m_Senders,.s
3940 65 6e 64 65 72 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 72 ender);..........}............pr
3960 69 76 61 74 65 20 69 6e 74 20 46 69 6e 64 4c 6f 63 61 6c 44 65 76 69 63 65 49 64 28 69 6e 74 20 ivate.int.FindLocalDeviceId(int.
3980 72 65 6d 6f 74 65 44 65 76 69 63 65 49 64 2c 20 69 6e 74 20 73 65 6e 64 65 72 49 6e 64 65 78 29 remoteDeviceId,.int.senderIndex)
39a0 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6c 6f 63 ..........{..............var.loc
39c0 61 6c 44 65 76 69 63 65 73 20 3d 20 6d 5f 53 65 6e 64 65 72 73 5b 73 65 6e 64 65 72 49 6e 64 65 alDevices.=.m_Senders[senderInde
39e0 78 5d 2e 64 65 76 69 63 65 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6c 6f 63 x].devices;..............if.(loc
3a00 61 6c 44 65 76 69 63 65 73 20 21 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 alDevices.!=.null)..............
3a20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6e 75 6d 4c 6f 63 61 6c 44 {..................var.numLocalD
3a40 65 76 69 63 65 73 20 3d 20 6c 6f 63 61 6c 44 65 76 69 63 65 73 2e 4c 65 6e 67 74 68 3b 0d 0a 0d evices.=.localDevices.Length;...
3a60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 76 61 72 20 69 20 3d 20 30 3b .................for.(var.i.=.0;
3a80 20 69 20 3c 20 6e 75 6d 4c 6f 63 61 6c 44 65 76 69 63 65 73 3b 20 2b 2b 69 29 0d 0a 20 20 20 20 .i.<.numLocalDevices;.++i)......
3aa0 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 ............{...................
3ac0 20 20 20 69 66 20 28 6c 6f 63 61 6c 44 65 76 69 63 65 73 5b 69 5d 2e 72 65 6d 6f 74 65 49 64 20 ...if.(localDevices[i].remoteId.
3ae0 3d 3d 20 72 65 6d 6f 74 65 44 65 76 69 63 65 49 64 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ==.remoteDeviceId)..............
3b00 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6c 6f 63 61 6c 44 65 76 69 63 65 73 5b ............return.localDevices[
3b20 69 5d 2e 6c 6f 63 61 6c 49 64 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a i].localId;..................}..
3b40 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 72 65 74 ............}................ret
3b60 75 72 6e 20 49 6e 70 75 74 44 65 76 69 63 65 2e 49 6e 76 61 6c 69 64 44 65 76 69 63 65 49 64 3b urn.InputDevice.InvalidDeviceId;
3b80 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 49 ..........}............private.I
3ba0 6e 70 75 74 44 65 76 69 63 65 20 54 72 79 47 65 74 44 65 76 69 63 65 42 79 52 65 6d 6f 74 65 49 nputDevice.TryGetDeviceByRemoteI
3bc0 64 28 69 6e 74 20 72 65 6d 6f 74 65 44 65 76 69 63 65 49 64 2c 20 69 6e 74 20 73 65 6e 64 65 72 d(int.remoteDeviceId,.int.sender
3be0 49 6e 64 65 78 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 Index)..........{..............v
3c00 61 72 20 6c 6f 63 61 6c 49 64 20 3d 20 46 69 6e 64 4c 6f 63 61 6c 44 65 76 69 63 65 49 64 28 72 ar.localId.=.FindLocalDeviceId(r
3c20 65 6d 6f 74 65 44 65 76 69 63 65 49 64 2c 20 73 65 6e 64 65 72 49 6e 64 65 78 29 3b 0d 0a 20 20 emoteDeviceId,.senderIndex);....
3c40 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 5f 4c 6f 63 61 6c 4d 61 6e 61 67 65 72 2e ..........return.m_LocalManager.
3c60 54 72 79 47 65 74 44 65 76 69 63 65 42 79 49 64 28 6c 6f 63 61 6c 49 64 29 3b 0d 0a 20 20 20 20 TryGetDeviceById(localId);......
3c80 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 46 6c 61 67 73 20 6d ....}............private.Flags.m
3ca0 5f 46 6c 61 67 73 3b 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 49 6e 70 75 74 4d 61 _Flags;..........private.InputMa
3cc0 6e 61 67 65 72 20 6d 5f 4c 6f 63 61 6c 4d 61 6e 61 67 65 72 3b 20 2f 2f 20 49 6e 70 75 74 20 73 nager.m_LocalManager;.//.Input.s
3ce0 79 73 74 65 6d 20 77 65 20 6d 69 72 72 6f 72 20 69 6e 70 75 74 20 66 72 6f 6d 20 61 6e 64 20 74 ystem.we.mirror.input.from.and.t
3d00 6f 2e 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 53 75 62 73 63 72 69 62 65 72 5b 5d o...........private.Subscriber[]
3d20 20 6d 5f 53 75 62 73 63 72 69 62 65 72 73 3b 20 2f 2f 20 52 65 63 65 69 76 65 72 73 20 77 65 20 .m_Subscribers;.//.Receivers.we.
3d40 73 65 6e 64 20 69 6e 70 75 74 20 74 6f 2e 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 send.input.to...........private.
3d60 52 65 6d 6f 74 65 53 65 6e 64 65 72 5b 5d 20 6d 5f 53 65 6e 64 65 72 73 3b 20 2f 2f 20 53 65 6e RemoteSender[].m_Senders;.//.Sen
3d80 64 65 72 73 20 77 65 20 72 65 63 65 69 76 65 20 69 6e 70 75 74 20 66 72 6f 6d 2e 0d 0a 0d 0a 20 ders.we.receive.input.from......
3da0 20 20 20 20 20 20 20 5b 46 6c 61 67 73 5d 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 .......[Flags]..........private.
3dc0 65 6e 75 6d 20 46 6c 61 67 73 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 enum.Flags..........{...........
3de0 20 20 20 53 65 6e 64 69 6e 67 20 3d 20 31 20 3c 3c 20 30 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 ...Sending.=.1.<<.0,............
3e00 20 20 53 74 61 72 74 53 65 6e 64 69 6e 67 4f 6e 43 6f 6e 6e 65 63 74 20 3d 20 31 20 3c 3c 20 31 ..StartSendingOnConnect.=.1.<<.1
3e20 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 44 61 74 61 20 77 ..........}............//.Data.w
3e40 65 20 6b 65 65 70 20 61 62 6f 75 74 20 61 20 75 6e 69 71 75 65 20 73 65 6e 64 65 72 20 74 68 61 e.keep.about.a.unique.sender.tha
3e60 74 20 77 65 20 72 65 63 65 69 76 65 20 69 6e 70 75 74 20 64 61 74 61 0d 0a 20 20 20 20 20 20 20 t.we.receive.input.data.........
3e80 20 2f 2f 20 66 72 6f 6d 2e 20 57 65 20 6b 65 65 70 20 74 72 61 63 6b 20 6f 66 20 74 68 65 20 6c .//.from..We.keep.track.of.the.l
3ea0 61 79 6f 75 74 73 20 61 6e 64 20 64 65 76 69 63 65 73 20 77 65 20 61 64 64 65 64 20 74 6f 0d 0a ayouts.and.devices.we.added.to..
3ec0 20 20 20 20 20 20 20 20 2f 2f 20 74 68 65 20 6c 6f 63 61 6c 20 73 79 73 74 65 6d 2e 0d 0a 20 20 ........//.the.local.system.....
3ee0 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 20 20 20 69 6e ......[Serializable]..........in
3f00 74 65 72 6e 61 6c 20 73 74 72 75 63 74 20 52 65 6d 6f 74 65 53 65 6e 64 65 72 0d 0a 20 20 20 20 ternal.struct.RemoteSender......
3f20 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 69 6e 74 20 73 65 ....{..............public.int.se
3f40 6e 64 65 72 49 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 72 69 nderId;..............public.stri
3f60 6e 67 5b 5d 20 6c 61 79 6f 75 74 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 ng[].layouts;..............publi
3f80 63 20 52 65 6d 6f 74 65 49 6e 70 75 74 44 65 76 69 63 65 5b 5d 20 64 65 76 69 63 65 73 3b 0d 0a c.RemoteInputDevice[].devices;..
3fa0 20 20 20 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 ........}............[Serializab
3fc0 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 75 63 74 20 52 65 6d le]..........internal.struct.Rem
3fe0 6f 74 65 49 6e 70 75 74 44 65 76 69 63 65 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 oteInputDevice..........{.......
4000 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 20 72 65 6d 6f 74 65 49 64 3b 20 2f 2f 20 44 .......public.int.remoteId;.//.D
4020 65 76 69 63 65 20 49 44 20 75 73 65 64 20 62 79 20 73 65 6e 64 65 72 2e 0d 0a 20 20 20 20 20 20 evice.ID.used.by.sender.........
4040 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 20 6c 6f 63 61 6c 49 64 3b 20 2f 2f 20 44 65 76 ......public.int.localId;.//.Dev
4060 69 63 65 20 49 44 20 75 73 65 64 20 62 79 20 75 73 20 69 6e 20 6c 6f 63 61 6c 20 73 79 73 74 65 ice.ID.used.by.us.in.local.syste
4080 6d 2e 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 6c 61 m...............public.string.la
40a0 79 6f 75 74 4e 61 6d 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 youtName;................public.
40c0 49 6e 70 75 74 44 65 76 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e 20 64 65 73 63 72 69 70 74 69 InputDeviceDescription.descripti
40e0 6f 6e 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e on;..........}............intern
4100 61 6c 20 63 6c 61 73 73 20 53 75 62 73 63 72 69 62 65 72 20 3a 20 49 44 69 73 70 6f 73 61 62 6c al.class.Subscriber.:.IDisposabl
4120 65 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 e..........{..............public
4140 20 49 6e 70 75 74 52 65 6d 6f 74 69 6e 67 20 6f 77 6e 65 72 3b 0d 0a 20 20 20 20 20 20 20 20 20 .InputRemoting.owner;...........
4160 20 20 20 70 75 62 6c 69 63 20 49 4f 62 73 65 72 76 65 72 3c 4d 65 73 73 61 67 65 3e 20 6f 62 73 ...public.IObserver<Message>.obs
4180 65 72 76 65 72 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 76 6f 69 64 20 erver;..............public.void.
41a0 44 69 73 70 6f 73 65 28 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 Dispose()..............{........
41c0 20 20 20 20 20 20 20 20 20 20 41 72 72 61 79 48 65 6c 70 65 72 73 2e 45 72 61 73 65 28 72 65 66 ..........ArrayHelpers.Erase(ref
41e0 20 6f 77 6e 65 72 2e 6d 5f 53 75 62 73 63 72 69 62 65 72 73 2c 20 74 68 69 73 29 3b 0d 0a 20 20 .owner.m_Subscribers,.this);....
4200 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 ..........}..........}..........
4220 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 63 6c 61 73 73 20 43 6f 6e 6e 65 63 74 4d 73 ..private.static.class.ConnectMs
4240 67 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 6c 69 63 g..........{..............public
4260 20 73 74 61 74 69 63 20 76 6f 69 64 20 50 72 6f 63 65 73 73 28 49 6e 70 75 74 52 65 6d 6f 74 69 .static.void.Process(InputRemoti
4280 6e 67 20 72 65 63 65 69 76 65 72 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 ng.receiver)..............{.....
42a0 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 72 65 63 65 69 76 65 72 2e 73 65 6e 64 69 6e .............if.(receiver.sendin
42c0 67 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 g)..................{...........
42e0 20 20 20 20 20 20 20 20 20 20 20 72 65 63 65 69 76 65 72 2e 53 65 6e 64 41 6c 6c 44 65 76 69 63 ...........receiver.SendAllDevic
4300 65 73 28 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 es();..................}........
4320 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 28 72 65 63 65 69 76 65 72 2e 6d 5f 46 ..........else.if.((receiver.m_F
4340 6c 61 67 73 20 26 20 46 6c 61 67 73 2e 53 74 61 72 74 53 65 6e 64 69 6e 67 4f 6e 43 6f 6e 6e 65 lags.&.Flags.StartSendingOnConne
4360 63 74 29 20 3d 3d 20 46 6c 61 67 73 2e 53 74 61 72 74 53 65 6e 64 69 6e 67 4f 6e 43 6f 6e 6e 65 ct).==.Flags.StartSendingOnConne
4380 63 74 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 63 65 69 76 65 ct)......................receive
43a0 72 2e 53 74 61 72 74 53 65 6e 64 69 6e 67 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d r.StartSending();..............}
43c0 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 73 ..........}............private.s
43e0 74 61 74 69 63 20 63 6c 61 73 73 20 53 74 61 72 74 53 65 6e 64 69 6e 67 4d 73 67 0d 0a 20 20 20 tatic.class.StartSendingMsg.....
4400 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 61 74 69 .....{..............public.stati
4420 63 20 76 6f 69 64 20 50 72 6f 63 65 73 73 28 49 6e 70 75 74 52 65 6d 6f 74 69 6e 67 20 72 65 63 c.void.Process(InputRemoting.rec
4440 65 69 76 65 72 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 eiver)..............{...........
4460 20 20 20 20 20 20 20 72 65 63 65 69 76 65 72 2e 53 74 61 72 74 53 65 6e 64 69 6e 67 28 29 3b 0d .......receiver.StartSending();.
4480 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 .............}..........}.......
44a0 20 20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 63 6c 61 73 73 20 53 74 6f 70 53 65 .....private.static.class.StopSe
44c0 6e 64 69 6e 67 4d 73 67 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ndingMsg..........{.............
44e0 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 50 72 6f 63 65 73 73 28 49 6e 70 75 .public.static.void.Process(Inpu
4500 74 52 65 6d 6f 74 69 6e 67 20 72 65 63 65 69 76 65 72 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 tRemoting.receiver).............
4520 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 63 65 69 76 65 72 2e 53 74 6f .{..................receiver.Sto
4540 70 53 65 6e 64 69 6e 67 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 pSending();..............}......
4560 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 76 6f 69 64 20 52 65 6d ....}............public.void.Rem
4580 6f 76 65 52 65 6d 6f 74 65 44 65 76 69 63 65 73 28 69 6e 74 20 70 61 72 74 69 63 69 70 61 6e 74 oveRemoteDevices(int.participant
45a0 49 64 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 Id)..........{..............var.
45c0 73 65 6e 64 65 72 49 6e 64 65 78 20 3d 20 46 69 6e 64 4f 72 43 72 65 61 74 65 53 65 6e 64 65 72 senderIndex.=.FindOrCreateSender
45e0 52 65 63 6f 72 64 28 70 61 72 74 69 63 69 70 61 6e 74 49 64 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 Record(participantId);..........
4600 20 20 20 20 20 20 2f 2f 20 52 65 6d 6f 76 65 20 64 65 76 69 63 65 73 20 61 64 64 65 64 20 62 79 ......//.Remove.devices.added.by
4620 20 72 65 6d 6f 74 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 64 65 76 69 63 65 .remote...............var.device
4640 73 20 3d 20 6d 5f 53 65 6e 64 65 72 73 5b 73 65 6e 64 65 72 49 6e 64 65 78 5d 2e 64 65 76 69 63 s.=.m_Senders[senderIndex].devic
4660 65 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 64 65 76 69 63 65 73 20 21 3d 20 es;..............if.(devices.!=.
4680 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 20 null)..............{............
46a0 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 76 61 72 20 72 65 6d 6f 74 65 44 65 76 69 63 65 20 ......foreach.(var.remoteDevice.
46c0 69 6e 20 64 65 76 69 63 65 73 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a in.devices)..................{..
46e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 64 65 76 69 63 65 20 3d ....................var.device.=
4700 20 6d 5f 4c 6f 63 61 6c 4d 61 6e 61 67 65 72 2e 54 72 79 47 65 74 44 65 76 69 63 65 42 79 49 64 .m_LocalManager.TryGetDeviceById
4720 28 72 65 6d 6f 74 65 44 65 76 69 63 65 2e 6c 6f 63 61 6c 49 64 29 3b 0d 0a 20 20 20 20 20 20 20 (remoteDevice.localId);.........
4740 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 64 65 76 69 63 65 20 21 3d 20 6e 75 6c 6c 29 .............if.(device.!=.null)
4760 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 4c 6f 63 61 ..........................m_Loca
4780 6c 4d 61 6e 61 67 65 72 2e 52 65 6d 6f 76 65 44 65 76 69 63 65 28 64 65 76 69 63 65 29 3b 0d 0a lManager.RemoveDevice(device);..
47a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d ................}..............}
47c0 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 2f 54 4f 44 4f 3a 20 72 65 6d 6f 76 65 ................////TODO:.remove
47e0 20 6c 61 79 6f 75 74 73 20 61 64 64 65 64 20 62 79 20 72 65 6d 6f 74 65 0d 0a 0d 0a 20 20 20 20 .layouts.added.by.remote........
4800 20 20 20 20 20 20 20 20 41 72 72 61 79 48 65 6c 70 65 72 73 2e 45 72 61 73 65 41 74 28 72 65 66 ........ArrayHelpers.EraseAt(ref
4820 20 6d 5f 53 65 6e 64 65 72 73 2c 20 73 65 6e 64 65 72 49 6e 64 65 78 29 3b 0d 0a 20 20 20 20 20 .m_Senders,.senderIndex);.......
4840 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 63 ...}............private.static.c
4860 6c 61 73 73 20 44 69 73 63 6f 6e 6e 65 63 74 4d 73 67 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 lass.DisconnectMsg..........{...
4880 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 76 6f 69 64 20 50 72 ...........public.static.void.Pr
48a0 6f 63 65 73 73 28 49 6e 70 75 74 52 65 6d 6f 74 69 6e 67 20 72 65 63 65 69 76 65 72 2c 20 4d 65 ocess(InputRemoting.receiver,.Me
48c0 73 73 61 67 65 20 6d 73 67 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 ssage.msg)..............{.......
48e0 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 4c 6f 67 28 22 44 69 73 63 6f 6e 6e 65 63 74 ...........Debug.Log("Disconnect
4900 4d 73 67 2e 50 72 6f 63 65 73 73 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 Msg.Process");..................
4920 20 20 72 65 63 65 69 76 65 72 2e 52 65 6d 6f 76 65 52 65 6d 6f 74 65 44 65 76 69 63 65 73 28 6d ..receiver.RemoveRemoteDevices(m
4940 73 67 2e 70 61 72 74 69 63 69 70 61 6e 74 49 64 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 sg.participantId);..............
4960 20 20 20 20 72 65 63 65 69 76 65 72 2e 53 74 6f 70 53 65 6e 64 69 6e 67 28 29 3b 0d 0a 20 20 20 ....receiver.StopSending();.....
4980 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 .........}..........}...........
49a0 20 2f 2f 20 54 65 6c 6c 20 72 65 6d 6f 74 65 20 69 6e 70 75 74 20 73 79 73 74 65 6d 20 74 68 61 .//.Tell.remote.input.system.tha
49c0 74 20 74 68 65 72 65 27 73 20 61 20 6e 65 77 20 6c 61 79 6f 75 74 2e 0d 0a 20 20 20 20 20 20 20 t.there's.a.new.layout..........
49e0 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 63 6c 61 73 73 20 4e 65 77 4c 61 79 6f 75 74 4d .private.static.class.NewLayoutM
4a00 73 67 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 6c 69 sg..........{..............publi
4a20 63 20 73 74 61 74 69 63 20 4d 65 73 73 61 67 65 3f 20 43 72 65 61 74 65 28 49 6e 70 75 74 52 65 c.static.Message?.Create(InputRe
4a40 6d 6f 74 69 6e 67 20 73 65 6e 64 65 72 2c 20 73 74 72 69 6e 67 20 6c 61 79 6f 75 74 4e 61 6d 65 moting.sender,.string.layoutName
4a60 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 )..............{................
4a80 20 20 2f 2f 20 54 72 79 20 74 6f 20 6c 6f 61 64 20 74 68 65 20 6c 61 79 6f 75 74 2e 20 49 67 6e ..//.Try.to.load.the.layout..Ign
4aa0 6f 72 65 20 74 68 65 20 6c 61 79 6f 75 74 20 69 66 20 69 74 20 63 6f 75 6c 64 6e 27 74 0d 0a 20 ore.the.layout.if.it.couldn't...
4ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 62 65 20 6c 6f 61 64 65 64 2e 0d 0a 20 20 ...............//.be.loaded.....
4ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 70 75 74 43 6f 6e 74 72 6f 6c 4c 61 79 6f 75 74 ..............InputControlLayout
4b00 20 6c 61 79 6f 75 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 72 79 0d 0a 20 .layout;..................try...
4b20 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 ...............{................
4b40 20 20 20 20 20 20 6c 61 79 6f 75 74 20 3d 20 73 65 6e 64 65 72 2e 6d 5f 4c 6f 63 61 6c 4d 61 6e ......layout.=.sender.m_LocalMan
4b60 61 67 65 72 2e 54 72 79 4c 6f 61 64 43 6f 6e 74 72 6f 6c 4c 61 79 6f 75 74 28 6e 65 77 20 49 6e ager.TryLoadControlLayout(new.In
4b80 74 65 72 6e 65 64 53 74 72 69 6e 67 28 6c 61 79 6f 75 74 4e 61 6d 65 29 29 3b 0d 0a 20 20 20 20 ternedString(layoutName));......
4ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6c 61 79 6f 75 74 20 3d 3d 20 6e 75 ................if.(layout.==.nu
4bc0 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 7b 0d 0a 20 20 20 20 ll)......................{......
4be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 4c 6f 67 28 73 74 ....................Debug.Log(st
4c00 72 69 6e 67 2e 46 6f 72 6d 61 74 28 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ring.Format(....................
4c20 20 20 20 20 20 20 20 20 20 20 22 43 6f 75 6c 64 20 6e 6f 74 20 66 69 6e 64 20 6c 61 79 6f 75 74 .........."Could.not.find.layout
4c40 20 27 7b 30 7d 27 20 6d 65 61 6e 74 20 74 6f 20 62 65 20 73 65 6e 74 20 74 68 72 6f 75 67 68 20 .'{0}'.meant.to.be.sent.through.
4c60 72 65 6d 6f 74 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 3b 20 74 68 69 73 20 73 68 6f 75 6c 64 20 6e remote.connection;.this.should.n
4c80 6f 74 20 68 61 70 70 65 6e 22 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ot.happen",.....................
4ca0 20 20 20 20 20 20 20 20 20 6c 61 79 6f 75 74 4e 61 6d 65 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 .........layoutName));..........
4cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0d 0a 20 20 ................return.null;....
4ce0 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 ..................}.............
4d00 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 74 63 68 20 28 45 .....}..................catch.(E
4d20 78 63 65 70 74 69 6f 6e 20 65 78 63 65 70 74 69 6f 6e 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 xception.exception).............
4d40 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 .....{......................Debu
4d60 67 2e 4c 6f 67 28 73 74 72 69 6e 67 2e 46 6f 72 6d 61 74 28 0d 0a 20 20 20 20 20 20 20 20 20 20 g.Log(string.Format(............
4d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 43 6f 75 6c 64 20 6e 6f 74 20 6c 6f 61 64 20 6c 61 .............."Could.not.load.la
4da0 79 6f 75 74 20 27 7b 30 7d 27 3b 20 6e 6f 74 20 73 65 6e 64 69 6e 67 20 74 6f 20 72 65 6d 6f 74 yout.'{0}';.not.sending.to.remot
4dc0 65 20 6c 69 73 74 65 6e 65 72 73 20 28 65 78 63 65 70 74 69 6f 6e 3a 20 7b 31 7d 29 22 2c 20 6c e.listeners.(exception:.{1})",.l
4de0 61 79 6f 75 74 4e 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 ayoutName,......................
4e00 20 20 20 20 65 78 63 65 70 74 69 6f 6e 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....exception));................
4e20 20 20 20 20 20 20 72 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 ......return.null;..............
4e40 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 76 61 72 20 6a 73 6f ....}....................var.jso
4e60 6e 20 3d 20 6c 61 79 6f 75 74 2e 54 6f 4a 73 6f 6e 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 n.=.layout.ToJson();............
4e80 20 20 20 20 20 20 76 61 72 20 62 79 74 65 73 20 3d 20 45 6e 63 6f 64 69 6e 67 2e 55 54 46 38 2e ......var.bytes.=.Encoding.UTF8.
4ea0 47 65 74 42 79 74 65 73 28 6a 73 6f 6e 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 GetBytes(json);.................
4ec0 20 20 20 72 65 74 75 72 6e 20 6e 65 77 20 4d 65 73 73 61 67 65 0d 0a 20 20 20 20 20 20 20 20 20 ...return.new.Message...........
4ee0 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 74 79 .......{......................ty
4f00 70 65 20 3d 20 4d 65 73 73 61 67 65 54 79 70 65 2e 4e 65 77 4c 61 79 6f 75 74 2c 0d 0a 20 20 20 pe.=.MessageType.NewLayout,.....
4f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 20 3d 20 62 79 74 65 73 0d 0a 20 .................data.=.bytes...
4f40 20 20 20 20 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 7d ...............};..............}
4f60 0d 0a 0d 0a 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 76 6f ................public.static.vo
4f80 69 64 20 50 72 6f 63 65 73 73 28 49 6e 70 75 74 52 65 6d 6f 74 69 6e 67 20 72 65 63 65 69 76 65 id.Process(InputRemoting.receive
4fa0 72 2c 20 4d 65 73 73 61 67 65 20 6d 73 67 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a r,.Message.msg)..............{..
4fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6a 73 6f 6e 20 3d 20 45 6e 63 6f 64 ................var.json.=.Encod
4fe0 69 6e 67 2e 55 54 46 38 2e 47 65 74 53 74 72 69 6e 67 28 6d 73 67 2e 64 61 74 61 29 3b 0d 0a 20 ing.UTF8.GetString(msg.data);...
5000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 73 65 6e 64 65 72 49 6e 64 65 78 20 3d ...............var.senderIndex.=
5020 20 72 65 63 65 69 76 65 72 2e 46 69 6e 64 4f 72 43 72 65 61 74 65 53 65 6e 64 65 72 52 65 63 6f .receiver.FindOrCreateSenderReco
5040 72 64 28 6d 73 67 2e 70 61 72 74 69 63 69 70 61 6e 74 49 64 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 rd(msg.participantId);..........
5060 20 20 20 20 20 20 20 20 20 20 72 65 63 65 69 76 65 72 2e 6d 5f 4c 6f 63 61 6c 4d 61 6e 61 67 65 ..........receiver.m_LocalManage
5080 72 2e 52 65 67 69 73 74 65 72 43 6f 6e 74 72 6f 6c 4c 61 79 6f 75 74 28 6a 73 6f 6e 29 3b 0d 0a r.RegisterControlLayout(json);..
50a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 72 61 79 48 65 6c 70 65 72 73 2e 41 70 70 ................ArrayHelpers.App
50c0 65 6e 64 28 72 65 66 20 72 65 63 65 69 76 65 72 2e 6d 5f 53 65 6e 64 65 72 73 5b 73 65 6e 64 65 end(ref.receiver.m_Senders[sende
50e0 72 49 6e 64 65 78 5d 2e 6c 61 79 6f 75 74 73 2c 20 6a 73 6f 6e 29 3b 0d 0a 20 20 20 20 20 20 20 rIndex].layouts,.json);.........
5100 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 72 69 .....}..........}............pri
5120 76 61 74 65 20 73 74 61 74 69 63 20 63 6c 61 73 73 20 52 65 6d 6f 76 65 4c 61 79 6f 75 74 4d 73 vate.static.class.RemoveLayoutMs
5140 67 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 6c 69 63 g..........{..............public
5160 20 73 74 61 74 69 63 20 4d 65 73 73 61 67 65 20 43 72 65 61 74 65 28 73 74 72 69 6e 67 20 6c 61 .static.Message.Create(string.la
5180 79 6f 75 74 4e 61 6d 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 youtName)..............{........
51a0 20 20 20 20 20 20 20 20 20 20 76 61 72 20 62 79 74 65 73 20 3d 20 45 6e 63 6f 64 69 6e 67 2e 55 ..........var.bytes.=.Encoding.U
51c0 54 46 38 2e 47 65 74 42 79 74 65 73 28 6c 61 79 6f 75 74 4e 61 6d 65 29 3b 0d 0a 20 20 20 20 20 TF8.GetBytes(layoutName);.......
51e0 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77 20 4d 65 73 73 61 67 65 0d 0a 20 ...........return.new.Message...
5200 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 ...............{................
5220 20 20 20 20 20 20 74 79 70 65 20 3d 20 4d 65 73 73 61 67 65 54 79 70 65 2e 52 65 6d 6f 76 65 4c ......type.=.MessageType.RemoveL
5240 61 79 6f 75 74 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 ayout,......................data
5260 20 3d 20 62 79 74 65 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0d 0a 20 20 .=.bytes..................};....
5280 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 ..........}................publi
52a0 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 50 72 6f 63 65 73 73 28 49 6e 70 75 74 52 65 6d 6f 74 c.static.void.Process(InputRemot
52c0 69 6e 67 20 72 65 63 65 69 76 65 72 2c 20 4d 65 73 73 61 67 65 20 6d 73 67 29 0d 0a 20 20 20 20 ing.receiver,.Message.msg)......
52e0 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 2f 52 ........{..................////R
5300 45 56 49 45 57 3a 20 77 65 20 70 72 6f 62 61 62 6c 79 20 64 6f 6e 27 74 20 77 61 6e 74 20 74 6f EVIEW:.we.probably.don't.want.to
5320 20 64 6f 20 74 68 69 73 20 62 6c 69 6e 64 6c 79 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .do.this.blindly................
5340 20 20 76 61 72 20 6c 61 79 6f 75 74 4e 61 6d 65 20 3d 20 45 6e 63 6f 64 69 6e 67 2e 55 54 46 38 ..var.layoutName.=.Encoding.UTF8
5360 2e 47 65 74 53 74 72 69 6e 67 28 6d 73 67 2e 64 61 74 61 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 .GetString(msg.data);...........
5380 20 20 20 20 20 20 20 72 65 63 65 69 76 65 72 2e 6d 5f 4c 6f 63 61 6c 4d 61 6e 61 67 65 72 2e 52 .......receiver.m_LocalManager.R
53a0 65 6d 6f 76 65 43 6f 6e 74 72 6f 6c 4c 61 79 6f 75 74 28 6c 61 79 6f 75 74 4e 61 6d 65 29 3b 0d emoveControlLayout(layoutName);.
53c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 .............}..........}.......
53e0 20 20 20 20 20 2f 2f 20 54 65 6c 6c 20 72 65 6d 6f 74 65 20 69 6e 70 75 74 20 73 79 73 74 65 6d .....//.Tell.remote.input.system
5400 20 74 68 61 74 20 74 68 65 72 65 27 73 20 61 20 6e 65 77 20 64 65 76 69 63 65 2e 0d 0a 20 20 20 .that.there's.a.new.device......
5420 20 20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 63 6c 61 73 73 20 4e 65 77 44 65 76 .....private.static.class.NewDev
5440 69 63 65 4d 73 67 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b iceMsg..........{..............[
5460 53 65 72 69 61 6c 69 7a 61 62 6c 65 5d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 Serializable]..............publi
5480 63 20 73 74 72 75 63 74 20 44 61 74 61 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 c.struct.Data..............{....
54a0 20 20 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 65 ..............public.string.name
54c0 3b 0d 0a 20 20 20 20 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 ;..................public.string
54e0 20 6c 61 79 6f 75 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 .layout;..................public
5500 20 69 6e 74 20 64 65 76 69 63 65 49 64 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .int.deviceId;..................
5520 70 75 62 6c 69 63 20 49 6e 70 75 74 44 65 76 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e 20 64 65 public.InputDeviceDescription.de
5540 73 63 72 69 70 74 69 6f 6e 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 scription;..............}.......
5560 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 4d 65 73 73 61 67 65 20 43 .........public.static.Message.C
5580 72 65 61 74 65 28 49 6e 70 75 74 44 65 76 69 63 65 20 64 65 76 69 63 65 29 0d 0a 20 20 20 20 20 reate(InputDevice.device).......
55a0 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e .......{..................Debug.
55c0 41 73 73 65 72 74 28 21 64 65 76 69 63 65 2e 72 65 6d 6f 74 65 2c 20 22 44 65 76 69 63 65 20 62 Assert(!device.remote,."Device.b
55e0 65 69 6e 67 20 73 65 6e 74 20 74 6f 20 72 65 6d 6f 74 65 73 20 73 68 6f 75 6c 64 20 62 65 20 61 eing.sent.to.remotes.should.be.a
5600 20 6c 6f 63 61 6c 20 64 65 76 69 63 65 2c 20 6e 6f 74 20 61 20 72 65 6d 6f 74 65 20 6f 6e 65 22 .local.device,.not.a.remote.one"
5620 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 64 61 74 61 20 3d );....................var.data.=
5640 20 6e 65 77 20 44 61 74 61 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 .new.Data..................{....
5660 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 64 65 76 69 63 65 2e ..................name.=.device.
5680 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 6c 61 79 6f 75 name,......................layou
56a0 74 20 3d 20 64 65 76 69 63 65 2e 6c 61 79 6f 75 74 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 t.=.device.layout,..............
56c0 20 20 20 20 20 20 20 20 64 65 76 69 63 65 49 64 20 3d 20 64 65 76 69 63 65 2e 64 65 76 69 63 65 ........deviceId.=.device.device
56e0 49 64 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 73 63 72 69 70 Id,......................descrip
5700 74 69 6f 6e 20 3d 20 64 65 76 69 63 65 2e 64 65 73 63 72 69 70 74 69 6f 6e 0d 0a 20 20 20 20 20 tion.=.device.description.......
5720 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........};...................
5740 20 76 61 72 20 6a 73 6f 6e 20 3d 20 4a 73 6f 6e 55 74 69 6c 69 74 79 2e 54 6f 4a 73 6f 6e 28 64 .var.json.=.JsonUtility.ToJson(d
5760 61 74 61 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 79 74 65 73 ata);..................var.bytes
5780 20 3d 20 45 6e 63 6f 64 69 6e 67 2e 55 54 46 38 2e 47 65 74 42 79 74 65 73 28 6a 73 6f 6e 29 3b .=.Encoding.UTF8.GetBytes(json);
57a0 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 4d ....................return.new.M
57c0 65 73 73 61 67 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 20 essage..................{.......
57e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 79 70 65 20 3d 20 4d 65 73 73 61 67 65 54 79 70 ...............type.=.MessageTyp
5800 65 2e 4e 65 77 44 65 76 69 63 65 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.NewDevice,....................
5820 20 20 64 61 74 61 20 3d 20 62 79 74 65 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..data.=.bytes..................
5840 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 20 20 20 20 20 20 };..............}...............
5860 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 50 72 6f 63 65 73 73 28 49 6e 70 75 .public.static.void.Process(Inpu
5880 74 52 65 6d 6f 74 69 6e 67 20 72 65 63 65 69 76 65 72 2c 20 4d 65 73 73 61 67 65 20 6d 73 67 29 tRemoting.receiver,.Message.msg)
58a0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............{.................
58c0 20 76 61 72 20 73 65 6e 64 65 72 49 6e 64 65 78 20 3d 20 72 65 63 65 69 76 65 72 2e 46 69 6e 64 .var.senderIndex.=.receiver.Find
58e0 4f 72 43 72 65 61 74 65 53 65 6e 64 65 72 52 65 63 6f 72 64 28 6d 73 67 2e 70 61 72 74 69 63 69 OrCreateSenderRecord(msg.partici
5900 70 61 6e 74 49 64 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 64 61 pantId);..................var.da
5920 74 61 20 3d 20 44 65 73 65 72 69 61 6c 69 7a 65 44 61 74 61 3c 44 61 74 61 3e 28 6d 73 67 2e 64 ta.=.DeserializeData<Data>(msg.d
5940 61 74 61 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 4d 61 6b 65 ata);....................//.Make
5960 20 73 75 72 65 20 77 65 20 68 61 76 65 6e 27 74 20 61 6c 72 65 61 64 79 20 73 65 65 6e 20 74 68 .sure.we.haven't.already.seen.th
5980 65 20 64 65 76 69 63 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 64 e.device...................var.d
59a0 65 76 69 63 65 73 20 3d 20 72 65 63 65 69 76 65 72 2e 6d 5f 53 65 6e 64 65 72 73 5b 73 65 6e 64 evices.=.receiver.m_Senders[send
59c0 65 72 49 6e 64 65 78 5d 2e 64 65 76 69 63 65 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 erIndex].devices;...............
59e0 20 20 20 69 66 20 28 64 65 76 69 63 65 73 20 21 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 ...if.(devices.!=.null).........
5a00 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 .........{......................
5a20 66 6f 72 65 61 63 68 20 28 76 61 72 20 65 6e 74 72 79 20 69 6e 20 64 65 76 69 63 65 73 29 0d 0a foreach.(var.entry.in.devices)..
5a40 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 65 6e 74 72 ........................if.(entr
5a60 79 2e 72 65 6d 6f 74 65 49 64 20 3d 3d 20 64 61 74 61 2e 64 65 76 69 63 65 49 64 29 0d 0a 20 20 y.remoteId.==.data.deviceId)....
5a80 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 20 ......................{.........
5aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 4c 6f 67 45 72 .....................Debug.LogEr
5ac0 72 6f 72 28 73 74 72 69 6e 67 2e 46 6f 72 6d 61 74 28 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ror(string.Format(..............
5ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 41 6c 72 65 61 64 79 20 72 65 63 ...................."Already.rec
5b00 65 69 76 65 64 20 64 65 76 69 63 65 20 77 69 74 68 20 69 64 20 7b 30 7d 20 28 6c 61 79 6f 75 74 eived.device.with.id.{0}.(layout
5b20 20 27 7b 31 7d 27 2c 20 64 65 73 63 72 69 70 74 69 6f 6e 20 27 7b 33 7d 29 20 66 72 6f 6d 20 72 .'{1}',.description.'{3}).from.r
5b40 65 6d 6f 74 65 20 7b 32 7d 22 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 emote.{2}",.....................
5b60 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 2e 64 65 76 69 63 65 49 64 2c 0d 0a 20 20 20 .............data.deviceId,.....
5b80 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 64 61 74 .............................dat
5ba0 61 2e 6c 61 79 6f 75 74 2c 20 6d 73 67 2e 70 61 72 74 69 63 69 70 61 6e 74 49 64 2c 20 64 61 74 a.layout,.msg.participantId,.dat
5bc0 61 2e 64 65 73 63 72 69 70 74 69 6f 6e 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 a.description));................
5be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0d 0a 20 20 20 20 20 20 20 20 20 ..............return;...........
5c00 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 20 ...............}................
5c20 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 43 72 65 61 74 65 ..}....................//.Create
5c40 20 64 65 76 69 63 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 44 .device...................InputD
5c60 65 76 69 63 65 20 64 65 76 69 63 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 evice.device;..................t
5c80 72 79 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 ry..................{...........
5ca0 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 2f 52 45 56 49 45 57 3a 20 74 68 69 73 20 67 69 76 65 ...........////REVIEW:.this.give
5cc0 73 20 72 65 6d 6f 74 65 20 64 65 76 69 63 65 73 20 6e 61 6d 65 73 20 74 68 65 20 73 61 6d 65 20 s.remote.devices.names.the.same.
5ce0 77 61 79 20 74 68 61 74 20 6c 6f 63 61 6c 20 64 65 76 69 63 65 73 20 72 65 63 65 69 76 65 20 74 way.that.local.devices.receive.t
5d00 68 65 6d 3b 20 73 68 6f 75 6c 64 20 77 65 20 6d 61 6b 65 20 72 65 6d 6f 74 65 20 73 74 61 74 75 hem;.should.we.make.remote.statu
5d20 73 20 76 69 73 69 62 6c 65 20 69 6e 20 74 68 65 20 6e 61 6d 65 3f 0d 0a 20 20 20 20 20 20 20 20 s.visible.in.the.name?..........
5d40 20 20 20 20 20 20 20 20 20 20 20 20 64 65 76 69 63 65 20 3d 20 72 65 63 65 69 76 65 72 2e 6d 5f ............device.=.receiver.m_
5d60 4c 6f 63 61 6c 4d 61 6e 61 67 65 72 2e 41 64 64 44 65 76 69 63 65 28 64 61 74 61 2e 6c 61 79 6f LocalManager.AddDevice(data.layo
5d80 75 74 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 76 69 63 65 ut);......................device
5da0 2e 6d 5f 50 61 72 74 69 63 69 70 61 6e 74 49 64 20 3d 20 6d 73 67 2e 70 61 72 74 69 63 69 70 61 .m_ParticipantId.=.msg.participa
5dc0 6e 74 49 64 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 ntId;..................}........
5de0 20 20 20 20 20 20 20 20 20 20 63 61 74 63 68 20 28 45 78 63 65 70 74 69 6f 6e 20 65 78 63 65 70 ..........catch.(Exception.excep
5e00 74 69 6f 6e 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 tion)..................{........
5e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 4c 6f 67 45 72 72 6f 72 28 0d 0a 20 ..............Debug.LogError(...
5e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 22 43 6f 75 6c 64 20 6e .......................$"Could.n
5e60 6f 74 20 63 72 65 61 74 65 20 72 65 6d 6f 74 65 20 64 65 76 69 63 65 20 27 7b 64 61 74 61 2e 64 ot.create.remote.device.'{data.d
5e80 65 73 63 72 69 70 74 69 6f 6e 7d 27 20 77 69 74 68 20 6c 61 79 6f 75 74 20 27 7b 64 61 74 61 2e escription}'.with.layout.'{data.
5ea0 6c 61 79 6f 75 74 7d 27 20 6c 6f 63 61 6c 6c 79 20 28 65 78 63 65 70 74 69 6f 6e 3a 20 7b 65 78 layout}'.locally.(exception:.{ex
5ec0 63 65 70 74 69 6f 6e 7d 29 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ception})");....................
5ee0 20 20 72 65 74 75 72 6e 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 ..return;..................}....
5f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 76 69 63 65 2e 6d 5f 44 65 73 63 72 69 70 74 69 ..............device.m_Descripti
5f20 6f 6e 20 3d 20 64 61 74 61 2e 64 65 73 63 72 69 70 74 69 6f 6e 3b 0d 0a 20 20 20 20 20 20 20 20 on.=.data.description;..........
5f40 20 20 20 20 20 20 20 20 64 65 76 69 63 65 2e 6d 5f 44 65 76 69 63 65 46 6c 61 67 73 20 7c 3d 20 ........device.m_DeviceFlags.|=.
5f60 49 6e 70 75 74 44 65 76 69 63 65 2e 44 65 76 69 63 65 46 6c 61 67 73 2e 52 65 6d 6f 74 65 3b 0d InputDevice.DeviceFlags.Remote;.
5f80 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 52 65 6d 65 6d 62 65 72 20 69 ...................//.Remember.i
5fa0 74 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 72 65 63 6f 72 64 20 3d t...................var.record.=
5fc0 20 6e 65 77 20 52 65 6d 6f 74 65 49 6e 70 75 74 44 65 76 69 63 65 0d 0a 20 20 20 20 20 20 20 20 .new.RemoteInputDevice..........
5fe0 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 72 ........{......................r
6000 65 6d 6f 74 65 49 64 20 3d 20 64 61 74 61 2e 64 65 76 69 63 65 49 64 2c 0d 0a 20 20 20 20 20 20 emoteId.=.data.deviceId,........
6020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f 63 61 6c 49 64 20 3d 20 64 65 76 69 63 65 2e 64 ..............localId.=.device.d
6040 65 76 69 63 65 49 64 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 eviceId,......................de
6060 73 63 72 69 70 74 69 6f 6e 20 3d 20 64 61 74 61 2e 64 65 73 63 72 69 70 74 69 6f 6e 2c 0d 0a 20 scription.=.data.description,...
6080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 61 79 6f 75 74 4e 61 6d 65 20 3d 20 ...................layoutName.=.
60a0 64 61 74 61 2e 6c 61 79 6f 75 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0d data.layout..................};.
60c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 72 61 79 48 65 6c 70 65 72 73 2e 41 70 .................ArrayHelpers.Ap
60e0 70 65 6e 64 28 72 65 66 20 72 65 63 65 69 76 65 72 2e 6d 5f 53 65 6e 64 65 72 73 5b 73 65 6e 64 pend(ref.receiver.m_Senders[send
6100 65 72 49 6e 64 65 78 5d 2e 64 65 76 69 63 65 73 2c 20 72 65 63 6f 72 64 29 3b 0d 0a 20 20 20 20 erIndex].devices,.record);......
6120 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 ........}..........}............
6140 2f 2f 20 54 65 6c 6c 20 72 65 6d 6f 74 65 20 73 79 73 74 65 6d 20 74 68 65 72 65 27 73 20 6e 65 //.Tell.remote.system.there's.ne
6160 77 20 69 6e 70 75 74 20 65 76 65 6e 74 73 2e 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 w.input.events...........private
6180 20 73 74 61 74 69 63 20 63 6c 61 73 73 20 4e 65 77 45 76 65 6e 74 73 4d 73 67 0d 0a 20 20 20 20 .static.class.NewEventsMsg......
61a0 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 61 74 69 63 ....{..............public.static
61c0 20 75 6e 73 61 66 65 20 4d 65 73 73 61 67 65 20 43 72 65 61 74 65 28 49 6e 70 75 74 45 76 65 6e .unsafe.Message.Create(InputEven
61e0 74 2a 20 65 76 65 6e 74 73 2c 20 69 6e 74 20 65 76 65 6e 74 43 6f 75 6e 74 29 0d 0a 20 20 20 20 t*.events,.int.eventCount)......
6200 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 46 69 ........{..................//.Fi
6220 6e 64 20 74 6f 74 61 6c 20 73 69 7a 65 20 6f 66 20 65 76 65 6e 74 20 62 75 66 66 65 72 20 77 65 nd.total.size.of.event.buffer.we
6240 20 6e 65 65 64 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 74 6f 74 61 .need...................var.tota
6260 6c 53 69 7a 65 20 3d 20 30 75 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 lSize.=.0u;..................var
6280 20 65 76 65 6e 74 50 74 72 20 3d 20 6e 65 77 20 49 6e 70 75 74 45 76 65 6e 74 50 74 72 28 65 76 .eventPtr.=.new.InputEventPtr(ev
62a0 65 6e 74 73 29 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 ents);..................for.(var
62c0 20 69 20 3d 20 30 3b 20 69 20 3c 20 65 76 65 6e 74 43 6f 75 6e 74 3b 20 2b 2b 69 2c 20 65 76 65 .i.=.0;.i.<.eventCount;.++i,.eve
62e0 6e 74 50 74 72 20 3d 20 65 76 65 6e 74 50 74 72 2e 4e 65 78 74 28 29 29 0d 0a 20 20 20 20 20 20 ntPtr.=.eventPtr.Next())........
6300 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 ..........{.....................
6320 20 74 6f 74 61 6c 53 69 7a 65 20 2b 3d 20 65 76 65 6e 74 50 74 72 2e 73 69 7a 65 49 6e 42 79 74 .totalSize.+=.eventPtr.sizeInByt
6340 65 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 es;..................}..........
6360 20 20 20 20 20 20 20 20 20 20 2f 2f 20 43 6f 70 79 20 65 76 65 6e 74 20 64 61 74 61 20 74 6f 20 ..........//.Copy.event.data.to.
6380 62 75 66 66 65 72 2e 20 57 6f 75 6c 64 20 62 65 20 6e 69 63 65 20 69 66 20 77 65 20 64 69 64 6e buffer..Would.be.nice.if.we.didn
63a0 27 74 20 68 61 76 65 20 74 6f 20 64 6f 20 74 68 61 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 't.have.to.do.that..............
63c0 20 20 20 20 2f 2f 20 62 75 74 20 75 6e 66 6f 72 74 75 6e 61 74 65 6c 79 20 77 65 20 6e 65 65 64 ....//.but.unfortunately.we.need
63e0 20 61 20 62 79 74 65 5b 5d 20 61 6e 64 20 63 61 6e 27 74 20 6a 75 73 74 20 70 61 73 73 20 74 68 .a.byte[].and.can't.just.pass.th
6400 65 20 27 65 76 65 6e 74 73 27 20 49 6e 74 50 74 72 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 e.'events'.IntPtr...............
6420 20 20 20 2f 2f 20 64 69 72 65 63 74 6c 79 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...//.directly..................
6440 20 76 61 72 20 64 61 74 61 20 3d 20 6e 65 77 20 62 79 74 65 5b 74 6f 74 61 6c 53 69 7a 65 5d 3b .var.data.=.new.byte[totalSize];
6460 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 78 65 64 28 62 79 74 65 2a 20 64 61 ..................fixed(byte*.da
6480 74 61 50 74 72 20 3d 20 64 61 74 61 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b taPtr.=.data)..................{
64a0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 6e 73 61 66 65 55 74 69 6c ......................UnsafeUtil
64c0 69 74 79 2e 4d 65 6d 43 70 79 28 64 61 74 61 50 74 72 2c 20 65 76 65 6e 74 73 2c 20 74 6f 74 61 ity.MemCpy(dataPtr,.events,.tota
64e0 6c 53 69 7a 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 lSize);..................}......
6500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 44 6f 6e 65 2e 0d 0a 20 20 20 20 20 20 20 20 ..............//.Done...........
6520 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77 20 4d 65 73 73 61 67 65 0d 0a 20 20 20 20 ........return.new.Message......
6540 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 ............{...................
6560 20 20 20 74 79 70 65 20 3d 20 4d 65 73 73 61 67 65 54 79 70 65 2e 4e 65 77 45 76 65 6e 74 73 2c ...type.=.MessageType.NewEvents,
6580 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 20 3d 20 64 61 74 ......................data.=.dat
65a0 61 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0d 0a 20 20 20 20 20 20 20 20 20 a..................};...........
65c0 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 ...}................public.stati
65e0 63 20 75 6e 73 61 66 65 20 76 6f 69 64 20 50 72 6f 63 65 73 73 28 49 6e 70 75 74 52 65 6d 6f 74 c.unsafe.void.Process(InputRemot
6600 69 6e 67 20 72 65 63 65 69 76 65 72 2c 20 4d 65 73 73 61 67 65 20 6d 73 67 29 0d 0a 20 20 20 20 ing.receiver,.Message.msg)......
6620 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d ........{..................var.m
6640 61 6e 61 67 65 72 20 3d 20 72 65 63 65 69 76 65 72 2e 6d 5f 4c 6f 63 61 6c 4d 61 6e 61 67 65 72 anager.=.receiver.m_LocalManager
6660 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 78 65 64 28 62 79 74 65 2a ;....................fixed(byte*
6680 20 64 61 74 61 50 74 72 20 3d 20 6d 73 67 2e 64 61 74 61 29 0d 0a 20 20 20 20 20 20 20 20 20 20 .dataPtr.=.msg.data)............
66a0 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
66c0 20 64 61 74 61 45 6e 64 50 74 72 20 3d 20 6e 65 77 20 49 6e 74 50 74 72 28 64 61 74 61 50 74 72 .dataEndPtr.=.new.IntPtr(dataPtr
66e0 20 2b 20 6d 73 67 2e 64 61 74 61 2e 4c 65 6e 67 74 68 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 .+.msg.data.Length);............
6700 20 20 20 20 20 20 20 20 20 20 76 61 72 20 65 76 65 6e 74 43 6f 75 6e 74 20 3d 20 30 3b 0d 0a 20 ..........var.eventCount.=.0;...
6720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 65 76 65 6e 74 50 74 72 20 ...................var.eventPtr.
6740 3d 20 6e 65 77 20 49 6e 70 75 74 45 76 65 6e 74 50 74 72 28 28 49 6e 70 75 74 45 76 65 6e 74 2a =.new.InputEventPtr((InputEvent*
6760 29 64 61 74 61 50 74 72 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )dataPtr);......................
6780 76 61 72 20 73 65 6e 64 65 72 49 6e 64 65 78 20 3d 20 72 65 63 65 69 76 65 72 2e 46 69 6e 64 4f var.senderIndex.=.receiver.FindO
67a0 72 43 72 65 61 74 65 53 65 6e 64 65 72 52 65 63 6f 72 64 28 6d 73 67 2e 70 61 72 74 69 63 69 70 rCreateSenderRecord(msg.particip
67c0 61 6e 74 49 64 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 antId);........................w
67e0 68 69 6c 65 20 28 28 49 6e 74 36 34 29 65 76 65 6e 74 50 74 72 2e 64 61 74 61 20 3c 20 64 61 74 hile.((Int64)eventPtr.data.<.dat
6800 61 45 6e 64 50 74 72 2e 54 6f 49 6e 74 36 34 28 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 aEndPtr.ToInt64())..............
6820 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 ........{.......................
6840 20 20 20 2f 2f 20 50 61 74 63 68 20 75 70 20 64 65 76 69 63 65 20 49 44 20 74 6f 20 72 65 66 65 ...//.Patch.up.device.ID.to.refe
6860 72 20 74 6f 20 6c 6f 63 61 6c 20 64 65 76 69 63 65 20 61 6e 64 20 73 65 6e 64 20 65 76 65 6e 74 r.to.local.device.and.send.event
6880 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 76 61 72 20 72 ...........................var.r
68a0 65 6d 6f 74 65 44 65 76 69 63 65 49 64 20 3d 20 65 76 65 6e 74 50 74 72 2e 64 65 76 69 63 65 49 emoteDeviceId.=.eventPtr.deviceI
68c0 64 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 d;..........................var.
68e0 6c 6f 63 61 6c 44 65 76 69 63 65 49 64 20 3d 20 72 65 63 65 69 76 65 72 2e 46 69 6e 64 4c 6f 63 localDeviceId.=.receiver.FindLoc
6900 61 6c 44 65 76 69 63 65 49 64 28 72 65 6d 6f 74 65 44 65 76 69 63 65 49 64 2c 20 73 65 6e 64 65 alDeviceId(remoteDeviceId,.sende
6920 72 49 6e 64 65 78 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rIndex);........................
6940 20 20 65 76 65 6e 74 50 74 72 2e 64 65 76 69 63 65 49 64 20 3d 20 6c 6f 63 61 6c 44 65 76 69 63 ..eventPtr.deviceId.=.localDevic
6960 65 49 64 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 eId;............................
6980 69 66 20 28 6c 6f 63 61 6c 44 65 76 69 63 65 49 64 20 21 3d 20 49 6e 70 75 74 44 65 76 69 63 65 if.(localDeviceId.!=.InputDevice
69a0 2e 49 6e 76 61 6c 69 64 44 65 76 69 63 65 49 64 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .InvalidDeviceId)...............
69c0 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 ...........{....................
69e0 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 2f 54 4f 44 4f 3a 20 61 64 64 20 41 50 49 20 74 6f 20 73 ..........////TODO:.add.API.to.s
6a00 65 6e 64 20 65 76 65 6e 74 73 20 69 6e 20 62 75 6c 6b 20 72 61 74 68 65 72 20 74 68 61 6e 20 6f end.events.in.bulk.rather.than.o
6a20 6e 65 20 62 79 20 6f 6e 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ne.by.one.......................
6a40 20 20 20 20 20 20 20 6d 61 6e 61 67 65 72 2e 51 75 65 75 65 45 76 65 6e 74 28 65 76 65 6e 74 50 .......manager.QueueEvent(eventP
6a60 74 72 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d tr);..........................}.
6a80 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 2b 2b 65 76 65 ...........................++eve
6aa0 6e 74 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ntCount;........................
6ac0 20 20 65 76 65 6e 74 50 74 72 20 3d 20 65 76 65 6e 74 50 74 72 2e 4e 65 78 74 28 29 3b 0d 0a 20 ..eventPtr.=.eventPtr.Next();...
6ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 ...................}............
6b00 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 ......}..............}..........
6b20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 63 6c 61 73 }............private.static.clas
6b40 73 20 43 68 61 6e 67 65 55 73 61 67 65 4d 73 67 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 s.ChangeUsageMsg..........{.....
6b60 20 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 20 20 .........[Serializable].........
6b80 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 72 75 63 74 20 44 61 74 61 0d 0a 20 20 20 20 20 20 20 .....public.struct.Data.........
6ba0 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 .....{..................public.i
6bc0 6e 74 20 64 65 76 69 63 65 49 64 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 75 nt.deviceId;..................pu
6be0 62 6c 69 63 20 73 74 72 69 6e 67 5b 5d 20 75 73 61 67 65 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 blic.string[].usages;...........
6c00 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 ...}................public.stati
6c20 63 20 4d 65 73 73 61 67 65 20 43 72 65 61 74 65 28 49 6e 70 75 74 44 65 76 69 63 65 20 64 65 76 c.Message.Create(InputDevice.dev
6c40 69 63 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ice)..............{.............
6c60 20 20 20 20 20 76 61 72 20 64 61 74 61 20 3d 20 6e 65 77 20 44 61 74 61 0d 0a 20 20 20 20 20 20 .....var.data.=.new.Data........
6c80 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 ..........{.....................
6ca0 20 64 65 76 69 63 65 49 64 20 3d 20 64 65 76 69 63 65 2e 64 65 76 69 63 65 49 64 2c 0d 0a 20 20 .deviceId.=.device.deviceId,....
6cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 73 61 67 65 73 20 3d 20 64 65 76 69 63 ..................usages.=.devic
6ce0 65 2e 75 73 61 67 65 73 2e 53 65 6c 65 63 74 28 78 20 3d 3e 20 78 2e 54 6f 53 74 72 69 6e 67 28 e.usages.Select(x.=>.x.ToString(
6d00 29 29 2e 54 6f 41 72 72 61 79 28 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b )).ToArray()..................};
6d20 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 4d ....................return.new.M
6d40 65 73 73 61 67 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 20 essage..................{.......
6d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 79 70 65 20 3d 20 4d 65 73 73 61 67 65 54 79 70 ...............type.=.MessageTyp
6d80 65 2e 43 68 61 6e 67 65 55 73 61 67 65 73 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.ChangeUsages,.................
6da0 20 20 20 20 20 64 61 74 61 20 3d 20 53 65 72 69 61 6c 69 7a 65 44 61 74 61 28 64 61 74 61 29 0d .....data.=.SerializeData(data).
6dc0 0a 20 20 20 20 20 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 .................};.............
6de0 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 .}................public.static.
6e00 76 6f 69 64 20 50 72 6f 63 65 73 73 28 49 6e 70 75 74 52 65 6d 6f 74 69 6e 67 20 72 65 63 65 69 void.Process(InputRemoting.recei
6e20 76 65 72 2c 20 4d 65 73 73 61 67 65 20 6d 73 67 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b ver,.Message.msg)..............{
6e40 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 73 65 6e 64 65 72 49 6e 64 65 ..................var.senderInde
6e60 78 20 3d 20 72 65 63 65 69 76 65 72 2e 46 69 6e 64 4f 72 43 72 65 61 74 65 53 65 6e 64 65 72 52 x.=.receiver.FindOrCreateSenderR
6e80 65 63 6f 72 64 28 6d 73 67 2e 70 61 72 74 69 63 69 70 61 6e 74 49 64 29 3b 0d 0a 20 20 20 20 20 ecord(msg.participantId);.......
6ea0 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 64 61 74 61 20 3d 20 44 65 73 65 72 69 61 6c 69 7a ...........var.data.=.Deserializ
6ec0 65 44 61 74 61 3c 44 61 74 61 3e 28 6d 73 67 2e 64 61 74 61 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 eData<Data>(msg.data);..........
6ee0 20 20 20 20 20 20 20 20 20 20 76 61 72 20 64 65 76 69 63 65 20 3d 20 72 65 63 65 69 76 65 72 2e ..........var.device.=.receiver.
6f00 54 72 79 47 65 74 44 65 76 69 63 65 42 79 52 65 6d 6f 74 65 49 64 28 64 61 74 61 2e 64 65 76 69 TryGetDeviceByRemoteId(data.devi
6f20 63 65 49 64 2c 20 73 65 6e 64 65 72 49 6e 64 65 78 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ceId,.senderIndex);.............
6f40 20 20 20 20 20 69 66 20 28 64 65 76 69 63 65 20 21 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 .....if.(device.!=.null)........
6f60 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 ..........{.....................
6f80 20 2f 2f 2f 2f 54 4f 44 4f 3a 20 63 6c 65 61 72 69 6e 67 20 75 73 61 67 65 73 20 61 6e 64 20 73 .////TODO:.clearing.usages.and.s
6fa0 65 74 74 69 6e 67 20 6d 75 6c 74 69 70 6c 65 20 75 73 61 67 65 73 0d 0a 0d 0a 20 20 20 20 20 20 etting.multiple.usages..........
6fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 64 61 74 61 2e 75 73 61 67 65 73 2e 4c 65 ..............if.(data.usages.Le
6fe0 6e 67 74 68 20 3d 3d 20 31 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ngth.==.1)......................
7000 20 20 20 20 72 65 63 65 69 76 65 72 2e 6d 5f 4c 6f 63 61 6c 4d 61 6e 61 67 65 72 2e 53 65 74 44 ....receiver.m_LocalManager.SetD
7020 65 76 69 63 65 55 73 61 67 65 28 64 65 76 69 63 65 2c 20 6e 65 77 20 49 6e 74 65 72 6e 65 64 53 eviceUsage(device,.new.InternedS
7040 74 72 69 6e 67 28 64 61 74 61 2e 75 73 61 67 65 73 5b 30 5d 29 29 3b 0d 0a 20 20 20 20 20 20 20 tring(data.usages[0]));.........
7060 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 .........}..............}.......
7080 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 63 ...}............private.static.c
70a0 6c 61 73 73 20 52 65 6d 6f 76 65 44 65 76 69 63 65 4d 73 67 0d 0a 20 20 20 20 20 20 20 20 7b 0d lass.RemoveDeviceMsg..........{.
70c0 0a 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 4d 65 73 73 61 .............public.static.Messa
70e0 67 65 20 43 72 65 61 74 65 28 49 6e 70 75 74 44 65 76 69 63 65 20 64 65 76 69 63 65 29 0d 0a 20 ge.Create(InputDevice.device)...
7100 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 72 65 ...........{..................re
7120 74 75 72 6e 20 6e 65 77 20 4d 65 73 73 61 67 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 turn.new.Message................
7140 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 74 79 70 65 20 3d 20 ..{......................type.=.
7160 4d 65 73 73 61 67 65 54 79 70 65 2e 52 65 6d 6f 76 65 44 65 76 69 63 65 2c 0d 0a 20 20 20 20 20 MessageType.RemoveDevice,.......
7180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 20 3d 20 42 69 74 43 6f 6e 76 65 72 74 ...............data.=.BitConvert
71a0 65 72 2e 47 65 74 42 79 74 65 73 28 64 65 76 69 63 65 2e 64 65 76 69 63 65 49 64 29 0d 0a 20 20 er.GetBytes(device.deviceId)....
71c0 20 20 20 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 7d 0d ..............};..............}.
71e0 0a 0d 0a 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 76 6f 69 ...............public.static.voi
7200 64 20 50 72 6f 63 65 73 73 28 49 6e 70 75 74 52 65 6d 6f 74 69 6e 67 20 72 65 63 65 69 76 65 72 d.Process(InputRemoting.receiver
7220 2c 20 4d 65 73 73 61 67 65 20 6d 73 67 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 ,.Message.msg)..............{...
7240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 73 65 6e 64 65 72 49 6e 64 65 78 20 3d ...............var.senderIndex.=
7260 20 72 65 63 65 69 76 65 72 2e 46 69 6e 64 4f 72 43 72 65 61 74 65 53 65 6e 64 65 72 52 65 63 6f .receiver.FindOrCreateSenderReco
7280 72 64 28 6d 73 67 2e 70 61 72 74 69 63 69 70 61 6e 74 49 64 29 3b 0d 0a 20 20 20 20 20 20 20 20 rd(msg.participantId);..........
72a0 20 20 20 20 20 20 20 20 76 61 72 20 72 65 6d 6f 74 65 44 65 76 69 63 65 49 64 20 3d 20 42 69 74 ........var.remoteDeviceId.=.Bit
72c0 43 6f 6e 76 65 72 74 65 72 2e 54 6f 49 6e 74 33 32 28 6d 73 67 2e 64 61 74 61 2c 20 30 29 3b 0d Converter.ToInt32(msg.data,.0);.
72e0 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 64 65 76 69 63 65 20 3d 20 ...................var.device.=.
7300 72 65 63 65 69 76 65 72 2e 54 72 79 47 65 74 44 65 76 69 63 65 42 79 52 65 6d 6f 74 65 49 64 28 receiver.TryGetDeviceByRemoteId(
7320 72 65 6d 6f 74 65 44 65 76 69 63 65 49 64 2c 20 73 65 6e 64 65 72 49 6e 64 65 78 29 3b 0d 0a 20 remoteDeviceId,.senderIndex);...
7340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 64 65 76 69 63 65 20 21 3d 20 6e 75 6c ...............if.(device.!=.nul
7360 6c 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 63 65 69 76 65 72 l)......................receiver
7380 2e 6d 5f 4c 6f 63 61 6c 4d 61 6e 61 67 65 72 2e 52 65 6d 6f 76 65 44 65 76 69 63 65 28 64 65 76 .m_LocalManager.RemoveDevice(dev
73a0 69 63 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 7d 0d ice);..............}..........}.
73c0 0a 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 62 79 74 65 5b 5d ...........private.static.byte[]
73e0 20 53 65 72 69 61 6c 69 7a 65 44 61 74 61 3c 54 44 61 74 61 3e 28 54 44 61 74 61 20 64 61 74 61 .SerializeData<TData>(TData.data
7400 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6a 73 )..........{..............var.js
7420 6f 6e 20 3d 20 4a 73 6f 6e 55 74 69 6c 69 74 79 2e 54 6f 4a 73 6f 6e 28 64 61 74 61 29 3b 0d 0a on.=.JsonUtility.ToJson(data);..
7440 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 45 6e 63 6f 64 69 6e 67 2e 55 54 46 38 ............return.Encoding.UTF8
7460 2e 47 65 74 42 79 74 65 73 28 6a 73 6f 6e 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 .GetBytes(json);..........}.....
7480 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 54 44 61 74 61 20 44 65 73 65 .......private.static.TData.Dese
74a0 72 69 61 6c 69 7a 65 44 61 74 61 3c 54 44 61 74 61 3e 28 62 79 74 65 5b 5d 20 64 61 74 61 29 0d rializeData<TData>(byte[].data).
74c0 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6a 73 6f 6e .........{..............var.json
74e0 20 3d 20 45 6e 63 6f 64 69 6e 67 2e 55 54 46 38 2e 47 65 74 53 74 72 69 6e 67 28 64 61 74 61 29 .=.Encoding.UTF8.GetString(data)
7500 3b 0d 0a 20 20 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 ;..............return.JsonUtilit
7520 79 2e 46 72 6f 6d 4a 73 6f 6e 3c 54 44 61 74 61 3e 28 6a 73 6f 6e 29 3b 0d 0a 20 20 20 20 20 20 y.FromJson<TData>(json);........
7540 20 20 7d 0d 0a 0d 0a 23 69 66 20 55 4e 49 54 59 5f 45 44 49 54 4f 52 20 7c 7c 20 44 45 56 45 4c ..}....#if.UNITY_EDITOR.||.DEVEL
7560 4f 50 4d 45 4e 54 5f 42 55 49 4c 44 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 53 74 61 74 65 20 77 OPMENT_BUILD..........//.State.w
7580 65 20 77 61 6e 74 20 74 6f 20 74 61 6b 65 20 61 63 72 6f 73 73 20 64 6f 6d 61 69 6e 20 72 65 6c e.want.to.take.across.domain.rel
75a0 6f 61 64 73 2e 20 57 65 20 63 61 6e 20 6f 6e 6c 79 20 74 61 6b 65 20 73 6f 6d 65 20 6f 66 20 74 oads..We.can.only.take.some.of.t
75c0 68 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 73 74 61 74 65 20 61 63 72 6f 73 73 2e 20 53 75 62 he..........//.state.across..Sub
75e0 73 63 72 69 70 74 69 6f 6e 73 20 77 69 6c 6c 20 62 65 20 6c 6f 73 74 20 61 6e 64 20 68 61 76 65 scriptions.will.be.lost.and.have
7600 20 74 6f 20 62 65 20 6d 61 6e 75 61 6c 6c 79 20 72 65 73 74 6f 72 65 64 2e 0d 0a 20 20 20 20 20 .to.be.manually.restored........
7620 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
7640 6e 61 6c 20 73 74 72 75 63 74 20 53 65 72 69 61 6c 69 7a 65 64 53 74 61 74 65 0d 0a 20 20 20 20 nal.struct.SerializedState......
7660 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 69 6e 74 20 73 65 ....{..............public.int.se
7680 6e 64 65 72 49 64 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 52 65 6d 6f nderId;..............public.Remo
76a0 74 65 53 65 6e 64 65 72 5b 5d 20 73 65 6e 64 65 72 73 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 teSender[].senders;.............
76c0 20 20 20 2f 2f 20 57 65 20 63 61 6e 27 74 20 74 61 6b 65 20 74 68 65 73 65 20 61 63 72 6f 73 73 ...//.We.can't.take.these.across
76e0 20 64 6f 6d 61 69 6e 20 72 65 6c 6f 61 64 73 20 62 75 74 20 77 65 20 77 61 6e 74 20 74 6f 20 74 .domain.reloads.but.we.want.to.t
7700 61 6b 65 20 74 68 65 6d 20 61 63 72 6f 73 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 ake.them.across..............//.
7720 49 6e 70 75 74 53 79 73 74 65 6d 2e 53 61 76 65 2f 52 65 73 74 6f 72 65 2e 0d 0a 20 20 20 20 20 InputSystem.Save/Restore........
7740 20 20 20 20 20 20 20 5b 4e 6f 6e 53 65 72 69 61 6c 69 7a 65 64 5d 20 70 75 62 6c 69 63 20 53 75 .......[NonSerialized].public.Su
7760 62 73 63 72 69 62 65 72 5b 5d 20 73 75 62 73 63 72 69 62 65 72 73 3b 0d 0a 20 20 20 20 20 20 20 bscriber[].subscribers;.........
7780 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 53 65 72 69 61 6c 69 7a 65 .}............internal.Serialize
77a0 64 53 74 61 74 65 20 53 61 76 65 53 74 61 74 65 28 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 dState.SaveState()..........{...
77c0 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77 20 53 65 72 69 61 6c 69 7a 65 64 ...........return.new.Serialized
77e0 53 74 61 74 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 State..............{............
7800 20 20 20 20 20 20 73 65 6e 64 65 72 73 20 3d 20 6d 5f 53 65 6e 64 65 72 73 2c 0d 0a 20 20 20 20 ......senders.=.m_Senders,......
7820 20 20 20 20 20 20 20 20 20 20 20 20 73 75 62 73 63 72 69 62 65 72 73 20 3d 20 6d 5f 53 75 62 73 ............subscribers.=.m_Subs
7840 63 72 69 62 65 72 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0d 0a 20 20 20 20 20 20 20 cribers..............};.........
7860 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 69 64 20 52 65 73 74 .}............internal.void.Rest
7880 6f 72 65 53 74 61 74 65 28 53 65 72 69 61 6c 69 7a 65 64 53 74 61 74 65 20 73 74 61 74 65 2c 20 oreState(SerializedState.state,.
78a0 49 6e 70 75 74 4d 61 6e 61 67 65 72 20 6d 61 6e 61 67 65 72 29 0d 0a 20 20 20 20 20 20 20 20 7b InputManager.manager)..........{
78c0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 4c 6f 63 61 6c 4d 61 6e 61 67 65 72 20 3d 20 6d ..............m_LocalManager.=.m
78e0 61 6e 61 67 65 72 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 53 65 6e 64 65 72 73 20 3d anager;..............m_Senders.=
7900 20 73 74 61 74 65 2e 73 65 6e 64 65 72 73 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 23 65 .state.senders;..........}....#e
7920 6e 64 69 66 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 ndif......}..}..................
7940 00 00 00 00 0d 00 00 00 49 6e 70 75 74 52 65 6d 6f 74 69 6e 67 00 00 00 17 00 00 00 55 6e 69 74 ........InputRemoting.......Unit
7960 79 45 6e 67 69 6e 65 2e 49 6e 70 75 74 53 79 73 74 65 6d 00 yEngine.InputSystem.