| ofs | hex dump | ascii |
|---|
| 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. |