summaryrefslogtreecommitdiff
path: root/Library/Artifacts/be/bea5ae61f8e9b9da6915603e45f11e8f
blob: 1fffc8740a644f3231151ba9425bddbe96ef6544 (plain)
ofshex dumpascii
0000 00 00 0f 81 00 01 e9 14 00 00 00 15 00 00 10 00 00 00 00 00 32 30 31 39 2e 33 2e 36 66 31 00 fe ....................2019.3.6f1..
0020 ff ff ff 01 02 00 00 00 0b 04 00 00 00 ff ff 66 9a 86 21 eb 14 35 98 39 dd 34 1d 51 0e c1 f3 42 ...............f..!..5.9.4.Q...B
0040 00 00 00 ed 00 00 00 02 00 00 00 00 00 00 00 37 00 00 80 ff ff ff ff 00 00 00 00 00 80 00 00 00 ...............7................
0060 00 00 00 00 00 00 00 01 00 01 00 a6 03 00 80 b2 01 00 80 04 00 00 00 01 00 00 00 01 00 00 00 00 ................................
0080 00 00 00 00 00 00 00 01 00 01 00 0d 00 00 00 45 04 00 80 0c 00 00 00 02 00 00 00 01 00 00 00 00 ...............E................
00a0 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 23 00 00 00 04 00 00 00 03 00 00 00 01 00 80 00 00 ...............#................
00c0 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 2c 00 00 00 08 00 00 00 04 00 00 00 01 00 80 00 00 ...............,................
00e0 00 00 00 00 00 00 00 01 00 01 00 35 00 00 00 61 04 00 80 0c 00 00 00 05 00 00 00 01 00 00 00 00 ...........5...a................
0100 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 23 00 00 00 04 00 00 00 06 00 00 00 01 00 80 00 00 ...............#................
0120 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 2c 00 00 00 08 00 00 00 07 00 00 00 01 00 80 00 00 ...............,................
0140 00 00 00 00 00 00 00 01 00 01 00 86 02 00 80 72 04 00 80 0c 00 00 00 08 00 00 00 01 00 00 00 00 ...............r................
0160 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 23 00 00 00 04 00 00 00 09 00 00 00 01 00 80 00 00 ...............#................
0180 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 2c 00 00 00 08 00 00 00 0a 00 00 00 01 00 80 00 00 ...............,................
01a0 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 ab 01 00 80 ff ff ff ff 0b 00 00 00 01 80 08 00 00 ...........H....................
01c0 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 0c 00 00 00 01 40 08 00 00 ...........1...1............@...
01e0 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 0d 00 00 00 01 00 08 00 00 ................................
0200 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a 00 00 80 01 00 00 00 0e 00 00 00 01 00 08 00 00 ...........Q...j................
0220 00 00 00 00 00 00 00 01 00 01 00 f1 00 00 80 4a 00 00 00 ff ff ff ff 0f 00 00 00 00 c0 00 00 00 ...............J................
0240 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 10 00 00 00 00 80 00 00 00 ...........1...1................
0260 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 11 00 00 00 00 00 00 00 00 ................................
0280 00 00 00 00 00 00 00 01 00 03 00 1f 02 00 80 6a 00 00 80 ff ff ff ff 12 00 00 00 00 80 00 00 00 ...............j................
02a0 00 00 00 00 00 00 00 01 00 04 00 5c 00 00 00 9b 00 00 80 ff ff ff ff 13 00 00 00 00 80 00 00 00 ...........\....................
02c0 00 00 00 00 00 00 00 01 00 05 00 48 03 00 80 72 00 00 00 ff ff ff ff 14 00 00 00 00 80 00 00 00 ...........H...r................
02e0 00 00 00 00 00 00 00 01 00 06 01 31 00 00 80 31 00 00 80 ff ff ff ff 15 00 00 00 01 40 00 00 00 ...........1...1............@...
0300 00 00 00 00 00 00 00 01 00 07 00 de 00 00 80 1b 03 00 80 04 00 00 00 16 00 00 00 01 00 00 00 00 ................................
0320 00 00 00 00 00 00 00 01 00 07 00 51 00 00 80 6a 00 00 80 01 00 00 00 17 00 00 00 01 00 00 00 00 ...........Q...j................
0340 00 00 00 00 00 00 00 01 00 05 00 48 03 00 80 77 00 00 00 ff ff ff ff 18 00 00 00 00 80 00 00 00 ...........H...w................
0360 00 00 00 00 00 00 00 01 00 06 01 31 00 00 80 31 00 00 80 ff ff ff ff 19 00 00 00 01 40 00 00 00 ...........1...1............@...
0380 00 00 00 00 00 00 00 01 00 07 00 de 00 00 80 1b 03 00 80 04 00 00 00 1a 00 00 00 01 00 00 00 00 ................................
03a0 00 00 00 00 00 00 00 01 00 07 00 51 00 00 80 6a 00 00 80 01 00 00 00 1b 00 00 00 01 00 00 00 00 ...........Q...j................
03c0 00 00 00 00 00 00 00 01 00 05 00 48 03 00 80 80 00 00 00 ff ff ff ff 1c 00 00 00 00 80 00 00 00 ...........H....................
03e0 00 00 00 00 00 00 00 01 00 06 01 31 00 00 80 31 00 00 80 ff ff ff ff 1d 00 00 00 01 40 00 00 00 ...........1...1............@...
0400 00 00 00 00 00 00 00 01 00 07 00 de 00 00 80 1b 03 00 80 04 00 00 00 1e 00 00 00 01 00 00 00 00 ................................
0420 00 00 00 00 00 00 00 01 00 07 00 51 00 00 80 6a 00 00 80 01 00 00 00 1f 00 00 00 01 00 00 00 00 ...........Q...j................
0440 00 00 00 00 00 00 00 01 00 04 00 79 02 00 80 0a 03 00 80 0c 00 00 00 20 00 00 00 00 00 00 00 00 ...........y....................
0460 00 00 00 00 00 00 00 01 00 05 00 de 00 00 80 23 00 00 00 04 00 00 00 21 00 00 00 01 00 80 00 00 ...............#.......!........
0480 00 00 00 00 00 00 00 01 00 05 00 2e 03 00 80 2c 00 00 00 08 00 00 00 22 00 00 00 01 00 80 00 00 ...............,......."........
04a0 00 00 00 00 00 00 00 01 00 01 00 11 03 00 80 85 00 00 00 ff ff ff ff 23 00 00 00 01 40 08 00 00 .......................#....@...
04c0 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 24 00 00 00 01 00 08 00 00 ...........1...1.......$........
04e0 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 25 00 00 00 01 00 08 00 00 .......................%........
0500 00 00 00 00 00 00 00 01 00 03 00 2e 03 00 80 6a 00 00 80 08 00 00 00 26 00 00 00 01 00 08 00 00 ...............j.......&........
0520 00 00 00 00 00 00 00 01 00 01 00 d5 03 00 80 93 00 00 00 ff ff ff ff 27 00 00 00 00 80 00 00 00 .......................'........
0540 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 28 00 00 00 00 c0 00 00 00 ...........1...1.......(........
0560 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 29 00 00 00 00 00 00 00 00 .......................)........
0580 00 00 00 00 00 00 00 01 00 03 00 1f 02 00 80 6a 00 00 80 ff ff ff ff 2a 00 00 00 00 80 00 00 00 ...............j.......*........
05a0 00 00 00 00 00 00 00 01 00 04 00 48 03 00 80 9b 00 00 80 ff ff ff ff 2b 00 00 00 00 80 00 00 00 ...........H...........+........
05c0 00 00 00 00 00 00 00 01 00 05 01 31 00 00 80 31 00 00 80 ff ff ff ff 2c 00 00 00 01 40 00 00 00 ...........1...1.......,....@...
05e0 00 00 00 00 00 00 00 01 00 06 00 de 00 00 80 1b 03 00 80 04 00 00 00 2d 00 00 00 01 00 00 00 00 .......................-........
0600 00 00 00 00 00 00 00 01 00 06 00 51 00 00 80 6a 00 00 80 01 00 00 00 2e 00 00 00 01 00 00 00 00 ...........Q...j................
0620 00 00 00 00 00 00 00 01 00 04 00 79 02 00 80 0a 03 00 80 0c 00 00 00 2f 00 00 00 00 00 00 00 00 ...........y.........../........
0640 00 00 00 00 00 00 00 01 00 05 00 de 00 00 80 23 00 00 00 04 00 00 00 30 00 00 00 01 00 80 00 00 ...............#.......0........
0660 00 00 00 00 00 00 00 01 00 05 00 2e 03 00 80 2c 00 00 00 08 00 00 00 31 00 00 00 01 00 80 00 00 ...............,.......1........
0680 00 00 00 00 00 00 00 01 00 01 00 20 03 00 80 a7 00 00 00 02 00 00 00 32 00 00 00 00 40 00 00 00 .......................2....@...
06a0 00 00 00 00 00 00 00 01 00 01 00 be 02 00 80 b6 00 00 00 0c 00 00 00 33 00 00 00 00 40 00 00 00 .......................3....@...
06c0 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 23 00 00 00 04 00 00 00 34 00 00 00 01 00 80 00 00 ...............#.......4........
06e0 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 2c 00 00 00 08 00 00 00 35 00 00 00 01 00 80 00 00 ...............,.......5........
0700 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 bb 00 00 00 ff ff ff ff 36 00 00 00 01 80 00 00 00 ...........H...........6........
0720 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 37 00 00 00 01 40 00 00 00 ...........1...1.......7....@...
0740 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 38 00 00 00 01 00 00 00 00 .......................8........
0760 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a 00 00 80 01 00 00 00 39 00 00 00 01 00 00 00 00 ...........Q...j.......9........
0780 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 c6 00 00 00 ff ff ff ff 3a 00 00 00 01 80 00 00 00 ...........H...........:........
07a0 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 3b 00 00 00 01 40 00 00 00 ...........1...1.......;....@...
07c0 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 3c 00 00 00 01 00 00 00 00 .......................<........
07e0 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a 00 00 80 01 00 00 00 3d 00 00 00 01 00 00 00 00 ...........Q...j.......=........
0800 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 d8 00 00 00 ff ff ff ff 3e 00 00 00 01 80 00 00 00 ...........H...........>........
0820 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 3f 00 00 00 01 40 00 00 00 ...........1...1.......?....@...
0840 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 40 00 00 00 01 00 00 00 00 .......................@........
0860 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a 00 00 80 01 00 00 00 41 00 00 00 01 00 00 00 00 ...........Q...j.......A........
0880 00 00 00 00 00 00 00 4d 6f 6e 6f 49 6d 70 6f 72 74 65 72 00 50 50 74 72 3c 45 64 69 74 6f 72 45 .......MonoImporter.PPtr<EditorE
08a0 78 74 65 6e 73 69 6f 6e 3e 00 6d 5f 46 69 6c 65 49 44 00 6d 5f 50 61 74 68 49 44 00 50 50 74 72 xtension>.m_FileID.m_PathID.PPtr
08c0 3c 50 72 65 66 61 62 49 6e 73 74 61 6e 63 65 3e 00 6d 5f 45 78 74 65 72 6e 61 6c 4f 62 6a 65 63 <PrefabInstance>.m_ExternalObjec
08e0 74 73 00 53 6f 75 72 63 65 41 73 73 65 74 49 64 65 6e 74 69 66 69 65 72 00 74 79 70 65 00 61 73 ts.SourceAssetIdentifier.type.as
0900 73 65 6d 62 6c 79 00 6e 61 6d 65 00 6d 5f 55 73 65 64 46 69 6c 65 49 44 73 00 6d 5f 44 65 66 61 sembly.name.m_UsedFileIDs.m_Defa
0920 75 6c 74 52 65 66 65 72 65 6e 63 65 73 00 65 78 65 63 75 74 69 6f 6e 4f 72 64 65 72 00 69 63 6f ultReferences.executionOrder.ico
0940 6e 00 6d 5f 55 73 65 72 44 61 74 61 00 6d 5f 41 73 73 65 74 42 75 6e 64 6c 65 4e 61 6d 65 00 6d n.m_UserData.m_AssetBundleName.m
0960 5f 41 73 73 65 74 42 75 6e 64 6c 65 56 61 72 69 61 6e 74 00 00 00 00 00 73 00 00 00 00 ff ff a3 _AssetBundleVariant.....s.......
0980 47 f1 d7 dc 8f 5a 35 36 a0 3a 21 40 69 c1 4a 2a 00 00 00 81 00 00 00 05 00 00 00 15 01 00 80 37 G....Z56.:!@i.J*...............7
09a0 00 00 80 ff ff ff ff 00 00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 01 00 01 00 a6 03 00 80 b2 ................................
09c0 01 00 80 04 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 00 00 00 00 45 ...............................E
09e0 04 00 80 0c 00 00 00 02 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 16 ................................
0a00 00 00 00 04 00 00 00 03 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 1f ................................
0a20 00 00 00 08 00 00 00 04 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 28 00 00 00 61 ...........................(...a
0a40 04 00 80 0c 00 00 00 05 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 16 ................................
0a60 00 00 00 04 00 00 00 06 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 1f ................................
0a80 00 00 00 08 00 00 00 07 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 86 02 00 80 72 ...............................r
0aa0 04 00 80 0c 00 00 00 08 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 16 ................................
0ac0 00 00 00 04 00 00 00 09 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 1f ................................
0ae0 00 00 00 08 00 00 00 0a 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 ab ...........................H....
0b00 01 00 80 ff ff ff ff 0b 00 00 00 01 80 08 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 ...........................1...1
0b20 00 00 80 ff ff ff ff 0c 00 00 00 01 40 08 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b ............@...................
0b40 03 00 80 04 00 00 00 0d 00 00 00 01 00 08 00 00 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a ...........................Q...j
0b60 00 00 80 01 00 00 00 0e 00 00 00 01 00 08 00 00 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 ea ...........................H....
0b80 01 00 80 ff ff ff ff 0f 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 ...........................1...1
0ba0 00 00 80 ff ff ff ff 10 00 00 00 01 40 00 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b ............@...................
0bc0 03 00 80 04 00 00 00 11 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a ...........................Q...j
0be0 00 00 80 01 00 00 00 12 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 f1 00 00 80 3d ...............................=
0c00 00 00 00 ff ff ff ff 13 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 ...........................1...1
0c20 00 00 80 ff ff ff ff 14 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b ................................
0c40 03 00 80 04 00 00 00 15 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 03 00 1f 02 00 80 6a ...............................j
0c60 00 00 80 ff ff ff ff 16 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 04 00 48 03 00 80 9b ...........................H....
0c80 00 00 80 ff ff ff ff 17 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 05 01 31 00 00 80 31 ...........................1...1
0ca0 00 00 80 ff ff ff ff 18 00 00 00 01 40 00 00 00 00 00 00 00 00 00 00 01 00 06 00 de 00 00 80 1b ............@...................
0cc0 03 00 80 04 00 00 00 19 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 06 00 51 00 00 80 6a ...........................Q...j
0ce0 00 00 80 01 00 00 00 1a 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 04 00 79 02 00 80 0a ...........................y....
0d00 03 00 80 0c 00 00 00 1b 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 05 00 de 00 00 80 16 ................................
0d20 00 00 00 04 00 00 00 1c 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 05 00 2e 03 00 80 1f ................................
0d40 00 00 00 08 00 00 00 1d 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 79 02 00 80 51 ...........................y...Q
0d60 00 00 00 0c 00 00 00 1e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 16 ................................
0d80 00 00 00 04 00 00 00 1f 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 1f ................................
0da0 00 00 00 08 00 00 00 20 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 de 00 00 80 58 ...............................X
0dc0 00 00 00 04 00 00 00 21 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 69 .......!...................H...i
0de0 00 00 00 ff ff ff ff 22 00 00 00 10 80 00 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 ......."...................1...1
0e00 00 00 80 ff ff ff ff 23 00 00 00 11 40 00 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b .......#....@...................
0e20 03 00 80 04 00 00 00 24 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a .......$...................Q...j
0e40 00 00 80 01 00 00 00 25 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 75 .......%...................H...u
0e60 00 00 00 ff ff ff ff 26 00 00 00 10 80 00 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 .......&...................1...1
0e80 00 00 80 ff ff ff ff 27 00 00 00 11 40 00 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b .......'....@...................
0ea0 03 00 80 04 00 00 00 28 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a .......(...................Q...j
0ec0 00 00 80 01 00 00 00 29 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 50 50 74 72 3c 45 64 69 74 .......)...............PPtr<Edit
0ee0 6f 72 45 78 74 65 6e 73 69 6f 6e 3e 00 6d 5f 46 69 6c 65 49 44 00 6d 5f 50 61 74 68 49 44 00 50 orExtension>.m_FileID.m_PathID.P
0f00 50 74 72 3c 50 72 65 66 61 62 49 6e 73 74 61 6e 63 65 3e 00 6d 5f 44 65 66 61 75 6c 74 52 65 66 Ptr<PrefabInstance>.m_DefaultRef
0f20 65 72 65 6e 63 65 73 00 6d 5f 49 63 6f 6e 00 6d 5f 45 78 65 63 75 74 69 6f 6e 4f 72 64 65 72 00 erences.m_Icon.m_ExecutionOrder.
0f40 6d 5f 43 6c 61 73 73 4e 61 6d 65 00 6d 5f 4e 61 6d 65 73 70 61 63 65 00 00 00 00 00 02 00 00 00 m_ClassName.m_Namespace.........
0f60 03 00 00 00 00 00 00 00 00 00 00 00 5c 00 00 00 00 00 00 00 e0 79 af 00 00 00 00 00 60 00 00 00 ............\........y......`...
0f80 b4 d8 01 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 e0 79 af 00 00 00 00 00 00 00 00 00 .....................y..........
1040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1080 00 00 00 00 00 00 00 00 0a 00 00 00 49 6e 70 75 74 46 69 65 6c 64 00 00 3e d8 01 00 75 73 69 6e ............InputField..>...usin
10a0 67 20 53 79 73 74 65 6d 3b 0a 75 73 69 6e 67 20 53 79 73 74 65 6d 2e 43 6f 6c 6c 65 63 74 69 6f g.System;.using.System.Collectio
10c0 6e 73 3b 0a 75 73 69 6e 67 20 55 6e 69 74 79 45 6e 67 69 6e 65 2e 45 76 65 6e 74 73 3b 0a 75 73 ns;.using.UnityEngine.Events;.us
10e0 69 6e 67 20 55 6e 69 74 79 45 6e 67 69 6e 65 2e 45 76 65 6e 74 53 79 73 74 65 6d 73 3b 0a 75 73 ing.UnityEngine.EventSystems;.us
1100 69 6e 67 20 55 6e 69 74 79 45 6e 67 69 6e 65 2e 53 65 72 69 61 6c 69 7a 61 74 69 6f 6e 3b 0a 23 ing.UnityEngine.Serialization;.#
1120 69 66 20 55 4e 49 54 59 5f 45 44 49 54 4f 52 0a 75 73 69 6e 67 20 55 6e 69 74 79 45 64 69 74 6f if.UNITY_EDITOR.using.UnityEdito
1140 72 3b 0a 23 65 6e 64 69 66 0a 0a 6e 61 6d 65 73 70 61 63 65 20 55 6e 69 74 79 45 6e 67 69 6e 65 r;.#endif..namespace.UnityEngine
1160 2e 55 49 0a 7b 0a 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 2f 2f 2f 20 .UI.{.....///.<summary>.....///.
1180 54 75 72 6e 20 61 20 73 69 6d 70 6c 65 20 6c 61 62 65 6c 20 69 6e 74 6f 20 61 20 69 6e 74 65 72 Turn.a.simple.label.into.a.inter
11a0 61 63 74 61 62 6c 65 20 69 6e 70 75 74 20 66 69 65 6c 64 2e 0a 20 20 20 20 2f 2f 2f 20 3c 2f 73 actable.input.field......///.</s
11c0 75 6d 6d 61 72 79 3e 0a 0a 20 20 20 20 5b 41 64 64 43 6f 6d 70 6f 6e 65 6e 74 4d 65 6e 75 28 22 ummary>......[AddComponentMenu("
11e0 55 49 2f 49 6e 70 75 74 20 46 69 65 6c 64 22 2c 20 33 31 29 5d 0a 20 20 20 20 70 75 62 6c 69 63 UI/Input.Field",.31)].....public
1200 20 63 6c 61 73 73 20 49 6e 70 75 74 46 69 65 6c 64 0a 20 20 20 20 20 20 20 20 3a 20 53 65 6c 65 .class.InputField.........:.Sele
1220 63 74 61 62 6c 65 2c 0a 20 20 20 20 20 20 20 20 49 55 70 64 61 74 65 53 65 6c 65 63 74 65 64 48 ctable,.........IUpdateSelectedH
1240 61 6e 64 6c 65 72 2c 0a 20 20 20 20 20 20 20 20 49 42 65 67 69 6e 44 72 61 67 48 61 6e 64 6c 65 andler,.........IBeginDragHandle
1260 72 2c 0a 20 20 20 20 20 20 20 20 49 44 72 61 67 48 61 6e 64 6c 65 72 2c 0a 20 20 20 20 20 20 20 r,.........IDragHandler,........
1280 20 49 45 6e 64 44 72 61 67 48 61 6e 64 6c 65 72 2c 0a 20 20 20 20 20 20 20 20 49 50 6f 69 6e 74 .IEndDragHandler,.........IPoint
12a0 65 72 43 6c 69 63 6b 48 61 6e 64 6c 65 72 2c 0a 20 20 20 20 20 20 20 20 49 53 75 62 6d 69 74 48 erClickHandler,.........ISubmitH
12c0 61 6e 64 6c 65 72 2c 0a 20 20 20 20 20 20 20 20 49 43 61 6e 76 61 73 45 6c 65 6d 65 6e 74 2c 0a andler,.........ICanvasElement,.
12e0 20 20 20 20 20 20 20 20 49 4c 61 79 6f 75 74 45 6c 65 6d 65 6e 74 0a 20 20 20 20 7b 0a 20 20 20 ........ILayoutElement.....{....
1300 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 53 .....///.<summary>.........///.S
1320 65 74 74 69 6e 67 20 74 68 65 20 63 6f 6e 74 65 6e 74 20 74 79 70 65 20 61 63 74 73 20 61 73 20 etting.the.content.type.acts.as.
1340 61 20 73 68 6f 72 74 63 75 74 20 66 6f 72 20 73 65 74 74 69 6e 67 20 61 20 63 6f 6d 62 69 6e 61 a.shortcut.for.setting.a.combina
1360 74 69 6f 6e 20 6f 66 20 49 6e 70 75 74 54 79 70 65 2c 20 43 68 61 72 61 63 74 65 72 56 61 6c 69 tion.of.InputType,.CharacterVali
1380 64 61 74 69 6f 6e 2c 20 4c 69 6e 65 54 79 70 65 2c 20 61 6e 64 20 54 6f 75 63 68 53 63 72 65 65 dation,.LineType,.and.TouchScree
13a0 6e 4b 65 79 62 6f 61 72 64 54 79 70 65 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d nKeyboardType.........///.</summ
13c0 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e 0a 20 20 20 20 20 ary>.........///.<remarks>......
13e0 20 20 20 2f 2f 2f 20 54 68 65 20 43 6f 6e 74 65 6e 74 54 79 70 65 20 61 66 66 65 63 74 73 20 63 ...///.The.ContentType.affects.c
1400 68 61 72 61 63 74 65 72 20 76 61 6c 69 64 61 74 69 6f 6e 2c 20 6b 65 79 62 6f 61 72 64 20 74 79 haracter.validation,.keyboard.ty
1420 70 65 20 75 73 65 64 20 28 6f 6e 20 70 6c 61 74 66 6f 72 6d 73 20 77 69 74 68 20 6f 6e 2d 73 63 pe.used.(on.platforms.with.on-sc
1440 72 65 65 6e 20 6b 65 79 62 6f 61 72 64 73 29 2c 20 77 68 65 74 68 65 72 20 74 68 65 20 49 6e 70 reen.keyboards),.whether.the.Inp
1460 75 74 46 69 65 6c 64 20 61 63 63 65 70 74 73 20 6d 75 6c 74 69 70 6c 65 20 6c 69 6e 65 73 2c 20 utField.accepts.multiple.lines,.
1480 61 6e 64 20 77 68 65 74 68 65 72 20 74 68 65 20 74 65 78 74 20 69 73 20 61 75 74 6f 63 6f 72 72 and.whether.the.text.is.autocorr
14a0 65 63 74 65 64 20 28 6f 6e 20 70 6c 61 74 66 6f 72 6d 73 20 74 68 61 74 20 6f 66 66 65 72 20 69 ected.(on.platforms.that.offer.i
14c0 6e 70 75 74 20 61 75 74 6f 2d 63 6f 72 72 65 63 74 69 6f 6e 29 20 6f 72 20 69 73 20 74 72 65 61 nput.auto-correction).or.is.trea
14e0 74 65 64 20 61 73 20 61 20 70 61 73 73 77 6f 72 64 20 77 68 65 72 65 20 74 68 65 20 63 68 61 72 ted.as.a.password.where.the.char
1500 61 63 74 65 72 73 20 61 72 65 20 6e 6f 74 20 73 68 6f 77 6e 20 64 69 72 65 63 74 6c 79 2e 0a 20 acters.are.not.shown.directly...
1520 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 6d 61 72 6b 73 3e 0a 20 20 20 20 20 20 20 20 70 75 .......///.</remarks>.........pu
1540 62 6c 69 63 20 65 6e 75 6d 20 43 6f 6e 74 65 6e 74 54 79 70 65 0a 20 20 20 20 20 20 20 20 7b 0a blic.enum.ContentType.........{.
1560 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 ............///.<summary>.......
1580 20 20 20 20 20 20 2f 2f 2f 20 41 6c 6c 6f 77 73 20 61 6c 6c 20 69 6e 70 75 74 2e 0a 20 20 20 20 ......///.Allows.all.input......
15a0 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 20 ........///.</summary>..........
15c0 20 20 20 53 74 61 6e 64 61 72 64 2c 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 ...Standard,..............///.<s
15e0 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 41 6c 6c 6f 77 73 20 61 ummary>.............///.Allows.a
1600 6c 6c 20 69 6e 70 75 74 20 61 6e 64 20 70 65 72 66 6f 72 6d 73 20 61 75 74 6f 2d 63 6f 72 72 65 ll.input.and.performs.auto-corre
1620 63 74 69 6f 6e 20 6f 6e 20 70 6c 61 74 66 6f 72 6d 73 20 74 68 61 74 20 73 75 70 70 6f 72 74 20 ction.on.platforms.that.support.
1640 69 74 2e 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 0a 20 it..............///.</summary>..
1660 20 20 20 20 20 20 20 20 20 20 20 41 75 74 6f 63 6f 72 72 65 63 74 65 64 2c 0a 20 20 20 20 20 20 ...........Autocorrected,.......
1680 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ......///.<summary>.............
16a0 2f 2f 2f 20 41 6c 6c 6f 77 20 77 68 6f 6c 65 20 6e 75 6d 62 65 72 73 20 28 70 6f 73 69 74 69 76 ///.Allow.whole.numbers.(positiv
16c0 65 20 6f 72 20 6e 65 67 61 74 69 76 65 29 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 e.or.negative)..............///.
16e0 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 74 65 67 65 72 4e 75 </summary>.............IntegerNu
1700 6d 62 65 72 2c 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e mber,..............///.<summary>
1720 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 41 6c 6c 6f 77 73 20 64 65 63 69 6d 61 6c 20 .............///.Allows.decimal.
1740 6e 75 6d 62 65 72 73 20 28 70 6f 73 69 74 69 76 65 20 6f 72 20 6e 65 67 61 74 69 76 65 29 2e 0a numbers.(positive.or.negative)..
1760 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 0a 20 20 20 20 20 ............///.</summary>......
1780 20 20 20 20 20 20 20 44 65 63 69 6d 61 6c 4e 75 6d 62 65 72 2c 0a 0a 20 20 20 20 20 20 20 20 20 .......DecimalNumber,...........
17a0 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f ...///.<summary>.............///
17c0 20 41 6c 6c 6f 77 73 20 6c 65 74 74 65 72 73 20 41 2d 5a 2c 20 61 2d 7a 20 61 6e 64 20 6e 75 6d .Allows.letters.A-Z,.a-z.and.num
17e0 62 65 72 73 20 30 2d 39 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d bers.0-9..............///.</summ
1800 61 72 79 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 6c 70 68 61 6e 75 6d 65 72 69 63 2c 0a 0a ary>.............Alphanumeric,..
1820 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 ............///.<summary>.......
1840 20 20 20 20 20 20 2f 2f 2f 20 54 68 65 20 49 6e 70 75 74 46 69 65 6c 64 20 69 73 20 75 73 65 64 ......///.The.InputField.is.used
1860 20 66 6f 72 20 74 79 70 69 6e 67 20 69 6e 20 61 20 6e 61 6d 65 2c 20 61 6e 64 20 65 6e 66 6f 72 .for.typing.in.a.name,.and.enfor
1880 63 65 73 20 63 61 70 69 74 61 6c 69 7a 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 ces.capitalization.of.the.first.
18a0 6c 65 74 74 65 72 20 6f 66 20 65 61 63 68 20 77 6f 72 64 2e 20 4e 6f 74 65 20 74 68 61 74 20 74 letter.of.each.word..Note.that.t
18c0 68 65 20 75 73 65 72 20 63 61 6e 20 63 69 72 63 75 6d 76 65 6e 74 20 74 68 65 20 66 69 72 73 74 he.user.can.circumvent.the.first
18e0 20 6c 65 74 74 65 72 20 63 61 70 69 74 61 6c 69 7a 61 74 69 6f 6e 20 72 75 6c 65 73 20 62 79 20 .letter.capitalization.rules.by.
1900 64 65 6c 65 74 69 6e 67 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 2d 63 61 70 69 74 61 6c 69 7a deleting.automatically-capitaliz
1920 65 64 20 6c 65 74 74 65 72 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 ed.letters..............///.</su
1940 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 4e 61 6d 65 2c 0a 0a 20 20 20 20 20 20 mmary>.............Name,........
1960 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ......///.<summary>.............
1980 2f 2f 2f 20 54 68 65 20 69 6e 70 75 74 20 69 73 20 75 73 65 64 20 66 6f 72 20 74 79 70 69 6e 67 ///.The.input.is.used.for.typing
19a0 20 69 6e 20 61 6e 20 65 6d 61 69 6c 20 61 64 64 72 65 73 73 2e 0a 20 20 20 20 20 20 20 20 20 20 .in.an.email.address............
19c0 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 ..///.</summary>.............Ema
19e0 69 6c 41 64 64 72 65 73 73 2c 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d ilAddress,..............///.<sum
1a00 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 41 6c 6c 6f 77 73 20 61 6c 6c mary>.............///.Allows.all
1a20 20 69 6e 70 75 74 20 61 6e 64 20 68 69 64 65 73 20 74 68 65 20 74 79 70 65 64 20 63 68 61 72 61 .input.and.hides.the.typed.chara
1a40 63 74 65 72 73 20 62 79 20 73 68 6f 77 69 6e 67 20 74 68 65 6d 20 61 73 20 61 73 74 65 72 69 73 cters.by.showing.them.as.asteris
1a60 6b 73 20 63 68 61 72 61 63 74 65 72 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c ks.characters..............///.<
1a80 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 50 61 73 73 77 6f 72 64 2c 0a /summary>.............Password,.
1aa0 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 .............///.<summary>......
1ac0 20 20 20 20 20 20 20 2f 2f 2f 20 41 6c 6c 6f 77 73 20 69 6e 74 65 67 65 72 20 6e 75 6d 62 65 72 .......///.Allows.integer.number
1ae0 73 20 61 6e 64 20 68 69 64 65 73 20 74 68 65 20 74 79 70 65 64 20 63 68 61 72 61 63 74 65 72 73 s.and.hides.the.typed.characters
1b00 20 62 79 20 73 68 6f 77 69 6e 67 20 74 68 65 6d 20 61 73 20 61 73 74 65 72 69 73 6b 73 20 63 68 .by.showing.them.as.asterisks.ch
1b20 61 72 61 63 74 65 72 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d aracters..............///.</summ
1b40 61 72 79 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 50 69 6e 2c 0a 0a 20 20 20 20 20 20 20 20 20 ary>.............Pin,...........
1b60 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f ...///.<summary>.............///
1b80 20 43 75 73 74 6f 6d 20 74 79 70 65 73 20 74 68 61 74 20 61 6c 6c 6f 77 73 20 75 73 65 72 2d 64 .Custom.types.that.allows.user-d
1ba0 65 66 69 6e 65 64 20 73 65 74 74 69 6e 67 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f efined.settings..............///
1bc0 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 43 75 73 74 6f 6d 0a 20 .</summary>.............Custom..
1be0 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a .......}..........///.<summary>.
1c00 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 79 70 65 20 6f 66 20 64 61 74 61 20 65 78 70 65 63 74 65 ........///.Type.of.data.expecte
1c20 64 20 62 79 20 74 68 65 20 69 6e 70 75 74 20 66 69 65 6c 64 20 6d 6f 62 69 6c 65 20 6b 65 79 62 d.by.the.input.field.mobile.keyb
1c40 6f 61 72 64 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 oard..........///.</summary>....
1c60 20 20 20 20 20 70 75 62 6c 69 63 20 65 6e 75 6d 20 49 6e 70 75 74 54 79 70 65 0a 20 20 20 20 20 .....public.enum.InputType......
1c80 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 ...{.............///.<summary>..
1ca0 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 68 65 20 73 74 61 6e 64 61 72 64 20 6d 6f 62 69 ...........///.The.standard.mobi
1cc0 6c 65 20 6b 65 79 62 6f 61 72 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 le.keyboard.............///.</su
1ce0 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 53 74 61 6e 64 61 72 64 2c 0a 0a 20 20 mmary>.............Standard,....
1d00 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 ..........///.<summary>.........
1d20 20 20 20 20 2f 2f 2f 20 54 68 65 20 6d 6f 62 69 6c 65 20 61 75 74 6f 63 6f 72 72 65 63 74 20 6b ....///.The.mobile.autocorrect.k
1d40 65 79 62 6f 61 72 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 eyboard..............///.</summa
1d60 72 79 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 75 74 6f 43 6f 72 72 65 63 74 2c 0a 0a 20 20 ry>.............AutoCorrect,....
1d80 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 ..........///.<summary>.........
1da0 20 20 20 20 2f 2f 2f 20 54 68 65 20 6d 6f 62 69 6c 65 20 70 61 73 73 77 6f 72 64 20 6b 65 79 62 ....///.The.mobile.password.keyb
1dc0 6f 61 72 64 2e 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 oard..............///.</summary>
1de0 0a 20 20 20 20 20 20 20 20 20 20 20 20 50 61 73 73 77 6f 72 64 2c 0a 20 20 20 20 20 20 20 20 7d .............Password,.........}
1e00 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 ..........///.<summary>.........
1e20 2f 2f 2f 20 54 68 65 20 74 79 70 65 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 20 74 68 61 74 20 ///.The.type.of.characters.that.
1e40 61 72 65 20 61 6c 6c 6f 77 65 64 20 74 6f 20 62 65 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 73 are.allowed.to.be.added.to.the.s
1e60 74 72 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 tring..........///.</summary>...
1e80 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 ......///.<remarks>.........///.
1ea0 4e 6f 74 65 20 74 68 61 74 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 76 61 6c 69 64 61 74 69 Note.that.the.character.validati
1ec0 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 76 61 6c 69 64 61 74 65 20 74 68 65 20 65 6e 74 69 72 65 20 on.does.not.validate.the.entire.
1ee0 73 74 72 69 6e 67 20 61 73 20 62 65 69 6e 67 20 76 61 6c 69 64 20 6f 72 20 6e 6f 74 2e 20 49 74 string.as.being.valid.or.not..It
1f00 20 6f 6e 6c 79 20 64 6f 65 73 20 76 61 6c 69 64 61 74 69 6f 6e 20 6f 6e 20 61 20 70 65 72 2d 63 .only.does.validation.on.a.per-c
1f20 68 61 72 61 63 74 65 72 20 6c 65 76 65 6c 2c 20 72 65 73 75 6c 74 69 6e 67 20 69 6e 20 74 68 65 haracter.level,.resulting.in.the
1f40 20 74 79 70 65 64 20 63 68 61 72 61 63 74 65 72 20 65 69 74 68 65 72 20 62 65 69 6e 67 20 61 64 .typed.character.either.being.ad
1f60 64 65 64 20 74 6f 20 74 68 65 20 73 74 72 69 6e 67 20 6f 72 20 6e 6f 74 0a 20 20 20 20 20 20 20 ded.to.the.string.or.not........
1f80 20 2f 2f 2f 20 3c 2f 72 65 6d 61 72 6b 73 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 65 .///.</remarks>.........public.e
1fa0 6e 75 6d 20 43 68 61 72 61 63 74 65 72 56 61 6c 69 64 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 num.CharacterValidation.........
1fc0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 {.............///.<summary>.....
1fe0 20 20 20 20 20 20 20 20 2f 2f 2f 20 4e 6f 20 76 61 6c 69 64 61 74 69 6f 6e 2e 20 41 6e 79 20 69 ........///.No.validation..Any.i
2000 6e 70 75 74 20 69 73 20 76 61 6c 69 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c nput.is.valid..............///.<
2020 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 4e 6f 6e 65 2c 0a 0a 20 20 20 /summary>.............None,.....
2040 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 20 .........///.<summary>..........
2060 20 20 20 2f 2f 2f 20 41 6c 6c 6f 77 20 77 68 6f 6c 65 20 6e 75 6d 62 65 72 73 20 28 70 6f 73 69 ...///.Allow.whole.numbers.(posi
2080 74 69 76 65 20 6f 72 20 6e 65 67 61 74 69 76 65 29 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f tive.or.negative)............../
20a0 2f 2f 20 43 68 61 72 61 63 74 65 72 73 20 30 2d 39 20 61 6e 64 20 2d 20 28 64 61 73 68 20 2f 20 //.Characters.0-9.and.-.(dash./.
20c0 6d 69 6e 75 73 20 73 69 67 6e 29 20 61 72 65 20 61 6c 6c 6f 77 65 64 2e 20 54 68 65 20 64 61 73 minus.sign).are.allowed..The.das
20e0 68 20 69 73 20 6f 6e 6c 79 20 61 6c 6c 6f 77 65 64 20 61 73 20 74 68 65 20 66 69 72 73 74 20 63 h.is.only.allowed.as.the.first.c
2100 68 61 72 61 63 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d haracter..............///.</summ
2120 61 72 79 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 74 65 67 65 72 2c 0a 20 20 20 20 20 20 ary>.............Integer,.......
2140 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ......///.<summary>.............
2160 2f 2f 2f 20 41 6c 6c 6f 77 73 20 64 65 63 69 6d 61 6c 20 6e 75 6d 62 65 72 73 20 28 70 6f 73 69 ///.Allows.decimal.numbers.(posi
2180 74 69 76 65 20 6f 72 20 6e 65 67 61 74 69 76 65 29 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f tive.or.negative)............../
21a0 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 //.</summary>.............///.<r
21c0 65 6d 61 72 6b 73 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 43 68 61 72 61 63 74 65 emarks>.............///.Characte
21e0 72 73 20 30 2d 39 2c 20 2e 20 28 64 6f 74 29 2c 20 61 6e 64 20 2d 20 28 64 61 73 68 20 2f 20 6d rs.0-9,...(dot),.and.-.(dash./.m
2200 69 6e 75 73 20 73 69 67 6e 29 20 61 72 65 20 61 6c 6c 6f 77 65 64 2e 20 54 68 65 20 64 61 73 68 inus.sign).are.allowed..The.dash
2220 20 69 73 20 6f 6e 6c 79 20 61 6c 6c 6f 77 65 64 20 61 73 20 74 68 65 20 66 69 72 73 74 20 63 68 .is.only.allowed.as.the.first.ch
2240 61 72 61 63 74 65 72 2e 20 4f 6e 6c 79 20 6f 6e 65 20 64 6f 74 20 69 6e 20 74 68 65 20 73 74 72 aracter..Only.one.dot.in.the.str
2260 69 6e 67 20 69 73 20 61 6c 6c 6f 77 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 ing.is.allowed..............///.
2280 3c 2f 72 65 6d 61 72 6b 73 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 63 69 6d 61 6c 2c 0a </remarks>.............Decimal,.
22a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 .............///.<summary>......
22c0 20 20 20 20 20 20 20 2f 2f 2f 20 41 6c 6c 6f 77 73 20 6c 65 74 74 65 72 73 20 41 2d 5a 2c 20 61 .......///.Allows.letters.A-Z,.a
22e0 2d 7a 20 61 6e 64 20 6e 75 6d 62 65 72 73 20 30 2d 39 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 -z.and.numbers.0-9..............
2300 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 6c 70 68 61 ///.</summary>.............Alpha
2320 6e 75 6d 65 72 69 63 2c 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 numeric,..............///.<summa
2340 72 79 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 4f 6e 6c 79 20 61 6c 6c 6f 77 20 6e ry>.............///.Only.allow.n
2360 61 6d 65 73 20 61 6e 64 20 65 6e 66 6f 72 63 65 73 20 63 61 70 69 74 61 6c 69 7a 61 74 69 6f 6e ames.and.enforces.capitalization
2380 2e 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 0a 20 20 20 ..............///.</summary>....
23a0 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e 0a 20 20 20 20 20 20 20 20 20 .........///.<remarks>..........
23c0 20 20 20 2f 2f 2f 20 41 6c 6c 6f 77 73 20 6c 65 74 74 65 72 73 2c 20 73 70 61 63 65 73 2c 20 61 ...///.Allows.letters,.spaces,.a
23e0 6e 64 20 27 20 28 61 70 6f 73 74 72 6f 70 68 65 29 2e 20 41 20 63 68 61 72 61 63 74 65 72 20 61 nd.'.(apostrophe)..A.character.a
2400 66 74 65 72 20 61 20 73 70 61 63 65 20 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 6d 61 fter.a.space.is.automatically.ma
2420 64 65 20 75 70 70 65 72 20 63 61 73 65 2e 20 41 20 63 68 61 72 61 63 74 65 72 20 6e 6f 74 20 61 de.upper.case..A.character.not.a
2440 66 74 65 72 20 61 20 73 70 61 63 65 20 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 6d 61 fter.a.space.is.automatically.ma
2460 64 65 20 6c 6f 77 65 72 63 61 73 65 2e 20 41 20 63 68 61 72 61 63 74 65 72 20 61 66 74 65 72 20 de.lowercase..A.character.after.
2480 61 6e 20 61 70 6f 73 74 72 6f 70 68 65 20 63 61 6e 20 62 65 20 65 69 74 68 65 72 20 75 70 70 65 an.apostrophe.can.be.either.uppe
24a0 72 20 6f 72 20 6c 6f 77 65 72 20 63 61 73 65 2e 20 4f 6e 6c 79 20 6f 6e 65 20 61 70 6f 73 74 72 r.or.lower.case..Only.one.apostr
24c0 6f 70 68 65 20 69 6e 20 74 68 65 20 73 74 72 69 6e 67 20 69 73 20 61 6c 6c 6f 77 65 64 2e 20 4d ophe.in.the.string.is.allowed..M
24e0 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 73 70 61 63 65 20 69 6e 20 61 20 72 6f 77 20 69 73 20 6e ore.than.one.space.in.a.row.is.n
2500 6f 74 20 61 6c 6c 6f 77 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 0a 20 20 20 20 ot.allowed..............///.....
2520 20 20 20 20 20 20 20 20 2f 2f 2f 20 41 20 63 68 61 72 61 63 74 65 72 73 20 69 73 20 63 6f 6e 73 ........///.A.characters.is.cons
2540 69 64 65 72 65 64 20 61 20 6c 65 74 74 65 72 20 69 66 20 69 74 20 69 73 20 63 61 74 65 67 6f 72 idered.a.letter.if.it.is.categor
2560 69 7a 65 64 20 61 73 20 61 20 55 6e 69 63 6f 64 65 20 6c 65 74 74 65 72 2c 20 61 73 20 69 6d 70 ized.as.a.Unicode.letter,.as.imp
2580 6c 65 6d 65 6e 74 65 64 20 62 79 20 74 68 65 20 43 68 61 72 2e 49 73 6c 65 74 74 65 72 20 6d 65 lemented.by.the.Char.Isletter.me
25a0 74 68 6f 64 20 69 6e 20 2e 4e 65 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f thod.in..Net..............///.</
25c0 72 65 6d 61 72 6b 73 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 4e 61 6d 65 2c 0a 0a 20 20 20 20 remarks>.............Name,......
25e0 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 20 20 ........///.<summary>...........
2600 20 20 2f 2f 2f 20 41 6c 6c 6f 77 73 20 74 68 65 20 63 68 61 72 61 63 74 65 72 73 20 74 68 61 74 ..///.Allows.the.characters.that
2620 20 61 72 65 20 61 6c 6c 6f 77 65 64 20 69 6e 20 61 6e 20 65 6d 61 69 6c 20 61 64 64 72 65 73 73 .are.allowed.in.an.email.address
2640 2e 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 0a 20 20 20 ..............///.</summary>....
2660 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e 0a 20 20 20 20 20 20 20 20 20 .........///.<remarks>..........
2680 20 20 20 2f 2f 2f 20 41 6c 6c 6f 77 73 20 63 68 61 72 61 63 74 65 72 73 20 41 2d 5a 2c 20 61 2e ...///.Allows.characters.A-Z,.a.
26a0 7a 2c 20 30 2d 39 2c 20 40 2c 20 2e 20 28 64 6f 74 29 2c 20 21 2c 20 23 2c 20 24 2c 20 25 2c 20 z,.0-9,.@,...(dot),.!,.#,.$,.%,.
26c0 26 61 6d 70 3b 2c 20 27 2c 20 2a 2c 20 2b 2c 20 2d 2c 20 2f 2c 20 3d 2c 20 3f 2c 20 5e 2c 20 5f &amp;,.',.*,.+,.-,./,.=,.?,.^,._
26e0 2c 20 60 2c 20 7b 2c 20 7c 2c 20 7d 2c 20 61 6e 64 20 7e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 ,.`,.{,.|,.},.and.~.............
2700 20 2f 2f 2f 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 4f 6e 6c 79 20 6f 6e 65 20 40 20 .///.............///.Only.one.@.
2720 69 73 20 61 6c 6c 6f 77 65 64 20 69 6e 20 74 68 65 20 73 74 72 69 6e 67 20 61 6e 64 20 6d 6f 72 is.allowed.in.the.string.and.mor
2740 65 20 74 68 61 6e 20 6f 6e 65 20 64 6f 74 20 69 6e 20 61 20 72 6f 77 20 61 72 65 20 6e 6f 74 20 e.than.one.dot.in.a.row.are.not.
2760 61 6c 6c 6f 77 65 64 2e 20 4e 6f 74 65 20 74 68 61 74 20 74 68 65 20 63 68 61 72 61 63 74 65 72 allowed..Note.that.the.character
2780 20 76 61 6c 69 64 61 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 76 61 6c 69 64 61 74 65 20 74 68 .validation.does.not.validate.th
27a0 65 20 65 6e 74 69 72 65 20 73 74 72 69 6e 67 20 61 73 20 62 65 69 6e 67 20 61 20 76 61 6c 69 64 e.entire.string.as.being.a.valid
27c0 20 65 6d 61 69 6c 20 61 64 64 72 65 73 73 20 73 69 6e 63 65 20 69 74 20 6f 6e 6c 79 20 64 6f 65 .email.address.since.it.only.doe
27e0 73 20 76 61 6c 69 64 61 74 69 6f 6e 20 6f 6e 20 61 20 70 65 72 2d 63 68 61 72 61 63 74 65 72 20 s.validation.on.a.per-character.
2800 6c 65 76 65 6c 2c 20 72 65 73 75 6c 74 69 6e 67 20 69 6e 20 74 68 65 20 74 79 70 65 64 20 63 68 level,.resulting.in.the.typed.ch
2820 61 72 61 63 74 65 72 20 65 69 74 68 65 72 20 62 65 69 6e 67 20 61 64 64 65 64 20 74 6f 20 74 68 aracter.either.being.added.to.th
2840 65 20 73 74 72 69 6e 67 20 6f 72 20 6e 6f 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f e.string.or.not..............///
2860 20 3c 2f 72 65 6d 61 72 6b 73 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 69 6c 41 64 64 .</remarks>.............EmailAdd
2880 72 65 73 73 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d ress.........}..........///.<sum
28a0 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 68 65 20 4c 69 6e 65 54 79 70 65 20 69 mary>.........///.The.LineType.i
28c0 73 20 75 73 65 64 20 74 6f 20 64 65 73 63 72 69 62 65 20 74 68 65 20 62 65 68 61 76 69 6f 72 20 s.used.to.describe.the.behavior.
28e0 6f 66 20 74 68 65 20 49 6e 70 75 74 46 69 65 6c 64 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c of.the.InputField..........///.<
2900 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 65 6e 75 6d 20 4c 69 /summary>.........public.enum.Li
2920 6e 65 54 79 70 65 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f neType.........{.............///
2940 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 4f 6e 6c 79 20 .<summary>.............///.Only.
2960 61 6c 6c 6f 77 73 20 31 20 6c 69 6e 65 20 74 6f 20 62 65 20 65 6e 74 65 72 65 64 2e 20 48 61 73 allows.1.line.to.be.entered..Has
2980 20 68 6f 72 69 7a 6f 6e 74 61 6c 20 73 63 72 6f 6c 6c 69 6e 67 20 61 6e 64 20 6e 6f 20 77 6f 72 .horizontal.scrolling.and.no.wor
29a0 64 20 77 72 61 70 2e 20 50 72 65 73 73 69 6e 67 20 65 6e 74 65 72 20 77 69 6c 6c 20 73 75 62 6d d.wrap..Pressing.enter.will.subm
29c0 69 74 20 74 68 65 20 49 6e 70 75 74 46 69 65 6c 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f it.the.InputField............../
29e0 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 53 69 6e 67 6c 65 //.</summary>.............Single
2a00 4c 69 6e 65 2c 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e Line,..............///.<summary>
2a20 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 49 73 20 61 20 6d 75 6c 74 69 6c 69 6e 65 20 .............///.Is.a.multiline.
2a40 49 6e 70 75 74 46 69 65 6c 64 20 77 69 74 68 20 76 65 72 74 69 63 61 6c 20 73 63 72 6f 6c 6c 69 InputField.with.vertical.scrolli
2a60 6e 67 20 61 6e 64 20 6f 76 65 72 66 6c 6f 77 2e 20 50 72 65 73 73 69 6e 67 20 74 68 65 20 72 65 ng.and.overflow..Pressing.the.re
2a80 74 75 72 6e 20 6b 65 79 20 77 69 6c 6c 20 73 75 62 6d 69 74 2e 0a 20 20 20 20 20 20 20 20 20 20 turn.key.will.submit............
2aa0 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 4d 75 6c ..///.</summary>.............Mul
2ac0 74 69 4c 69 6e 65 53 75 62 6d 69 74 2c 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c tiLineSubmit,..............///.<
2ae0 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 20 49 73 20 61 20 6d 75 summary>.............///.Is.a.mu
2b00 6c 74 69 6c 69 6e 65 20 49 6e 70 75 74 46 69 65 6c 64 20 77 69 74 68 20 76 65 72 74 69 63 61 6c ltiline.InputField.with.vertical
2b20 20 73 63 72 6f 6c 6c 69 6e 67 20 61 6e 64 20 6f 76 65 72 66 6c 6f 77 2e 20 50 72 65 73 73 69 6e .scrolling.and.overflow..Pressin
2b40 67 20 74 68 65 20 72 65 74 75 72 6e 20 6b 65 79 20 77 69 6c 6c 20 69 6e 73 65 72 74 20 61 20 6e g.the.return.key.will.insert.a.n
2b60 65 77 20 6c 69 6e 65 20 63 68 61 72 61 63 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f ew.line.character............../
2b80 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 4d 75 6c 74 69 4c //.</summary>.............MultiL
2ba0 69 6e 65 4e 65 77 6c 69 6e 65 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 75 ineNewline.........}..........pu
2bc0 62 6c 69 63 20 64 65 6c 65 67 61 74 65 20 63 68 61 72 20 4f 6e 56 61 6c 69 64 61 74 65 49 6e 70 blic.delegate.char.OnValidateInp
2be0 75 74 28 73 74 72 69 6e 67 20 74 65 78 74 2c 20 69 6e 74 20 63 68 61 72 49 6e 64 65 78 2c 20 63 ut(string.text,.int.charIndex,.c
2c00 68 61 72 20 61 64 64 65 64 43 68 61 72 29 3b 0a 0a 20 20 20 20 20 20 20 20 5b 53 65 72 69 61 6c har.addedChar);..........[Serial
2c20 69 7a 61 62 6c 65 5d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 izable].........///.<summary>...
2c40 20 20 20 20 20 20 2f 2f 2f 20 20 20 55 6e 69 74 79 20 45 76 65 6e 74 20 77 69 74 68 20 61 20 69 ......///...Unity.Event.with.a.i
2c60 6e 70 75 74 66 69 65 6c 64 20 61 73 20 61 20 70 61 72 61 6d 2e 0a 20 20 20 20 20 20 20 20 2f 2f nputfield.as.a.param..........//
2c80 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 63 6c 61 73 /.</summary>.........public.clas
2ca0 73 20 53 75 62 6d 69 74 45 76 65 6e 74 20 3a 20 55 6e 69 74 79 45 76 65 6e 74 3c 73 74 72 69 6e s.SubmitEvent.:.UnityEvent<strin
2cc0 67 3e 20 7b 7d 0a 0a 20 20 20 20 20 20 20 20 5b 53 65 72 69 61 6c 69 7a 61 62 6c 65 5d 0a 20 20 g>.{}..........[Serializable]...
2ce0 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 ......///.<summary>.........///.
2d00 54 68 65 20 63 61 6c 6c 62 61 63 6b 20 73 65 6e 74 20 61 6e 79 74 69 6d 65 20 74 68 65 20 49 6e The.callback.sent.anytime.the.In
2d20 70 75 74 66 69 65 6c 64 20 69 73 20 75 70 64 61 74 65 64 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f putfield.is.updated..........///
2d40 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 63 6c 61 73 73 .</summary>.........public.class
2d60 20 4f 6e 43 68 61 6e 67 65 45 76 65 6e 74 20 3a 20 55 6e 69 74 79 45 76 65 6e 74 3c 73 74 72 69 .OnChangeEvent.:.UnityEvent<stri
2d80 6e 67 3e 20 7b 7d 0a 0a 20 20 20 20 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 54 6f 75 63 68 53 ng>.{}..........protected.TouchS
2da0 63 72 65 65 6e 4b 65 79 62 6f 61 72 64 20 6d 5f 4b 65 79 62 6f 61 72 64 3b 0a 20 20 20 20 20 20 creenKeyboard.m_Keyboard;.......
2dc0 20 20 73 74 61 74 69 63 20 70 72 69 76 61 74 65 20 72 65 61 64 6f 6e 6c 79 20 63 68 61 72 5b 5d ..static.private.readonly.char[]
2de0 20 6b 53 65 70 61 72 61 74 6f 72 73 20 3d 20 7b 20 27 20 27 2c 20 27 2e 27 2c 20 27 2c 27 2c 20 .kSeparators.=.{.'.',.'.',.',',.
2e00 27 5c 74 27 2c 20 27 5c 72 27 2c 20 27 5c 6e 27 20 7d 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f '\t',.'\r',.'\n'.};..........///
2e20 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 65 78 74 20 54 65 78 74 .<summary>.........///.Text.Text
2e40 20 75 73 65 64 20 74 6f 20 64 69 73 70 6c 61 79 20 74 68 65 20 69 6e 70 75 74 27 73 20 76 61 6c .used.to.display.the.input's.val
2e60 75 65 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 0a 20 20 20 20 ue..........///.</summary>......
2e80 20 20 20 20 5b 53 65 72 69 61 6c 69 7a 65 46 69 65 6c 64 5d 0a 20 20 20 20 20 20 20 20 5b 46 6f ....[SerializeField].........[Fo
2ea0 72 6d 65 72 6c 79 53 65 72 69 61 6c 69 7a 65 64 41 73 28 22 74 65 78 74 22 29 5d 0a 20 20 20 20 rmerlySerializedAs("text")].....
2ec0 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 54 65 78 74 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 ....protected.Text.m_TextCompone
2ee0 6e 74 3b 0a 0a 20 20 20 20 20 20 20 20 5b 53 65 72 69 61 6c 69 7a 65 46 69 65 6c 64 5d 0a 20 20 nt;..........[SerializeField]...
2f00 20 20 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 47 72 61 70 68 69 63 20 6d 5f 50 6c 61 63 65 68 ......protected.Graphic.m_Placeh
2f20 6f 6c 64 65 72 3b 0a 0a 20 20 20 20 20 20 20 20 5b 53 65 72 69 61 6c 69 7a 65 46 69 65 6c 64 5d older;..........[SerializeField]
2f40 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 43 6f 6e 74 65 6e 74 54 79 70 65 20 6d 5f 43 .........private.ContentType.m_C
2f60 6f 6e 74 65 6e 74 54 79 70 65 20 3d 20 43 6f 6e 74 65 6e 74 54 79 70 65 2e 53 74 61 6e 64 61 72 ontentType.=.ContentType.Standar
2f80 64 3b 0a 0a 20 20 20 20 20 20 20 20 5b 46 6f 72 6d 65 72 6c 79 53 65 72 69 61 6c 69 7a 65 64 41 d;..........[FormerlySerializedA
2fa0 73 28 22 69 6e 70 75 74 54 79 70 65 22 29 5d 0a 20 20 20 20 20 20 20 20 5b 53 65 72 69 61 6c 69 s("inputType")].........[Seriali
2fc0 7a 65 46 69 65 6c 64 5d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 49 6e 70 75 74 54 79 zeField].........private.InputTy
2fe0 70 65 20 6d 5f 49 6e 70 75 74 54 79 70 65 20 3d 20 49 6e 70 75 74 54 79 70 65 2e 53 74 61 6e 64 pe.m_InputType.=.InputType.Stand
3000 61 72 64 3b 0a 0a 20 20 20 20 20 20 20 20 5b 46 6f 72 6d 65 72 6c 79 53 65 72 69 61 6c 69 7a 65 ard;..........[FormerlySerialize
3020 64 41 73 28 22 61 73 74 65 72 69 73 6b 43 68 61 72 22 29 5d 0a 20 20 20 20 20 20 20 20 5b 53 65 dAs("asteriskChar")].........[Se
3040 72 69 61 6c 69 7a 65 46 69 65 6c 64 5d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 63 68 rializeField].........private.ch
3060 61 72 20 6d 5f 41 73 74 65 72 69 73 6b 43 68 61 72 20 3d 20 27 2a 27 3b 0a 0a 20 20 20 20 20 20 ar.m_AsteriskChar.=.'*';........
3080 20 20 5b 46 6f 72 6d 65 72 6c 79 53 65 72 69 61 6c 69 7a 65 64 41 73 28 22 6b 65 79 62 6f 61 72 ..[FormerlySerializedAs("keyboar
30a0 64 54 79 70 65 22 29 5d 0a 20 20 20 20 20 20 20 20 5b 53 65 72 69 61 6c 69 7a 65 46 69 65 6c 64 dType")].........[SerializeField
30c0 5d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 54 6f 75 63 68 53 63 72 65 65 6e 4b 65 79 ].........private.TouchScreenKey
30e0 62 6f 61 72 64 54 79 70 65 20 6d 5f 4b 65 79 62 6f 61 72 64 54 79 70 65 20 3d 20 54 6f 75 63 68 boardType.m_KeyboardType.=.Touch
3100 53 63 72 65 65 6e 4b 65 79 62 6f 61 72 64 54 79 70 65 2e 44 65 66 61 75 6c 74 3b 0a 0a 20 20 20 ScreenKeyboardType.Default;.....
3120 20 20 20 20 20 5b 53 65 72 69 61 6c 69 7a 65 46 69 65 6c 64 5d 0a 20 20 20 20 20 20 20 20 70 72 .....[SerializeField].........pr
3140 69 76 61 74 65 20 4c 69 6e 65 54 79 70 65 20 6d 5f 4c 69 6e 65 54 79 70 65 20 3d 20 4c 69 6e 65 ivate.LineType.m_LineType.=.Line
3160 54 79 70 65 2e 53 69 6e 67 6c 65 4c 69 6e 65 3b 0a 0a 20 20 20 20 20 20 20 20 5b 46 6f 72 6d 65 Type.SingleLine;..........[Forme
3180 72 6c 79 53 65 72 69 61 6c 69 7a 65 64 41 73 28 22 68 69 64 65 4d 6f 62 69 6c 65 49 6e 70 75 74 rlySerializedAs("hideMobileInput
31a0 22 29 5d 0a 20 20 20 20 20 20 20 20 5b 53 65 72 69 61 6c 69 7a 65 46 69 65 6c 64 5d 0a 20 20 20 ")].........[SerializeField]....
31c0 20 20 20 20 20 70 72 69 76 61 74 65 20 62 6f 6f 6c 20 6d 5f 48 69 64 65 4d 6f 62 69 6c 65 49 6e .....private.bool.m_HideMobileIn
31e0 70 75 74 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 20 20 20 20 5b 46 6f 72 6d 65 72 6c 79 53 put.=.false;..........[FormerlyS
3200 65 72 69 61 6c 69 7a 65 64 41 73 28 22 76 61 6c 69 64 61 74 69 6f 6e 22 29 5d 0a 20 20 20 20 20 erializedAs("validation")]......
3220 20 20 20 5b 53 65 72 69 61 6c 69 7a 65 46 69 65 6c 64 5d 0a 20 20 20 20 20 20 20 20 70 72 69 76 ...[SerializeField].........priv
3240 61 74 65 20 43 68 61 72 61 63 74 65 72 56 61 6c 69 64 61 74 69 6f 6e 20 6d 5f 43 68 61 72 61 63 ate.CharacterValidation.m_Charac
3260 74 65 72 56 61 6c 69 64 61 74 69 6f 6e 20 3d 20 43 68 61 72 61 63 74 65 72 56 61 6c 69 64 61 74 terValidation.=.CharacterValidat
3280 69 6f 6e 2e 4e 6f 6e 65 3b 0a 0a 20 20 20 20 20 20 20 20 5b 46 6f 72 6d 65 72 6c 79 53 65 72 69 ion.None;..........[FormerlySeri
32a0 61 6c 69 7a 65 64 41 73 28 22 63 68 61 72 61 63 74 65 72 4c 69 6d 69 74 22 29 5d 0a 20 20 20 20 alizedAs("characterLimit")].....
32c0 20 20 20 20 5b 53 65 72 69 61 6c 69 7a 65 46 69 65 6c 64 5d 0a 20 20 20 20 20 20 20 20 70 72 69 ....[SerializeField].........pri
32e0 76 61 74 65 20 69 6e 74 20 6d 5f 43 68 61 72 61 63 74 65 72 4c 69 6d 69 74 20 3d 20 30 3b 0a 0a vate.int.m_CharacterLimit.=.0;..
3300 20 20 20 20 20 20 20 20 5b 46 6f 72 6d 65 72 6c 79 53 65 72 69 61 6c 69 7a 65 64 41 73 28 22 6f ........[FormerlySerializedAs("o
3320 6e 53 75 62 6d 69 74 22 29 5d 0a 20 20 20 20 20 20 20 20 5b 46 6f 72 6d 65 72 6c 79 53 65 72 69 nSubmit")].........[FormerlySeri
3340 61 6c 69 7a 65 64 41 73 28 22 6d 5f 4f 6e 53 75 62 6d 69 74 22 29 5d 0a 20 20 20 20 20 20 20 20 alizedAs("m_OnSubmit")].........
3360 5b 46 6f 72 6d 65 72 6c 79 53 65 72 69 61 6c 69 7a 65 64 41 73 28 22 6d 5f 45 6e 64 45 64 69 74 [FormerlySerializedAs("m_EndEdit
3380 22 29 5d 0a 20 20 20 20 20 20 20 20 5b 53 65 72 69 61 6c 69 7a 65 46 69 65 6c 64 5d 0a 20 20 20 ")].........[SerializeField]....
33a0 20 20 20 20 20 70 72 69 76 61 74 65 20 53 75 62 6d 69 74 45 76 65 6e 74 20 6d 5f 4f 6e 45 6e 64 .....private.SubmitEvent.m_OnEnd
33c0 45 64 69 74 20 3d 20 6e 65 77 20 53 75 62 6d 69 74 45 76 65 6e 74 28 29 3b 0a 0a 20 20 20 20 20 Edit.=.new.SubmitEvent();.......
33e0 20 20 20 5b 46 6f 72 6d 65 72 6c 79 53 65 72 69 61 6c 69 7a 65 64 41 73 28 22 6f 6e 56 61 6c 75 ...[FormerlySerializedAs("onValu
3400 65 43 68 61 6e 67 65 22 29 5d 0a 20 20 20 20 20 20 20 20 5b 46 6f 72 6d 65 72 6c 79 53 65 72 69 eChange")].........[FormerlySeri
3420 61 6c 69 7a 65 64 41 73 28 22 6d 5f 4f 6e 56 61 6c 75 65 43 68 61 6e 67 65 22 29 5d 0a 20 20 20 alizedAs("m_OnValueChange")]....
3440 20 20 20 20 20 5b 53 65 72 69 61 6c 69 7a 65 46 69 65 6c 64 5d 0a 20 20 20 20 20 20 20 20 70 72 .....[SerializeField].........pr
3460 69 76 61 74 65 20 4f 6e 43 68 61 6e 67 65 45 76 65 6e 74 20 6d 5f 4f 6e 56 61 6c 75 65 43 68 61 ivate.OnChangeEvent.m_OnValueCha
3480 6e 67 65 64 20 3d 20 6e 65 77 20 4f 6e 43 68 61 6e 67 65 45 76 65 6e 74 28 29 3b 0a 0a 20 20 20 nged.=.new.OnChangeEvent();.....
34a0 20 20 20 20 20 5b 46 6f 72 6d 65 72 6c 79 53 65 72 69 61 6c 69 7a 65 64 41 73 28 22 6f 6e 56 61 .....[FormerlySerializedAs("onVa
34c0 6c 69 64 61 74 65 49 6e 70 75 74 22 29 5d 0a 20 20 20 20 20 20 20 20 5b 53 65 72 69 61 6c 69 7a lidateInput")].........[Serializ
34e0 65 46 69 65 6c 64 5d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 4f 6e 56 61 6c 69 64 61 eField].........private.OnValida
3500 74 65 49 6e 70 75 74 20 6d 5f 4f 6e 56 61 6c 69 64 61 74 65 49 6e 70 75 74 3b 0a 0a 20 20 20 20 teInput.m_OnValidateInput;......
3520 20 20 20 20 5b 46 6f 72 6d 65 72 6c 79 53 65 72 69 61 6c 69 7a 65 64 41 73 28 22 73 65 6c 65 63 ....[FormerlySerializedAs("selec
3540 74 69 6f 6e 43 6f 6c 6f 72 22 29 5d 0a 20 20 20 20 20 20 20 20 5b 53 65 72 69 61 6c 69 7a 65 46 tionColor")].........[SerializeF
3560 69 65 6c 64 5d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 43 6f 6c 6f 72 20 6d 5f 43 61 ield].........private.Color.m_Ca
3580 72 65 74 43 6f 6c 6f 72 20 3d 20 6e 65 77 20 43 6f 6c 6f 72 28 35 30 66 20 2f 20 32 35 35 66 2c retColor.=.new.Color(50f./.255f,
35a0 20 35 30 66 20 2f 20 32 35 35 66 2c 20 35 30 66 20 2f 20 32 35 35 66 2c 20 31 66 29 3b 0a 0a 20 .50f./.255f,.50f./.255f,.1f);...
35c0 20 20 20 20 20 20 20 5b 53 65 72 69 61 6c 69 7a 65 46 69 65 6c 64 5d 0a 20 20 20 20 20 20 20 20 .......[SerializeField].........
35e0 70 72 69 76 61 74 65 20 62 6f 6f 6c 20 6d 5f 43 75 73 74 6f 6d 43 61 72 65 74 43 6f 6c 6f 72 20 private.bool.m_CustomCaretColor.
3600 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 20 20 20 20 5b 53 65 72 69 61 6c 69 7a 65 46 69 65 6c =.false;..........[SerializeFiel
3620 64 5d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 43 6f 6c 6f 72 20 6d 5f 53 65 6c 65 63 d].........private.Color.m_Selec
3640 74 69 6f 6e 43 6f 6c 6f 72 20 3d 20 6e 65 77 20 43 6f 6c 6f 72 28 31 36 38 66 20 2f 20 32 35 35 tionColor.=.new.Color(168f./.255
3660 66 2c 20 32 30 36 66 20 2f 20 32 35 35 66 2c 20 32 35 35 66 20 2f 20 32 35 35 66 2c 20 31 39 32 f,.206f./.255f,.255f./.255f,.192
3680 66 20 2f 20 32 35 35 66 29 3b 0a 0a 20 20 20 20 20 20 20 20 5b 53 65 72 69 61 6c 69 7a 65 46 69 f./.255f);..........[SerializeFi
36a0 65 6c 64 5d 0a 20 20 20 20 20 20 20 20 5b 46 6f 72 6d 65 72 6c 79 53 65 72 69 61 6c 69 7a 65 64 eld].........[FormerlySerialized
36c0 41 73 28 22 6d 56 61 6c 75 65 22 29 5d 0a 20 20 20 20 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 As("mValue")].........protected.
36e0 73 74 72 69 6e 67 20 6d 5f 54 65 78 74 20 3d 20 73 74 72 69 6e 67 2e 45 6d 70 74 79 3b 0a 0a 20 string.m_Text.=.string.Empty;...
3700 20 20 20 20 20 20 20 5b 53 65 72 69 61 6c 69 7a 65 46 69 65 6c 64 5d 0a 20 20 20 20 20 20 20 20 .......[SerializeField].........
3720 5b 52 61 6e 67 65 28 30 66 2c 20 34 66 29 5d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 [Range(0f,.4f)].........private.
3740 66 6c 6f 61 74 20 6d 5f 43 61 72 65 74 42 6c 69 6e 6b 52 61 74 65 20 3d 20 30 2e 38 35 66 3b 0a float.m_CaretBlinkRate.=.0.85f;.
3760 0a 20 20 20 20 20 20 20 20 5b 53 65 72 69 61 6c 69 7a 65 46 69 65 6c 64 5d 0a 20 20 20 20 20 20 .........[SerializeField].......
3780 20 20 5b 52 61 6e 67 65 28 31 2c 20 35 29 5d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 ..[Range(1,.5)].........private.
37a0 69 6e 74 20 6d 5f 43 61 72 65 74 57 69 64 74 68 20 3d 20 31 3b 0a 0a 20 20 20 20 20 20 20 20 5b int.m_CaretWidth.=.1;..........[
37c0 53 65 72 69 61 6c 69 7a 65 46 69 65 6c 64 5d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 SerializeField].........private.
37e0 62 6f 6f 6c 20 6d 5f 52 65 61 64 4f 6e 6c 79 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 20 20 bool.m_ReadOnly.=.false;........
3800 20 20 70 72 6f 74 65 63 74 65 64 20 69 6e 74 20 6d 5f 43 61 72 65 74 50 6f 73 69 74 69 6f 6e 20 ..protected.int.m_CaretPosition.
3820 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 69 6e 74 20 6d 5f 43 61 72 =.0;.........protected.int.m_Car
3840 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 70 72 etSelectPosition.=.0;.........pr
3860 69 76 61 74 65 20 52 65 63 74 54 72 61 6e 73 66 6f 72 6d 20 63 61 72 65 74 52 65 63 74 54 72 61 ivate.RectTransform.caretRectTra
3880 6e 73 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 55 49 56 ns.=.null;.........protected.UIV
38a0 65 72 74 65 78 5b 5d 20 6d 5f 43 75 72 73 6f 72 56 65 72 74 73 20 3d 20 6e 75 6c 6c 3b 0a 20 20 ertex[].m_CursorVerts.=.null;...
38c0 20 20 20 20 20 20 70 72 69 76 61 74 65 20 54 65 78 74 47 65 6e 65 72 61 74 6f 72 20 6d 5f 49 6e ......private.TextGenerator.m_In
38e0 70 75 74 54 65 78 74 43 61 63 68 65 3b 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 43 61 putTextCache;.........private.Ca
3900 6e 76 61 73 52 65 6e 64 65 72 65 72 20 6d 5f 43 61 63 68 65 64 49 6e 70 75 74 52 65 6e 64 65 72 nvasRenderer.m_CachedInputRender
3920 65 72 3b 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 62 6f 6f 6c 20 6d 5f 50 72 65 76 65 er;.........private.bool.m_Preve
3940 6e 74 46 6f 6e 74 43 61 6c 6c 62 61 63 6b 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 ntFontCallback.=.false;.........
3960 5b 4e 6f 6e 53 65 72 69 61 6c 69 7a 65 64 5d 20 70 72 6f 74 65 63 74 65 64 20 4d 65 73 68 20 6d [NonSerialized].protected.Mesh.m
3980 5f 4d 65 73 68 3b 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 62 6f 6f 6c 20 6d 5f 41 6c _Mesh;.........private.bool.m_Al
39a0 6c 6f 77 49 6e 70 75 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 lowInput.=.false;.........privat
39c0 65 20 62 6f 6f 6c 20 6d 5f 53 68 6f 75 6c 64 41 63 74 69 76 61 74 65 4e 65 78 74 55 70 64 61 74 e.bool.m_ShouldActivateNextUpdat
39e0 65 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 62 6f 6f 6c 20 e.=.false;.........private.bool.
3a00 6d 5f 55 70 64 61 74 65 44 72 61 67 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 70 72 m_UpdateDrag.=.false;.........pr
3a20 69 76 61 74 65 20 62 6f 6f 6c 20 6d 5f 44 72 61 67 50 6f 73 69 74 69 6f 6e 4f 75 74 4f 66 42 6f ivate.bool.m_DragPositionOutOfBo
3a40 75 6e 64 73 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 63 6f unds.=.false;.........private.co
3a60 6e 73 74 20 66 6c 6f 61 74 20 6b 48 53 63 72 6f 6c 6c 53 70 65 65 64 20 3d 20 30 2e 30 35 66 3b nst.float.kHScrollSpeed.=.0.05f;
3a80 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 63 6f 6e 73 74 20 66 6c 6f 61 74 20 6b 56 53 .........private.const.float.kVS
3aa0 63 72 6f 6c 6c 53 70 65 65 64 20 3d 20 30 2e 31 30 66 3b 0a 20 20 20 20 20 20 20 20 70 72 6f 74 crollSpeed.=.0.10f;.........prot
3ac0 65 63 74 65 64 20 62 6f 6f 6c 20 6d 5f 43 61 72 65 74 56 69 73 69 62 6c 65 3b 0a 20 20 20 20 20 ected.bool.m_CaretVisible;......
3ae0 20 20 20 70 72 69 76 61 74 65 20 43 6f 72 6f 75 74 69 6e 65 20 6d 5f 42 6c 69 6e 6b 43 6f 72 6f ...private.Coroutine.m_BlinkCoro
3b00 75 74 69 6e 65 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 66 6c utine.=.null;.........private.fl
3b20 6f 61 74 20 6d 5f 42 6c 69 6e 6b 53 74 61 72 74 54 69 6d 65 20 3d 20 30 2e 30 66 3b 0a 20 20 20 oat.m_BlinkStartTime.=.0.0f;....
3b40 20 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 69 6e 74 20 6d 5f 44 72 61 77 53 74 61 72 74 20 3d .....protected.int.m_DrawStart.=
3b60 20 30 3b 0a 20 20 20 20 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 69 6e 74 20 6d 5f 44 72 61 77 .0;.........protected.int.m_Draw
3b80 45 6e 64 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 43 6f 72 6f 75 74 69 End.=.0;.........private.Corouti
3ba0 6e 65 20 6d 5f 44 72 61 67 43 6f 72 6f 75 74 69 6e 65 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 ne.m_DragCoroutine.=.null;......
3bc0 20 20 20 70 72 69 76 61 74 65 20 73 74 72 69 6e 67 20 6d 5f 4f 72 69 67 69 6e 61 6c 54 65 78 74 ...private.string.m_OriginalText
3be0 20 3d 20 22 22 3b 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 62 6f 6f 6c 20 6d 5f 57 61 .=."";.........private.bool.m_Wa
3c00 73 43 61 6e 63 65 6c 65 64 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 sCanceled.=.false;.........priva
3c20 74 65 20 62 6f 6f 6c 20 6d 5f 48 61 73 44 6f 6e 65 46 6f 63 75 73 54 72 61 6e 73 69 74 69 6f 6e te.bool.m_HasDoneFocusTransition
3c40 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 57 61 69 74 46 6f .=.false;.........private.WaitFo
3c60 72 53 65 63 6f 6e 64 73 52 65 61 6c 74 69 6d 65 20 6d 5f 57 61 69 74 46 6f 72 53 65 63 6f 6e 64 rSecondsRealtime.m_WaitForSecond
3c80 73 52 65 61 6c 74 69 6d 65 3b 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 62 6f 6f 6c 20 sRealtime;.........private.bool.
3ca0 6d 5f 54 6f 75 63 68 4b 65 79 62 6f 61 72 64 41 6c 6c 6f 77 73 49 6e 50 6c 61 63 65 45 64 69 74 m_TouchKeyboardAllowsInPlaceEdit
3cc0 69 6e 67 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 42 61 ing.=.false;..........private.Ba
3ce0 73 65 49 6e 70 75 74 20 69 6e 70 75 74 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 seInput.input.........{.........
3d00 20 20 20 20 67 65 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ....get.............{...........
3d20 20 20 20 20 20 20 69 66 20 28 45 76 65 6e 74 53 79 73 74 65 6d 2e 63 75 72 72 65 6e 74 20 26 26 ......if.(EventSystem.current.&&
3d40 20 45 76 65 6e 74 53 79 73 74 65 6d 2e 63 75 72 72 65 6e 74 2e 63 75 72 72 65 6e 74 49 6e 70 75 .EventSystem.current.currentInpu
3d60 74 4d 6f 64 75 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 tModule).....................ret
3d80 75 72 6e 20 45 76 65 6e 74 53 79 73 74 65 6d 2e 63 75 72 72 65 6e 74 2e 63 75 72 72 65 6e 74 49 urn.EventSystem.current.currentI
3da0 6e 70 75 74 4d 6f 64 75 6c 65 2e 69 6e 70 75 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nputModule.input;...............
3dc0 20 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 ..return.null;.............}....
3de0 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 73 74 72 69 6e 67 20 63 .....}..........private.string.c
3e00 6f 6d 70 6f 73 69 74 69 6f 6e 53 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 ompositionString.........{......
3e20 20 20 20 20 20 20 20 67 65 74 20 7b 20 72 65 74 75 72 6e 20 69 6e 70 75 74 20 21 3d 20 6e 75 6c .......get.{.return.input.!=.nul
3e40 6c 20 3f 20 69 6e 70 75 74 2e 63 6f 6d 70 6f 73 69 74 69 6f 6e 53 74 72 69 6e 67 20 3a 20 49 6e l.?.input.compositionString.:.In
3e60 70 75 74 2e 63 6f 6d 70 6f 73 69 74 69 6f 6e 53 74 72 69 6e 67 3b 20 7d 0a 20 20 20 20 20 20 20 put.compositionString;.}........
3e80 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 44 6f 65 73 6e 27 74 20 69 6e 63 6c 75 64 65 20 64 .}..........//.Doesn't.include.d
3ea0 6f 74 20 61 6e 64 20 40 20 6f 6e 20 70 75 72 70 6f 73 65 21 20 53 65 65 20 75 73 61 67 65 20 66 ot.and.@.on.purpose!.See.usage.f
3ec0 6f 72 20 64 65 74 61 69 6c 73 2e 0a 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 73 74 72 69 6e 67 or.details..........const.string
3ee0 20 6b 45 6d 61 69 6c 53 70 65 63 69 61 6c 43 68 61 72 61 63 74 65 72 73 20 3d 20 22 21 23 24 25 .kEmailSpecialCharacters.=."!#$%
3f00 26 27 2a 2b 2d 2f 3d 3f 5e 5f 60 7b 7c 7d 7e 22 3b 0a 0a 20 20 20 20 20 20 20 20 70 72 6f 74 65 &'*+-/=?^_`{|}~";..........prote
3f20 63 74 65 64 20 49 6e 70 75 74 46 69 65 6c 64 28 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 cted.InputField().........{.....
3f40 20 20 20 20 20 20 20 20 45 6e 66 6f 72 63 65 54 65 78 74 48 4f 76 65 72 66 6c 6f 77 28 29 3b 0a ........EnforceTextHOverflow();.
3f60 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 4d 65 73 ........}..........protected.Mes
3f80 68 20 6d 65 73 68 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 h.mesh.........{.............get
3fa0 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 .............{.................i
3fc0 66 20 28 6d 5f 4d 65 73 68 20 3d 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 f.(m_Mesh.==.null)..............
3fe0 20 20 20 20 20 20 20 6d 5f 4d 65 73 68 20 3d 20 6e 65 77 20 4d 65 73 68 28 29 3b 0a 20 20 20 20 .......m_Mesh.=.new.Mesh();.....
4000 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 5f 4d 65 73 68 3b 0a 20 20 20 20 20 ............return.m_Mesh;......
4020 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 72 6f 74 .......}.........}..........prot
4040 65 63 74 65 64 20 54 65 78 74 47 65 6e 65 72 61 74 6f 72 20 63 61 63 68 65 64 49 6e 70 75 74 54 ected.TextGenerator.cachedInputT
4060 65 78 74 47 65 6e 65 72 61 74 6f 72 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 extGenerator.........{..........
4080 20 20 20 67 65 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ...get.............{............
40a0 20 20 20 20 20 69 66 20 28 6d 5f 49 6e 70 75 74 54 65 78 74 43 61 63 68 65 20 3d 3d 20 6e 75 6c .....if.(m_InputTextCache.==.nul
40c0 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 49 6e 70 75 74 54 65 l).....................m_InputTe
40e0 78 74 43 61 63 68 65 20 3d 20 6e 65 77 20 54 65 78 74 47 65 6e 65 72 61 74 6f 72 28 29 3b 0a 0a xtCache.=.new.TextGenerator();..
4100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 5f 49 6e 70 75 74 54 65 ................return.m_InputTe
4120 78 74 43 61 63 68 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d xtCache;.............}.........}
4140 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 ..........///.<summary>.........
4160 2f 2f 2f 20 53 68 6f 75 6c 64 20 74 68 65 20 6d 6f 62 69 6c 65 20 6b 65 79 62 6f 61 72 64 20 69 ///.Should.the.mobile.keyboard.i
4180 6e 70 75 74 20 62 65 20 68 69 64 64 65 6e 2e 20 54 68 69 73 20 61 6c 6c 6f 77 73 20 66 6f 72 20 nput.be.hidden..This.allows.for.
41a0 69 6e 70 75 74 20 74 6f 20 68 61 70 70 65 6e 20 77 69 74 68 20 61 20 63 61 72 65 74 20 69 6e 20 input.to.happen.with.a.caret.in.
41c0 74 68 65 20 49 6e 70 75 74 46 69 65 6c 64 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 4f 53 20 69 the.InputField.instead.of.a.OS.i
41e0 6e 70 75 74 20 62 6f 78 20 61 62 6f 76 65 20 74 68 65 20 6b 65 79 62 6f 61 72 64 2e 0a 20 20 20 nput.box.above.the.keyboard.....
4200 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 .....///.</summary>.........///.
4220 3c 65 78 61 6d 70 6c 65 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 63 6f 64 65 3e 0a 20 20 20 <example>.........///.<code>....
4240 20 20 20 20 20 2f 2f 2f 20 75 73 69 6e 67 20 55 6e 69 74 79 45 6e 67 69 6e 65 3b 0a 20 20 20 20 .....///.using.UnityEngine;.....
4260 20 20 20 20 2f 2f 2f 20 75 73 69 6e 67 20 53 79 73 74 65 6d 2e 43 6f 6c 6c 65 63 74 69 6f 6e 73 ....///.using.System.Collections
4280 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 75 73 69 6e 67 20 55 6e 69 74 79 45 6e 67 69 6e 65 2e ;.........///.using.UnityEngine.
42a0 55 49 3b 20 2f 2f 20 52 65 71 75 69 72 65 64 20 77 68 65 6e 20 55 73 69 6e 67 20 55 49 20 65 6c UI;.//.Required.when.Using.UI.el
42c0 65 6d 65 6e 74 73 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 ements..........///.........///.
42e0 70 75 62 6c 69 63 20 63 6c 61 73 73 20 45 78 61 6d 70 6c 65 20 3a 20 4d 6f 6e 6f 42 65 68 61 76 public.class.Example.:.MonoBehav
4300 69 6f 75 72 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 iour.........///.{.........///..
4320 20 20 20 70 75 62 6c 69 63 20 49 6e 70 75 74 46 69 65 6c 64 20 6d 61 69 6e 49 6e 70 75 74 46 69 ...public.InputField.mainInputFi
4340 65 6c 64 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 eld;.........///.........///....
4360 20 70 75 62 6c 69 63 20 76 6f 69 64 20 53 74 61 72 74 28 29 0a 20 20 20 20 20 20 20 20 2f 2f 2f .public.void.Start().........///
4380 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 2f 2f 54 68 69 .....{.........///.........//Thi
43a0 73 20 73 65 74 74 69 6e 67 20 63 61 6e 20 62 65 20 74 6f 67 67 6c 65 64 20 69 6e 20 74 68 65 20 s.setting.can.be.toggled.in.the.
43c0 69 6e 73 70 65 63 74 6f 72 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 6d inspector..........///.........m
43e0 61 69 6e 49 6e 70 75 74 46 69 65 6c 64 2e 73 68 6f 75 6c 64 48 69 64 65 4d 6f 62 69 6c 65 49 6e ainInputField.shouldHideMobileIn
4400 70 75 74 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 7d 0a 20 20 put.=.true;.........///.....}...
4420 20 20 20 20 20 20 2f 2f 2f 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 63 6f 64 65 3e 0a ......///.}.........///.</code>.
4440 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 65 78 61 6d 70 6c 65 3e 0a 20 20 20 20 20 20 20 20 70 ........///.</example>.........p
4460 75 62 6c 69 63 20 62 6f 6f 6c 20 73 68 6f 75 6c 64 48 69 64 65 4d 6f 62 69 6c 65 49 6e 70 75 74 ublic.bool.shouldHideMobileInput
4480 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 0a 20 20 20 20 20 .........{.............set......
44a0 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 74 50 72 6f 70 .......{.................SetProp
44c0 65 72 74 79 55 74 69 6c 69 74 79 2e 53 65 74 53 74 72 75 63 74 28 72 65 66 20 6d 5f 48 69 64 65 ertyUtility.SetStruct(ref.m_Hide
44e0 4d 6f 62 69 6c 65 49 6e 70 75 74 2c 20 76 61 6c 75 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 MobileInput,.value);............
4500 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b .}.............get.............{
4520 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 77 69 74 63 68 20 28 41 70 70 6c 69 63 61 .................switch.(Applica
4540 74 69 6f 6e 2e 70 6c 61 74 66 6f 72 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b tion.platform).................{
4560 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 52 75 6e 74 69 6d .....................case.Runtim
4580 65 50 6c 61 74 66 6f 72 6d 2e 41 6e 64 72 6f 69 64 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ePlatform.Android:..............
45a0 20 20 20 20 20 20 20 63 61 73 65 20 52 75 6e 74 69 6d 65 50 6c 61 74 66 6f 72 6d 2e 49 50 68 6f .......case.RuntimePlatform.IPho
45c0 6e 65 50 6c 61 79 65 72 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 nePlayer:.....................ca
45e0 73 65 20 52 75 6e 74 69 6d 65 50 6c 61 74 66 6f 72 6d 2e 74 76 4f 53 3a 0a 20 20 20 20 20 20 20 se.RuntimePlatform.tvOS:........
4600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 5f 48 69 64 65 4d 6f .................return.m_HideMo
4620 62 69 6c 65 49 6e 70 75 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 bileInput;.................}....
4640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 20 ..............return.true;......
4660 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 62 6f 6f 6c .......}.........}..........bool
4680 20 73 68 6f 75 6c 64 41 63 74 69 76 61 74 65 4f 6e 53 65 6c 65 63 74 0a 20 20 20 20 20 20 20 20 .shouldActivateOnSelect.........
46a0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a {.............get.............{.
46c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 41 70 70 6c 69 63 61 74 69 ................return.Applicati
46e0 6f 6e 2e 70 6c 61 74 66 6f 72 6d 20 21 3d 20 52 75 6e 74 69 6d 65 50 6c 61 74 66 6f 72 6d 2e 74 on.platform.!=.RuntimePlatform.t
4700 76 4f 53 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 vOS;.............}.........}....
4720 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 ......///.<summary>.........///.
4740 49 6e 70 75 74 20 66 69 65 6c 64 27 73 20 63 75 72 72 65 6e 74 20 74 65 78 74 20 76 61 6c 75 65 Input.field's.current.text.value
4760 2e 20 54 68 69 73 20 69 73 20 6e 6f 74 20 6e 65 63 65 73 73 61 72 69 6c 79 20 74 68 65 20 73 61 ..This.is.not.necessarily.the.sa
4780 6d 65 20 61 73 20 77 68 61 74 20 69 73 20 76 69 73 69 62 6c 65 20 6f 6e 20 73 63 72 65 65 6e 2e me.as.what.is.visible.on.screen.
47a0 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 .........///.</summary>.........
47c0 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 4e 6f 74 65 20 74 ///.<remarks>.........///.Note.t
47e0 68 61 74 20 6e 75 6c 6c 20 69 73 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 20 66 6f 72 20 49 hat.null.is.invalid.value..for.I
4800 6e 70 75 74 46 69 65 6c 64 2e 74 65 78 74 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 nputField.text..........///.</re
4820 6d 61 72 6b 73 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 65 78 61 6d 70 6c 65 3e 0a 20 20 20 marks>.........///.<example>....
4840 20 20 20 20 20 2f 2f 2f 20 3c 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 75 73 69 6e .....///.<code>.........///.usin
4860 67 20 55 6e 69 74 79 45 6e 67 69 6e 65 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 75 73 69 6e 67 g.UnityEngine;.........///.using
4880 20 53 79 73 74 65 6d 2e 43 6f 6c 6c 65 63 74 69 6f 6e 73 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f .System.Collections;.........///
48a0 20 75 73 69 6e 67 20 55 6e 69 74 79 45 6e 67 69 6e 65 2e 55 49 3b 20 2f 2f 20 52 65 71 75 69 72 .using.UnityEngine.UI;.//.Requir
48c0 65 64 20 77 68 65 6e 20 55 73 69 6e 67 20 55 49 20 65 6c 65 6d 65 6e 74 73 2e 0a 20 20 20 20 20 ed.when.Using.UI.elements.......
48e0 20 20 20 2f 2f 2f 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 70 75 62 6c 69 63 20 63 6c 61 73 73 20 ...///.........///.public.class.
4900 45 78 61 6d 70 6c 65 20 3a 20 4d 6f 6e 6f 42 65 68 61 76 69 6f 75 72 0a 20 20 20 20 20 20 20 20 Example.:.MonoBehaviour.........
4920 2f 2f 2f 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 70 75 62 6c 69 63 20 49 6e 70 ///.{.........///.....public.Inp
4940 75 74 46 69 65 6c 64 20 6d 61 69 6e 49 6e 70 75 74 46 69 65 6c 64 3b 0a 20 20 20 20 20 20 20 20 utField.mainInputField;.........
4960 2f 2f 2f 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 70 75 62 6c 69 63 20 76 6f 69 64 20 ///.........///.....public.void.
4980 53 74 61 72 74 28 29 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 7b 0a 20 20 20 20 20 20 Start().........///.....{.......
49a0 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 6d 61 69 6e 49 6e 70 75 74 46 69 65 6c 64 2e 74 65 78 ..///.........mainInputField.tex
49c0 74 20 3d 20 22 45 6e 74 65 72 20 54 65 78 74 20 48 65 72 65 2e 2e 2e 22 3b 0a 20 20 20 20 20 20 t.=."Enter.Text.Here...";.......
49e0 20 20 2f 2f 2f 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 7d 0a 20 20 20 20 20 20 ..///.....}.........///.}.......
4a00 20 20 2f 2f 2f 20 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 65 78 61 6d ..///.</code>.........///.</exam
4a20 70 6c 65 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 72 69 6e 67 20 74 65 78 74 0a ple>.........public.string.text.
4a40 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 0a 20 20 20 20 20 20 ........{.............get.......
4a60 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d ......{.................return.m
4a80 5f 54 65 78 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 _Text;.............}............
4aa0 20 73 65 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .set.............{..............
4ac0 20 20 20 53 65 74 54 65 78 74 28 76 61 6c 75 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d ...SetText(value);.............}
4ae0 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 .........}..........///.<summary
4b00 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 53 65 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 74 65 >.........///.Set.the.current.te
4b20 78 74 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 49 6e 70 75 74 20 66 69 65 6c 64 20 77 69 74 68 xt.value.of.the.Input.field.with
4b40 6f 75 74 20 69 6e 76 6f 6b 69 6e 67 20 6f 6e 56 61 6c 75 65 43 68 61 6e 67 65 64 2e 0a 20 20 20 out.invoking.onValueChanged.....
4b60 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 .....///.</summary>.........///.
4b80 3c 72 65 6d 61 72 6b 73 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 68 69 73 20 69 73 20 6e 6f <remarks>.........///.This.is.no
4ba0 74 20 6e 65 63 65 73 73 61 72 69 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 77 68 61 74 20 69 t.necessarily.the.same.as.what.i
4bc0 73 20 76 69 73 69 62 6c 65 20 6f 6e 20 73 63 72 65 65 6e 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f s.visible.on.screen..........///
4be0 20 3c 2f 72 65 6d 61 72 6b 73 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 76 6f 69 64 20 .</remarks>.........public.void.
4c00 53 65 74 54 65 78 74 57 69 74 68 6f 75 74 4e 6f 74 69 66 79 28 73 74 72 69 6e 67 20 69 6e 70 75 SetTextWithoutNotify(string.inpu
4c20 74 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 53 65 74 54 65 78 74 t).........{.............SetText
4c40 28 69 6e 70 75 74 2c 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 (input,.false);.........}.......
4c60 20 20 20 76 6f 69 64 20 53 65 74 54 65 78 74 28 73 74 72 69 6e 67 20 76 61 6c 75 65 2c 20 62 6f ...void.SetText(string.value,.bo
4c80 6f 6c 20 73 65 6e 64 43 61 6c 6c 62 61 63 6b 20 3d 20 74 72 75 65 29 0a 20 20 20 20 20 20 20 20 ol.sendCallback.=.true).........
4ca0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 68 69 73 2e 74 65 78 74 20 3d 3d 20 76 {.............if.(this.text.==.v
4cc0 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 20 20 alue).................return;...
4ce0 20 20 20 20 20 20 20 20 20 20 69 66 20 28 76 61 6c 75 65 20 3d 3d 20 6e 75 6c 6c 29 0a 20 20 20 ..........if.(value.==.null)....
4d00 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 3d 20 22 22 3b 0a 20 20 20 20 20 20 20 .............value.=."";........
4d20 20 20 20 20 20 76 61 6c 75 65 20 3d 20 76 61 6c 75 65 2e 52 65 70 6c 61 63 65 28 22 5c 30 22 2c .....value.=.value.Replace("\0",
4d40 20 73 74 72 69 6e 67 2e 45 6d 70 74 79 29 3b 20 2f 2f 20 72 65 6d 6f 76 65 20 65 6d 62 65 64 64 .string.Empty);.//.remove.embedd
4d60 65 64 20 6e 75 6c 6c 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 4c 69 6e 65 54 ed.nulls.............if.(m_LineT
4d80 79 70 65 20 3d 3d 20 4c 69 6e 65 54 79 70 65 2e 53 69 6e 67 6c 65 4c 69 6e 65 29 0a 20 20 20 20 ype.==.LineType.SingleLine).....
4da0 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 3d 20 76 61 6c 75 65 2e 52 65 70 6c 61 63 ............value.=.value.Replac
4dc0 65 28 22 5c 6e 22 2c 20 22 22 29 2e 52 65 70 6c 61 63 65 28 22 5c 74 22 2c 20 22 22 29 3b 0a 0a e("\n",."").Replace("\t",."");..
4de0 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 66 20 77 65 20 68 61 76 65 20 61 6e 20 69 6e 70 ............//.If.we.have.an.inp
4e00 75 74 20 76 61 6c 69 64 61 74 6f 72 2c 20 76 61 6c 69 64 61 74 65 20 74 68 65 20 69 6e 70 75 74 ut.validator,.validate.the.input
4e20 20 61 6e 64 20 61 70 70 6c 79 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 6c 69 6d 69 74 20 61 .and.apply.the.character.limit.a
4e40 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 t.the.same.time..............if.
4e60 28 6f 6e 56 61 6c 69 64 61 74 65 49 6e 70 75 74 20 21 3d 20 6e 75 6c 6c 20 7c 7c 20 63 68 61 72 (onValidateInput.!=.null.||.char
4e80 61 63 74 65 72 56 61 6c 69 64 61 74 69 6f 6e 20 21 3d 20 43 68 61 72 61 63 74 65 72 56 61 6c 69 acterValidation.!=.CharacterVali
4ea0 64 61 74 69 6f 6e 2e 4e 6f 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 dation.None).............{......
4ec0 20 20 20 20 20 20 20 20 20 20 20 6d 5f 54 65 78 74 20 3d 20 22 22 3b 0a 20 20 20 20 20 20 20 20 ...........m_Text.=."";.........
4ee0 20 20 20 20 20 20 20 20 4f 6e 56 61 6c 69 64 61 74 65 49 6e 70 75 74 20 76 61 6c 69 64 61 74 6f ........OnValidateInput.validato
4f00 72 4d 65 74 68 6f 64 20 3d 20 6f 6e 56 61 6c 69 64 61 74 65 49 6e 70 75 74 20 3f 3f 20 56 61 6c rMethod.=.onValidateInput.??.Val
4f20 69 64 61 74 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 43 61 72 65 74 50 6f idate;.................m_CaretPo
4f40 73 69 74 69 6f 6e 20 3d 20 6d 5f 43 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 20 3d sition.=.m_CaretSelectPosition.=
4f60 20 76 61 6c 75 65 2e 4c 65 6e 67 74 68 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 .value.Length;.................i
4f80 6e 74 20 63 68 61 72 61 63 74 65 72 73 54 6f 43 68 65 63 6b 20 3d 20 63 68 61 72 61 63 74 65 72 nt.charactersToCheck.=.character
4fa0 4c 69 6d 69 74 20 3e 20 30 20 3f 20 4d 61 74 68 2e 4d 69 6e 28 63 68 61 72 61 63 74 65 72 4c 69 Limit.>.0.?.Math.Min(characterLi
4fc0 6d 69 74 2c 20 76 61 6c 75 65 2e 4c 65 6e 67 74 68 29 20 3a 20 76 61 6c 75 65 2e 4c 65 6e 67 74 mit,.value.Length).:.value.Lengt
4fe0 68 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 h;.................for.(int.i.=.
5000 30 3b 20 69 20 3c 20 63 68 61 72 61 63 74 65 72 73 54 6f 43 68 65 63 6b 3b 20 2b 2b 69 29 0a 20 0;.i.<.charactersToCheck;.++i)..
5020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............{................
5040 20 20 20 20 20 63 68 61 72 20 63 20 3d 20 76 61 6c 69 64 61 74 6f 72 4d 65 74 68 6f 64 28 6d 5f .....char.c.=.validatorMethod(m_
5060 54 65 78 74 2c 20 6d 5f 54 65 78 74 2e 4c 65 6e 67 74 68 2c 20 76 61 6c 75 65 5b 69 5d 29 3b 0a Text,.m_Text.Length,.value[i]);.
5080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 20 21 3d 20 30 29 0a ....................if.(c.!=.0).
50a0 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 54 65 78 74 20 2b ........................m_Text.+
50c0 3d 20 63 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 =.c;.................}..........
50e0 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 ...}.............else...........
5100 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 54 65 78 74 20 3d 20 63 68 61 ..{.................m_Text.=.cha
5120 72 61 63 74 65 72 4c 69 6d 69 74 20 3e 20 30 20 26 26 20 76 61 6c 75 65 2e 4c 65 6e 67 74 68 20 racterLimit.>.0.&&.value.Length.
5140 3e 20 63 68 61 72 61 63 74 65 72 4c 69 6d 69 74 20 3f 20 76 61 6c 75 65 2e 53 75 62 73 74 72 69 >.characterLimit.?.value.Substri
5160 6e 67 28 30 2c 20 63 68 61 72 61 63 74 65 72 4c 69 6d 69 74 29 20 3a 20 76 61 6c 75 65 3b 0a 20 ng(0,.characterLimit).:.value;..
5180 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 23 69 66 20 55 4e 49 54 59 5f 45 44 49 54 4f 52 0a 20 ...........}..#if.UNITY_EDITOR..
51a0 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 41 70 70 6c 69 63 61 74 69 6f 6e 2e 69 73 50 6c ...........if.(!Application.isPl
51c0 61 79 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 aying).............{............
51e0 20 20 20 20 20 53 65 6e 64 4f 6e 56 61 6c 75 65 43 68 61 6e 67 65 64 41 6e 64 55 70 64 61 74 65 .....SendOnValueChangedAndUpdate
5200 4c 61 62 65 6c 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b Label();.................return;
5220 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 23 65 6e 64 69 66 0a 0a 20 20 20 20 20 20 20 20 20 .............}.#endif...........
5240 20 20 20 69 66 20 28 6d 5f 4b 65 79 62 6f 61 72 64 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 ...if.(m_Keyboard.!=.null)......
5260 20 20 20 20 20 20 20 20 20 20 20 6d 5f 4b 65 79 62 6f 61 72 64 2e 74 65 78 74 20 3d 20 6d 5f 54 ...........m_Keyboard.text.=.m_T
5280 65 78 74 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 43 61 72 65 74 50 6f 73 ext;..............if.(m_CaretPos
52a0 69 74 69 6f 6e 20 3e 20 6d 5f 54 65 78 74 2e 4c 65 6e 67 74 68 29 0a 20 20 20 20 20 20 20 20 20 ition.>.m_Text.Length)..........
52c0 20 20 20 20 20 20 20 6d 5f 43 61 72 65 74 50 6f 73 69 74 69 6f 6e 20 3d 20 6d 5f 43 61 72 65 74 .......m_CaretPosition.=.m_Caret
52e0 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 20 3d 20 6d 5f 54 65 78 74 2e 4c 65 6e 67 74 68 3b 0a SelectPosition.=.m_Text.Length;.
5300 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 6d 5f 43 61 72 65 74 53 65 6c 65 ............else.if.(m_CaretSele
5320 63 74 50 6f 73 69 74 69 6f 6e 20 3e 20 6d 5f 54 65 78 74 2e 4c 65 6e 67 74 68 29 0a 20 20 20 20 ctPosition.>.m_Text.Length).....
5340 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 43 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f ............m_CaretSelectPositio
5360 6e 20 3d 20 6d 5f 54 65 78 74 2e 4c 65 6e 67 74 68 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 n.=.m_Text.Length;..............
5380 69 66 20 28 73 65 6e 64 43 61 6c 6c 62 61 63 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 if.(sendCallback)...............
53a0 20 20 53 65 6e 64 4f 6e 56 61 6c 75 65 43 68 61 6e 67 65 64 28 29 3b 0a 20 20 20 20 20 20 20 20 ..SendOnValueChanged();.........
53c0 20 20 20 20 55 70 64 61 74 65 4c 61 62 65 6c 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 ....UpdateLabel();.........}....
53e0 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 ......///.<summary>.........///.
5400 57 68 65 74 68 65 72 20 74 68 65 20 49 6e 70 75 74 46 69 65 6c 64 20 68 61 73 20 66 6f 63 75 73 Whether.the.InputField.has.focus
5420 20 61 6e 64 20 77 68 65 74 68 65 72 20 69 74 20 69 73 20 61 62 6c 65 20 74 6f 20 70 72 6f 63 65 .and.whether.it.is.able.to.proce
5440 73 73 20 65 76 65 6e 74 73 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 ss.events..........///.</summary
5460 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 65 78 61 6d 70 6c 65 3e 0a 20 20 20 20 20 20 20 20 >.........///.<example>.........
5480 2f 2f 2f 20 3c 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 75 73 69 6e 67 20 55 6e 69 ///.<code>.........///.using.Uni
54a0 74 79 45 6e 67 69 6e 65 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 75 73 69 6e 67 20 53 79 73 74 tyEngine;.........///.using.Syst
54c0 65 6d 2e 43 6f 6c 6c 65 63 74 69 6f 6e 73 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 75 73 69 6e em.Collections;.........///.usin
54e0 67 20 55 6e 69 74 79 45 6e 67 69 6e 65 2e 55 49 3b 20 2f 2f 20 52 65 71 75 69 72 65 64 20 77 68 g.UnityEngine.UI;.//.Required.wh
5500 65 6e 20 55 73 69 6e 67 20 55 49 20 65 6c 65 6d 65 6e 74 73 2e 0a 20 20 20 20 20 20 20 20 2f 2f en.Using.UI.elements..........//
5520 2f 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 70 75 62 6c 69 63 20 63 6c 61 73 73 20 45 78 61 6d 70 /.........///.public.class.Examp
5540 6c 65 20 3a 20 4d 6f 6e 6f 42 65 68 61 76 69 6f 75 72 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 7b le.:.MonoBehaviour.........///.{
5560 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 70 75 62 6c 69 63 20 47 61 6d 65 4f 62 6a 65 .........///.....public.GameObje
5580 63 74 20 6d 61 69 6e 49 6e 70 75 74 46 69 65 6c 64 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0a 20 ct.mainInputField;.........///..
55a0 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 76 6f 69 64 20 55 70 64 61 74 65 28 29 0a 20 20 20 .......///.....void.Update()....
55c0 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 .....///.....{.........///......
55e0 20 20 20 2f 2f 49 66 20 74 68 65 20 69 6e 70 75 74 20 66 69 65 6c 64 20 69 73 20 66 6f 63 75 73 ...//If.the.input.field.is.focus
5600 65 64 2c 20 63 68 61 6e 67 65 20 69 74 73 20 63 6f 6c 6f 72 20 74 6f 20 67 72 65 65 6e 2e 0a 20 ed,.change.its.color.to.green...
5620 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 61 69 6e 49 6e 70 75 74 .......///.........if.(mainInput
5640 46 69 65 6c 64 2e 47 65 74 43 6f 6d 70 6f 6e 65 6e 74 3c 49 6e 70 75 74 46 69 65 6c 64 3e 28 29 Field.GetComponent<InputField>()
5660 2e 69 73 46 6f 63 75 73 65 64 20 3d 3d 20 74 72 75 65 29 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 .isFocused.==.true).........///.
5680 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 20 20 ........{.........///...........
56a0 20 20 6d 61 69 6e 49 6e 70 75 74 46 69 65 6c 64 2e 47 65 74 43 6f 6d 70 6f 6e 65 6e 74 3c 49 6d ..mainInputField.GetComponent<Im
56c0 61 67 65 3e 28 29 2e 63 6f 6c 6f 72 20 3d 20 43 6f 6c 6f 72 2e 67 72 65 65 6e 3b 0a 20 20 20 20 age>().color.=.Color.green;.....
56e0 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 ....///.........}.........///...
5700 20 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f ..}.........///.}.........///.</
5720 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 65 78 61 6d 70 6c 65 3e 0a 20 20 20 code>.........///.</example>....
5740 20 20 20 20 20 70 75 62 6c 69 63 20 62 6f 6f 6c 20 69 73 46 6f 63 75 73 65 64 0a 20 20 20 20 20 .....public.bool.isFocused......
5760 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 20 7b 20 72 65 74 75 72 6e 20 6d 5f ...{.............get.{.return.m_
5780 41 6c 6c 6f 77 49 6e 70 75 74 3b 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 AllowInput;.}.........}.........
57a0 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 68 65 20 62 .///.<summary>.........///.The.b
57c0 6c 69 6e 6b 69 6e 67 20 72 61 74 65 20 6f 66 20 74 68 65 20 69 6e 70 75 74 20 63 61 72 65 74 2c linking.rate.of.the.input.caret,
57e0 20 64 65 66 69 6e 65 64 20 61 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 74 69 6d 65 73 20 .defined.as.the.number.of.times.
5800 74 68 65 20 62 6c 69 6e 6b 20 63 79 63 6c 65 20 6f 63 63 75 72 73 20 70 65 72 20 73 65 63 6f 6e the.blink.cycle.occurs.per.secon
5820 64 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 d..........///.</summary>.......
5840 20 20 70 75 62 6c 69 63 20 66 6c 6f 61 74 20 63 61 72 65 74 42 6c 69 6e 6b 52 61 74 65 0a 20 20 ..public.float.caretBlinkRate...
5860 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 20 7b 20 72 65 74 75 72 6e ......{.............get.{.return
5880 20 6d 5f 43 61 72 65 74 42 6c 69 6e 6b 52 61 74 65 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 .m_CaretBlinkRate;.}............
58a0 20 73 65 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .set.............{..............
58c0 20 20 20 69 66 20 28 53 65 74 50 72 6f 70 65 72 74 79 55 74 69 6c 69 74 79 2e 53 65 74 53 74 72 ...if.(SetPropertyUtility.SetStr
58e0 75 63 74 28 72 65 66 20 6d 5f 43 61 72 65 74 42 6c 69 6e 6b 52 61 74 65 2c 20 76 61 6c 75 65 29 uct(ref.m_CaretBlinkRate,.value)
5900 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ).................{.............
5920 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 41 6c 6c 6f 77 49 6e 70 75 74 29 0a 20 20 20 20 20 20 ........if.(m_AllowInput).......
5940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 74 43 61 72 65 74 41 63 74 69 76 65 ..................SetCaretActive
5960 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 ();.................}...........
5980 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d ..}.........}..........///.<summ
59a0 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 68 65 20 77 69 64 74 68 20 6f 66 20 74 68 ary>.........///.The.width.of.th
59c0 65 20 63 61 72 65 74 20 69 6e 20 70 69 78 65 6c 73 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c e.caret.in.pixels..........///.<
59e0 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 20 63 61 72 /summary>.........public.int.car
5a00 65 74 57 69 64 74 68 20 7b 20 67 65 74 20 7b 20 72 65 74 75 72 6e 20 6d 5f 43 61 72 65 74 57 69 etWidth.{.get.{.return.m_CaretWi
5a20 64 74 68 3b 20 7d 20 73 65 74 20 7b 20 69 66 20 28 53 65 74 50 72 6f 70 65 72 74 79 55 74 69 6c dth;.}.set.{.if.(SetPropertyUtil
5a40 69 74 79 2e 53 65 74 53 74 72 75 63 74 28 72 65 66 20 6d 5f 43 61 72 65 74 57 69 64 74 68 2c 20 ity.SetStruct(ref.m_CaretWidth,.
5a60 76 61 6c 75 65 29 29 20 4d 61 72 6b 47 65 6f 6d 65 74 72 79 41 73 44 69 72 74 79 28 29 3b 20 7d value)).MarkGeometryAsDirty();.}
5a80 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 .}..........///.<summary>.......
5aa0 20 20 2f 2f 2f 20 54 68 65 20 54 65 78 74 20 63 6f 6d 70 6f 6e 65 6e 74 20 74 68 61 74 20 69 73 ..///.The.Text.component.that.is
5ac0 20 67 6f 69 6e 67 20 74 6f 20 62 65 20 75 73 65 64 20 74 6f 20 72 65 6e 64 65 72 20 74 68 65 20 .going.to.be.used.to.render.the.
5ae0 74 65 78 74 20 74 6f 20 73 63 72 65 65 6e 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 text.to.screen..........///.</su
5b00 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 54 65 78 74 20 74 65 78 74 43 mmary>.........public.Text.textC
5b20 6f 6d 70 6f 6e 65 6e 74 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 omponent.........{.............g
5b40 65 74 20 7b 20 72 65 74 75 72 6e 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 3b 20 7d 0a 20 et.{.return.m_TextComponent;.}..
5b60 20 20 20 20 20 20 20 20 20 20 20 73 65 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 ...........set.............{....
5b80 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 .............if.(m_TextComponent
5ba0 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 .!=.null).................{.....
5bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e ................m_TextComponent.
5be0 55 6e 72 65 67 69 73 74 65 72 44 69 72 74 79 56 65 72 74 69 63 65 73 43 61 6c 6c 62 61 63 6b 28 UnregisterDirtyVerticesCallback(
5c00 4d 61 72 6b 47 65 6f 6d 65 74 72 79 41 73 44 69 72 74 79 29 3b 0a 20 20 20 20 20 20 20 20 20 20 MarkGeometryAsDirty);...........
5c20 20 20 20 20 20 20 20 20 20 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 55 6e 72 65 67 69 ..........m_TextComponent.Unregi
5c40 73 74 65 72 44 69 72 74 79 56 65 72 74 69 63 65 73 43 61 6c 6c 62 61 63 6b 28 55 70 64 61 74 65 sterDirtyVerticesCallback(Update
5c60 4c 61 62 65 6c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 54 65 Label);.....................m_Te
5c80 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 55 6e 72 65 67 69 73 74 65 72 44 69 72 74 79 4d 61 74 65 72 xtComponent.UnregisterDirtyMater
5ca0 69 61 6c 43 61 6c 6c 62 61 63 6b 28 55 70 64 61 74 65 43 61 72 65 74 4d 61 74 65 72 69 61 6c 29 ialCallback(UpdateCaretMaterial)
5cc0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 ;.................}.............
5ce0 20 20 20 20 20 69 66 20 28 53 65 74 50 72 6f 70 65 72 74 79 55 74 69 6c 69 74 79 2e 53 65 74 43 .....if.(SetPropertyUtility.SetC
5d00 6c 61 73 73 28 72 65 66 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2c 20 76 61 6c 75 65 29 lass(ref.m_TextComponent,.value)
5d20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ).................{.............
5d40 20 20 20 20 20 20 20 20 45 6e 66 6f 72 63 65 54 65 78 74 48 4f 76 65 72 66 6c 6f 77 28 29 3b 0a ........EnforceTextHOverflow();.
5d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 54 65 78 74 43 6f ....................if.(m_TextCo
5d80 6d 70 6f 6e 65 6e 74 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mponent.!=.null)................
5da0 20 20 20 20 20 7b 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 .....{.........................m
5dc0 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 52 65 67 69 73 74 65 72 44 69 72 74 79 56 65 72 74 _TextComponent.RegisterDirtyVert
5de0 69 63 65 73 43 61 6c 6c 62 61 63 6b 28 4d 61 72 6b 47 65 6f 6d 65 74 72 79 41 73 44 69 72 74 79 icesCallback(MarkGeometryAsDirty
5e00 29 3b 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 54 65 78 );.........................m_Tex
5e20 74 43 6f 6d 70 6f 6e 65 6e 74 2e 52 65 67 69 73 74 65 72 44 69 72 74 79 56 65 72 74 69 63 65 73 tComponent.RegisterDirtyVertices
5e40 43 61 6c 6c 62 61 63 6b 28 55 70 64 61 74 65 4c 61 62 65 6c 29 3b 0a 20 20 20 20 20 20 20 20 20 Callback(UpdateLabel);..........
5e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 52 ...............m_TextComponent.R
5e80 65 67 69 73 74 65 72 44 69 72 74 79 4d 61 74 65 72 69 61 6c 43 61 6c 6c 62 61 63 6b 28 55 70 64 egisterDirtyMaterialCallback(Upd
5ea0 61 74 65 43 61 72 65 74 4d 61 74 65 72 69 61 6c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ateCaretMaterial);..............
5ec0 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 .......}.................}......
5ee0 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 .......}.........}..........///.
5f00 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 68 69 73 20 69 73 20 61 6e <summary>.........///.This.is.an
5f20 20 6f 70 74 69 6f 6e 61 6c 20 e2 80 98 65 6d 70 74 79 e2 80 99 20 67 72 61 70 68 69 63 20 74 6f .optional....empty....graphic.to
5f40 20 73 68 6f 77 20 74 68 61 74 20 74 68 65 20 49 6e 70 75 74 46 69 65 6c 64 20 74 65 78 74 20 66 .show.that.the.InputField.text.f
5f60 69 65 6c 64 20 69 73 20 65 6d 70 74 79 2e 20 4e 6f 74 65 20 74 68 61 74 20 74 68 69 73 20 e2 80 ield.is.empty..Note.that.this...
5f80 98 65 6d 70 74 79 27 20 67 72 61 70 68 69 63 20 73 74 69 6c 6c 20 64 69 73 70 6c 61 79 73 20 65 .empty'.graphic.still.displays.e
5fa0 76 65 6e 20 77 68 65 6e 20 74 68 65 20 49 6e 70 75 74 46 69 65 6c 64 20 69 73 20 73 65 6c 65 63 ven.when.the.InputField.is.selec
5fc0 74 65 64 20 28 74 68 61 74 20 69 73 3b 20 77 68 65 6e 20 74 68 65 72 65 20 69 73 20 66 6f 63 75 ted.(that.is;.when.there.is.focu
5fe0 73 20 6f 6e 20 69 74 29 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 41 20 70 6c 61 63 65 68 6f 6c s.on.it)..........///.A.placehol
6000 64 65 72 20 67 72 61 70 68 69 63 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 73 68 6f 77 20 der.graphic.can.be.used.to.show.
6020 73 75 62 74 6c 65 20 68 69 6e 74 73 20 6f 72 20 6d 61 6b 65 20 69 74 20 6d 6f 72 65 20 6f 62 76 subtle.hints.or.make.it.more.obv
6040 69 6f 75 73 20 74 68 61 74 20 74 68 65 20 63 6f 6e 74 72 6f 6c 20 69 73 20 61 6e 20 49 6e 70 75 ious.that.the.control.is.an.Inpu
6060 74 46 69 65 6c 64 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 tField..........///.</summary>..
6080 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f .......///.<remarks>.........///
60a0 20 49 66 20 61 20 54 65 78 74 20 63 6f 6d 70 6f 6e 65 6e 74 20 69 73 20 75 73 65 64 20 61 73 20 .If.a.Text.component.is.used.as.
60c0 74 68 65 20 70 6c 61 63 65 68 6f 6c 64 65 72 2c 20 69 74 27 73 20 72 65 63 6f 6d 6d 65 6e 64 65 the.placeholder,.it's.recommende
60e0 64 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 70 6c 61 63 65 68 6f 6c 64 65 72 20 74 65 78 74 20 6c d.to.make.the.placeholder.text.l
6100 6f 6f 6b 20 64 69 66 66 65 72 65 6e 74 20 66 72 6f 6d 20 74 68 65 20 72 65 61 6c 20 74 65 78 74 ook.different.from.the.real.text
6120 20 6f 66 20 74 68 65 20 49 6e 70 75 74 46 69 65 6c 64 20 73 6f 20 74 68 65 79 20 61 72 65 20 6e .of.the.InputField.so.they.are.n
6140 6f 74 20 65 61 73 69 6c 79 20 63 6f 6e 66 75 73 65 64 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c ot.easily.confused..For.example,
6160 20 74 68 65 20 70 6c 61 63 65 68 6f 6c 64 65 72 20 74 65 78 74 20 6d 69 67 68 74 20 62 65 20 61 .the.placeholder.text.might.be.a
6180 20 6d 6f 72 65 20 73 75 62 74 6c 65 20 63 6f 6c 6f 72 20 6f 72 20 68 61 76 65 20 6c 6f 77 65 72 .more.subtle.color.or.have.lower
61a0 20 61 6c 70 68 61 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 6d 61 .alpha.value..........///.</rema
61c0 72 6b 73 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 47 72 61 70 68 69 63 20 70 6c 61 63 rks>.........public.Graphic.plac
61e0 65 68 6f 6c 64 65 72 20 7b 20 67 65 74 20 7b 20 72 65 74 75 72 6e 20 6d 5f 50 6c 61 63 65 68 6f eholder.{.get.{.return.m_Placeho
6200 6c 64 65 72 3b 20 7d 20 73 65 74 20 7b 20 53 65 74 50 72 6f 70 65 72 74 79 55 74 69 6c 69 74 79 lder;.}.set.{.SetPropertyUtility
6220 2e 53 65 74 43 6c 61 73 73 28 72 65 66 20 6d 5f 50 6c 61 63 65 68 6f 6c 64 65 72 2c 20 76 61 6c .SetClass(ref.m_Placeholder,.val
6240 75 65 29 3b 20 7d 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a ue);.}.}..........///.<summary>.
6260 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 68 65 20 63 75 73 74 6f 6d 20 63 61 72 65 74 20 63 6f 6c ........///.The.custom.caret.col
6280 6f 72 20 75 73 65 64 20 69 66 20 63 75 73 74 6f 6d 43 61 72 65 74 43 6f 6c 6f 72 20 69 73 20 73 or.used.if.customCaretColor.is.s
62a0 65 74 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 et..........///.</summary>......
62c0 20 20 20 70 75 62 6c 69 63 20 43 6f 6c 6f 72 20 63 61 72 65 74 43 6f 6c 6f 72 20 7b 20 67 65 74 ...public.Color.caretColor.{.get
62e0 20 7b 20 72 65 74 75 72 6e 20 63 75 73 74 6f 6d 43 61 72 65 74 43 6f 6c 6f 72 20 3f 20 6d 5f 43 .{.return.customCaretColor.?.m_C
6300 61 72 65 74 43 6f 6c 6f 72 20 3a 20 74 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 63 6f 6c 6f 72 3b aretColor.:.textComponent.color;
6320 20 7d 20 73 65 74 20 7b 20 69 66 20 28 53 65 74 50 72 6f 70 65 72 74 79 55 74 69 6c 69 74 79 2e .}.set.{.if.(SetPropertyUtility.
6340 53 65 74 43 6f 6c 6f 72 28 72 65 66 20 6d 5f 43 61 72 65 74 43 6f 6c 6f 72 2c 20 76 61 6c 75 65 SetColor(ref.m_CaretColor,.value
6360 29 29 20 4d 61 72 6b 47 65 6f 6d 65 74 72 79 41 73 44 69 72 74 79 28 29 3b 20 7d 20 7d 0a 0a 20 )).MarkGeometryAsDirty();.}.}...
6380 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f .......///.<summary>.........///
63a0 20 53 68 6f 75 6c 64 20 61 20 63 75 73 74 6f 6d 20 63 61 72 65 74 20 63 6f 6c 6f 72 20 62 65 20 .Should.a.custom.caret.color.be.
63c0 75 73 65 64 20 6f 72 20 73 68 6f 75 6c 64 20 74 68 65 20 74 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 used.or.should.the.textComponent
63e0 2e 63 6f 6c 6f 72 20 62 65 20 75 73 65 64 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 .color.be.used..........///.</su
6400 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 62 6f 6f 6c 20 63 75 73 74 6f mmary>.........public.bool.custo
6420 6d 43 61 72 65 74 43 6f 6c 6f 72 20 7b 20 67 65 74 20 7b 20 72 65 74 75 72 6e 20 6d 5f 43 75 73 mCaretColor.{.get.{.return.m_Cus
6440 74 6f 6d 43 61 72 65 74 43 6f 6c 6f 72 3b 20 7d 20 73 65 74 20 7b 20 69 66 20 28 6d 5f 43 75 73 tomCaretColor;.}.set.{.if.(m_Cus
6460 74 6f 6d 43 61 72 65 74 43 6f 6c 6f 72 20 21 3d 20 76 61 6c 75 65 29 20 7b 20 6d 5f 43 75 73 74 tomCaretColor.!=.value).{.m_Cust
6480 6f 6d 43 61 72 65 74 43 6f 6c 6f 72 20 3d 20 76 61 6c 75 65 3b 20 4d 61 72 6b 47 65 6f 6d 65 74 omCaretColor.=.value;.MarkGeomet
64a0 72 79 41 73 44 69 72 74 79 28 29 3b 20 7d 20 7d 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 ryAsDirty();.}.}.}..........///.
64c0 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 68 65 20 63 6f 6c 6f 72 20 <summary>.........///.The.color.
64e0 6f 66 20 74 68 65 20 68 69 67 68 6c 69 67 68 74 20 74 6f 20 73 68 6f 77 20 77 68 69 63 68 20 63 of.the.highlight.to.show.which.c
6500 68 61 72 61 63 74 65 72 73 20 61 72 65 20 73 65 6c 65 63 74 65 64 2e 0a 20 20 20 20 20 20 20 20 haracters.are.selected..........
6520 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 65 78 61 6d ///.</summary>.........///.<exam
6540 70 6c 65 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 ple>.........///.<code>.........
6560 2f 2f 2f 20 75 73 69 6e 67 20 55 6e 69 74 79 45 6e 67 69 6e 65 3b 0a 20 20 20 20 20 20 20 20 2f ///.using.UnityEngine;........./
6580 2f 2f 20 75 73 69 6e 67 20 53 79 73 74 65 6d 2e 43 6f 6c 6c 65 63 74 69 6f 6e 73 3b 0a 20 20 20 //.using.System.Collections;....
65a0 20 20 20 20 20 2f 2f 2f 20 75 73 69 6e 67 20 55 6e 69 74 79 45 6e 67 69 6e 65 2e 55 49 3b 20 2f .....///.using.UnityEngine.UI;./
65c0 2f 20 52 65 71 75 69 72 65 64 20 77 68 65 6e 20 55 73 69 6e 67 20 55 49 20 65 6c 65 6d 65 6e 74 /.Required.when.Using.UI.element
65e0 73 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 70 75 62 6c 69 s..........///.........///.publi
6600 63 20 63 6c 61 73 73 20 45 78 61 6d 70 6c 65 20 3a 20 4d 6f 6e 6f 42 65 68 61 76 69 6f 75 72 0a c.class.Example.:.MonoBehaviour.
6620 20 20 20 20 20 20 20 20 2f 2f 2f 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 70 75 ........///.{.........///.....pu
6640 62 6c 69 63 20 49 6e 70 75 74 46 69 65 6c 64 20 6d 61 69 6e 49 6e 70 75 74 46 69 65 6c 64 3b 0a blic.InputField.mainInputField;.
6660 20 20 20 20 20 20 20 20 2f 2f 2f 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 2f 2f 20 43 ........///.........///.....//.C
6680 68 61 6e 67 65 73 20 74 68 65 20 63 6f 6c 6f 72 20 6f 66 20 74 68 65 20 68 69 67 68 6c 69 67 68 hanges.the.color.of.the.highligh
66a0 74 20 74 68 61 74 20 73 68 6f 77 73 20 77 68 61 74 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 t.that.shows.what.characters.are
66c0 20 73 65 6c 65 63 74 65 64 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 76 6f 69 64 20 .selected..........///.....void.
66e0 43 68 61 6e 67 65 53 65 6c 65 63 74 69 6f 6e 43 6f 6c 6f 72 28 29 0a 20 20 20 20 20 20 20 20 2f ChangeSelectionColor()........./
6700 2f 2f 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 6d 61 69 //.....{.........///.........mai
6720 6e 49 6e 70 75 74 46 69 65 6c 64 2e 73 65 6c 65 63 74 69 6f 6e 43 6f 6c 6f 72 20 3d 20 43 6f 6c nInputField.selectionColor.=.Col
6740 6f 72 2e 72 65 64 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 7d 0a 20 20 20 20 20 20 or.red;.........///.....}.......
6760 20 20 2f 2f 2f 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 ..///.}.........///.</code>.....
6780 20 20 20 20 2f 2f 2f 20 3c 2f 65 78 61 6d 70 6c 65 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 ....///.</example>.........publi
67a0 63 20 43 6f 6c 6f 72 20 73 65 6c 65 63 74 69 6f 6e 43 6f 6c 6f 72 20 7b 20 67 65 74 20 7b 20 72 c.Color.selectionColor.{.get.{.r
67c0 65 74 75 72 6e 20 6d 5f 53 65 6c 65 63 74 69 6f 6e 43 6f 6c 6f 72 3b 20 7d 20 73 65 74 20 7b 20 eturn.m_SelectionColor;.}.set.{.
67e0 69 66 20 28 53 65 74 50 72 6f 70 65 72 74 79 55 74 69 6c 69 74 79 2e 53 65 74 43 6f 6c 6f 72 28 if.(SetPropertyUtility.SetColor(
6800 72 65 66 20 6d 5f 53 65 6c 65 63 74 69 6f 6e 43 6f 6c 6f 72 2c 20 76 61 6c 75 65 29 29 20 4d 61 ref.m_SelectionColor,.value)).Ma
6820 72 6b 47 65 6f 6d 65 74 72 79 41 73 44 69 72 74 79 28 29 3b 20 7d 20 7d 0a 0a 20 20 20 20 20 20 rkGeometryAsDirty();.}.}........
6840 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 68 65 20 ..///.<summary>.........///.The.
6860 55 6e 69 74 79 20 45 76 65 6e 74 20 74 6f 20 63 61 6c 6c 20 77 68 65 6e 20 65 64 69 74 69 6e 67 Unity.Event.to.call.when.editing
6880 20 68 61 73 20 65 6e 64 65 64 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 .has.ended.........///.</summary
68a0 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 65 78 61 6d 70 6c 65 3e 0a 20 20 20 20 20 20 20 20 >.........///.<example>.........
68c0 2f 2f 2f 20 3c 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 75 73 69 6e 67 20 55 6e 69 ///.<code>.........///.using.Uni
68e0 74 79 45 6e 67 69 6e 65 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 75 73 69 6e 67 20 53 79 73 74 tyEngine;.........///.using.Syst
6900 65 6d 2e 43 6f 6c 6c 65 63 74 69 6f 6e 73 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 75 73 69 6e em.Collections;.........///.usin
6920 67 20 55 6e 69 74 79 45 6e 67 69 6e 65 2e 55 49 3b 20 2f 2f 20 52 65 71 75 69 72 65 64 20 77 68 g.UnityEngine.UI;.//.Required.wh
6940 65 6e 20 55 73 69 6e 67 20 55 49 20 65 6c 65 6d 65 6e 74 73 2e 0a 20 20 20 20 20 20 20 20 2f 2f en.Using.UI.elements..........//
6960 2f 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 70 75 62 6c 69 63 20 63 6c 61 73 73 20 45 78 61 6d 70 /.........///.public.class.Examp
6980 6c 65 20 3a 20 4d 6f 6e 6f 42 65 68 61 76 69 6f 75 72 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 7b le.:.MonoBehaviour.........///.{
69a0 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 70 75 62 6c 69 63 20 49 6e 70 75 74 46 69 65 .........///.....public.InputFie
69c0 6c 64 20 6d 61 69 6e 49 6e 70 75 74 46 69 65 6c 64 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0a 20 ld.mainInputField;.........///..
69e0 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 2f 2f 20 43 68 65 63 6b 73 20 69 66 20 74 68 65 72 .......///.....//.Checks.if.ther
6a00 65 20 69 73 20 61 6e 79 74 68 69 6e 67 20 65 6e 74 65 72 65 64 20 69 6e 74 6f 20 74 68 65 20 69 e.is.anything.entered.into.the.i
6a20 6e 70 75 74 20 66 69 65 6c 64 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 76 6f 69 64 nput.field..........///.....void
6a40 20 4c 6f 63 6b 49 6e 70 75 74 28 49 6e 70 75 74 46 69 65 6c 64 20 69 6e 70 75 74 29 0a 20 20 20 .LockInput(InputField.input)....
6a60 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 .....///.....{.........///......
6a80 20 20 20 69 66 20 28 69 6e 70 75 74 2e 74 65 78 74 2e 4c 65 6e 67 74 68 20 3e 20 30 29 0a 20 20 ...if.(input.text.Length.>.0)...
6aa0 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 ......///.........{.........///.
6ac0 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 4c 6f 67 28 22 54 65 78 74 20 68 61 73 20 ............Debug.Log("Text.has.
6ae0 62 65 65 6e 20 65 6e 74 65 72 65 64 22 29 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 been.entered");.........///.....
6b00 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 ....}.........///.........else.i
6b20 66 20 28 69 6e 70 75 74 2e 74 65 78 74 2e 4c 65 6e 67 74 68 20 3d 3d 20 30 29 0a 20 20 20 20 20 f.(input.text.Length.==.0)......
6b40 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 ...///.........{.........///....
6b60 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 4c 6f 67 28 22 4d 61 69 6e 20 49 6e 70 75 74 20 45 .........Debug.Log("Main.Input.E
6b80 6d 70 74 79 22 29 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 7d 0a 20 20 mpty");.........///.........}...
6ba0 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0a 20 20 20 20 ......///.....}.........///.....
6bc0 20 20 20 20 2f 2f 2f 20 20 20 20 20 70 75 62 6c 69 63 20 76 6f 69 64 20 53 74 61 72 74 28 29 0a ....///.....public.void.Start().
6be0 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 ........///.....{.........///...
6c00 20 20 20 20 20 20 2f 2f 41 64 64 73 20 61 20 6c 69 73 74 65 6e 65 72 20 74 68 61 74 20 69 6e 76 ......//Adds.a.listener.that.inv
6c20 6f 6b 65 73 20 74 68 65 20 22 4c 6f 63 6b 49 6e 70 75 74 22 20 6d 65 74 68 6f 64 20 77 68 65 6e okes.the."LockInput".method.when
6c40 20 74 68 65 20 70 6c 61 79 65 72 20 66 69 6e 69 73 68 65 73 20 65 64 69 74 69 6e 67 20 74 68 65 .the.player.finishes.editing.the
6c60 20 6d 61 69 6e 20 69 6e 70 75 74 20 66 69 65 6c 64 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 .main.input.field..........///..
6c80 20 20 20 20 20 20 20 2f 2f 50 61 73 73 65 73 20 74 68 65 20 6d 61 69 6e 20 69 6e 70 75 74 20 66 .......//Passes.the.main.input.f
6ca0 69 65 6c 64 20 69 6e 74 6f 20 74 68 65 20 6d 65 74 68 6f 64 20 77 68 65 6e 20 22 4c 6f 63 6b 49 ield.into.the.method.when."LockI
6cc0 6e 70 75 74 22 20 69 73 20 69 6e 76 6f 6b 65 64 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 nput".is.invoked.........///....
6ce0 20 20 20 20 20 6d 61 69 6e 49 6e 70 75 74 46 69 65 6c 64 2e 6f 6e 45 6e 64 45 64 69 74 2e 41 64 .....mainInputField.onEndEdit.Ad
6d00 64 4c 69 73 74 65 6e 65 72 28 64 65 6c 65 67 61 74 65 20 7b 4c 6f 63 6b 49 6e 70 75 74 28 6d 61 dListener(delegate.{LockInput(ma
6d20 69 6e 49 6e 70 75 74 46 69 65 6c 64 29 3b 20 7d 29 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 inInputField);.});.........///..
6d40 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c ...}.........///.}.........///.<
6d60 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 65 78 61 6d 70 6c 65 3e 0a 20 20 /code>.........///.</example>...
6d80 20 20 20 20 20 20 70 75 62 6c 69 63 20 53 75 62 6d 69 74 45 76 65 6e 74 20 6f 6e 45 6e 64 45 64 ......public.SubmitEvent.onEndEd
6da0 69 74 20 7b 20 67 65 74 20 7b 20 72 65 74 75 72 6e 20 6d 5f 4f 6e 45 6e 64 45 64 69 74 3b 20 7d it.{.get.{.return.m_OnEndEdit;.}
6dc0 20 73 65 74 20 7b 20 53 65 74 50 72 6f 70 65 72 74 79 55 74 69 6c 69 74 79 2e 53 65 74 43 6c 61 .set.{.SetPropertyUtility.SetCla
6de0 73 73 28 72 65 66 20 6d 5f 4f 6e 45 6e 64 45 64 69 74 2c 20 76 61 6c 75 65 29 3b 20 7d 20 7d 0a ss(ref.m_OnEndEdit,.value);.}.}.
6e00 0a 20 20 20 20 20 20 20 20 5b 4f 62 73 6f 6c 65 74 65 28 22 6f 6e 56 61 6c 75 65 43 68 61 6e 67 .........[Obsolete("onValueChang
6e20 65 20 68 61 73 20 62 65 65 6e 20 72 65 6e 61 6d 65 64 20 74 6f 20 6f 6e 56 61 6c 75 65 43 68 61 e.has.been.renamed.to.onValueCha
6e40 6e 67 65 64 22 29 5d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 4f 6e 43 68 61 6e 67 65 45 nged")].........public.OnChangeE
6e60 76 65 6e 74 20 6f 6e 56 61 6c 75 65 43 68 61 6e 67 65 20 7b 20 67 65 74 20 7b 20 72 65 74 75 72 vent.onValueChange.{.get.{.retur
6e80 6e 20 6f 6e 56 61 6c 75 65 43 68 61 6e 67 65 64 3b 20 7d 20 73 65 74 20 7b 20 6f 6e 56 61 6c 75 n.onValueChanged;.}.set.{.onValu
6ea0 65 43 68 61 6e 67 65 64 20 3d 20 76 61 6c 75 65 3b 20 7d 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f eChanged.=.value;.}.}........../
6ec0 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 41 63 63 65 73 73 6f //.<summary>.........///.Accesso
6ee0 72 20 74 6f 20 74 68 65 20 4f 6e 43 68 61 6e 67 65 45 76 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 r.to.the.OnChangeEvent..........
6f00 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 65 78 61 6d ///.</summary>.........///.<exam
6f20 70 6c 65 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 ple>.........///.<code>.........
6f40 2f 2f 2f 20 75 73 69 6e 67 20 55 6e 69 74 79 45 6e 67 69 6e 65 3b 0a 20 20 20 20 20 20 20 20 2f ///.using.UnityEngine;........./
6f60 2f 2f 20 75 73 69 6e 67 20 53 79 73 74 65 6d 2e 43 6f 6c 6c 65 63 74 69 6f 6e 73 3b 0a 20 20 20 //.using.System.Collections;....
6f80 20 20 20 20 20 2f 2f 2f 20 75 73 69 6e 67 20 55 6e 69 74 79 45 6e 67 69 6e 65 2e 55 49 3b 20 2f .....///.using.UnityEngine.UI;./
6fa0 2f 20 52 65 71 75 69 72 65 64 20 77 68 65 6e 20 55 73 69 6e 67 20 55 49 20 65 6c 65 6d 65 6e 74 /.Required.when.Using.UI.element
6fc0 73 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 70 75 62 6c 69 s..........///.........///.publi
6fe0 63 20 63 6c 61 73 73 20 45 78 61 6d 70 6c 65 20 3a 20 4d 6f 6e 6f 42 65 68 61 76 69 6f 75 72 0a c.class.Example.:.MonoBehaviour.
7000 20 20 20 20 20 20 20 20 2f 2f 2f 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 70 75 ........///.{.........///.....pu
7020 62 6c 69 63 20 49 6e 70 75 74 46 69 65 6c 64 20 6d 61 69 6e 49 6e 70 75 74 46 69 65 6c 64 3b 0a blic.InputField.mainInputField;.
7040 20 20 20 20 20 20 20 20 2f 2f 2f 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 70 75 62 6c ........///.........///.....publ
7060 69 63 20 76 6f 69 64 20 53 74 61 72 74 28 29 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 ic.void.Start().........///.....
7080 7b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 2f 2f 41 64 64 73 20 61 20 6c {.........///.........//Adds.a.l
70a0 69 73 74 65 6e 65 72 20 74 6f 20 74 68 65 20 6d 61 69 6e 20 69 6e 70 75 74 20 66 69 65 6c 64 20 istener.to.the.main.input.field.
70c0 61 6e 64 20 69 6e 76 6f 6b 65 73 20 61 20 6d 65 74 68 6f 64 20 77 68 65 6e 20 74 68 65 20 76 61 and.invokes.a.method.when.the.va
70e0 6c 75 65 20 63 68 61 6e 67 65 73 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 lue.changes..........///........
7100 20 6d 61 69 6e 49 6e 70 75 74 46 69 65 6c 64 2e 6f 6e 56 61 6c 75 65 43 68 61 6e 67 65 2e 41 64 .mainInputField.onValueChange.Ad
7120 64 4c 69 73 74 65 6e 65 72 28 64 65 6c 65 67 61 74 65 20 7b 56 61 6c 75 65 43 68 61 6e 67 65 43 dListener(delegate.{ValueChangeC
7140 68 65 63 6b 28 29 3b 20 7d 29 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 7d 0a 20 20 heck();.});.........///.....}...
7160 20 20 20 20 20 20 2f 2f 2f 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 2f 2f 20 49 6e 76 ......///.........///.....//.Inv
7180 6f 6b 65 64 20 77 68 65 6e 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 74 65 78 74 20 oked.when.the.value.of.the.text.
71a0 66 69 65 6c 64 20 63 68 61 6e 67 65 73 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 70 field.changes..........///.....p
71c0 75 62 6c 69 63 20 76 6f 69 64 20 56 61 6c 75 65 43 68 61 6e 67 65 43 68 65 63 6b 28 29 0a 20 20 ublic.void.ValueChangeCheck()...
71e0 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 ......///.....{.........///.....
7200 20 20 20 20 44 65 62 75 67 2e 4c 6f 67 28 22 56 61 6c 75 65 20 43 68 61 6e 67 65 64 22 29 3b 0a ....Debug.Log("Value.Changed");.
7220 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 7d 0a ........///.....}.........///.}.
7240 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 ........///.</code>.........///.
7260 3c 2f 65 78 61 6d 70 6c 65 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 4f 6e 43 68 61 6e </example>.........public.OnChan
7280 67 65 45 76 65 6e 74 20 6f 6e 56 61 6c 75 65 43 68 61 6e 67 65 64 20 7b 20 67 65 74 20 7b 20 72 geEvent.onValueChanged.{.get.{.r
72a0 65 74 75 72 6e 20 6d 5f 4f 6e 56 61 6c 75 65 43 68 61 6e 67 65 64 3b 20 7d 20 73 65 74 20 7b 20 eturn.m_OnValueChanged;.}.set.{.
72c0 53 65 74 50 72 6f 70 65 72 74 79 55 74 69 6c 69 74 79 2e 53 65 74 43 6c 61 73 73 28 72 65 66 20 SetPropertyUtility.SetClass(ref.
72e0 6d 5f 4f 6e 56 61 6c 75 65 43 68 61 6e 67 65 64 2c 20 76 61 6c 75 65 29 3b 20 7d 20 7d 0a 0a 20 m_OnValueChanged,.value);.}.}...
7300 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f .......///.<summary>.........///
7320 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 63 61 6c 6c 20 74 6f 20 76 61 6c 69 64 61 74 .The.function.to.call.to.validat
7340 65 20 74 68 65 20 69 6e 70 75 74 20 63 68 61 72 61 63 74 65 72 73 2e 0a 20 20 20 20 20 20 20 20 e.the.input.characters..........
7360 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 65 78 61 6d ///.</summary>.........///.<exam
7380 70 6c 65 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 ple>.........///.<code>.........
73a0 2f 2f 2f 20 75 73 69 6e 67 20 55 6e 69 74 79 45 6e 67 69 6e 65 3b 0a 20 20 20 20 20 20 20 20 2f ///.using.UnityEngine;........./
73c0 2f 2f 20 75 73 69 6e 67 20 53 79 73 74 65 6d 2e 43 6f 6c 6c 65 63 74 69 6f 6e 73 3b 0a 20 20 20 //.using.System.Collections;....
73e0 20 20 20 20 20 2f 2f 2f 20 75 73 69 6e 67 20 55 6e 69 74 79 45 6e 67 69 6e 65 2e 55 49 3b 20 2f .....///.using.UnityEngine.UI;./
7400 2f 20 52 65 71 75 69 72 65 64 20 77 68 65 6e 20 55 73 69 6e 67 20 55 49 20 65 6c 65 6d 65 6e 74 /.Required.when.Using.UI.element
7420 73 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 70 75 62 6c 69 s..........///.........///.publi
7440 63 20 63 6c 61 73 73 20 45 78 61 6d 70 6c 65 20 3a 20 4d 6f 6e 6f 42 65 68 61 76 69 6f 75 72 0a c.class.Example.:.MonoBehaviour.
7460 20 20 20 20 20 20 20 20 2f 2f 2f 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 70 75 ........///.{.........///.....pu
7480 62 6c 69 63 20 49 6e 70 75 74 46 69 65 6c 64 20 6d 61 69 6e 49 6e 70 75 74 46 69 65 6c 64 3b 0a blic.InputField.mainInputField;.
74a0 20 20 20 20 20 20 20 20 2f 2f 2f 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 70 75 62 6c ........///.........///.....publ
74c0 69 63 20 76 6f 69 64 20 53 74 61 72 74 28 29 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 ic.void.Start().........///.....
74e0 7b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 2f 2f 20 53 65 74 73 20 74 68 {.........///.........//.Sets.th
7500 65 20 4d 79 56 61 6c 69 64 61 74 65 20 6d 65 74 68 6f 64 20 74 6f 20 69 6e 76 6f 6b 65 20 61 66 e.MyValidate.method.to.invoke.af
7520 74 65 72 20 74 68 65 20 69 6e 70 75 74 20 66 69 65 6c 64 27 73 20 64 65 66 61 75 6c 74 20 69 6e ter.the.input.field's.default.in
7540 70 75 74 20 76 61 6c 69 64 61 74 69 6f 6e 20 69 6e 76 6f 6b 65 20 28 64 65 66 61 75 6c 74 20 76 put.validation.invoke.(default.v
7560 61 6c 69 64 61 74 69 6f 6e 20 68 61 70 70 65 6e 73 20 65 76 65 72 79 20 74 69 6d 65 20 61 20 63 alidation.happens.every.time.a.c
7580 68 61 72 61 63 74 65 72 20 69 73 20 65 6e 74 65 72 65 64 20 69 6e 74 6f 20 74 68 65 20 74 65 78 haracter.is.entered.into.the.tex
75a0 74 20 66 69 65 6c 64 2e 29 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 6d 61 t.field.).........///.........ma
75c0 69 6e 49 6e 70 75 74 46 69 65 6c 64 2e 6f 6e 56 61 6c 69 64 61 74 65 49 6e 70 75 74 20 2b 3d 20 inInputField.onValidateInput.+=.
75e0 64 65 6c 65 67 61 74 65 28 73 74 72 69 6e 67 20 69 6e 70 75 74 2c 20 69 6e 74 20 63 68 61 72 49 delegate(string.input,.int.charI
7600 6e 64 65 78 2c 20 63 68 61 72 20 61 64 64 65 64 43 68 61 72 29 20 7b 20 72 65 74 75 72 6e 20 4d ndex,.char.addedChar).{.return.M
7620 79 56 61 6c 69 64 61 74 65 28 61 64 64 65 64 43 68 61 72 29 3b 20 7d 3b 0a 20 20 20 20 20 20 20 yValidate(addedChar);.};........
7640 20 2f 2f 2f 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0a 20 20 20 20 20 20 20 20 2f .///.....}.........///........./
7660 2f 2f 20 20 20 20 20 70 72 69 76 61 74 65 20 63 68 61 72 20 4d 79 56 61 6c 69 64 61 74 65 28 63 //.....private.char.MyValidate(c
7680 68 61 72 20 63 68 61 72 54 6f 56 61 6c 69 64 61 74 65 29 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 har.charToValidate).........///.
76a0 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 2f 2f 43 68 65 63 ....{.........///.........//Chec
76c0 6b 73 20 69 66 20 61 20 64 6f 6c 6c 61 72 20 73 69 67 6e 20 69 73 20 65 6e 74 65 72 65 64 2e 2e ks.if.a.dollar.sign.is.entered..
76e0 2e 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 69 66 20 28 63 68 61 72 54 ...........///.........if.(charT
7700 6f 56 61 6c 69 64 61 74 65 20 3d 3d 20 27 24 27 29 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 oValidate.==.'$').........///...
7720 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 20 20 20 20 ......{.........///.............
7740 2f 2f 20 2e 2e 2e 20 69 66 20 69 74 20 69 73 20 63 68 61 6e 67 65 20 69 74 20 74 6f 20 61 6e 20 //.....if.it.is.change.it.to.an.
7760 65 6d 70 74 79 20 63 68 61 72 61 63 74 65 72 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 empty.character..........///....
7780 20 20 20 20 20 20 20 20 20 63 68 61 72 54 6f 56 61 6c 69 64 61 74 65 20 3d 20 27 5c 30 27 3b 0a .........charToValidate.=.'\0';.
77a0 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f ........///.........}.........//
77c0 2f 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 63 68 61 72 54 6f 56 61 6c 69 64 61 74 65 3b /.........return.charToValidate;
77e0 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 7d .........///.....}.........///.}
7800 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f .........///.</code>.........///
7820 20 3c 2f 65 78 61 6d 70 6c 65 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 4f 6e 56 61 6c .</example>.........public.OnVal
7840 69 64 61 74 65 49 6e 70 75 74 20 6f 6e 56 61 6c 69 64 61 74 65 49 6e 70 75 74 20 7b 20 67 65 74 idateInput.onValidateInput.{.get
7860 20 7b 20 72 65 74 75 72 6e 20 6d 5f 4f 6e 56 61 6c 69 64 61 74 65 49 6e 70 75 74 3b 20 7d 20 73 .{.return.m_OnValidateInput;.}.s
7880 65 74 20 7b 20 53 65 74 50 72 6f 70 65 72 74 79 55 74 69 6c 69 74 79 2e 53 65 74 43 6c 61 73 73 et.{.SetPropertyUtility.SetClass
78a0 28 72 65 66 20 6d 5f 4f 6e 56 61 6c 69 64 61 74 65 49 6e 70 75 74 2c 20 76 61 6c 75 65 29 3b 20 (ref.m_OnValidateInput,.value);.
78c0 7d 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 }.}..........///.<summary>......
78e0 20 20 20 2f 2f 2f 20 48 6f 77 20 6d 61 6e 79 20 63 68 61 72 61 63 74 65 72 73 20 74 68 65 20 69 ...///.How.many.characters.the.i
7900 6e 70 75 74 20 66 69 65 6c 64 20 69 73 20 6c 69 6d 69 74 65 64 20 74 6f 2e 20 30 20 3d 20 69 6e nput.field.is.limited.to..0.=.in
7920 66 69 6e 69 74 65 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 finite..........///.</summary>..
7940 20 20 20 20 20 20 20 2f 2f 2f 20 3c 65 78 61 6d 70 6c 65 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f .......///.<example>.........///
7960 20 3c 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 75 73 69 6e 67 20 55 6e 69 74 79 45 .<code>.........///.using.UnityE
7980 6e 67 69 6e 65 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 75 73 69 6e 67 20 53 79 73 74 65 6d 2e ngine;.........///.using.System.
79a0 43 6f 6c 6c 65 63 74 69 6f 6e 73 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 75 73 69 6e 67 20 55 Collections;.........///.using.U
79c0 6e 69 74 79 45 6e 67 69 6e 65 2e 55 49 3b 20 2f 2f 20 52 65 71 75 69 72 65 64 20 77 68 65 6e 20 nityEngine.UI;.//.Required.when.
79e0 55 73 69 6e 67 20 55 49 20 65 6c 65 6d 65 6e 74 73 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0a 20 Using.UI.elements..........///..
7a00 20 20 20 20 20 20 20 2f 2f 2f 20 70 75 62 6c 69 63 20 63 6c 61 73 73 20 45 78 61 6d 70 6c 65 20 .......///.public.class.Example.
7a20 3a 20 4d 6f 6e 6f 42 65 68 61 76 69 6f 75 72 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 7b 0a 20 20 :.MonoBehaviour.........///.{...
7a40 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 70 75 62 6c 69 63 20 49 6e 70 75 74 46 69 65 6c 64 20 ......///.....public.InputField.
7a60 6d 61 69 6e 49 6e 70 75 74 46 69 65 6c 64 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 mainInputField;.........///.....
7a80 70 75 62 6c 69 63 20 73 74 72 69 6e 67 20 70 6c 61 79 65 72 4e 61 6d 65 3b 0a 20 20 20 20 20 20 public.string.playerName;.......
7aa0 20 20 2f 2f 2f 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 76 6f 69 64 20 53 74 61 72 74 ..///.........///.....void.Start
7ac0 28 29 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 2f ().........///.....{.........///
7ae0 20 20 20 20 20 20 20 20 20 2f 2f 43 68 61 6e 67 65 73 20 74 68 65 20 63 68 61 72 61 63 74 65 72 .........//Changes.the.character
7b00 20 6c 69 6d 69 74 20 69 6e 20 74 68 65 20 6d 61 69 6e 20 69 6e 70 75 74 20 66 69 65 6c 64 2e 0a .limit.in.the.main.input.field..
7b20 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 6d 61 69 6e 49 6e 70 75 74 46 69 65 ........///.........mainInputFie
7b40 6c 64 2e 63 68 61 72 61 63 74 65 72 4c 69 6d 69 74 20 3d 20 70 6c 61 79 65 72 4e 61 6d 65 2e 4c ld.characterLimit.=.playerName.L
7b60 65 6e 67 74 68 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 ength;.........///.....}........
7b80 20 2f 2f 2f 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 .///.}.........///.</code>......
7ba0 20 20 20 2f 2f 2f 20 3c 2f 65 78 61 6d 70 6c 65 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 ...///.</example>.........public
7bc0 20 69 6e 74 20 63 68 61 72 61 63 74 65 72 4c 69 6d 69 74 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 .int.characterLimit.........{...
7be0 20 20 20 20 20 20 20 20 20 20 67 65 74 20 7b 20 72 65 74 75 72 6e 20 6d 5f 43 68 61 72 61 63 74 ..........get.{.return.m_Charact
7c00 65 72 4c 69 6d 69 74 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 0a 20 20 20 20 20 erLimit;.}.............set......
7c20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 53 65 74 .......{.................if.(Set
7c40 50 72 6f 70 65 72 74 79 55 74 69 6c 69 74 79 2e 53 65 74 53 74 72 75 63 74 28 72 65 66 20 6d 5f PropertyUtility.SetStruct(ref.m_
7c60 43 68 61 72 61 63 74 65 72 4c 69 6d 69 74 2c 20 4d 61 74 68 2e 4d 61 78 28 30 2c 20 76 61 6c 75 CharacterLimit,.Math.Max(0,.valu
7c80 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 e))).................{..........
7ca0 20 20 20 20 20 20 20 20 20 20 20 55 70 64 61 74 65 4c 61 62 65 6c 28 29 3b 0a 20 20 20 20 20 20 ...........UpdateLabel();.......
7cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 4b 65 79 62 6f 61 72 64 20 21 3d 20 ..............if.(m_Keyboard.!=.
7ce0 6e 75 6c 6c 29 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 null).........................m_
7d00 4b 65 79 62 6f 61 72 64 2e 63 68 61 72 61 63 74 65 72 4c 69 6d 69 74 20 3d 20 76 61 6c 75 65 3b Keyboard.characterLimit.=.value;
7d20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d .................}.............}
7d40 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 .........}..........///.<summary
7d60 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 53 70 65 63 69 66 69 65 73 20 74 68 65 20 74 79 70 65 >.........///.Specifies.the.type
7d80 20 6f 66 20 74 68 65 20 69 6e 70 75 74 20 74 65 78 74 20 63 6f 6e 74 65 6e 74 2e 0a 20 20 20 20 .of.the.input.text.content......
7da0 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c ....///.</summary>.........///.<
7dc0 72 65 6d 61 72 6b 73 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 68 65 20 43 6f 6e 74 65 6e 74 remarks>.........///.The.Content
7de0 54 79 70 65 20 61 66 66 65 63 74 73 20 63 68 61 72 61 63 74 65 72 20 76 61 6c 69 64 61 74 69 6f Type.affects.character.validatio
7e00 6e 2c 20 6b 65 79 62 6f 61 72 64 20 74 79 70 65 20 75 73 65 64 20 28 6f 6e 20 70 6c 61 74 66 6f n,.keyboard.type.used.(on.platfo
7e20 72 6d 73 20 77 69 74 68 20 6f 6e 2d 73 63 72 65 65 6e 20 6b 65 79 62 6f 61 72 64 73 29 2c 20 77 rms.with.on-screen.keyboards),.w
7e40 68 65 74 68 65 72 20 74 68 65 20 49 6e 70 75 74 46 69 65 6c 64 20 61 63 63 65 70 74 73 20 6d 75 hether.the.InputField.accepts.mu
7e60 6c 74 69 70 6c 65 20 6c 69 6e 65 73 2c 20 61 6e 64 20 77 68 65 74 68 65 72 20 74 68 65 20 74 65 ltiple.lines,.and.whether.the.te
7e80 78 74 20 69 73 20 61 75 74 6f 63 6f 72 72 65 63 74 65 64 20 28 6f 6e 20 70 6c 61 74 66 6f 72 6d xt.is.autocorrected.(on.platform
7ea0 73 20 74 68 61 74 20 6f 66 66 65 72 20 69 6e 70 75 74 20 61 75 74 6f 2d 63 6f 72 72 65 63 74 69 s.that.offer.input.auto-correcti
7ec0 6f 6e 29 20 6f 72 20 69 73 20 74 72 65 61 74 65 64 20 61 73 20 61 20 70 61 73 73 77 6f 72 64 20 on).or.is.treated.as.a.password.
7ee0 77 68 65 72 65 20 74 68 65 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 20 6e 6f 74 20 73 68 6f where.the.characters.are.not.sho
7f00 77 6e 20 64 69 72 65 63 74 6c 79 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 6d 61 72 wn.directly..........///.</remar
7f20 6b 73 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 65 78 61 6d 70 6c 65 3e 0a 20 20 20 20 20 20 ks>.........///.<example>.......
7f40 20 20 2f 2f 2f 20 3c 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 75 73 69 6e 67 20 55 ..///.<code>.........///.using.U
7f60 6e 69 74 79 45 6e 67 69 6e 65 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 75 73 69 6e 67 20 53 79 nityEngine;.........///.using.Sy
7f80 73 74 65 6d 2e 43 6f 6c 6c 65 63 74 69 6f 6e 73 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 75 73 stem.Collections;.........///.us
7fa0 69 6e 67 20 55 6e 69 74 79 45 6e 67 69 6e 65 2e 55 49 3b 20 2f 2f 20 52 65 71 75 69 72 65 64 20 ing.UnityEngine.UI;.//.Required.
7fc0 77 68 65 6e 20 55 73 69 6e 67 20 55 49 20 65 6c 65 6d 65 6e 74 73 2e 0a 20 20 20 20 20 20 20 20 when.Using.UI.elements..........
7fe0 2f 2f 2f 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 70 75 62 6c 69 63 20 63 6c 61 73 73 20 45 78 61 ///.........///.public.class.Exa
8000 6d 70 6c 65 20 3a 20 4d 6f 6e 6f 42 65 68 61 76 69 6f 75 72 0a 20 20 20 20 20 20 20 20 2f 2f 2f mple.:.MonoBehaviour.........///
8020 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 70 75 62 6c 69 63 20 49 6e 70 75 74 46 .{.........///.....public.InputF
8040 69 65 6c 64 20 6d 61 69 6e 49 6e 70 75 74 46 69 65 6c 64 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f ield.mainInputField;.........///
8060 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 72 69 6e 67 20 70 6c 61 79 65 72 4e 61 6d 65 3b 0a 20 .....public.string.playerName;..
8080 20 20 20 20 20 20 20 2f 2f 2f 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 76 6f 69 64 20 .......///.........///.....void.
80a0 53 74 61 72 74 28 29 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 7b 0a 20 20 20 20 20 20 Start().........///.....{.......
80c0 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 2f 2f 43 68 61 6e 67 65 73 20 74 68 65 20 63 68 61 72 ..///.........//Changes.the.char
80e0 61 63 74 65 72 20 6c 69 6d 69 74 20 69 6e 20 74 68 65 20 6d 61 69 6e 20 69 6e 70 75 74 20 66 69 acter.limit.in.the.main.input.fi
8100 65 6c 64 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 6d 61 69 6e 49 6e 70 eld..........///.........mainInp
8120 75 74 46 69 65 6c 64 2e 63 68 61 72 61 63 74 65 72 4c 69 6d 69 74 20 3d 20 70 6c 61 79 65 72 4e utField.characterLimit.=.playerN
8140 61 6d 65 2e 4c 65 6e 67 74 68 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 7d 0a 20 20 ame.Length;.........///.....}...
8160 20 20 20 20 20 20 2f 2f 2f 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 63 6f 64 65 3e 0a ......///.}.........///.</code>.
8180 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 65 78 61 6d 70 6c 65 3e 0a 20 20 20 20 20 20 20 20 70 ........///.</example>.........p
81a0 75 62 6c 69 63 20 43 6f 6e 74 65 6e 74 54 79 70 65 20 63 6f 6e 74 65 6e 74 54 79 70 65 20 7b 20 ublic.ContentType.contentType.{.
81c0 67 65 74 20 7b 20 72 65 74 75 72 6e 20 6d 5f 43 6f 6e 74 65 6e 74 54 79 70 65 3b 20 7d 20 73 65 get.{.return.m_ContentType;.}.se
81e0 74 20 7b 20 69 66 20 28 53 65 74 50 72 6f 70 65 72 74 79 55 74 69 6c 69 74 79 2e 53 65 74 53 74 t.{.if.(SetPropertyUtility.SetSt
8200 72 75 63 74 28 72 65 66 20 6d 5f 43 6f 6e 74 65 6e 74 54 79 70 65 2c 20 76 61 6c 75 65 29 29 20 ruct(ref.m_ContentType,.value)).
8220 45 6e 66 6f 72 63 65 43 6f 6e 74 65 6e 74 54 79 70 65 28 29 3b 20 7d 20 7d 0a 0a 20 20 20 20 20 EnforceContentType();.}.}.......
8240 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 68 65 ...///.<summary>.........///.The
8260 20 4c 69 6e 65 54 79 70 65 20 75 73 65 64 20 62 79 20 74 68 65 20 49 6e 70 75 74 46 69 65 6c 64 .LineType.used.by.the.InputField
8280 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 ..........///.</summary>........
82a0 20 2f 2f 2f 20 3c 65 78 61 6d 70 6c 65 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 63 6f 64 65 .///.<example>.........///.<code
82c0 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 75 73 69 6e 67 20 55 6e 69 74 79 45 6e 67 69 6e 65 3b >.........///.using.UnityEngine;
82e0 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 75 73 69 6e 67 20 53 79 73 74 65 6d 2e 43 6f 6c 6c 65 63 .........///.using.System.Collec
8300 74 69 6f 6e 73 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 75 73 69 6e 67 20 55 6e 69 74 79 45 6e tions;.........///.using.UnityEn
8320 67 69 6e 65 2e 55 49 3b 20 2f 2f 20 52 65 71 75 69 72 65 64 20 77 68 65 6e 20 55 73 69 6e 67 20 gine.UI;.//.Required.when.Using.
8340 55 49 20 65 6c 65 6d 65 6e 74 73 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0a 20 20 20 20 20 20 20 UI.elements..........///........
8360 20 2f 2f 2f 20 70 75 62 6c 69 63 20 63 6c 61 73 73 20 45 78 61 6d 70 6c 65 20 3a 20 4d 6f 6e 6f .///.public.class.Example.:.Mono
8380 42 65 68 61 76 69 6f 75 72 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 7b 0a 20 20 20 20 20 20 20 20 Behaviour.........///.{.........
83a0 2f 2f 2f 20 20 20 20 20 70 75 62 6c 69 63 20 47 61 6d 65 4f 62 6a 65 63 74 20 6d 61 69 6e 49 6e ///.....public.GameObject.mainIn
83c0 70 75 74 46 69 65 6c 64 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0a 20 20 20 20 20 20 20 20 2f 2f putField;.........///.........//
83e0 2f 20 20 20 20 20 2f 2f 57 68 65 6e 20 79 6f 75 20 70 72 65 73 73 20 61 20 62 75 74 74 6f 6e 2c /.....//When.you.press.a.button,
8400 20 74 68 69 73 20 6d 65 74 68 6f 64 20 69 73 20 63 61 6c 6c 65 64 2e 0a 20 20 20 20 20 20 20 20 .this.method.is.called..........
8420 2f 2f 2f 20 20 20 20 20 70 75 62 6c 69 63 20 76 6f 69 64 20 43 68 61 6e 67 65 49 6e 70 75 74 46 ///.....public.void.ChangeInputF
8440 69 65 6c 64 28 69 6e 74 20 74 79 70 65 29 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 7b ield(int.type).........///.....{
8460 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 69 66 20 28 74 79 70 65 20 3d 3d .........///.........if.(type.==
8480 20 30 29 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 .0).........///.........{.......
84a0 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 43 68 61 6e 67 65 20 74 68 65 20 69 ..///.............//Change.the.i
84c0 6e 70 75 74 20 66 69 65 6c 64 20 74 6f 20 22 53 69 6e 67 6c 65 20 4c 69 6e 65 22 20 6c 69 6e 65 nput.field.to."Single.Line".line
84e0 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 20 20 20 20 6d .type..........///.............m
8500 61 69 6e 49 6e 70 75 74 46 69 65 6c 64 2e 47 65 74 43 6f 6d 70 6f 6e 65 6e 74 3c 49 6e 70 75 74 ainInputField.GetComponent<Input
8520 46 69 65 6c 64 3e 28 29 2e 6c 69 6e 65 54 79 70 65 20 3d 20 49 6e 70 75 74 46 69 65 6c 64 2e 4c Field>().lineType.=.InputField.L
8540 69 6e 65 54 79 70 65 2e 53 69 6e 67 6c 65 4c 69 6e 65 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 ineType.SingleLine;.........///.
8560 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 65 6c ........}.........///.........el
8580 73 65 20 69 66 20 28 74 79 70 65 20 3d 3d 20 31 29 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 se.if.(type.==.1).........///...
85a0 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 20 20 20 20 ......{.........///.............
85c0 2f 2f 43 68 61 6e 67 65 20 74 68 65 20 69 6e 70 75 74 20 66 69 65 6c 64 20 74 6f 20 22 4d 75 6c //Change.the.input.field.to."Mul
85e0 74 69 4c 69 6e 65 20 4e 65 77 6c 69 6e 65 22 20 6c 69 6e 65 20 74 79 70 65 2e 0a 20 20 20 20 20 tiLine.Newline".line.type.......
8600 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 69 6e 49 6e 70 75 74 46 69 65 6c ...///.............mainInputFiel
8620 64 2e 47 65 74 43 6f 6d 70 6f 6e 65 6e 74 3c 49 6e 70 75 74 46 69 65 6c 64 3e 28 29 2e 6c 69 6e d.GetComponent<InputField>().lin
8640 65 54 79 70 65 20 3d 20 49 6e 70 75 74 46 69 65 6c 64 2e 4c 69 6e 65 54 79 70 65 2e 4d 75 6c 74 eType.=.InputField.LineType.Mult
8660 69 4c 69 6e 65 4e 65 77 6c 69 6e 65 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 iLineNewline;.........///.......
8680 20 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 ..}.........///.........else.if.
86a0 28 74 79 70 65 20 3d 3d 20 32 29 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 (type.==.2).........///.........
86c0 7b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 43 68 61 6e {.........///.............//Chan
86e0 67 65 20 74 68 65 20 69 6e 70 75 74 20 66 69 65 6c 64 20 74 6f 20 22 4d 75 6c 74 69 4c 69 6e 65 ge.the.input.field.to."MultiLine
8700 20 53 75 62 6d 69 74 22 20 6c 69 6e 65 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 .Submit".line.type..........///.
8720 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 69 6e 49 6e 70 75 74 46 69 65 6c 64 2e 47 65 74 43 6f ............mainInputField.GetCo
8740 6d 70 6f 6e 65 6e 74 3c 49 6e 70 75 74 46 69 65 6c 64 3e 28 29 2e 6c 69 6e 65 54 79 70 65 20 3d mponent<InputField>().lineType.=
8760 20 49 6e 70 75 74 46 69 65 6c 64 2e 4c 69 6e 65 54 79 70 65 2e 4d 75 6c 74 69 4c 69 6e 65 53 75 .InputField.LineType.MultiLineSu
8780 62 6d 69 74 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 bmit;.........///.........}.....
87a0 20 20 20 20 2f 2f 2f 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 7d 0a 20 20 20 20 ....///.....}.........///.}.....
87c0 20 20 20 20 2f 2f 2f 20 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 65 78 ....///.</code>.........///.</ex
87e0 61 6d 70 6c 65 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 4c 69 6e 65 54 79 70 65 20 6c ample>.........public.LineType.l
8800 69 6e 65 54 79 70 65 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 65 ineType.........{.............ge
8820 74 20 7b 20 72 65 74 75 72 6e 20 6d 5f 4c 69 6e 65 54 79 70 65 3b 20 7d 0a 20 20 20 20 20 20 20 t.{.return.m_LineType;.}........
8840 20 20 20 20 20 73 65 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 .....set.............{..........
8860 20 20 20 20 20 20 20 69 66 20 28 53 65 74 50 72 6f 70 65 72 74 79 55 74 69 6c 69 74 79 2e 53 65 .......if.(SetPropertyUtility.Se
8880 74 53 74 72 75 63 74 28 72 65 66 20 6d 5f 4c 69 6e 65 54 79 70 65 2c 20 76 61 6c 75 65 29 29 0a tStruct(ref.m_LineType,.value)).
88a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................{...............
88c0 20 20 20 20 20 20 53 65 74 54 6f 43 75 73 74 6f 6d 49 66 43 6f 6e 74 65 6e 74 54 79 70 65 49 73 ......SetToCustomIfContentTypeIs
88e0 4e 6f 74 28 43 6f 6e 74 65 6e 74 54 79 70 65 2e 53 74 61 6e 64 61 72 64 2c 20 43 6f 6e 74 65 6e Not(ContentType.Standard,.Conten
8900 74 54 79 70 65 2e 41 75 74 6f 63 6f 72 72 65 63 74 65 64 29 3b 0a 20 20 20 20 20 20 20 20 20 20 tType.Autocorrected);...........
8920 20 20 20 20 20 20 20 20 20 20 45 6e 66 6f 72 63 65 54 65 78 74 48 4f 76 65 72 66 6c 6f 77 28 29 ..........EnforceTextHOverflow()
8940 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ;.................}.............
8960 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 }.........}..........///.<summar
8980 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 68 65 20 74 79 70 65 20 6f 66 20 69 6e 70 75 74 y>.........///.The.type.of.input
89a0 20 65 78 70 65 63 74 65 64 2e 20 53 65 65 20 49 6e 70 75 74 46 69 65 6c 64 2e 49 6e 70 75 74 54 .expected..See.InputField.InputT
89c0 79 70 65 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 ype..........///.</summary>.....
89e0 20 20 20 20 70 75 62 6c 69 63 20 49 6e 70 75 74 54 79 70 65 20 69 6e 70 75 74 54 79 70 65 20 7b ....public.InputType.inputType.{
8a00 20 67 65 74 20 7b 20 72 65 74 75 72 6e 20 6d 5f 49 6e 70 75 74 54 79 70 65 3b 20 7d 20 73 65 74 .get.{.return.m_InputType;.}.set
8a20 20 7b 20 69 66 20 28 53 65 74 50 72 6f 70 65 72 74 79 55 74 69 6c 69 74 79 2e 53 65 74 53 74 72 .{.if.(SetPropertyUtility.SetStr
8a40 75 63 74 28 72 65 66 20 6d 5f 49 6e 70 75 74 54 79 70 65 2c 20 76 61 6c 75 65 29 29 20 53 65 74 uct(ref.m_InputType,.value)).Set
8a60 54 6f 43 75 73 74 6f 6d 28 29 3b 20 7d 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 ToCustom();.}.}..........///.<su
8a80 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 68 65 20 54 6f 75 63 68 53 63 72 65 mmary>.........///.The.TouchScre
8aa0 65 6e 4b 65 79 62 6f 61 72 64 20 62 65 69 6e 67 20 75 73 65 64 20 74 6f 20 65 64 69 74 20 74 68 enKeyboard.being.used.to.edit.th
8ac0 65 20 49 6e 70 75 74 20 46 69 65 6c 64 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d e.Input.Field..........///.</sum
8ae0 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 54 6f 75 63 68 53 63 72 65 65 6e mary>.........public.TouchScreen
8b00 4b 65 79 62 6f 61 72 64 20 74 6f 75 63 68 53 63 72 65 65 6e 4b 65 79 62 6f 61 72 64 20 7b 20 67 Keyboard.touchScreenKeyboard.{.g
8b20 65 74 20 7b 20 72 65 74 75 72 6e 20 6d 5f 4b 65 79 62 6f 61 72 64 3b 20 7d 20 7d 0a 0a 20 20 20 et.{.return.m_Keyboard;.}.}.....
8b40 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 .....///.<summary>.........///.T
8b60 68 65 79 20 74 79 70 65 20 6f 66 20 6d 6f 62 69 6c 65 20 6b 65 79 62 6f 61 72 64 20 74 68 61 74 hey.type.of.mobile.keyboard.that
8b80 20 77 69 6c 6c 20 62 65 20 75 73 65 64 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d .will.be.used..........///.</sum
8ba0 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 54 6f 75 63 68 53 63 72 65 65 6e mary>.........public.TouchScreen
8bc0 4b 65 79 62 6f 61 72 64 54 79 70 65 20 6b 65 79 62 6f 61 72 64 54 79 70 65 0a 20 20 20 20 20 20 KeyboardType.keyboardType.......
8be0 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 20 7b 20 72 65 74 75 72 6e 20 6d 5f 4b ..{.............get.{.return.m_K
8c00 65 79 62 6f 61 72 64 54 79 70 65 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 0a 20 eyboardType;.}.............set..
8c20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 ...........{.................if.
8c40 28 53 65 74 50 72 6f 70 65 72 74 79 55 74 69 6c 69 74 79 2e 53 65 74 53 74 72 75 63 74 28 72 65 (SetPropertyUtility.SetStruct(re
8c60 66 20 6d 5f 4b 65 79 62 6f 61 72 64 54 79 70 65 2c 20 76 61 6c 75 65 29 29 0a 20 20 20 20 20 20 f.m_KeyboardType,.value)).......
8c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 74 54 6f 43 75 73 74 6f 6d 28 29 3b 0a 20 20 20 ..............SetToCustom();....
8ca0 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f .........}.........}..........//
8cc0 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 68 65 20 74 79 70 65 /.<summary>.........///.The.type
8ce0 20 6f 66 20 76 61 6c 69 64 61 74 69 6f 6e 20 74 6f 20 70 65 72 66 6f 72 6d 20 6f 6e 20 61 20 63 .of.validation.to.perform.on.a.c
8d00 68 61 72 61 63 74 65 72 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a haracter.........///.</summary>.
8d20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 43 68 61 72 61 63 74 65 72 56 61 6c 69 64 61 74 69 ........public.CharacterValidati
8d40 6f 6e 20 63 68 61 72 61 63 74 65 72 56 61 6c 69 64 61 74 69 6f 6e 20 7b 20 67 65 74 20 7b 20 72 on.characterValidation.{.get.{.r
8d60 65 74 75 72 6e 20 6d 5f 43 68 61 72 61 63 74 65 72 56 61 6c 69 64 61 74 69 6f 6e 3b 20 7d 20 73 eturn.m_CharacterValidation;.}.s
8d80 65 74 20 7b 20 69 66 20 28 53 65 74 50 72 6f 70 65 72 74 79 55 74 69 6c 69 74 79 2e 53 65 74 53 et.{.if.(SetPropertyUtility.SetS
8da0 74 72 75 63 74 28 72 65 66 20 6d 5f 43 68 61 72 61 63 74 65 72 56 61 6c 69 64 61 74 69 6f 6e 2c truct(ref.m_CharacterValidation,
8dc0 20 76 61 6c 75 65 29 29 20 53 65 74 54 6f 43 75 73 74 6f 6d 28 29 3b 20 7d 20 7d 0a 0a 20 20 20 .value)).SetToCustom();.}.}.....
8de0 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 53 .....///.<summary>.........///.S
8e00 65 74 20 74 68 65 20 49 6e 70 75 74 46 69 65 6c 64 20 74 6f 20 62 65 20 72 65 61 64 20 6f 6e 6c et.the.InputField.to.be.read.onl
8e20 79 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 y..........///.</summary>.......
8e40 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 53 65 74 74 ..///.<remarks>.........///.Sett
8e60 69 6e 67 20 72 65 61 64 20 6f 6e 6c 79 20 61 6c 6c 6f 77 73 20 66 6f 72 20 68 69 67 68 6c 69 67 ing.read.only.allows.for.highlig
8e80 68 74 69 6e 67 20 6f 66 20 74 65 78 74 20 77 69 74 68 6f 75 74 20 61 6c 6c 6f 77 69 6e 67 20 6d hting.of.text.without.allowing.m
8ea0 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 76 69 61 20 6b 65 79 62 6f 61 72 64 2e 0a 20 20 20 20 20 odifications.via.keyboard.......
8ec0 20 20 20 2f 2f 2f 20 3c 2f 72 65 6d 61 72 6b 73 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 ...///.</remarks>.........public
8ee0 20 62 6f 6f 6c 20 72 65 61 64 4f 6e 6c 79 20 7b 20 67 65 74 20 7b 20 72 65 74 75 72 6e 20 6d 5f .bool.readOnly.{.get.{.return.m_
8f00 52 65 61 64 4f 6e 6c 79 3b 20 7d 20 73 65 74 20 7b 20 6d 5f 52 65 61 64 4f 6e 6c 79 20 3d 20 76 ReadOnly;.}.set.{.m_ReadOnly.=.v
8f20 61 6c 75 65 3b 20 7d 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e alue;.}.}..........///.<summary>
8f40 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 49 66 20 74 68 65 20 69 6e 70 75 74 20 66 69 65 6c 64 20 .........///.If.the.input.field.
8f60 73 75 70 70 6f 72 74 73 20 6d 75 6c 74 69 70 6c 65 20 6c 69 6e 65 73 2e 0a 20 20 20 20 20 20 20 supports.multiple.lines.........
8f80 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 65 78 61 .///.</summary>.........///.<exa
8fa0 6d 70 6c 65 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 mple>.........///.<code>........
8fc0 20 2f 2f 2f 20 75 73 69 6e 67 20 55 6e 69 74 79 45 6e 67 69 6e 65 3b 0a 20 20 20 20 20 20 20 20 .///.using.UnityEngine;.........
8fe0 2f 2f 2f 20 75 73 69 6e 67 20 53 79 73 74 65 6d 2e 43 6f 6c 6c 65 63 74 69 6f 6e 73 3b 0a 20 20 ///.using.System.Collections;...
9000 20 20 20 20 20 20 2f 2f 2f 20 75 73 69 6e 67 20 55 6e 69 74 79 45 6e 67 69 6e 65 2e 55 49 3b 20 ......///.using.UnityEngine.UI;.
9020 2f 2f 20 52 65 71 75 69 72 65 64 20 77 68 65 6e 20 55 73 69 6e 67 20 55 49 20 65 6c 65 6d 65 6e //.Required.when.Using.UI.elemen
9040 74 73 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 70 75 62 6c ts..........///.........///.publ
9060 69 63 20 63 6c 61 73 73 20 45 78 61 6d 70 6c 65 20 3a 20 4d 6f 6e 6f 42 65 68 61 76 69 6f 75 72 ic.class.Example.:.MonoBehaviour
9080 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 70 .........///.{.........///.....p
90a0 75 62 6c 69 63 20 49 6e 70 75 74 46 69 65 6c 64 20 6d 61 69 6e 49 6e 70 75 74 46 69 65 6c 64 3b ublic.InputField.mainInputField;
90c0 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 70 75 62 .........///.........///.....pub
90e0 6c 69 63 20 76 6f 69 64 20 55 70 64 61 74 65 28 29 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 lic.void.Update().........///...
9100 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 2f 2f 43 68 65 63 6b 20 ..{.........///.........//Check.
9120 74 6f 20 73 65 65 20 69 66 20 74 68 65 20 69 6e 70 75 74 20 66 69 65 6c 64 20 69 73 20 73 65 74 to.see.if.the.input.field.is.set
9140 20 74 6f 20 61 6c 6c 6f 77 20 6d 75 6c 74 69 70 6c 65 20 6c 69 6e 65 73 2e 0a 20 20 20 20 20 20 .to.allow.multiple.lines........
9160 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 61 69 6e 49 6e 70 75 74 46 69 65 6c 64 ..///.........if.(mainInputField
9180 2e 6d 75 6c 74 69 4c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 .multiLine).........///.........
91a0 7b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 53 65 74 20 {.........///.............//Set.
91c0 74 68 65 20 69 6e 70 75 74 20 66 69 65 6c 64 20 74 6f 20 6f 6e 6c 79 20 61 6c 6c 6f 77 20 53 69 the.input.field.to.only.allow.Si
91e0 6e 67 6c 65 20 4c 69 6e 65 73 2c 20 69 66 20 69 74 20 69 73 20 63 75 72 72 65 6e 74 6c 79 20 73 ngle.Lines,.if.it.is.currently.s
9200 65 74 20 74 6f 20 61 6c 6c 6f 77 20 4d 75 6c 74 69 70 6c 65 20 6c 69 6e 65 73 2e 0a 20 20 20 20 et.to.allow.Multiple.lines......
9220 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 69 6e 49 6e 70 75 74 46 69 65 ....///.............mainInputFie
9240 6c 64 2e 6c 69 6e 65 54 79 70 65 20 3d 20 49 6e 70 75 74 46 69 65 6c 64 2e 4c 69 6e 65 54 79 70 ld.lineType.=.InputField.LineTyp
9260 65 2e 53 69 6e 67 6c 65 4c 69 6e 65 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 e.SingleLine;.........///.......
9280 20 20 20 20 20 20 2f 2f 50 72 69 6e 74 20 74 6f 20 63 6f 6e 73 6f 6c 65 0a 20 20 20 20 20 20 20 ......//Print.to.console........
92a0 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 4c 6f 67 28 22 54 68 65 20 .///.............Debug.Log("The.
92c0 6d 61 69 6e 20 69 6e 70 75 74 20 66 69 65 6c 64 20 69 73 20 6e 6f 77 20 73 65 74 20 74 6f 20 61 main.input.field.is.now.set.to.a
92e0 6c 6c 6f 77 20 73 69 6e 67 6c 65 20 6c 69 6e 65 73 20 6f 6e 6c 79 21 22 29 3b 0a 20 20 20 20 20 llow.single.lines.only!");......
9300 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 ...///.........}.........///....
9320 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 63 .}.........///.}.........///.</c
9340 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 65 78 61 6d 70 6c 65 3e 0a 20 20 20 20 ode>.........///.</example>.....
9360 20 20 20 20 70 75 62 6c 69 63 20 62 6f 6f 6c 20 6d 75 6c 74 69 4c 69 6e 65 20 7b 20 67 65 74 20 ....public.bool.multiLine.{.get.
9380 7b 20 72 65 74 75 72 6e 20 6d 5f 4c 69 6e 65 54 79 70 65 20 3d 3d 20 4c 69 6e 65 54 79 70 65 2e {.return.m_LineType.==.LineType.
93a0 4d 75 6c 74 69 4c 69 6e 65 4e 65 77 6c 69 6e 65 20 7c 7c 20 6c 69 6e 65 54 79 70 65 20 3d 3d 20 MultiLineNewline.||.lineType.==.
93c0 4c 69 6e 65 54 79 70 65 2e 4d 75 6c 74 69 4c 69 6e 65 53 75 62 6d 69 74 3b 20 7d 20 7d 0a 0a 20 LineType.MultiLineSubmit;.}.}...
93e0 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f .......///.<summary>.........///
9400 20 54 68 65 20 63 68 61 72 61 63 74 65 72 20 75 73 65 64 20 74 6f 20 68 69 64 65 20 74 65 78 74 .The.character.used.to.hide.text
9420 20 69 6e 20 70 61 73 73 77 6f 72 64 20 66 69 65 6c 64 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 .in.password.field..........///.
9440 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e </summary>.........///.<remarks>
9460 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 4e 6f 74 20 73 68 6f 77 6e 20 69 6e 20 74 68 65 20 69 6e .........///.Not.shown.in.the.in
9480 73 70 65 63 74 6f 72 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 6d 61 72 6b 73 3e 0a spector..........///.</remarks>.
94a0 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 65 78 61 6d 70 6c 65 3e 0a 20 20 20 20 20 20 20 20 2f 2f ........///.<example>.........//
94c0 2f 20 3c 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 75 73 69 6e 67 20 55 6e 69 74 79 /.<code>.........///.using.Unity
94e0 45 6e 67 69 6e 65 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 75 73 69 6e 67 20 53 79 73 74 65 6d Engine;.........///.using.System
9500 2e 43 6f 6c 6c 65 63 74 69 6f 6e 73 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 75 73 69 6e 67 20 .Collections;.........///.using.
9520 55 6e 69 74 79 45 6e 67 69 6e 65 2e 55 49 3b 20 2f 2f 20 52 65 71 75 69 72 65 64 20 77 68 65 6e UnityEngine.UI;.//.Required.when
9540 20 55 73 69 6e 67 20 55 49 20 65 6c 65 6d 65 6e 74 73 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0a .Using.UI.elements..........///.
9560 20 20 20 20 20 20 20 20 2f 2f 2f 20 70 75 62 6c 69 63 20 63 6c 61 73 73 20 45 78 61 6d 70 6c 65 ........///.public.class.Example
9580 20 3a 20 4d 6f 6e 6f 42 65 68 61 76 69 6f 75 72 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 7b 0a 20 .:.MonoBehaviour.........///.{..
95a0 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 70 75 62 6c 69 63 20 49 6e 70 75 74 46 69 65 6c 64 .......///.....public.InputField
95c0 20 6d 61 69 6e 49 6e 70 75 74 46 69 65 6c 64 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0a 20 20 20 .mainInputField;.........///....
95e0 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 76 6f 69 64 20 53 74 61 72 74 28 29 0a 20 20 20 20 20 20 .....///.....void.Start().......
9600 20 20 2f 2f 2f 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 ..///.....{.........///.........
9620 2f 2f 20 63 68 61 6e 67 65 73 20 74 68 65 20 70 61 73 73 77 6f 72 64 20 73 79 6d 62 6f 6c 2e 20 //.changes.the.password.symbol..
9640 30 20 3d 20 24 2c 20 31 20 3d 20 21 20 32 20 3d 20 c2 a3 20 61 6e 64 20 73 6f 20 6f 6e 2e 0a 20 0.=.$,.1.=.!.2.=....and.so.on...
9660 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 6d 61 69 6e 49 6e 70 75 74 46 69 65 6c .......///.........mainInputFiel
9680 64 2e 61 73 74 65 72 69 73 6b 43 68 61 72 20 3d 20 22 24 21 c2 a3 25 26 2a 22 5b 30 5d 3b 0a 20 d.asteriskChar.=."$!..%&*"[0];..
96a0 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 7d 0a 20 .......///.....}.........///.}..
96c0 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c .......///.</code>.........///.<
96e0 2f 65 78 61 6d 70 6c 65 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 63 68 61 72 20 61 73 /example>.........public.char.as
9700 74 65 72 69 73 6b 43 68 61 72 20 7b 20 67 65 74 20 7b 20 72 65 74 75 72 6e 20 6d 5f 41 73 74 65 teriskChar.{.get.{.return.m_Aste
9720 72 69 73 6b 43 68 61 72 3b 20 7d 20 73 65 74 20 7b 20 69 66 20 28 53 65 74 50 72 6f 70 65 72 74 riskChar;.}.set.{.if.(SetPropert
9740 79 55 74 69 6c 69 74 79 2e 53 65 74 53 74 72 75 63 74 28 72 65 66 20 6d 5f 41 73 74 65 72 69 73 yUtility.SetStruct(ref.m_Asteris
9760 6b 43 68 61 72 2c 20 76 61 6c 75 65 29 29 20 55 70 64 61 74 65 4c 61 62 65 6c 28 29 3b 20 7d 20 kChar,.value)).UpdateLabel();.}.
9780 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 }..........///.<summary>........
97a0 20 2f 2f 2f 20 49 66 20 74 68 65 20 49 6e 70 75 74 46 69 65 6c 64 20 77 61 73 20 63 61 6e 63 65 .///.If.the.InputField.was.cance
97c0 6c 65 64 20 61 6e 64 20 77 69 6c 6c 20 72 65 76 65 72 74 20 62 61 63 6b 20 74 6f 20 74 68 65 20 led.and.will.revert.back.to.the.
97e0 6f 72 69 67 69 6e 61 6c 20 74 65 78 74 20 75 70 6f 6e 20 44 65 61 63 74 69 76 61 74 65 49 6e 70 original.text.upon.DeactivateInp
9800 75 74 46 69 65 6c 64 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a utField..........///.</summary>.
9820 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 62 6f 6f 6c 20 77 61 73 43 61 6e 63 65 6c 65 64 20 ........public.bool.wasCanceled.
9840 7b 20 67 65 74 20 7b 20 72 65 74 75 72 6e 20 6d 5f 57 61 73 43 61 6e 63 65 6c 65 64 3b 20 7d 20 {.get.{.return.m_WasCanceled;.}.
9860 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 }..........///.<summary>........
9880 20 2f 2f 2f 20 43 6c 61 6d 70 20 61 20 76 61 6c 75 65 20 28 62 79 20 72 65 66 65 72 65 6e 63 65 .///.Clamp.a.value.(by.reference
98a0 29 20 62 65 74 77 65 65 6e 20 30 20 61 6e 64 20 74 68 65 20 63 75 72 72 65 6e 74 20 74 65 78 74 ).between.0.and.the.current.text
98c0 20 6c 65 6e 67 74 68 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a .length..........///.</summary>.
98e0 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 70 6f 73 22 3e 54 68 ........///.<param.name="pos">Th
9900 65 20 69 6e 70 75 74 20 70 6f 73 69 74 69 6f 6e 20 74 6f 20 62 65 20 63 6c 61 6d 70 70 65 64 3c e.input.position.to.be.clampped<
9920 2f 70 61 72 61 6d 3e 0a 20 20 20 20 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 76 6f 69 64 20 43 /param>.........protected.void.C
9940 6c 61 6d 70 50 6f 73 28 72 65 66 20 69 6e 74 20 70 6f 73 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 lampPos(ref.int.pos).........{..
9960 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 70 6f 73 20 3c 20 30 29 20 70 6f 73 20 3d 20 30 3b ...........if.(pos.<.0).pos.=.0;
9980 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 70 6f 73 20 3e 20 74 65 78 74 .............else.if.(pos.>.text
99a0 2e 4c 65 6e 67 74 68 29 20 70 6f 73 20 3d 20 74 65 78 74 2e 4c 65 6e 67 74 68 3b 0a 20 20 20 20 .Length).pos.=.text.Length;.....
99c0 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 ....}..........///.<summary>....
99e0 20 20 20 20 20 2f 2f 2f 20 43 75 72 72 65 6e 74 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 .....///.Current.position.of.the
9a00 20 63 75 72 73 6f 72 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 47 65 74 74 65 72 73 20 61 72 65 .cursor..........///.Getters.are
9a20 20 70 75 62 6c 69 63 20 53 65 74 74 65 72 73 20 61 72 65 20 70 72 6f 74 65 63 74 65 64 0a 20 20 .public.Setters.are.protected...
9a40 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 0a 20 20 20 20 20 20 20 20 70 72 ......///.</summary>..........pr
9a60 6f 74 65 63 74 65 64 20 69 6e 74 20 63 61 72 65 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 otected.int.caretPositionInterna
9a80 6c 20 7b 20 67 65 74 20 7b 20 72 65 74 75 72 6e 20 6d 5f 43 61 72 65 74 50 6f 73 69 74 69 6f 6e l.{.get.{.return.m_CaretPosition
9aa0 20 2b 20 63 6f 6d 70 6f 73 69 74 69 6f 6e 53 74 72 69 6e 67 2e 4c 65 6e 67 74 68 3b 20 7d 20 73 .+.compositionString.Length;.}.s
9ac0 65 74 20 7b 20 6d 5f 43 61 72 65 74 50 6f 73 69 74 69 6f 6e 20 3d 20 76 61 6c 75 65 3b 20 43 6c et.{.m_CaretPosition.=.value;.Cl
9ae0 61 6d 70 50 6f 73 28 72 65 66 20 6d 5f 43 61 72 65 74 50 6f 73 69 74 69 6f 6e 29 3b 20 7d 20 7d ampPos(ref.m_CaretPosition);.}.}
9b00 0a 20 20 20 20 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 69 6e 74 20 63 61 72 65 74 53 65 6c 65 .........protected.int.caretSele
9b20 63 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 7b 20 67 65 74 20 7b 20 72 65 74 75 72 ctPositionInternal.{.get.{.retur
9b40 6e 20 6d 5f 43 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 20 2b 20 63 6f 6d 70 6f 73 n.m_CaretSelectPosition.+.compos
9b60 69 74 69 6f 6e 53 74 72 69 6e 67 2e 4c 65 6e 67 74 68 3b 20 7d 20 73 65 74 20 7b 20 6d 5f 43 61 itionString.Length;.}.set.{.m_Ca
9b80 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 20 3d 20 76 61 6c 75 65 3b 20 43 6c 61 6d 70 retSelectPosition.=.value;.Clamp
9ba0 50 6f 73 28 72 65 66 20 6d 5f 43 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 29 3b 20 Pos(ref.m_CaretSelectPosition);.
9bc0 7d 20 7d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 62 6f 6f 6c 20 68 61 73 53 65 6c 65 }.}.........private.bool.hasSele
9be0 63 74 69 6f 6e 20 7b 20 67 65 74 20 7b 20 72 65 74 75 72 6e 20 63 61 72 65 74 50 6f 73 69 74 69 ction.{.get.{.return.caretPositi
9c00 6f 6e 49 6e 74 65 72 6e 61 6c 20 21 3d 20 63 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f onInternal.!=.caretSelectPositio
9c20 6e 49 6e 74 65 72 6e 61 6c 3b 20 7d 20 7d 0a 0a 23 69 66 20 55 4e 49 54 59 5f 45 44 49 54 4f 52 nInternal;.}.}..#if.UNITY_EDITOR
9c40 0a 20 20 20 20 20 20 20 20 5b 53 79 73 74 65 6d 2e 43 6f 6d 70 6f 6e 65 6e 74 4d 6f 64 65 6c 2e .........[System.ComponentModel.
9c60 45 64 69 74 6f 72 42 72 6f 77 73 61 62 6c 65 28 53 79 73 74 65 6d 2e 43 6f 6d 70 6f 6e 65 6e 74 EditorBrowsable(System.Component
9c80 4d 6f 64 65 6c 2e 45 64 69 74 6f 72 42 72 6f 77 73 61 62 6c 65 53 74 61 74 65 2e 4e 65 76 65 72 Model.EditorBrowsableState.Never
9ca0 29 5d 0a 20 20 20 20 20 20 20 20 5b 4f 62 73 6f 6c 65 74 65 28 22 63 61 72 65 74 53 65 6c 65 63 )].........[Obsolete("caretSelec
9cc0 74 50 6f 73 69 74 69 6f 6e 20 68 61 73 20 62 65 65 6e 20 64 65 70 72 65 63 61 74 65 64 2e 20 55 tPosition.has.been.deprecated..U
9ce0 73 65 20 73 65 6c 65 63 74 69 6f 6e 46 6f 63 75 73 50 6f 73 69 74 69 6f 6e 20 69 6e 73 74 65 61 se.selectionFocusPosition.instea
9d00 64 20 28 55 6e 69 74 79 55 70 67 72 61 64 61 62 6c 65 29 20 2d 3e 20 73 65 6c 65 63 74 69 6f 6e d.(UnityUpgradable).->.selection
9d20 46 6f 63 75 73 50 6f 73 69 74 69 6f 6e 22 2c 20 74 72 75 65 29 5d 0a 20 20 20 20 20 20 20 20 70 FocusPosition",.true)].........p
9d40 75 62 6c 69 63 20 69 6e 74 20 63 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 20 7b 20 ublic.int.caretSelectPosition.{.
9d60 67 65 74 20 7b 20 72 65 74 75 72 6e 20 73 65 6c 65 63 74 69 6f 6e 46 6f 63 75 73 50 6f 73 69 74 get.{.return.selectionFocusPosit
9d80 69 6f 6e 3b 20 7d 20 70 72 6f 74 65 63 74 65 64 20 73 65 74 20 7b 20 73 65 6c 65 63 74 69 6f 6e ion;.}.protected.set.{.selection
9da0 46 6f 63 75 73 50 6f 73 69 74 69 6f 6e 20 3d 20 76 61 6c 75 65 3b 20 7d 20 7d 0a 23 65 6e 64 69 FocusPosition.=.value;.}.}.#endi
9dc0 66 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 f..........///.<summary>........
9de0 20 2f 2f 2f 20 47 65 74 3a 20 52 65 74 75 72 6e 73 20 74 68 65 20 66 6f 63 75 73 20 70 6f 73 69 .///.Get:.Returns.the.focus.posi
9e00 74 69 6f 6e 20 61 73 20 74 68 61 74 73 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 74 68 61 74 20 tion.as.thats.the.position.that.
9e20 6d 6f 76 65 73 20 61 72 6f 75 6e 64 20 65 76 65 6e 20 64 75 72 69 6e 67 20 73 65 6c 65 63 74 69 moves.around.even.during.selecti
9e40 6f 6e 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 53 65 74 3a 20 53 65 74 20 62 6f 74 68 20 74 68 on..........///.Set:.Set.both.th
9e60 65 20 61 6e 63 68 6f 72 20 61 6e 64 20 66 6f 63 75 73 20 70 6f 73 69 74 69 6f 6e 20 73 75 63 68 e.anchor.and.focus.position.such
9e80 20 74 68 61 74 20 61 20 73 65 6c 65 63 74 69 6f 6e 20 64 6f 65 73 6e 27 74 20 68 61 70 70 65 6e .that.a.selection.doesn't.happen
9ea0 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 0a 20 20 20 20 20 20 20 .........///.</summary>.........
9ec0 20 70 75 62 6c 69 63 20 69 6e 74 20 63 61 72 65 74 50 6f 73 69 74 69 6f 6e 0a 20 20 20 20 20 20 .public.int.caretPosition.......
9ee0 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 20 7b 20 72 65 74 75 72 6e 20 6d 5f 43 ..{.............get.{.return.m_C
9f00 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 20 2b 20 63 6f 6d 70 6f 73 69 74 69 6f 6e aretSelectPosition.+.composition
9f20 53 74 72 69 6e 67 2e 4c 65 6e 67 74 68 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 String.Length;.}.............set
9f40 20 7b 20 73 65 6c 65 63 74 69 6f 6e 41 6e 63 68 6f 72 50 6f 73 69 74 69 6f 6e 20 3d 20 76 61 6c .{.selectionAnchorPosition.=.val
9f60 75 65 3b 20 73 65 6c 65 63 74 69 6f 6e 46 6f 63 75 73 50 6f 73 69 74 69 6f 6e 20 3d 20 76 61 6c ue;.selectionFocusPosition.=.val
9f80 75 65 3b 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 ue;.}.........}..........///.<su
9fa0 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 68 65 20 62 65 67 69 6e 6e 69 6e 67 mmary>.........///.The.beginning
9fc0 20 70 6f 69 6e 74 20 6f 66 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 .point.of.the.selection.........
9fe0 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 6d .///.</summary>.........///.<rem
a000 61 72 6b 73 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 57 68 65 6e 20 6d 61 6b 69 6e 67 20 61 20 arks>.........///.When.making.a.
a020 73 65 6c 65 63 74 69 6f 6e 20 77 69 74 68 20 61 20 6d 6f 75 73 65 2c 20 74 68 65 20 61 6e 63 68 selection.with.a.mouse,.the.anch
a040 6f 72 20 69 73 20 77 68 65 72 65 20 69 6e 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 20 74 68 65 20 or.is.where.in.the.document.the.
a060 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 69 73 20 69 6e 69 74 69 61 6c 6c 79 20 70 72 65 73 73 65 mouse.button.is.initially.presse
a080 64 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 47 65 74 3a 20 52 65 74 75 72 6e 73 20 74 68 65 20 d..........///.Get:.Returns.the.
a0a0 62 65 67 69 6e 6e 69 6e 67 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 73 65 6c 65 63 74 69 6f 6e 0a beginning.position.of.selection.
a0c0 20 20 20 20 20 20 20 20 2f 2f 2f 20 53 65 74 3a 20 49 66 20 49 6e 70 75 74 2e 63 6f 6d 70 6f 73 ........///.Set:.If.Input.compos
a0e0 69 74 69 6f 6e 53 74 72 69 6e 67 20 69 73 20 30 20 73 65 74 20 74 68 65 20 66 69 78 65 64 20 70 itionString.is.0.set.the.fixed.p
a100 6f 73 69 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 6d 61 72 6b 73 3e 0a osition..........///.</remarks>.
a120 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 20 73 65 6c 65 63 74 69 6f 6e 41 6e 63 68 ........public.int.selectionAnch
a140 6f 72 50 6f 73 69 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 orPosition.........{............
a160 20 67 65 74 20 7b 20 72 65 74 75 72 6e 20 6d 5f 43 61 72 65 74 50 6f 73 69 74 69 6f 6e 20 2b 20 .get.{.return.m_CaretPosition.+.
a180 63 6f 6d 70 6f 73 69 74 69 6f 6e 53 74 72 69 6e 67 2e 4c 65 6e 67 74 68 3b 20 7d 0a 20 20 20 20 compositionString.Length;.}.....
a1a0 20 20 20 20 20 20 20 20 73 65 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 ........set.............{.......
a1c0 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 6f 6d 70 6f 73 69 74 69 6f 6e 53 74 72 69 6e 67 2e ..........if.(compositionString.
a1e0 4c 65 6e 67 74 68 20 21 3d 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 Length.!=.0)....................
a200 20 72 65 74 75 72 6e 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 43 61 72 65 .return;..................m_Care
a220 74 50 6f 73 69 74 69 6f 6e 20 3d 20 76 61 6c 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 tPosition.=.value;..............
a240 20 20 20 43 6c 61 6d 70 50 6f 73 28 72 65 66 20 6d 5f 43 61 72 65 74 50 6f 73 69 74 69 6f 6e 29 ...ClampPos(ref.m_CaretPosition)
a260 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 ;.............}.........}.......
a280 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 68 65 ...///.<summary>.........///.The
a2a0 20 65 6e 64 20 70 6f 69 6e 74 20 6f 66 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 2e 0a 20 20 20 .end.point.of.the.selection.....
a2c0 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 .....///.</summary>.........///.
a2e0 3c 72 65 6d 61 72 6b 73 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 57 68 65 6e 20 6d 61 6b 69 6e <remarks>.........///.When.makin
a300 67 20 61 20 73 65 6c 65 63 74 69 6f 6e 20 77 69 74 68 20 61 20 6d 6f 75 73 65 2c 20 74 68 65 20 g.a.selection.with.a.mouse,.the.
a320 66 6f 63 75 73 20 69 73 20 77 68 65 72 65 20 69 6e 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 20 74 focus.is.where.in.the.document.t
a340 68 65 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 69 73 20 72 65 6c 65 61 73 65 64 2e 0a 20 20 20 he.mouse.button.is.released.....
a360 20 20 20 20 20 2f 2f 2f 20 47 65 74 3a 20 52 65 74 75 72 6e 73 20 74 68 65 20 65 6e 64 20 70 6f .....///.Get:.Returns.the.end.po
a380 73 69 74 69 6f 6e 20 6f 66 20 73 65 6c 65 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 sition.of.selection.........///.
a3a0 53 65 74 3a 20 49 66 20 49 6e 70 75 74 2e 63 6f 6d 70 6f 73 69 74 69 6f 6e 53 74 72 69 6e 67 20 Set:.If.Input.compositionString.
a3c0 69 73 20 30 20 73 65 74 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 70 6f 73 69 74 69 6f 6e 2e 0a is.0.set.the.variable.position..
a3e0 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 6d 61 72 6b 73 3e 0a 20 20 20 20 20 20 20 20 70 ........///.</remarks>.........p
a400 75 62 6c 69 63 20 69 6e 74 20 73 65 6c 65 63 74 69 6f 6e 46 6f 63 75 73 50 6f 73 69 74 69 6f 6e ublic.int.selectionFocusPosition
a420 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 20 7b 20 72 65 74 .........{.............get.{.ret
a440 75 72 6e 20 6d 5f 43 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 20 2b 20 63 6f 6d 70 urn.m_CaretSelectPosition.+.comp
a460 6f 73 69 74 69 6f 6e 53 74 72 69 6e 67 2e 4c 65 6e 67 74 68 3b 20 7d 0a 20 20 20 20 20 20 20 20 ositionString.Length;.}.........
a480 20 20 20 20 73 65 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ....set.............{...........
a4a0 20 20 20 20 20 20 69 66 20 28 63 6f 6d 70 6f 73 69 74 69 6f 6e 53 74 72 69 6e 67 2e 4c 65 6e 67 ......if.(compositionString.Leng
a4c0 74 68 20 21 3d 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 th.!=.0).....................ret
a4e0 75 72 6e 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 43 61 72 65 74 53 65 6c urn;..................m_CaretSel
a500 65 63 74 50 6f 73 69 74 69 6f 6e 20 3d 20 76 61 6c 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ectPosition.=.value;............
a520 20 20 20 20 20 43 6c 61 6d 70 50 6f 73 28 72 65 66 20 6d 5f 43 61 72 65 74 53 65 6c 65 63 74 50 .....ClampPos(ref.m_CaretSelectP
a540 6f 73 69 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 osition);.............}.........
a560 7d 0a 0a 20 20 20 20 23 69 66 20 55 4e 49 54 59 5f 45 44 49 54 4f 52 0a 20 20 20 20 20 20 20 20 }......#if.UNITY_EDITOR.........
a580 2f 2f 20 52 65 6d 65 6d 62 65 72 3a 20 54 68 69 73 20 69 73 20 4e 4f 54 20 72 65 6c 61 74 65 64 //.Remember:.This.is.NOT.related
a5a0 20 74 6f 20 74 65 78 74 20 76 61 6c 69 64 61 74 69 6f 6e 21 0a 20 20 20 20 20 20 20 20 2f 2f 20 .to.text.validation!.........//.
a5c0 54 68 69 73 20 69 73 20 55 6e 69 74 79 27 73 20 6f 77 6e 20 4f 6e 56 61 6c 69 64 61 74 65 20 6d This.is.Unity's.own.OnValidate.m
a5e0 65 74 68 6f 64 20 77 68 69 63 68 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 63 68 61 6e ethod.which.is.invoked.when.chan
a600 67 69 6e 67 20 76 61 6c 75 65 73 20 69 6e 20 74 68 65 20 49 6e 73 70 65 63 74 6f 72 2e 0a 20 20 ging.values.in.the.Inspector....
a620 20 20 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 6f 76 65 72 72 69 64 65 20 76 6f 69 64 20 4f 6e ......protected.override.void.On
a640 56 61 6c 69 64 61 74 65 28 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 Validate().........{............
a660 20 62 61 73 65 2e 4f 6e 56 61 6c 69 64 61 74 65 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 .base.OnValidate();.............
a680 45 6e 66 6f 72 63 65 43 6f 6e 74 65 6e 74 54 79 70 65 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 EnforceContentType();...........
a6a0 20 20 45 6e 66 6f 72 63 65 54 65 78 74 48 4f 76 65 72 66 6c 6f 77 28 29 3b 0a 0a 20 20 20 20 20 ..EnforceTextHOverflow();.......
a6c0 20 20 20 20 20 20 20 6d 5f 43 68 61 72 61 63 74 65 72 4c 69 6d 69 74 20 3d 20 4d 61 74 68 2e 4d .......m_CharacterLimit.=.Math.M
a6e0 61 78 28 30 2c 20 6d 5f 43 68 61 72 61 63 74 65 72 4c 69 6d 69 74 29 3b 0a 0a 20 20 20 20 20 20 ax(0,.m_CharacterLimit);........
a700 20 20 20 20 20 20 2f 2f 54 68 69 73 20 63 61 6e 20 62 65 20 69 6e 76 6f 6b 65 64 20 62 65 66 6f ......//This.can.be.invoked.befo
a720 72 65 20 4f 6e 45 6e 61 62 6c 65 64 20 69 73 20 63 61 6c 6c 65 64 2e 20 53 6f 20 77 65 20 73 68 re.OnEnabled.is.called..So.we.sh
a740 6f 75 6c 64 6e 27 74 20 62 65 20 61 63 63 65 73 73 69 6e 67 20 6f 74 68 65 72 20 6f 62 6a 65 63 ouldn't.be.accessing.other.objec
a760 74 73 2c 20 62 65 66 6f 72 65 20 4f 6e 45 6e 61 62 6c 65 20 69 73 20 63 61 6c 6c 65 64 2e 0a 20 ts,.before.OnEnable.is.called...
a780 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 49 73 41 63 74 69 76 65 28 29 29 0a 20 20 20 20 ...........if.(!IsActive()).....
a7a0 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 ............return;.............
a7c0 20 2f 2f 20 66 69 78 20 63 61 73 65 20 31 30 34 30 32 37 37 0a 20 20 20 20 20 20 20 20 20 20 20 .//.fix.case.1040277............
a7e0 20 43 6c 61 6d 70 50 6f 73 28 72 65 66 20 6d 5f 43 61 72 65 74 50 6f 73 69 74 69 6f 6e 29 3b 0a .ClampPos(ref.m_CaretPosition);.
a800 20 20 20 20 20 20 20 20 20 20 20 20 43 6c 61 6d 70 50 6f 73 28 72 65 66 20 6d 5f 43 61 72 65 74 ............ClampPos(ref.m_Caret
a820 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 29 3b 0a 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 55 SelectPosition);...............U
a840 70 64 61 74 65 4c 61 62 65 6c 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f pdateLabel();.............if.(m_
a860 41 6c 6c 6f 77 49 6e 70 75 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 74 43 AllowInput).................SetC
a880 61 72 65 74 41 63 74 69 76 65 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 23 65 6e aretActive();.........}......#en
a8a0 64 69 66 20 2f 2f 20 69 66 20 55 4e 49 54 59 5f 45 44 49 54 4f 52 0a 0a 20 20 20 20 20 20 20 20 dif.//.if.UNITY_EDITOR..........
a8c0 70 72 6f 74 65 63 74 65 64 20 6f 76 65 72 72 69 64 65 20 76 6f 69 64 20 4f 6e 45 6e 61 62 6c 65 protected.override.void.OnEnable
a8e0 28 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 61 73 65 2e 4f 6e ().........{.............base.On
a900 45 6e 61 62 6c 65 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 54 65 78 74 Enable();.............if.(m_Text
a920 20 3d 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 54 65 78 74 .==.null).................m_Text
a940 20 3d 20 73 74 72 69 6e 67 2e 45 6d 70 74 79 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 44 .=.string.Empty;.............m_D
a960 72 61 77 53 74 61 72 74 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 44 72 61 77 rawStart.=.0;.............m_Draw
a980 45 6e 64 20 3d 20 6d 5f 54 65 78 74 2e 4c 65 6e 67 74 68 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 End.=.m_Text.Length;............
a9a0 20 20 2f 2f 20 49 66 20 77 65 20 68 61 76 65 20 61 20 63 61 63 68 65 64 20 72 65 6e 64 65 72 65 ..//.If.we.have.a.cached.rendere
a9c0 72 20 74 68 65 6e 20 77 65 20 68 61 64 20 4f 6e 44 69 73 61 62 6c 65 20 63 61 6c 6c 65 64 20 73 r.then.we.had.OnDisable.called.s
a9e0 6f 20 6a 75 73 74 20 72 65 73 74 6f 72 65 20 74 68 65 20 6d 61 74 65 72 69 61 6c 2e 0a 20 20 20 o.just.restore.the.material.....
aa00 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 43 61 63 68 65 64 49 6e 70 75 74 52 65 6e 64 65 72 .........if.(m_CachedInputRender
aa20 65 72 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 43 61 er.!=.null).................m_Ca
aa40 63 68 65 64 49 6e 70 75 74 52 65 6e 64 65 72 65 72 2e 53 65 74 4d 61 74 65 72 69 61 6c 28 6d 5f chedInputRenderer.SetMaterial(m_
aa60 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 47 65 74 4d 6f 64 69 66 69 65 64 4d 61 74 65 72 69 61 TextComponent.GetModifiedMateria
aa80 6c 28 47 72 61 70 68 69 63 2e 64 65 66 61 75 6c 74 47 72 61 70 68 69 63 4d 61 74 65 72 69 61 6c l(Graphic.defaultGraphicMaterial
aaa0 29 2c 20 54 65 78 74 75 72 65 32 44 2e 77 68 69 74 65 54 65 78 74 75 72 65 29 3b 0a 0a 20 20 20 ),.Texture2D.whiteTexture);.....
aac0 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 20 21 3d 20 .........if.(m_TextComponent.!=.
aae0 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 null).............{.............
ab00 20 20 20 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 52 65 67 69 73 74 65 72 44 69 72 74 ....m_TextComponent.RegisterDirt
ab20 79 56 65 72 74 69 63 65 73 43 61 6c 6c 62 61 63 6b 28 4d 61 72 6b 47 65 6f 6d 65 74 72 79 41 73 yVerticesCallback(MarkGeometryAs
ab40 44 69 72 74 79 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 54 65 78 74 43 6f Dirty);.................m_TextCo
ab60 6d 70 6f 6e 65 6e 74 2e 52 65 67 69 73 74 65 72 44 69 72 74 79 56 65 72 74 69 63 65 73 43 61 6c mponent.RegisterDirtyVerticesCal
ab80 6c 62 61 63 6b 28 55 70 64 61 74 65 4c 61 62 65 6c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 lback(UpdateLabel);.............
aba0 20 20 20 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 52 65 67 69 73 74 65 72 44 69 72 74 ....m_TextComponent.RegisterDirt
abc0 79 4d 61 74 65 72 69 61 6c 43 61 6c 6c 62 61 63 6b 28 55 70 64 61 74 65 43 61 72 65 74 4d 61 74 yMaterialCallback(UpdateCaretMat
abe0 65 72 69 61 6c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 70 64 61 74 65 4c 61 erial);.................UpdateLa
ac00 62 65 6c 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a bel();.............}.........}..
ac20 20 20 20 20 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 6f 76 65 72 72 69 64 65 20 76 6f 69 64 20 ........protected.override.void.
ac40 4f 6e 44 69 73 61 62 6c 65 28 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 OnDisable().........{...........
ac60 20 20 2f 2f 20 74 68 65 20 63 6f 72 6f 75 74 69 6e 65 20 77 69 6c 6c 20 62 65 20 74 65 72 6d 69 ..//.the.coroutine.will.be.termi
ac80 6e 61 74 65 64 2c 20 73 6f 20 74 68 69 73 20 77 69 6c 6c 20 65 6e 73 75 72 65 20 69 74 20 72 65 nated,.so.this.will.ensure.it.re
aca0 73 74 61 72 74 73 20 77 68 65 6e 20 77 65 20 61 72 65 20 6e 65 78 74 20 61 63 74 69 76 61 74 65 starts.when.we.are.next.activate
acc0 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 42 6c 69 6e 6b 43 6f 72 6f 75 74 69 6e 65 20 3d d.............m_BlinkCoroutine.=
ace0 20 6e 75 6c 6c 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 61 63 74 69 76 61 74 65 49 6e .null;..............DeactivateIn
ad00 70 75 74 46 69 65 6c 64 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 54 65 putField();.............if.(m_Te
ad20 78 74 43 6f 6d 70 6f 6e 65 6e 74 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 xtComponent.!=.null)............
ad40 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 .{.................m_TextCompone
ad60 6e 74 2e 55 6e 72 65 67 69 73 74 65 72 44 69 72 74 79 56 65 72 74 69 63 65 73 43 61 6c 6c 62 61 nt.UnregisterDirtyVerticesCallba
ad80 63 6b 28 4d 61 72 6b 47 65 6f 6d 65 74 72 79 41 73 44 69 72 74 79 29 3b 0a 20 20 20 20 20 20 20 ck(MarkGeometryAsDirty);........
ada0 20 20 20 20 20 20 20 20 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 55 6e 72 65 67 69 73 .........m_TextComponent.Unregis
adc0 74 65 72 44 69 72 74 79 56 65 72 74 69 63 65 73 43 61 6c 6c 62 61 63 6b 28 55 70 64 61 74 65 4c terDirtyVerticesCallback(UpdateL
ade0 61 62 65 6c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 54 65 78 74 43 6f 6d abel);.................m_TextCom
ae00 70 6f 6e 65 6e 74 2e 55 6e 72 65 67 69 73 74 65 72 44 69 72 74 79 4d 61 74 65 72 69 61 6c 43 61 ponent.UnregisterDirtyMaterialCa
ae20 6c 6c 62 61 63 6b 28 55 70 64 61 74 65 43 61 72 65 74 4d 61 74 65 72 69 61 6c 29 3b 0a 20 20 20 llback(UpdateCaretMaterial);....
ae40 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 43 61 6e 76 61 73 55 70 64 .........}.............CanvasUpd
ae60 61 74 65 52 65 67 69 73 74 72 79 2e 55 6e 52 65 67 69 73 74 65 72 43 61 6e 76 61 73 45 6c 65 6d ateRegistry.UnRegisterCanvasElem
ae80 65 6e 74 46 6f 72 52 65 62 75 69 6c 64 28 74 68 69 73 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 entForRebuild(this);............
aea0 20 20 2f 2f 20 43 6c 65 61 72 20 6e 65 65 64 73 20 74 6f 20 62 65 20 63 61 6c 6c 65 64 20 6f 74 ..//.Clear.needs.to.be.called.ot
aec0 68 65 72 77 69 73 65 20 73 79 6e 63 20 6e 65 76 65 72 20 68 61 70 70 65 6e 73 20 61 73 20 74 68 herwise.sync.never.happens.as.th
aee0 65 20 6f 62 6a 65 63 74 20 69 73 20 64 69 73 61 62 6c 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 e.object.is.disabled............
af00 20 20 69 66 20 28 6d 5f 43 61 63 68 65 64 49 6e 70 75 74 52 65 6e 64 65 72 65 72 20 21 3d 20 6e ..if.(m_CachedInputRenderer.!=.n
af20 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 43 61 63 68 65 64 49 6e 70 ull).................m_CachedInp
af40 75 74 52 65 6e 64 65 72 65 72 2e 43 6c 65 61 72 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 utRenderer.Clear();.............
af60 20 69 66 20 28 6d 5f 4d 65 73 68 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 .if.(m_Mesh.!=.null)............
af80 20 20 20 20 20 44 65 73 74 72 6f 79 49 6d 6d 65 64 69 61 74 65 28 6d 5f 4d 65 73 68 29 3b 0a 20 .....DestroyImmediate(m_Mesh);..
afa0 20 20 20 20 20 20 20 20 20 20 20 6d 5f 4d 65 73 68 20 3d 20 6e 75 6c 6c 3b 0a 0a 20 20 20 20 20 ...........m_Mesh.=.null;.......
afc0 20 20 20 20 20 20 20 62 61 73 65 2e 4f 6e 44 69 73 61 62 6c 65 28 29 3b 0a 20 20 20 20 20 20 20 .......base.OnDisable();........
afe0 20 7d 0a 0a 20 20 20 20 20 20 20 20 49 45 6e 75 6d 65 72 61 74 6f 72 20 43 61 72 65 74 42 6c 69 .}..........IEnumerator.CaretBli
b000 6e 6b 28 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 41 6c nk().........{.............//.Al
b020 77 61 79 73 20 65 6e 73 75 72 65 20 63 61 72 65 74 20 69 73 20 69 6e 69 74 69 61 6c 6c 79 20 76 ways.ensure.caret.is.initially.v
b040 69 73 69 62 6c 65 20 73 69 6e 63 65 20 69 74 20 63 61 6e 20 6f 74 68 65 72 77 69 73 65 20 62 65 isible.since.it.can.otherwise.be
b060 20 63 6f 6e 66 75 73 69 6e 67 20 66 6f 72 20 61 20 6d 6f 6d 65 6e 74 2e 0a 20 20 20 20 20 20 20 .confusing.for.a.moment.........
b080 20 20 20 20 20 6d 5f 43 61 72 65 74 56 69 73 69 62 6c 65 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 .....m_CaretVisible.=.true;.....
b0a0 20 20 20 20 20 20 20 20 79 69 65 6c 64 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 0a 20 20 20 20 ........yield.return.null;......
b0c0 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 69 73 46 6f 63 75 73 65 64 20 26 26 20 6d 5f 43 61 ........while.(isFocused.&&.m_Ca
b0e0 72 65 74 42 6c 69 6e 6b 52 61 74 65 20 3e 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a retBlinkRate.>.0).............{.
b100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 74 68 65 20 62 6c 69 6e 6b 20 72 61 74 ................//.the.blink.rat
b120 65 20 69 73 20 65 78 70 72 65 73 73 65 64 20 61 73 20 61 20 66 72 65 71 75 65 6e 63 79 0a 20 20 e.is.expressed.as.a.frequency...
b140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6c 6f 61 74 20 62 6c 69 6e 6b 50 65 72 69 6f 64 20 ..............float.blinkPeriod.
b160 3d 20 31 66 20 2f 20 6d 5f 43 61 72 65 74 42 6c 69 6e 6b 52 61 74 65 3b 0a 0a 20 20 20 20 20 20 =.1f./.m_CaretBlinkRate;........
b180 20 20 20 20 20 20 20 20 20 20 2f 2f 20 74 68 65 20 63 61 72 65 74 20 73 68 6f 75 6c 64 20 62 65 ..........//.the.caret.should.be
b1a0 20 4f 4e 20 69 66 20 77 65 20 61 72 65 20 69 6e 20 74 68 65 20 66 69 72 73 74 20 68 61 6c 66 20 .ON.if.we.are.in.the.first.half.
b1c0 6f 66 20 74 68 65 20 62 6c 69 6e 6b 20 70 65 72 69 6f 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 of.the.blink.period.............
b1e0 20 20 20 20 62 6f 6f 6c 20 62 6c 69 6e 6b 53 74 61 74 65 20 3d 20 28 54 69 6d 65 2e 75 6e 73 63 ....bool.blinkState.=.(Time.unsc
b200 61 6c 65 64 54 69 6d 65 20 2d 20 6d 5f 42 6c 69 6e 6b 53 74 61 72 74 54 69 6d 65 29 20 25 20 62 aledTime.-.m_BlinkStartTime).%.b
b220 6c 69 6e 6b 50 65 72 69 6f 64 20 3c 20 62 6c 69 6e 6b 50 65 72 69 6f 64 20 2f 20 32 3b 0a 20 20 linkPeriod.<.blinkPeriod./.2;...
b240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 43 61 72 65 74 56 69 73 69 62 6c 65 ..............if.(m_CaretVisible
b260 20 21 3d 20 62 6c 69 6e 6b 53 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .!=.blinkState).................
b280 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 43 61 72 65 74 56 69 73 {.....................m_CaretVis
b2a0 69 62 6c 65 20 3d 20 62 6c 69 6e 6b 53 74 61 74 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ible.=.blinkState;..............
b2c0 20 20 20 20 20 20 20 69 66 20 28 21 68 61 73 53 65 6c 65 63 74 69 6f 6e 29 0a 20 20 20 20 20 20 .......if.(!hasSelection).......
b2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 61 72 6b 47 65 6f 6d 65 74 72 79 41 73 ..................MarkGeometryAs
b300 44 69 72 74 79 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 Dirty();.................}......
b320 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 54 68 65 6e 20 77 61 69 74 20 61 67 61 69 6e 2e 0a ............//.Then.wait.again..
b340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 79 69 65 6c 64 20 72 65 74 75 72 6e 20 6e 75 6c ................yield.return.nul
b360 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 42 l;.............}.............m_B
b380 6c 69 6e 6b 43 6f 72 6f 75 74 69 6e 65 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 7d 0a linkCoroutine.=.null;.........}.
b3a0 0a 20 20 20 20 20 20 20 20 76 6f 69 64 20 53 65 74 43 61 72 65 74 56 69 73 69 62 6c 65 28 29 0a .........void.SetCaretVisible().
b3c0 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 6d 5f 41 6c 6c ........{.............if.(!m_All
b3e0 6f 77 49 6e 70 75 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b owInput).................return;
b400 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 43 61 72 65 74 56 69 73 69 62 6c 65 20 3d 20 74 ..............m_CaretVisible.=.t
b420 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 42 6c 69 6e 6b 53 74 61 72 74 54 69 6d rue;.............m_BlinkStartTim
b440 65 20 3d 20 54 69 6d 65 2e 75 6e 73 63 61 6c 65 64 54 69 6d 65 3b 0a 20 20 20 20 20 20 20 20 20 e.=.Time.unscaledTime;..........
b460 20 20 20 53 65 74 43 61 72 65 74 41 63 74 69 76 65 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a ...SetCaretActive();.........}..
b480 20 20 20 20 20 20 20 20 2f 2f 20 53 65 74 43 61 72 65 74 41 63 74 69 76 65 20 77 69 6c 6c 20 6e ........//.SetCaretActive.will.n
b4a0 6f 74 20 73 65 74 20 74 68 65 20 63 61 72 65 74 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 76 69 73 ot.set.the.caret.immediately.vis
b4c0 69 62 6c 65 20 2d 20 69 74 20 77 69 6c 6c 20 77 61 69 74 20 66 6f 72 20 74 68 65 20 6e 65 78 74 ible.-.it.will.wait.for.the.next
b4e0 20 74 69 6d 65 20 74 6f 20 62 6c 69 6e 6b 2e 0a 20 20 20 20 20 20 20 20 2f 2f 20 48 6f 77 65 76 .time.to.blink..........//.Howev
b500 65 72 2c 20 69 74 20 77 69 6c 6c 20 68 61 6e 64 6c 65 20 74 68 69 6e 67 73 20 63 6f 72 72 65 63 er,.it.will.handle.things.correc
b520 74 6c 79 20 69 66 20 74 68 65 20 62 6c 69 6e 6b 20 73 70 65 65 64 20 63 68 61 6e 67 65 64 20 66 tly.if.the.blink.speed.changed.f
b540 72 6f 6d 20 7a 65 72 6f 20 74 6f 20 6e 6f 6e 2d 7a 65 72 6f 20 6f 72 20 6e 6f 6e 2d 7a 65 72 6f rom.zero.to.non-zero.or.non-zero
b560 20 74 6f 20 7a 65 72 6f 2e 0a 20 20 20 20 20 20 20 20 76 6f 69 64 20 53 65 74 43 61 72 65 74 41 .to.zero..........void.SetCaretA
b580 63 74 69 76 65 28 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 ctive().........{.............if
b5a0 20 28 21 6d 5f 41 6c 6c 6f 77 49 6e 70 75 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(!m_AllowInput)................
b5c0 20 72 65 74 75 72 6e 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 43 61 72 65 .return;..............if.(m_Care
b5e0 74 42 6c 69 6e 6b 52 61 74 65 20 3e 20 30 2e 30 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b tBlinkRate.>.0.0f).............{
b600 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 42 6c 69 6e 6b 43 6f 72 6f .................if.(m_BlinkCoro
b620 75 74 69 6e 65 20 3d 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 utine.==.null)..................
b640 20 20 20 6d 5f 42 6c 69 6e 6b 43 6f 72 6f 75 74 69 6e 65 20 3d 20 53 74 61 72 74 43 6f 72 6f 75 ...m_BlinkCoroutine.=.StartCorou
b660 74 69 6e 65 28 43 61 72 65 74 42 6c 69 6e 6b 28 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 tine(CaretBlink());.............
b680 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b }.............else.............{
b6a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 43 61 72 65 74 56 69 73 69 62 6c 65 20 .................m_CaretVisible.
b6c0 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a =.true;.............}.........}.
b6e0 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 76 6f 69 64 20 55 70 64 61 74 65 43 61 72 65 .........private.void.UpdateCare
b700 74 4d 61 74 65 72 69 61 6c 28 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 tMaterial().........{...........
b720 20 20 69 66 20 28 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 20 21 3d 20 6e 75 6c 6c 20 26 26 ..if.(m_TextComponent.!=.null.&&
b740 20 6d 5f 43 61 63 68 65 64 49 6e 70 75 74 52 65 6e 64 65 72 65 72 20 21 3d 20 6e 75 6c 6c 29 0a .m_CachedInputRenderer.!=.null).
b760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 43 61 63 68 65 64 49 6e 70 75 74 52 65 6e ................m_CachedInputRen
b780 64 65 72 65 72 2e 53 65 74 4d 61 74 65 72 69 61 6c 28 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e derer.SetMaterial(m_TextComponen
b7a0 74 2e 47 65 74 4d 6f 64 69 66 69 65 64 4d 61 74 65 72 69 61 6c 28 47 72 61 70 68 69 63 2e 64 65 t.GetModifiedMaterial(Graphic.de
b7c0 66 61 75 6c 74 47 72 61 70 68 69 63 4d 61 74 65 72 69 61 6c 29 2c 20 54 65 78 74 75 72 65 32 44 faultGraphicMaterial),.Texture2D
b7e0 2e 77 68 69 74 65 54 65 78 74 75 72 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 .whiteTexture);.........}.......
b800 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 46 6f 63 ...///.<summary>.........///.Foc
b820 75 73 20 74 68 65 20 69 6e 70 75 74 20 66 69 65 6c 64 20 69 6e 69 74 69 61 6c 69 7a 69 6e 67 20 us.the.input.field.initializing.
b840 70 72 6f 70 65 72 74 69 65 73 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 properties..........///.</summar
b860 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e 0a 20 20 20 20 20 20 20 y>.........///.<remarks>........
b880 20 2f 2f 2f 20 48 61 6e 64 6c 65 73 20 77 68 61 74 20 68 61 70 70 65 6e 73 20 61 66 74 65 72 20 .///.Handles.what.happens.after.
b8a0 61 20 75 73 65 72 20 73 65 6c 65 63 74 73 20 61 6e 20 49 6e 70 75 74 46 69 65 6c 64 2e 20 54 68 a.user.selects.an.InputField..Th
b8c0 69 73 20 69 73 20 61 20 70 72 6f 74 65 63 74 65 64 20 70 72 6f 70 65 72 74 79 2e 20 54 6f 20 72 is.is.a.protected.property..To.r
b8e0 65 74 75 72 6e 20 74 68 65 20 66 6f 63 75 73 20 73 74 61 74 65 20 75 73 65 20 49 6e 70 75 74 46 eturn.the.focus.state.use.InputF
b900 69 65 6c 64 2e 69 73 46 6f 63 75 73 65 64 2e 20 54 6f 20 73 68 69 66 74 20 66 6f 63 75 73 20 74 ield.isFocused..To.shift.focus.t
b920 6f 20 61 6e 6f 74 68 65 72 20 47 61 6d 65 4f 62 6a 65 63 74 2c 20 75 73 65 20 45 76 65 6e 74 53 o.another.GameObject,.use.EventS
b940 79 73 74 65 6d 2e 53 65 74 53 65 6c 65 63 74 65 64 47 61 6d 65 4f 62 6a 65 63 74 2e 0a 20 20 20 ystem.SetSelectedGameObject.....
b960 20 20 20 20 20 2f 2f 2f 20 41 20 63 6f 6d 6d 6f 6e 20 75 73 65 20 6f 66 20 74 68 69 73 20 69 73 .....///.A.common.use.of.this.is
b980 20 61 6c 6c 6f 77 69 6e 67 20 74 68 65 20 75 73 65 72 20 74 6f 20 74 79 70 65 20 6f 6e 63 65 20 .allowing.the.user.to.type.once.
b9a0 66 6f 63 75 73 73 65 64 2e 20 41 6e 6f 74 68 65 72 20 77 61 79 20 69 73 20 6f 75 74 70 75 74 74 focussed..Another.way.is.outputt
b9c0 69 6e 67 20 61 20 6d 65 73 73 61 67 65 20 77 68 65 6e 20 74 68 65 20 75 73 65 72 20 63 6c 69 63 ing.a.message.when.the.user.clic
b9e0 6b 73 20 6f 6e 20 61 20 66 69 65 6c 64 28 6f 66 74 65 6e 20 73 65 65 6e 20 77 68 65 6e 20 63 72 ks.on.a.field(often.seen.when.cr
ba00 65 61 74 69 6e 67 20 70 61 73 73 77 6f 72 64 73 29 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c eating.passwords)..........///.<
ba20 2f 72 65 6d 61 72 6b 73 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 65 78 61 6d 70 6c 65 3e 0a /remarks>.........///.<example>.
ba40 20 20 20 20 20 20 20 20 2f 2f 2f 20 2f 2f 43 72 65 61 74 65 20 61 6e 20 49 6e 70 75 74 20 46 69 ........///.//Create.an.Input.Fi
ba60 65 6c 64 20 62 79 20 67 6f 69 6e 67 20 74 6f 20 5f 5f 43 72 65 61 74 65 5f 5f 3e 5f 5f 55 49 5f eld.by.going.to.__Create__>__UI_
ba80 5f 3e 5f 5f 49 6e 70 75 74 20 46 69 65 6c 64 5f 5f 2e 20 41 74 74 61 63 68 20 74 68 69 73 20 73 _>__Input.Field__..Attach.this.s
baa0 63 72 69 70 74 20 74 6f 20 74 68 65 20 49 6e 70 75 74 20 46 69 65 6c 64 20 47 61 6d 65 4f 62 6a cript.to.the.Input.Field.GameObj
bac0 65 63 74 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 2f ect.........///.<code>........./
bae0 2f 2f 20 75 73 69 6e 67 20 55 6e 69 74 79 45 6e 67 69 6e 65 3b 0a 20 20 20 20 20 20 20 20 2f 2f //.using.UnityEngine;.........//
bb00 2f 20 75 73 69 6e 67 20 55 6e 69 74 79 45 6e 67 69 6e 65 2e 55 49 3b 0a 20 20 20 20 20 20 20 20 /.using.UnityEngine.UI;.........
bb20 2f 2f 2f 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 70 75 62 6c 69 63 20 63 6c 61 73 73 20 45 78 61 ///.........///.public.class.Exa
bb40 6d 70 6c 65 20 3a 20 4d 6f 6e 6f 42 65 68 61 76 69 6f 75 72 0a 20 20 20 20 20 20 20 20 2f 2f 2f mple.:.MonoBehaviour.........///
bb60 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 49 6e 70 75 74 46 69 65 6c 64 20 6d 5f .{.........///.....InputField.m_
bb80 49 6e 70 75 74 46 69 65 6c 64 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 76 6f 69 64 InputField;.........///.....void
bba0 20 53 74 61 72 74 28 29 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 7b 0a 20 20 20 20 20 .Start().........///.....{......
bbc0 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 2f 2f 46 65 74 63 68 20 74 68 65 20 49 6e 70 75 74 ...///.........//Fetch.the.Input
bbe0 20 46 69 65 6c 64 20 63 6f 6d 70 6f 6e 65 6e 74 20 66 72 6f 6d 20 74 68 65 20 47 61 6d 65 4f 62 .Field.component.from.the.GameOb
bc00 6a 65 63 74 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 6d 5f 49 6e 70 75 74 ject.........///.........m_Input
bc20 46 69 65 6c 64 20 3d 20 47 65 74 43 6f 6d 70 6f 6e 65 6e 74 3c 49 6e 70 75 74 46 69 65 6c 64 3e Field.=.GetComponent<InputField>
bc40 28 29 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f ();.........///.....}.........//
bc60 2f 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 76 6f 69 64 20 55 70 64 61 74 65 28 29 0a /.........///.....void.Update().
bc80 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 ........///.....{.........///...
bca0 20 20 20 20 20 20 2f 2f 43 68 65 63 6b 20 69 66 20 74 68 65 20 49 6e 70 75 74 20 46 69 65 6c 64 ......//Check.if.the.Input.Field
bcc0 20 69 73 20 69 6e 20 66 6f 63 75 73 20 61 6e 64 20 61 62 6c 65 20 74 6f 20 61 6c 74 65 72 0a 20 .is.in.focus.and.able.to.alter..
bce0 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 49 6e 70 75 74 46 69 .......///.........if.(m_InputFi
bd00 65 6c 64 2e 69 73 46 6f 63 75 73 65 64 29 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 eld.isFocused).........///......
bd20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 43 ...{.........///.............//C
bd40 68 61 6e 67 65 20 74 68 65 20 43 6f 6c 6f 72 20 6f 66 20 74 68 65 20 49 6e 70 75 74 20 46 69 65 hange.the.Color.of.the.Input.Fie
bd60 6c 64 27 73 20 49 6d 61 67 65 20 74 6f 20 67 72 65 65 6e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 ld's.Image.to.green.........///.
bd80 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 49 6e 70 75 74 46 69 65 6c 64 2e 47 65 74 43 6f 6d 70 ............m_InputField.GetComp
bda0 6f 6e 65 6e 74 3c 49 6d 61 67 65 3e 28 29 2e 63 6f 6c 6f 72 20 3d 20 43 6f 6c 6f 72 2e 67 72 65 onent<Image>().color.=.Color.gre
bdc0 65 6e 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 en;.........///.........}.......
bde0 20 20 2f 2f 2f 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 7d 0a 20 20 20 20 20 20 ..///.....}.........///.}.......
be00 20 20 2f 2f 2f 20 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 65 78 61 6d ..///.</code>.........///.</exam
be20 70 6c 65 3e 0a 20 20 20 20 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 76 6f 69 64 20 4f 6e 46 6f ple>.........protected.void.OnFo
be40 63 75 73 28 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 53 65 6c 65 cus().........{.............Sele
be60 63 74 41 6c 6c 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 ctAll();.........}..........///.
be80 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 48 69 67 68 6c 69 67 68 74 20 <summary>.........///.Highlight.
bea0 74 68 65 20 77 68 6f 6c 65 20 49 6e 70 75 74 46 69 65 6c 64 2e 0a 20 20 20 20 20 20 20 20 2f 2f the.whole.InputField..........//
bec0 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b /.</summary>.........///.<remark
bee0 73 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 53 65 74 73 20 74 68 65 20 63 61 72 65 74 50 6f 73 s>.........///.Sets.the.caretPos
bf00 69 74 69 6f 6e 20 74 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 74 65 78 74 20 ition.to.the.length.of.the.text.
bf20 61 6e 64 20 63 61 72 65 74 53 65 6c 65 63 74 50 6f 73 20 74 6f 20 30 2e 0a 20 20 20 20 20 20 20 and.caretSelectPos.to.0.........
bf40 20 2f 2f 2f 20 3c 2f 72 65 6d 61 72 6b 73 3e 0a 20 20 20 20 20 20 20 20 70 72 6f 74 65 63 74 65 .///.</remarks>.........protecte
bf60 64 20 76 6f 69 64 20 53 65 6c 65 63 74 41 6c 6c 28 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 d.void.SelectAll().........{....
bf80 20 20 20 20 20 20 20 20 20 63 61 72 65 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 3d .........caretPositionInternal.=
bfa0 20 74 65 78 74 2e 4c 65 6e 67 74 68 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 72 65 74 53 .text.Length;.............caretS
bfc0 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 3d 20 30 3b 0a 20 20 20 20 20 electPositionInternal.=.0;......
bfe0 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 ...}..........///.<summary>.....
c000 20 20 20 20 2f 2f 2f 20 4d 6f 76 65 20 74 68 65 20 63 61 72 65 74 20 69 6e 64 65 78 20 74 6f 20 ....///.Move.the.caret.index.to.
c020 65 6e 64 20 6f 66 20 74 65 78 74 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 end.of.text..........///.</summa
c040 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 73 68 69 ry>.........///.<param.name="shi
c060 66 74 22 3e 4f 6e 6c 79 20 6d 6f 76 65 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 70 6f 73 69 ft">Only.move.the.selection.posi
c080 74 69 6f 6e 20 74 6f 20 66 61 63 69 6c 61 74 65 20 73 65 6c 65 63 74 69 6f 6e 3c 2f 70 61 72 61 tion.to.facilate.selection</para
c0a0 6d 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 76 6f 69 64 20 4d 6f 76 65 54 65 78 74 45 m>.........public.void.MoveTextE
c0c0 6e 64 28 62 6f 6f 6c 20 73 68 69 66 74 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 nd(bool.shift).........{........
c0e0 20 20 20 20 20 69 6e 74 20 70 6f 73 69 74 69 6f 6e 20 3d 20 74 65 78 74 2e 4c 65 6e 67 74 68 3b .....int.position.=.text.Length;
c100 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 68 69 66 74 29 0a 20 20 20 20 20 20 20 ..............if.(shift)........
c120 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 72 65 74 53 65 6c 65 .....{.................caretSele
c140 63 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 3d 20 70 6f 73 69 74 69 6f 6e 3b 0a 20 ctPositionInternal.=.position;..
c160 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 ...........}.............else...
c180 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 72 65 ..........{.................care
c1a0 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 3d 20 70 6f 73 69 74 69 6f 6e 3b 0a 20 20 tPositionInternal.=.position;...
c1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f ..............caretSelectPositio
c1e0 6e 49 6e 74 65 72 6e 61 6c 20 3d 20 63 61 72 65 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 nInternal.=.caretPositionInterna
c200 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 55 70 64 l;.............}.............Upd
c220 61 74 65 4c 61 62 65 6c 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f ateLabel();.........}........../
c240 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 4d 6f 76 65 20 74 68 //.<summary>.........///.Move.th
c260 65 20 63 61 72 65 74 20 69 6e 64 65 78 20 74 6f 20 73 74 61 72 74 20 6f 66 20 74 65 78 74 2e 0a e.caret.index.to.start.of.text..
c280 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f ........///.</summary>........./
c2a0 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 73 68 69 66 74 22 3e 4f 6e 6c 79 20 6d 6f 76 65 //.<param.name="shift">Only.move
c2c0 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 70 6f 73 69 74 69 6f 6e 20 74 6f 20 66 61 63 69 6c .the.selection.position.to.facil
c2e0 61 74 65 20 73 65 6c 65 63 74 69 6f 6e 3c 2f 70 61 72 61 6d 3e 0a 20 20 20 20 20 20 20 20 70 75 ate.selection</param>.........pu
c300 62 6c 69 63 20 76 6f 69 64 20 4d 6f 76 65 54 65 78 74 53 74 61 72 74 28 62 6f 6f 6c 20 73 68 69 blic.void.MoveTextStart(bool.shi
c320 66 74 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 70 6f ft).........{.............int.po
c340 73 69 74 69 6f 6e 20 3d 20 30 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 68 69 sition.=.0;..............if.(shi
c360 66 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ft).............{...............
c380 20 20 63 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 3d 20 ..caretSelectPositionInternal.=.
c3a0 70 6f 73 69 74 69 6f 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 position;.............}.........
c3c0 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 ....else.............{..........
c3e0 20 20 20 20 20 20 20 63 61 72 65 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 3d 20 70 .......caretPositionInternal.=.p
c400 6f 73 69 74 69 6f 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 72 65 74 53 65 osition;.................caretSe
c420 6c 65 63 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 3d 20 63 61 72 65 74 50 6f 73 69 lectPositionInternal.=.caretPosi
c440 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 tionInternal;.............}.....
c460 20 20 20 20 20 20 20 20 20 55 70 64 61 74 65 4c 61 62 65 6c 28 29 3b 0a 20 20 20 20 20 20 20 20 .........UpdateLabel();.........
c480 7d 0a 0a 20 20 20 20 20 20 20 20 73 74 61 74 69 63 20 73 74 72 69 6e 67 20 63 6c 69 70 62 6f 61 }..........static.string.clipboa
c4a0 72 64 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 0a 20 20 20 rd.........{.............get....
c4c0 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 .........{.................retur
c4e0 6e 20 47 55 49 55 74 69 6c 69 74 79 2e 73 79 73 74 65 6d 43 6f 70 79 42 75 66 66 65 72 3b 0a 20 n.GUIUtility.systemCopyBuffer;..
c500 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 0a 20 20 20 ...........}.............set....
c520 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 47 55 49 55 74 .........{.................GUIUt
c540 69 6c 69 74 79 2e 73 79 73 74 65 6d 43 6f 70 79 42 75 66 66 65 72 20 3d 20 76 61 6c 75 65 3b 0a ility.systemCopyBuffer.=.value;.
c560 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 ............}.........}.........
c580 20 70 72 69 76 61 74 65 20 62 6f 6f 6c 20 49 6e 50 6c 61 63 65 45 64 69 74 69 6e 67 28 29 0a 20 .private.bool.InPlaceEditing()..
c5a0 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 21 54 6f 75 .......{.............return.!Tou
c5c0 63 68 53 63 72 65 65 6e 4b 65 79 62 6f 61 72 64 2e 69 73 53 75 70 70 6f 72 74 65 64 20 7c 7c 20 chScreenKeyboard.isSupported.||.
c5e0 6d 5f 54 6f 75 63 68 4b 65 79 62 6f 61 72 64 41 6c 6c 6f 77 73 49 6e 50 6c 61 63 65 45 64 69 74 m_TouchKeyboardAllowsInPlaceEdit
c600 69 6e 67 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 76 6f 69 64 20 55 70 64 ing;.........}..........void.Upd
c620 61 74 65 43 61 72 65 74 46 72 6f 6d 4b 65 79 62 6f 61 72 64 28 29 0a 20 20 20 20 20 20 20 20 7b ateCaretFromKeyboard().........{
c640 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 73 65 6c 65 63 74 69 6f 6e 52 61 6e 67 65 20 .............var.selectionRange.
c660 3d 20 6d 5f 4b 65 79 62 6f 61 72 64 2e 73 65 6c 65 63 74 69 6f 6e 3b 0a 0a 20 20 20 20 20 20 20 =.m_Keyboard.selection;.........
c680 20 20 20 20 20 76 61 72 20 73 65 6c 65 63 74 69 6f 6e 53 74 61 72 74 20 3d 20 73 65 6c 65 63 74 .....var.selectionStart.=.select
c6a0 69 6f 6e 52 61 6e 67 65 2e 73 74 61 72 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 ionRange.start;.............var.
c6c0 73 65 6c 65 63 74 69 6f 6e 45 6e 64 20 3d 20 73 65 6c 65 63 74 69 6f 6e 52 61 6e 67 65 2e 65 6e selectionEnd.=.selectionRange.en
c6e0 64 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 61 72 65 74 43 68 61 6e 67 65 64 d;..............var.caretChanged
c700 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 61 72 65 74 .=.false;..............if.(caret
c720 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 21 3d 20 73 65 6c 65 63 74 69 6f 6e 53 74 61 PositionInternal.!=.selectionSta
c740 72 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rt).............{...............
c760 20 20 63 61 72 65 74 43 68 61 6e 67 65 64 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 ..caretChanged.=.true;..........
c780 20 20 20 20 20 20 20 63 61 72 65 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 3d 20 73 .......caretPositionInternal.=.s
c7a0 65 6c 65 63 74 69 6f 6e 53 74 61 72 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 electionStart;.............}....
c7c0 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f ..........if.(caretSelectPositio
c7e0 6e 49 6e 74 65 72 6e 61 6c 20 21 3d 20 73 65 6c 65 63 74 69 6f 6e 45 6e 64 29 0a 20 20 20 20 20 nInternal.!=.selectionEnd)......
c800 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 72 65 74 53 65 .......{.................caretSe
c820 6c 65 63 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 3d 20 73 65 6c 65 63 74 69 6f 6e lectPositionInternal.=.selection
c840 45 6e 64 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 72 65 74 43 68 61 6e 67 65 End;.................caretChange
c860 64 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 d.=.true;.............}.........
c880 20 20 20 20 20 69 66 20 28 63 61 72 65 74 43 68 61 6e 67 65 64 29 0a 20 20 20 20 20 20 20 20 20 .....if.(caretChanged)..........
c8a0 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 42 6c 69 6e 6b 53 74 61 72 ...{.................m_BlinkStar
c8c0 74 54 69 6d 65 20 3d 20 54 69 6d 65 2e 75 6e 73 63 61 6c 65 64 54 69 6d 65 3b 0a 0a 20 20 20 20 tTime.=.Time.unscaledTime;......
c8e0 20 20 20 20 20 20 20 20 20 20 20 20 55 70 64 61 74 65 4c 61 62 65 6c 28 29 3b 0a 20 20 20 20 20 ............UpdateLabel();......
c900 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 .......}.........}..........///.
c920 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 55 70 64 61 74 65 20 74 68 65 <summary>.........///.Update.the
c940 20 74 65 78 74 20 62 61 73 65 64 20 6f 6e 20 69 6e 70 75 74 2e 0a 20 20 20 20 20 20 20 20 2f 2f .text.based.on.input..........//
c960 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 20 54 4f 44 4f 3a 20 4d 61 /.</summary>.........//.TODO:.Ma
c980 6b 65 20 4c 61 74 65 55 70 64 61 74 65 20 61 20 63 6f 72 6f 75 74 69 6e 65 20 69 6e 73 74 65 61 ke.LateUpdate.a.coroutine.instea
c9a0 64 2e 20 41 6c 6c 6f 77 73 20 75 73 20 74 6f 20 63 6f 6e 74 72 6f 6c 20 74 68 65 20 75 70 64 61 d..Allows.us.to.control.the.upda
c9c0 74 65 20 74 6f 20 6f 6e 6c 79 20 62 65 20 77 68 65 6e 20 74 68 65 20 66 69 65 6c 64 20 69 73 20 te.to.only.be.when.the.field.is.
c9e0 61 63 74 69 76 65 2e 0a 20 20 20 20 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 76 69 72 74 75 61 active..........protected.virtua
ca00 6c 20 76 6f 69 64 20 4c 61 74 65 55 70 64 61 74 65 28 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 l.void.LateUpdate().........{...
ca20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 4f 6e 6c 79 20 61 63 74 69 76 61 74 65 20 69 66 20 77 65 ..........//.Only.activate.if.we
ca40 20 61 72 65 20 6e 6f 74 20 61 6c 72 65 61 64 79 20 61 63 74 69 76 61 74 65 64 2e 0a 20 20 20 20 .are.not.already.activated......
ca60 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 53 68 6f 75 6c 64 41 63 74 69 76 61 74 65 4e 65 78 74 ........if.(m_ShouldActivateNext
ca80 55 70 64 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 Update).............{...........
caa0 20 20 20 20 20 20 69 66 20 28 21 69 73 46 6f 63 75 73 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 ......if.(!isFocused)...........
cac0 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 63 74 69 ......{.....................Acti
cae0 76 61 74 65 49 6e 70 75 74 46 69 65 6c 64 49 6e 74 65 72 6e 61 6c 28 29 3b 0a 20 20 20 20 20 20 vateInputFieldInternal();.......
cb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 53 68 6f 75 6c 64 41 63 74 69 76 61 74 65 4e 65 ..............m_ShouldActivateNe
cb20 78 74 55 70 64 61 74 65 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 xtUpdate.=.false;...............
cb40 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a ......return;.................}.
cb60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 52 65 73 65 74 20 61 73 20 77 65 20 .................//.Reset.as.we.
cb80 61 72 65 20 61 6c 72 65 61 64 79 20 61 63 74 69 76 61 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 are.already.activated...........
cba0 20 20 20 20 20 20 20 6d 5f 53 68 6f 75 6c 64 41 63 74 69 76 61 74 65 4e 65 78 74 55 70 64 61 74 .......m_ShouldActivateNextUpdat
cbc0 65 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 e.=.false;.............}........
cbe0 20 20 20 20 20 20 41 73 73 69 67 6e 50 6f 73 69 74 69 6f 6e 69 6e 67 49 66 4e 65 65 64 65 64 28 ......AssignPositioningIfNeeded(
cc00 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 46 6f 63 75 73 65 64 20 7c );..............if.(!isFocused.|
cc20 7c 20 49 6e 50 6c 61 63 65 45 64 69 74 69 6e 67 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 |.InPlaceEditing()).............
cc40 20 20 20 20 72 65 74 75 72 6e 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 4b ....return;..............if.(m_K
cc60 65 79 62 6f 61 72 64 20 3d 3d 20 6e 75 6c 6c 20 7c 7c 20 6d 5f 4b 65 79 62 6f 61 72 64 2e 73 74 eyboard.==.null.||.m_Keyboard.st
cc80 61 74 75 73 20 21 3d 20 54 6f 75 63 68 53 63 72 65 65 6e 4b 65 79 62 6f 61 72 64 2e 53 74 61 74 atus.!=.TouchScreenKeyboard.Stat
cca0 75 73 2e 56 69 73 69 62 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 us.Visible).............{.......
ccc0 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 4b 65 79 62 6f 61 72 64 20 21 3d 20 6e 75 6c 6c ..........if.(m_Keyboard.!=.null
cce0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ).................{.............
cd00 20 20 20 20 20 20 20 20 69 66 20 28 21 6d 5f 52 65 61 64 4f 6e 6c 79 29 0a 20 20 20 20 20 20 20 ........if.(!m_ReadOnly)........
cd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 65 78 74 20 3d 20 6d 5f 4b 65 79 62 6f 61 .................text.=.m_Keyboa
cd40 72 64 2e 74 65 78 74 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 rd.text;......................if
cd60 20 28 6d 5f 4b 65 79 62 6f 61 72 64 2e 73 74 61 74 75 73 20 3d 3d 20 54 6f 75 63 68 53 63 72 65 .(m_Keyboard.status.==.TouchScre
cd80 65 6e 4b 65 79 62 6f 61 72 64 2e 53 74 61 74 75 73 2e 43 61 6e 63 65 6c 65 64 29 0a 20 20 20 20 enKeyboard.Status.Canceled).....
cda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 57 61 73 43 61 6e 63 65 6c 65 ....................m_WasCancele
cdc0 64 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 d.=.true;.................}.....
cde0 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 6e 44 65 73 65 6c 65 63 74 28 6e 75 6c 6c 29 3b 0a 20 .............OnDeselect(null);..
ce00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 20 20 20 20 20 20 20 20 20 ...............return;..........
ce20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 20 76 61 6c 20 3d 20 6d ...}..............string.val.=.m
ce40 5f 4b 65 79 62 6f 61 72 64 2e 74 65 78 74 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 _Keyboard.text;..............if.
ce60 28 6d 5f 54 65 78 74 20 21 3d 20 76 61 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 (m_Text.!=.val).............{...
ce80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 52 65 61 64 4f 6e 6c 79 29 0a 20 20 ..............if.(m_ReadOnly)...
cea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............{.................
cec0 20 20 20 20 6d 5f 4b 65 79 62 6f 61 72 64 2e 74 65 78 74 20 3d 20 6d 5f 54 65 78 74 3b 0a 20 20 ....m_Keyboard.text.=.m_Text;...
cee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............}.................
cf00 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 else.................{..........
cf20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 54 65 78 74 20 3d 20 22 22 3b 0a 0a 20 20 20 20 20 20 20 ...........m_Text.=."";.........
cf40 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c .............for.(int.i.=.0;.i.<
cf60 20 76 61 6c 2e 4c 65 6e 67 74 68 3b 20 2b 2b 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .val.Length;.++i)...............
cf80 20 20 20 20 20 20 7b 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 ......{.........................
cfa0 63 68 61 72 20 63 20 3d 20 76 61 6c 5b 69 5d 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 char.c.=.val[i];................
cfc0 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 20 3d 3d 20 27 5c 72 27 20 7c 7c 20 28 69 6e 74 29 ..........if.(c.==.'\r'.||.(int)
cfe0 63 20 3d 3d 20 33 29 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 c.==.3).........................
d000 20 20 20 20 63 20 3d 20 27 5c 6e 27 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....c.=.'\n';...................
d020 20 20 20 20 20 20 20 69 66 20 28 6f 6e 56 61 6c 69 64 61 74 65 49 6e 70 75 74 20 21 3d 20 6e 75 .......if.(onValidateInput.!=.nu
d040 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ll).............................
d060 63 20 3d 20 6f 6e 56 61 6c 69 64 61 74 65 49 6e 70 75 74 28 6d 5f 54 65 78 74 2c 20 6d 5f 54 65 c.=.onValidateInput(m_Text,.m_Te
d080 78 74 2e 4c 65 6e 67 74 68 2c 20 63 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 xt.Length,.c);..................
d0a0 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 63 68 61 72 61 63 74 65 72 56 61 6c 69 64 61 74 .......else.if.(characterValidat
d0c0 69 6f 6e 20 21 3d 20 43 68 61 72 61 63 74 65 72 56 61 6c 69 64 61 74 69 6f 6e 2e 4e 6f 6e 65 29 ion.!=.CharacterValidation.None)
d0e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 20 3d .............................c.=
d100 20 56 61 6c 69 64 61 74 65 28 6d 5f 54 65 78 74 2c 20 6d 5f 54 65 78 74 2e 4c 65 6e 67 74 68 2c .Validate(m_Text,.m_Text.Length,
d120 20 63 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 .c);..........................if
d140 20 28 6c 69 6e 65 54 79 70 65 20 3d 3d 20 4c 69 6e 65 54 79 70 65 2e 4d 75 6c 74 69 4c 69 6e 65 .(lineType.==.LineType.MultiLine
d160 53 75 62 6d 69 74 20 26 26 20 63 20 3d 3d 20 27 5c 6e 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 Submit.&&.c.==.'\n')............
d180 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............{..................
d1a0 20 20 20 20 20 20 20 20 20 20 20 6d 5f 4b 65 79 62 6f 61 72 64 2e 74 65 78 74 20 3d 20 6d 5f 54 ...........m_Keyboard.text.=.m_T
d1c0 65 78 74 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ext;............................
d1e0 20 20 4f 6e 44 65 73 65 6c 65 63 74 28 6e 75 6c 6c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..OnDeselect(null);.............
d200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 20 20 20 20 20 20 20 20 ................return;.........
d220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ................}...............
d240 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 20 21 3d 20 30 29 0a 20 20 20 20 20 20 20 20 20 ...........if.(c.!=.0)..........
d260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 54 65 78 74 20 2b 3d 20 63 3b 0a ...................m_Text.+=.c;.
d280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 ....................}...........
d2a0 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 68 61 72 61 63 74 65 72 4c 69 6d 69 74 20 3e 20 ...........if.(characterLimit.>.
d2c0 30 20 26 26 20 6d 5f 54 65 78 74 2e 4c 65 6e 67 74 68 20 3e 20 63 68 61 72 61 63 74 65 72 4c 69 0.&&.m_Text.Length.>.characterLi
d2e0 6d 69 74 29 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 54 mit).........................m_T
d300 65 78 74 20 3d 20 6d 5f 54 65 78 74 2e 53 75 62 73 74 72 69 6e 67 28 30 2c 20 63 68 61 72 61 63 ext.=.m_Text.Substring(0,.charac
d320 74 65 72 4c 69 6d 69 74 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 terLimit);......................
d340 69 66 20 28 6d 5f 4b 65 79 62 6f 61 72 64 2e 63 61 6e 47 65 74 53 65 6c 65 63 74 69 6f 6e 29 0a if.(m_Keyboard.canGetSelection).
d360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ....................{...........
d380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 70 64 61 74 65 43 61 72 65 74 46 72 6f 6d 4b 65 79 ..............UpdateCaretFromKey
d3a0 62 6f 61 72 64 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 board();.....................}..
d3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 ...................else.........
d3e0 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ............{...................
d400 20 20 20 20 20 20 63 61 72 65 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 3d 20 63 61 ......caretPositionInternal.=.ca
d420 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 3d 20 6d 5f 54 65 retSelectPositionInternal.=.m_Te
d440 78 74 2e 4c 65 6e 67 74 68 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d xt.Length;.....................}
d460 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 53 65 74 20 6b 65 79 ......................//.Set.key
d480 62 6f 61 72 64 20 74 65 78 74 20 62 65 66 6f 72 65 20 75 70 64 61 74 69 6e 67 20 6c 61 62 65 6c board.text.before.updating.label
d4a0 2c 20 61 73 20 77 65 20 6d 69 67 68 74 20 68 61 76 65 20 63 68 61 6e 67 65 64 20 69 74 20 77 69 ,.as.we.might.have.changed.it.wi
d4c0 74 68 20 76 61 6c 69 64 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 th.validation...................
d4e0 20 20 2f 2f 20 61 6e 64 20 75 70 64 61 74 65 20 6c 61 62 65 6c 20 77 69 6c 6c 20 74 61 6b 65 20 ..//.and.update.label.will.take.
d500 74 68 65 20 6f 6c 64 20 76 61 6c 75 65 20 66 72 6f 6d 20 6b 65 79 62 6f 61 72 64 20 69 66 20 77 the.old.value.from.keyboard.if.w
d520 65 20 64 6f 6e 27 74 20 63 68 61 6e 67 65 20 69 74 20 68 65 72 65 0a 20 20 20 20 20 20 20 20 20 e.don't.change.it.here..........
d540 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 54 65 78 74 20 21 3d 20 76 61 6c 29 0a 20 20 ...........if.(m_Text.!=.val)...
d560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 4b 65 79 62 6f 61 72 64 ......................m_Keyboard
d580 2e 74 65 78 74 20 3d 20 6d 5f 54 65 78 74 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .text.=.m_Text;.................
d5a0 20 20 20 20 20 53 65 6e 64 4f 6e 56 61 6c 75 65 43 68 61 6e 67 65 64 41 6e 64 55 70 64 61 74 65 .....SendOnValueChangedAndUpdate
d5c0 4c 61 62 65 6c 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 Label();.................}......
d5e0 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 6d 5f .......}.............else.if.(m_
d600 48 69 64 65 4d 6f 62 69 6c 65 49 6e 70 75 74 20 26 26 20 6d 5f 4b 65 79 62 6f 61 72 64 2e 63 61 HideMobileInput.&&.m_Keyboard.ca
d620 6e 53 65 74 53 65 6c 65 63 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 nSetSelection).............{....
d640 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 4b 65 79 62 6f 61 72 64 2e 73 65 6c 65 63 74 69 6f .............m_Keyboard.selectio
d660 6e 20 3d 20 6e 65 77 20 52 61 6e 67 65 49 6e 74 28 63 61 72 65 74 50 6f 73 69 74 69 6f 6e 49 6e n.=.new.RangeInt(caretPositionIn
d680 74 65 72 6e 61 6c 2c 20 63 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 ternal,.caretSelectPositionInter
d6a0 6e 61 6c 20 2d 20 63 61 72 65 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 29 3b 0a 20 20 nal.-.caretPositionInternal);...
d6c0 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 ..........}.............else.if.
d6e0 28 6d 5f 4b 65 79 62 6f 61 72 64 2e 63 61 6e 47 65 74 53 65 6c 65 63 74 69 6f 6e 20 26 26 20 21 (m_Keyboard.canGetSelection.&&.!
d700 6d 5f 48 69 64 65 4d 6f 62 69 6c 65 49 6e 70 75 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b m_HideMobileInput).............{
d720 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 70 64 61 74 65 43 61 72 65 74 46 72 6f 6d .................UpdateCaretFrom
d740 4b 65 79 62 6f 61 72 64 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 0a 20 20 20 20 Keyboard();.............}.......
d760 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 4b 65 79 62 6f 61 72 64 2e 73 74 61 74 75 73 20 21 3d ........if.(m_Keyboard.status.!=
d780 20 54 6f 75 63 68 53 63 72 65 65 6e 4b 65 79 62 6f 61 72 64 2e 53 74 61 74 75 73 2e 56 69 73 69 .TouchScreenKeyboard.Status.Visi
d7a0 62 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ble).............{..............
d7c0 20 20 20 69 66 20 28 6d 5f 4b 65 79 62 6f 61 72 64 2e 73 74 61 74 75 73 20 3d 3d 20 54 6f 75 63 ...if.(m_Keyboard.status.==.Touc
d7e0 68 53 63 72 65 65 6e 4b 65 79 62 6f 61 72 64 2e 53 74 61 74 75 73 2e 43 61 6e 63 65 6c 65 64 29 hScreenKeyboard.Status.Canceled)
d800 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 57 61 73 43 61 6e 63 65 6c .....................m_WasCancel
d820 65 64 20 3d 20 74 72 75 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 6e 44 65 ed.=.true;..................OnDe
d840 73 65 6c 65 63 74 28 6e 75 6c 6c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 select(null);.............}.....
d860 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 5b 4f 62 73 6f 6c 65 74 65 28 22 54 68 69 73 20 66 ....}..........[Obsolete("This.f
d880 75 6e 63 74 69 6f 6e 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 75 73 65 64 2e 20 50 6c 65 61 73 unction.is.no.longer.used..Pleas
d8a0 65 20 75 73 65 20 52 65 63 74 54 72 61 6e 73 66 6f 72 6d 55 74 69 6c 69 74 79 2e 53 63 72 65 65 e.use.RectTransformUtility.Scree
d8c0 6e 50 6f 69 6e 74 54 6f 4c 6f 63 61 6c 50 6f 69 6e 74 49 6e 52 65 63 74 61 6e 67 6c 65 28 29 20 nPointToLocalPointInRectangle().
d8e0 69 6e 73 74 65 61 64 2e 22 29 5d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 56 65 63 74 6f instead.")].........public.Vecto
d900 72 32 20 53 63 72 65 65 6e 54 6f 4c 6f 63 61 6c 28 56 65 63 74 6f 72 32 20 73 63 72 65 65 6e 29 r2.ScreenToLocal(Vector2.screen)
d920 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 74 68 65 43 61 .........{.............var.theCa
d940 6e 76 61 73 20 3d 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 63 61 6e 76 61 73 3b 0a 20 nvas.=.m_TextComponent.canvas;..
d960 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 68 65 43 61 6e 76 61 73 20 3d 3d 20 6e 75 6c 6c ...........if.(theCanvas.==.null
d980 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 63 72 65 65 6e 3b ).................return.screen;
d9a0 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 56 65 63 74 6f 72 33 20 70 6f 73 20 3d 20 56 65 63 74 ..............Vector3.pos.=.Vect
d9c0 6f 72 33 2e 7a 65 72 6f 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 68 65 43 61 6e or3.zero;.............if.(theCan
d9e0 76 61 73 2e 72 65 6e 64 65 72 4d 6f 64 65 20 3d 3d 20 52 65 6e 64 65 72 4d 6f 64 65 2e 53 63 72 vas.renderMode.==.RenderMode.Scr
da00 65 65 6e 53 70 61 63 65 4f 76 65 72 6c 61 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 eenSpaceOverlay).............{..
da20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 73 20 3d 20 6d 5f 54 65 78 74 43 6f 6d 70 6f ...............pos.=.m_TextCompo
da40 6e 65 6e 74 2e 74 72 61 6e 73 66 6f 72 6d 2e 49 6e 76 65 72 73 65 54 72 61 6e 73 66 6f 72 6d 50 nent.transform.InverseTransformP
da60 6f 69 6e 74 28 73 63 72 65 65 6e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 oint(screen);.............}.....
da80 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 74 68 65 43 61 6e 76 61 73 2e 77 6f 72 6c 64 ........else.if.(theCanvas.world
daa0 43 61 6d 65 72 61 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 Camera.!=.null).............{...
dac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 61 79 20 6d 6f 75 73 65 52 61 79 20 3d 20 74 68 65 ..............Ray.mouseRay.=.the
dae0 43 61 6e 76 61 73 2e 77 6f 72 6c 64 43 61 6d 65 72 61 2e 53 63 72 65 65 6e 50 6f 69 6e 74 54 6f Canvas.worldCamera.ScreenPointTo
db00 52 61 79 28 73 63 72 65 65 6e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6c 6f Ray(screen);.................flo
db20 61 74 20 64 69 73 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 6c 61 6e 65 20 70 at.dist;.................Plane.p
db40 6c 61 6e 65 20 3d 20 6e 65 77 20 50 6c 61 6e 65 28 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 lane.=.new.Plane(m_TextComponent
db60 2e 74 72 61 6e 73 66 6f 72 6d 2e 66 6f 72 77 61 72 64 2c 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e .transform.forward,.m_TextCompon
db80 65 6e 74 2e 74 72 61 6e 73 66 6f 72 6d 2e 70 6f 73 69 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 ent.transform.position);........
dba0 20 20 20 20 20 20 20 20 20 70 6c 61 6e 65 2e 52 61 79 63 61 73 74 28 6d 6f 75 73 65 52 61 79 2c .........plane.Raycast(mouseRay,
dbc0 20 6f 75 74 20 64 69 73 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 73 20 .out.dist);.................pos.
dbe0 3d 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 74 72 61 6e 73 66 6f 72 6d 2e 49 6e 76 65 =.m_TextComponent.transform.Inve
dc00 72 73 65 54 72 61 6e 73 66 6f 72 6d 50 6f 69 6e 74 28 6d 6f 75 73 65 52 61 79 2e 47 65 74 50 6f rseTransformPoint(mouseRay.GetPo
dc20 69 6e 74 28 64 69 73 74 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 int(dist));.............}.......
dc40 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77 20 56 65 63 74 6f 72 32 28 70 6f 73 2e 78 2c 20 ......return.new.Vector2(pos.x,.
dc60 70 6f 73 2e 79 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 pos.y);.........}..........priva
dc80 74 65 20 69 6e 74 20 47 65 74 55 6e 63 6c 61 6d 70 65 64 43 68 61 72 61 63 74 65 72 4c 69 6e 65 te.int.GetUnclampedCharacterLine
dca0 46 72 6f 6d 50 6f 73 69 74 69 6f 6e 28 56 65 63 74 6f 72 32 20 70 6f 73 2c 20 54 65 78 74 47 65 FromPosition(Vector2.pos,.TextGe
dcc0 6e 65 72 61 74 6f 72 20 67 65 6e 65 72 61 74 6f 72 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 nerator.generator).........{....
dce0 20 20 20 20 20 20 20 20 20 69 66 20 28 21 6d 75 6c 74 69 4c 69 6e 65 29 0a 20 20 20 20 20 20 20 .........if.(!multiLine)........
dd00 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 .........return.0;..............
dd20 2f 2f 20 74 72 61 6e 73 66 6f 72 6d 20 79 20 74 6f 20 6c 6f 63 61 6c 20 73 63 61 6c 65 0a 20 20 //.transform.y.to.local.scale...
dd40 20 20 20 20 20 20 20 20 20 20 66 6c 6f 61 74 20 79 20 3d 20 70 6f 73 2e 79 20 2a 20 6d 5f 54 65 ..........float.y.=.pos.y.*.m_Te
dd60 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 70 69 78 65 6c 73 50 65 72 55 6e 69 74 3b 0a 20 20 20 20 20 xtComponent.pixelsPerUnit;......
dd80 20 20 20 20 20 20 20 66 6c 6f 61 74 20 6c 61 73 74 42 6f 74 74 6f 6d 59 20 3d 20 30 2e 30 66 3b .......float.lastBottomY.=.0.0f;
dda0 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 ..............for.(int.i.=.0;.i.
ddc0 3c 20 67 65 6e 65 72 61 74 6f 72 2e 6c 69 6e 65 43 6f 75 6e 74 3b 20 2b 2b 69 29 0a 20 20 20 20 <.generator.lineCount;.++i).....
dde0 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6c 6f 61 74 20 ........{.................float.
de00 74 6f 70 59 20 3d 20 67 65 6e 65 72 61 74 6f 72 2e 6c 69 6e 65 73 5b 69 5d 2e 74 6f 70 59 3b 0a topY.=.generator.lines[i].topY;.
de20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6c 6f 61 74 20 62 6f 74 74 6f 6d 59 20 3d 20 ................float.bottomY.=.
de40 74 6f 70 59 20 2d 20 67 65 6e 65 72 61 74 6f 72 2e 6c 69 6e 65 73 5b 69 5d 2e 68 65 69 67 68 74 topY.-.generator.lines[i].height
de60 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 70 6f 73 20 69 73 20 73 6f 6d ;..................//.pos.is.som
de80 65 77 68 65 72 65 20 69 6e 20 74 68 65 20 6c 65 61 64 69 6e 67 20 61 62 6f 76 65 20 74 68 69 73 ewhere.in.the.leading.above.this
dea0 20 6c 69 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 79 20 3e 20 74 6f .line.................if.(y.>.to
dec0 70 59 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 pY).................{...........
dee0 20 20 20 20 20 20 20 20 20 20 2f 2f 20 64 65 74 65 72 6d 69 6e 65 20 77 68 69 63 68 20 6c 69 6e ..........//.determine.which.lin
df00 65 20 77 65 27 72 65 20 63 6c 6f 73 65 72 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.we're.closer.to...............
df20 20 20 20 20 20 20 66 6c 6f 61 74 20 6c 65 61 64 69 6e 67 20 3d 20 74 6f 70 59 20 2d 20 6c 61 73 ......float.leading.=.topY.-.las
df40 74 42 6f 74 74 6f 6d 59 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 tBottomY;.....................if
df60 20 28 79 20 3e 20 74 6f 70 59 20 2d 20 30 2e 35 66 20 2a 20 6c 65 61 64 69 6e 67 29 0a 20 20 20 .(y.>.topY.-.0.5f.*.leading)....
df80 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 20 69 20 2d 20 .....................return.i.-.
dfa0 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 1;.....................else.....
dfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 69 3b 0a 20 20 ....................return.i;...
dfe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............}.................
e000 20 69 66 20 28 79 20 3e 20 62 6f 74 74 6f 6d 59 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .if.(y.>.bottomY)...............
e020 20 20 20 20 20 20 72 65 74 75 72 6e 20 69 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......return.i;.................
e040 20 6c 61 73 74 42 6f 74 74 6f 6d 59 20 3d 20 62 6f 74 74 6f 6d 59 3b 0a 20 20 20 20 20 20 20 20 .lastBottomY.=.bottomY;.........
e060 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 50 6f 73 69 74 69 6f 6e 20 69 ....}..............//.Position.i
e080 73 20 61 66 74 65 72 20 6c 61 73 74 20 6c 69 6e 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 s.after.last.line..............r
e0a0 65 74 75 72 6e 20 67 65 6e 65 72 61 74 6f 72 2e 6c 69 6e 65 43 6f 75 6e 74 3b 0a 20 20 20 20 20 eturn.generator.lineCount;......
e0c0 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 ...}..........///.<summary>.....
e0e0 20 20 20 20 2f 2f 2f 20 47 69 76 65 6e 20 61 6e 20 69 6e 70 75 74 20 70 6f 73 69 74 69 6f 6e 20 ....///.Given.an.input.position.
e100 69 6e 20 6c 6f 63 61 6c 20 73 70 61 63 65 20 6f 6e 20 74 68 65 20 54 65 78 74 20 72 65 74 75 72 in.local.space.on.the.Text.retur
e120 6e 20 74 68 65 20 69 6e 64 65 78 20 66 6f 72 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 63 75 n.the.index.for.the.selection.cu
e140 72 73 6f 72 20 61 74 20 74 68 69 73 20 70 6f 73 69 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 2f rsor.at.this.position........../
e160 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d //.</summary>.........///.<param
e180 20 6e 61 6d 65 3d 22 70 6f 73 22 3e 4d 6f 75 73 65 20 70 6f 73 69 74 69 6f 6e 2e 3c 2f 70 61 72 .name="pos">Mouse.position.</par
e1a0 61 6d 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 74 75 72 6e 73 3e 43 68 61 72 61 63 74 am>.........///.<returns>Charact
e1c0 65 72 20 69 6e 64 65 78 20 77 69 74 68 20 69 6e 20 76 61 6c 75 65 2e 3c 2f 72 65 74 75 72 6e 73 er.index.with.in.value.</returns
e1e0 3e 0a 20 20 20 20 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 69 6e 74 20 47 65 74 43 68 61 72 61 >.........protected.int.GetChara
e200 63 74 65 72 49 6e 64 65 78 46 72 6f 6d 50 6f 73 69 74 69 6f 6e 28 56 65 63 74 6f 72 32 20 70 6f cterIndexFromPosition(Vector2.po
e220 73 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 65 78 74 47 65 6e s).........{.............TextGen
e240 65 72 61 74 6f 72 20 67 65 6e 20 3d 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 63 61 63 erator.gen.=.m_TextComponent.cac
e260 68 65 64 54 65 78 74 47 65 6e 65 72 61 74 6f 72 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 hedTextGenerator;..............i
e280 66 20 28 67 65 6e 2e 6c 69 6e 65 43 6f 75 6e 74 20 3d 3d 20 30 29 0a 20 20 20 20 20 20 20 20 20 f.(gen.lineCount.==.0)..........
e2a0 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e .......return.0;..............in
e2c0 74 20 6c 69 6e 65 20 3d 20 47 65 74 55 6e 63 6c 61 6d 70 65 64 43 68 61 72 61 63 74 65 72 4c 69 t.line.=.GetUnclampedCharacterLi
e2e0 6e 65 46 72 6f 6d 50 6f 73 69 74 69 6f 6e 28 70 6f 73 2c 20 67 65 6e 29 3b 0a 20 20 20 20 20 20 neFromPosition(pos,.gen);.......
e300 20 20 20 20 20 20 69 66 20 28 6c 69 6e 65 20 3c 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ......if.(line.<.0).............
e320 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6c 69 ....return.0;.............if.(li
e340 6e 65 20 3e 3d 20 67 65 6e 2e 6c 69 6e 65 43 6f 75 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 ne.>=.gen.lineCount)............
e360 20 20 20 20 20 72 65 74 75 72 6e 20 67 65 6e 2e 63 68 61 72 61 63 74 65 72 43 6f 75 6e 74 56 69 .....return.gen.characterCountVi
e380 73 69 62 6c 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 73 74 61 72 74 43 68 61 sible;..............int.startCha
e3a0 72 49 6e 64 65 78 20 3d 20 67 65 6e 2e 6c 69 6e 65 73 5b 6c 69 6e 65 5d 2e 73 74 61 72 74 43 68 rIndex.=.gen.lines[line].startCh
e3c0 61 72 49 64 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 65 6e 64 43 68 61 72 49 6e arIdx;.............int.endCharIn
e3e0 64 65 78 20 3d 20 47 65 74 4c 69 6e 65 45 6e 64 50 6f 73 69 74 69 6f 6e 28 67 65 6e 2c 20 6c 69 dex.=.GetLineEndPosition(gen,.li
e400 6e 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 73 ne);..............for.(int.i.=.s
e420 74 61 72 74 43 68 61 72 49 6e 64 65 78 3b 20 69 20 3c 20 65 6e 64 43 68 61 72 49 6e 64 65 78 3b tartCharIndex;.i.<.endCharIndex;
e440 20 69 2b 2b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 .i++).............{.............
e460 20 20 20 20 69 66 20 28 69 20 3e 3d 20 67 65 6e 2e 63 68 61 72 61 63 74 65 72 43 6f 75 6e 74 56 ....if.(i.>=.gen.characterCountV
e480 69 73 69 62 6c 65 29 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 isible).....................brea
e4a0 6b 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 49 43 68 61 72 49 6e 66 6f 20 63 k;..................UICharInfo.c
e4c0 68 61 72 49 6e 66 6f 20 3d 20 67 65 6e 2e 63 68 61 72 61 63 74 65 72 73 5b 69 5d 3b 0a 20 20 20 harInfo.=.gen.characters[i];....
e4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 56 65 63 74 6f 72 32 20 63 68 61 72 50 6f 73 20 3d 20 63 .............Vector2.charPos.=.c
e500 68 61 72 49 6e 66 6f 2e 63 75 72 73 6f 72 50 6f 73 20 2f 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e harInfo.cursorPos./.m_TextCompon
e520 65 6e 74 2e 70 69 78 65 6c 73 50 65 72 55 6e 69 74 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 ent.pixelsPerUnit;..............
e540 20 20 20 20 66 6c 6f 61 74 20 64 69 73 74 54 6f 43 68 61 72 53 74 61 72 74 20 3d 20 70 6f 73 2e ....float.distToCharStart.=.pos.
e560 78 20 2d 20 63 68 61 72 50 6f 73 2e 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 x.-.charPos.x;.................f
e580 6c 6f 61 74 20 64 69 73 74 54 6f 43 68 61 72 45 6e 64 20 3d 20 63 68 61 72 50 6f 73 2e 78 20 2b loat.distToCharEnd.=.charPos.x.+
e5a0 20 28 63 68 61 72 49 6e 66 6f 2e 63 68 61 72 57 69 64 74 68 20 2f 20 6d 5f 54 65 78 74 43 6f 6d .(charInfo.charWidth./.m_TextCom
e5c0 70 6f 6e 65 6e 74 2e 70 69 78 65 6c 73 50 65 72 55 6e 69 74 29 20 2d 20 70 6f 73 2e 78 3b 0a 20 ponent.pixelsPerUnit).-.pos.x;..
e5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 64 69 73 74 54 6f 43 68 61 72 53 74 61 ...............if.(distToCharSta
e600 72 74 20 3c 20 64 69 73 74 54 6f 43 68 61 72 45 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 rt.<.distToCharEnd).............
e620 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 69 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a ........return.i;.............}.
e640 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 65 6e 64 43 68 61 72 49 6e 64 65 78 .............return.endCharIndex
e660 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 62 6f 6f ;.........}..........private.boo
e680 6c 20 4d 61 79 44 72 61 67 28 50 6f 69 6e 74 65 72 45 76 65 6e 74 44 61 74 61 20 65 76 65 6e 74 l.MayDrag(PointerEventData.event
e6a0 44 61 74 61 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 Data).........{.............retu
e6c0 72 6e 20 49 73 41 63 74 69 76 65 28 29 20 26 26 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rn.IsActive().&&................
e6e0 20 49 73 49 6e 74 65 72 61 63 74 61 62 6c 65 28 29 20 26 26 0a 20 20 20 20 20 20 20 20 20 20 20 .IsInteractable().&&............
e700 20 20 20 20 20 65 76 65 6e 74 44 61 74 61 2e 62 75 74 74 6f 6e 20 3d 3d 20 50 6f 69 6e 74 65 72 .....eventData.button.==.Pointer
e720 45 76 65 6e 74 44 61 74 61 2e 49 6e 70 75 74 42 75 74 74 6f 6e 2e 4c 65 66 74 20 26 26 0a 20 20 EventData.InputButton.Left.&&...
e740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 20 21 3d ..............m_TextComponent.!=
e760 20 6e 75 6c 6c 20 26 26 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 49 6e 50 6c 61 63 .null.&&.................(InPlac
e780 65 45 64 69 74 69 6e 67 28 29 20 7c 7c 20 6d 5f 48 69 64 65 4d 6f 62 69 6c 65 49 6e 70 75 74 29 eEditing().||.m_HideMobileInput)
e7a0 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 ;.........}..........///.<summar
e7c0 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 43 61 70 74 75 72 65 20 74 68 65 20 4f 6e 42 65 67 y>.........///.Capture.the.OnBeg
e7e0 69 6e 44 72 61 67 20 63 61 6c 6c 62 61 63 6b 20 66 72 6f 6d 20 74 68 65 20 45 76 65 6e 74 53 79 inDrag.callback.from.the.EventSy
e800 73 74 65 6d 20 61 6e 64 20 65 6e 73 75 72 65 20 77 65 20 73 68 6f 75 6c 64 20 6c 69 73 74 65 6e stem.and.ensure.we.should.listen
e820 20 74 6f 20 74 68 65 20 64 72 61 67 20 65 76 65 6e 74 73 20 74 6f 20 66 6f 6c 6c 6f 77 2e 0a 20 .to.the.drag.events.to.follow...
e840 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f .......///.</summary>.........//
e860 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 65 76 65 6e 74 44 61 74 61 22 3e 54 68 65 20 64 61 /.<param.name="eventData">The.da
e880 74 61 20 70 61 73 73 65 64 20 62 79 20 74 68 65 20 45 76 65 6e 74 53 79 73 74 65 6d 3c 2f 70 61 ta.passed.by.the.EventSystem</pa
e8a0 72 61 6d 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 76 69 72 74 75 61 6c 20 76 6f 69 64 ram>.........public.virtual.void
e8c0 20 4f 6e 42 65 67 69 6e 44 72 61 67 28 50 6f 69 6e 74 65 72 45 76 65 6e 74 44 61 74 61 20 65 76 .OnBeginDrag(PointerEventData.ev
e8e0 65 6e 74 44 61 74 61 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 entData).........{.............i
e900 66 20 28 21 4d 61 79 44 72 61 67 28 65 76 65 6e 74 44 61 74 61 29 29 0a 20 20 20 20 20 20 20 20 f.(!MayDrag(eventData)).........
e920 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 55 ........return;..............m_U
e940 70 64 61 74 65 44 72 61 67 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 pdateDrag.=.true;.........}.....
e960 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 49 .....///.<summary>.........///.I
e980 66 20 77 65 20 61 72 65 20 61 62 6c 65 20 74 6f 20 64 72 61 67 2c 20 74 72 79 20 61 6e 64 20 73 f.we.are.able.to.drag,.try.and.s
e9a0 65 6c 65 63 74 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 72 61 6e 67 65 20 75 6e 64 65 72 6e elect.the.character.range.undern
e9c0 65 61 74 68 20 74 68 65 20 62 6f 75 6e 64 69 6e 67 20 72 65 63 74 2e 0a 20 20 20 20 20 20 20 20 eath.the.bounding.rect..........
e9e0 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 ///.</summary>.........///.<para
ea00 6d 20 6e 61 6d 65 3d 22 65 76 65 6e 74 44 61 74 61 22 3e 3c 2f 70 61 72 61 6d 3e 0a 20 20 20 20 m.name="eventData"></param>.....
ea20 20 20 20 20 70 75 62 6c 69 63 20 76 69 72 74 75 61 6c 20 76 6f 69 64 20 4f 6e 44 72 61 67 28 50 ....public.virtual.void.OnDrag(P
ea40 6f 69 6e 74 65 72 45 76 65 6e 74 44 61 74 61 20 65 76 65 6e 74 44 61 74 61 29 0a 20 20 20 20 20 ointerEventData.eventData)......
ea60 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 4d 61 79 44 72 61 67 28 65 76 ...{.............if.(!MayDrag(ev
ea80 65 6e 74 44 61 74 61 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e entData)).................return
eaa0 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 56 65 63 74 6f 72 32 20 70 6f 73 69 74 69 6f 6e 20 ;..............Vector2.position.
eac0 3d 20 56 65 63 74 6f 72 32 2e 7a 65 72 6f 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 =.Vector2.zero;.............if.(
eae0 21 4d 75 6c 74 69 70 6c 65 44 69 73 70 6c 61 79 55 74 69 6c 69 74 69 65 73 2e 47 65 74 52 65 6c !MultipleDisplayUtilities.GetRel
eb00 61 74 69 76 65 4d 6f 75 73 65 50 6f 73 69 74 69 6f 6e 46 6f 72 44 72 61 67 28 65 76 65 6e 74 44 ativeMousePositionForDrag(eventD
eb20 61 74 61 2c 20 72 65 66 20 70 6f 73 69 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ata,.ref.position)).............
eb40 20 20 20 20 72 65 74 75 72 6e 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 56 65 63 74 6f 72 32 ....return;..............Vector2
eb60 20 6c 6f 63 61 6c 4d 6f 75 73 65 50 6f 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 52 65 63 74 .localMousePos;.............Rect
eb80 54 72 61 6e 73 66 6f 72 6d 55 74 69 6c 69 74 79 2e 53 63 72 65 65 6e 50 6f 69 6e 74 54 6f 4c 6f TransformUtility.ScreenPointToLo
eba0 63 61 6c 50 6f 69 6e 74 49 6e 52 65 63 74 61 6e 67 6c 65 28 74 65 78 74 43 6f 6d 70 6f 6e 65 6e calPointInRectangle(textComponen
ebc0 74 2e 72 65 63 74 54 72 61 6e 73 66 6f 72 6d 2c 20 70 6f 73 69 74 69 6f 6e 2c 20 65 76 65 6e 74 t.rectTransform,.position,.event
ebe0 44 61 74 61 2e 70 72 65 73 73 45 76 65 6e 74 43 61 6d 65 72 61 2c 20 6f 75 74 20 6c 6f 63 61 6c Data.pressEventCamera,.out.local
ec00 4d 6f 75 73 65 50 6f 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 72 65 74 53 65 6c 65 MousePos);.............caretSele
ec20 63 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 3d 20 47 65 74 43 68 61 72 61 63 74 65 ctPositionInternal.=.GetCharacte
ec40 72 49 6e 64 65 78 46 72 6f 6d 50 6f 73 69 74 69 6f 6e 28 6c 6f 63 61 6c 4d 6f 75 73 65 50 6f 73 rIndexFromPosition(localMousePos
ec60 29 20 2b 20 6d 5f 44 72 61 77 53 74 61 72 74 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 4d 61 ).+.m_DrawStart;..............Ma
ec80 72 6b 47 65 6f 6d 65 74 72 79 41 73 44 69 72 74 79 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 rkGeometryAsDirty();............
eca0 20 20 6d 5f 44 72 61 67 50 6f 73 69 74 69 6f 6e 4f 75 74 4f 66 42 6f 75 6e 64 73 20 3d 20 21 52 ..m_DragPositionOutOfBounds.=.!R
ecc0 65 63 74 54 72 61 6e 73 66 6f 72 6d 55 74 69 6c 69 74 79 2e 52 65 63 74 61 6e 67 6c 65 43 6f 6e ectTransformUtility.RectangleCon
ece0 74 61 69 6e 73 53 63 72 65 65 6e 50 6f 69 6e 74 28 74 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 72 tainsScreenPoint(textComponent.r
ed00 65 63 74 54 72 61 6e 73 66 6f 72 6d 2c 20 65 76 65 6e 74 44 61 74 61 2e 70 6f 73 69 74 69 6f 6e ectTransform,.eventData.position
ed20 2c 20 65 76 65 6e 74 44 61 74 61 2e 70 72 65 73 73 45 76 65 6e 74 43 61 6d 65 72 61 29 3b 0a 20 ,.eventData.pressEventCamera);..
ed40 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 44 72 61 67 50 6f 73 69 74 69 6f 6e 4f 75 74 ...........if.(m_DragPositionOut
ed60 4f 66 42 6f 75 6e 64 73 20 26 26 20 6d 5f 44 72 61 67 43 6f 72 6f 75 74 69 6e 65 20 3d 3d 20 6e OfBounds.&&.m_DragCoroutine.==.n
ed80 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 44 72 61 67 43 6f 72 6f 75 ull).................m_DragCorou
eda0 74 69 6e 65 20 3d 20 53 74 61 72 74 43 6f 72 6f 75 74 69 6e 65 28 4d 6f 75 73 65 44 72 61 67 4f tine.=.StartCoroutine(MouseDragO
edc0 75 74 73 69 64 65 52 65 63 74 28 65 76 65 6e 74 44 61 74 61 29 29 3b 0a 0a 20 20 20 20 20 20 20 utsideRect(eventData));.........
ede0 20 20 20 20 20 65 76 65 6e 74 44 61 74 61 2e 55 73 65 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a .....eventData.Use();.........}.
ee00 0a 20 20 20 20 20 20 20 20 49 45 6e 75 6d 65 72 61 74 6f 72 20 4d 6f 75 73 65 44 72 61 67 4f 75 .........IEnumerator.MouseDragOu
ee20 74 73 69 64 65 52 65 63 74 28 50 6f 69 6e 74 65 72 45 76 65 6e 74 44 61 74 61 20 65 76 65 6e 74 tsideRect(PointerEventData.event
ee40 44 61 74 61 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c Data).........{.............whil
ee60 65 20 28 6d 5f 55 70 64 61 74 65 44 72 61 67 20 26 26 20 6d 5f 44 72 61 67 50 6f 73 69 74 69 6f e.(m_UpdateDrag.&&.m_DragPositio
ee80 6e 4f 75 74 4f 66 42 6f 75 6e 64 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 nOutOfBounds).............{.....
eea0 20 20 20 20 20 20 20 20 20 20 20 20 56 65 63 74 6f 72 32 20 70 6f 73 69 74 69 6f 6e 20 3d 20 56 ............Vector2.position.=.V
eec0 65 63 74 6f 72 32 2e 7a 65 72 6f 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 ector2.zero;.................if.
eee0 28 21 4d 75 6c 74 69 70 6c 65 44 69 73 70 6c 61 79 55 74 69 6c 69 74 69 65 73 2e 47 65 74 52 65 (!MultipleDisplayUtilities.GetRe
ef00 6c 61 74 69 76 65 4d 6f 75 73 65 50 6f 73 69 74 69 6f 6e 46 6f 72 44 72 61 67 28 65 76 65 6e 74 lativeMousePositionForDrag(event
ef20 44 61 74 61 2c 20 72 65 66 20 70 6f 73 69 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 Data,.ref.position))............
ef40 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........break;.................
ef60 20 56 65 63 74 6f 72 32 20 6c 6f 63 61 6c 4d 6f 75 73 65 50 6f 73 3b 0a 20 20 20 20 20 20 20 20 .Vector2.localMousePos;.........
ef80 20 20 20 20 20 20 20 20 52 65 63 74 54 72 61 6e 73 66 6f 72 6d 55 74 69 6c 69 74 79 2e 53 63 72 ........RectTransformUtility.Scr
efa0 65 65 6e 50 6f 69 6e 74 54 6f 4c 6f 63 61 6c 50 6f 69 6e 74 49 6e 52 65 63 74 61 6e 67 6c 65 28 eenPointToLocalPointInRectangle(
efc0 74 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 72 65 63 74 54 72 61 6e 73 66 6f 72 6d 2c 20 70 6f 73 textComponent.rectTransform,.pos
efe0 69 74 69 6f 6e 2c 20 65 76 65 6e 74 44 61 74 61 2e 70 72 65 73 73 45 76 65 6e 74 43 61 6d 65 72 ition,.eventData.pressEventCamer
f000 61 2c 20 6f 75 74 20 6c 6f 63 61 6c 4d 6f 75 73 65 50 6f 73 29 3b 0a 0a 20 20 20 20 20 20 20 20 a,.out.localMousePos);..........
f020 20 20 20 20 20 20 20 20 52 65 63 74 20 72 65 63 74 20 3d 20 74 65 78 74 43 6f 6d 70 6f 6e 65 6e ........Rect.rect.=.textComponen
f040 74 2e 72 65 63 74 54 72 61 6e 73 66 6f 72 6d 2e 72 65 63 74 3b 0a 0a 20 20 20 20 20 20 20 20 20 t.rectTransform.rect;...........
f060 20 20 20 20 20 20 20 69 66 20 28 6d 75 6c 74 69 4c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 .......if.(multiLine)...........
f080 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 ......{.....................if.(
f0a0 6c 6f 63 61 6c 4d 6f 75 73 65 50 6f 73 2e 79 20 3e 20 72 65 63 74 2e 79 4d 61 78 29 0a 20 20 20 localMousePos.y.>.rect.yMax)....
f0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 6f 76 65 55 70 28 74 72 75 65 .....................MoveUp(true
f0e0 2c 20 74 72 75 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 ,.true);.....................els
f100 65 20 69 66 20 28 6c 6f 63 61 6c 4d 6f 75 73 65 50 6f 73 2e 79 20 3c 20 72 65 63 74 2e 79 4d 69 e.if.(localMousePos.y.<.rect.yMi
f120 6e 29 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 4d 6f 76 65 44 n).........................MoveD
f140 6f 77 6e 28 74 72 75 65 2c 20 74 72 75 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 own(true,.true);................
f160 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 .}.................else.........
f180 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 ........{.....................if
f1a0 20 28 6c 6f 63 61 6c 4d 6f 75 73 65 50 6f 73 2e 78 20 3c 20 72 65 63 74 2e 78 4d 69 6e 29 0a 20 .(localMousePos.x.<.rect.xMin)..
f1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 6f 76 65 4c 65 66 74 28 .......................MoveLeft(
f1e0 74 72 75 65 2c 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 true,.false);...................
f200 20 20 65 6c 73 65 20 69 66 20 28 6c 6f 63 61 6c 4d 6f 75 73 65 50 6f 73 2e 78 20 3e 20 72 65 63 ..else.if.(localMousePos.x.>.rec
f220 74 2e 78 4d 61 78 29 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 t.xMax).........................
f240 4d 6f 76 65 52 69 67 68 74 28 74 72 75 65 2c 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 MoveRight(true,.false);.........
f260 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 70 64 61 74 65 ........}.................Update
f280 4c 61 62 65 6c 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6c 6f 61 74 20 64 Label();.................float.d
f2a0 65 6c 61 79 20 3d 20 6d 75 6c 74 69 4c 69 6e 65 20 3f 20 6b 56 53 63 72 6f 6c 6c 53 70 65 65 64 elay.=.multiLine.?.kVScrollSpeed
f2c0 20 3a 20 6b 48 53 63 72 6f 6c 6c 53 70 65 65 64 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .:.kHScrollSpeed;...............
f2e0 20 20 69 66 20 28 6d 5f 57 61 69 74 46 6f 72 53 65 63 6f 6e 64 73 52 65 61 6c 74 69 6d 65 20 3d ..if.(m_WaitForSecondsRealtime.=
f300 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 57 61 =.null).....................m_Wa
f320 69 74 46 6f 72 53 65 63 6f 6e 64 73 52 65 61 6c 74 69 6d 65 20 3d 20 6e 65 77 20 57 61 69 74 46 itForSecondsRealtime.=.new.WaitF
f340 6f 72 53 65 63 6f 6e 64 73 52 65 61 6c 74 69 6d 65 28 64 65 6c 61 79 29 3b 0a 20 20 20 20 20 20 orSecondsRealtime(delay);.......
f360 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........else..................
f380 20 20 20 6d 5f 57 61 69 74 46 6f 72 53 65 63 6f 6e 64 73 52 65 61 6c 74 69 6d 65 2e 77 61 69 74 ...m_WaitForSecondsRealtime.wait
f3a0 54 69 6d 65 20 3d 20 64 65 6c 61 79 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 79 69 Time.=.delay;.................yi
f3c0 65 6c 64 20 72 65 74 75 72 6e 20 6d 5f 57 61 69 74 46 6f 72 53 65 63 6f 6e 64 73 52 65 61 6c 74 eld.return.m_WaitForSecondsRealt
f3e0 69 6d 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d ime;.............}.............m
f400 5f 44 72 61 67 43 6f 72 6f 75 74 69 6e 65 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 7d _DragCoroutine.=.null;.........}
f420 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 ..........///.<summary>.........
f440 2f 2f 2f 20 43 61 70 74 75 72 65 20 74 68 65 20 4f 6e 45 6e 64 44 72 61 67 20 63 61 6c 6c 62 61 ///.Capture.the.OnEndDrag.callba
f460 63 6b 20 66 72 6f 6d 20 74 68 65 20 45 76 65 6e 74 53 79 73 74 65 6d 20 61 6e 64 20 63 61 6e 63 ck.from.the.EventSystem.and.canc
f480 65 6c 20 74 68 65 20 6c 69 73 74 65 6e 69 6e 67 20 6f 66 20 64 72 61 67 20 65 76 65 6e 74 73 2e el.the.listening.of.drag.events.
f4a0 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 .........///.</summary>.........
f4c0 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 65 76 65 6e 74 44 61 74 61 22 3e 54 68 65 20 ///.<param.name="eventData">The.
f4e0 65 76 65 6e 74 44 61 74 61 20 73 65 6e 74 20 62 79 20 74 68 65 20 45 76 65 6e 74 53 79 73 74 65 eventData.sent.by.the.EventSyste
f500 6d 2e 3c 2f 70 61 72 61 6d 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 76 69 72 74 75 61 m.</param>.........public.virtua
f520 6c 20 76 6f 69 64 20 4f 6e 45 6e 64 44 72 61 67 28 50 6f 69 6e 74 65 72 45 76 65 6e 74 44 61 74 l.void.OnEndDrag(PointerEventDat
f540 61 20 65 76 65 6e 74 44 61 74 61 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 a.eventData).........{..........
f560 20 20 20 69 66 20 28 21 4d 61 79 44 72 61 67 28 65 76 65 6e 74 44 61 74 61 29 29 0a 20 20 20 20 ...if.(!MayDrag(eventData)).....
f580 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 ............return;.............
f5a0 20 6d 5f 55 70 64 61 74 65 44 72 61 67 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d .m_UpdateDrag.=.false;.........}
f5c0 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 ..........///.<summary>.........
f5e0 2f 2f 2f 20 54 68 65 20 61 63 74 69 6f 6e 20 74 6f 20 70 65 72 66 6f 72 6d 20 77 68 65 6e 20 74 ///.The.action.to.perform.when.t
f600 68 65 20 65 76 65 6e 74 20 73 79 73 74 65 6d 20 73 65 6e 64 73 20 61 20 70 6f 69 6e 74 65 72 20 he.event.system.sends.a.pointer.
f620 64 6f 77 6e 20 45 76 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 down.Event..........///.</summar
f640 79 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 76 6f 69 64 20 y>.........public.override.void.
f660 4f 6e 50 6f 69 6e 74 65 72 44 6f 77 6e 28 50 6f 69 6e 74 65 72 45 76 65 6e 74 44 61 74 61 20 65 OnPointerDown(PointerEventData.e
f680 76 65 6e 74 44 61 74 61 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ventData).........{.............
f6a0 69 66 20 28 21 4d 61 79 44 72 61 67 28 65 76 65 6e 74 44 61 74 61 29 29 0a 20 20 20 20 20 20 20 if.(!MayDrag(eventData))........
f6c0 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 45 76 .........return;..............Ev
f6e0 65 6e 74 53 79 73 74 65 6d 2e 63 75 72 72 65 6e 74 2e 53 65 74 53 65 6c 65 63 74 65 64 47 61 6d entSystem.current.SetSelectedGam
f700 65 4f 62 6a 65 63 74 28 67 61 6d 65 4f 62 6a 65 63 74 2c 20 65 76 65 6e 74 44 61 74 61 29 3b 0a eObject(gameObject,.eventData);.
f720 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 6f 6c 20 68 61 64 46 6f 63 75 73 42 65 66 6f 72 65 .............bool.hadFocusBefore
f740 20 3d 20 6d 5f 41 6c 6c 6f 77 49 6e 70 75 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 61 73 .=.m_AllowInput;.............bas
f760 65 2e 4f 6e 50 6f 69 6e 74 65 72 44 6f 77 6e 28 65 76 65 6e 74 44 61 74 61 29 3b 0a 0a 20 20 20 e.OnPointerDown(eventData);.....
f780 20 20 20 20 20 20 20 20 20 69 66 20 28 21 49 6e 50 6c 61 63 65 45 64 69 74 69 6e 67 28 29 29 0a .........if.(!InPlaceEditing()).
f7a0 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 ............{.................if
f7c0 20 28 6d 5f 4b 65 79 62 6f 61 72 64 20 3d 3d 20 6e 75 6c 6c 20 7c 7c 20 21 6d 5f 4b 65 79 62 6f .(m_Keyboard.==.null.||.!m_Keybo
f7e0 61 72 64 2e 61 63 74 69 76 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 ard.active).................{...
f800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 6e 53 65 6c 65 63 74 28 65 76 65 6e 74 ..................OnSelect(event
f820 44 61 74 61 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 Data);.....................retur
f840 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 n;.................}............
f860 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 4f 6e 6c 79 20 73 65 74 20 63 61 72 65 .}..............//.Only.set.care
f880 74 20 70 6f 73 69 74 69 6f 6e 20 69 66 20 77 65 20 64 69 64 6e 27 74 20 6a 75 73 74 20 67 65 74 t.position.if.we.didn't.just.get
f8a0 20 66 6f 63 75 73 20 6e 6f 77 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 4f 74 68 65 72 .focus.now..............//.Other
f8c0 77 69 73 65 20 69 74 20 77 69 6c 6c 20 6f 76 65 72 77 72 69 74 65 20 74 68 65 20 73 65 6c 65 63 wise.it.will.overwrite.the.selec
f8e0 74 20 61 6c 6c 20 6f 6e 20 66 6f 63 75 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 t.all.on.focus..............if.(
f900 68 61 64 46 6f 63 75 73 42 65 66 6f 72 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 hadFocusBefore).............{...
f920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 56 65 63 74 6f 72 32 20 6c 6f 63 61 6c 4d 6f 75 73 65 ..............Vector2.localMouse
f940 50 6f 73 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 63 74 54 72 61 6e 73 66 Pos;..................RectTransf
f960 6f 72 6d 55 74 69 6c 69 74 79 2e 53 63 72 65 65 6e 50 6f 69 6e 74 54 6f 4c 6f 63 61 6c 50 6f 69 ormUtility.ScreenPointToLocalPoi
f980 6e 74 49 6e 52 65 63 74 61 6e 67 6c 65 28 74 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 72 65 63 74 ntInRectangle(textComponent.rect
f9a0 54 72 61 6e 73 66 6f 72 6d 2c 20 65 76 65 6e 74 44 61 74 61 2e 70 6f 69 6e 74 65 72 50 72 65 73 Transform,.eventData.pointerPres
f9c0 73 52 61 79 63 61 73 74 2e 73 63 72 65 65 6e 50 6f 73 69 74 69 6f 6e 2c 20 65 76 65 6e 74 44 61 sRaycast.screenPosition,.eventDa
f9e0 74 61 2e 70 72 65 73 73 45 76 65 6e 74 43 61 6d 65 72 61 2c 20 6f 75 74 20 6c 6f 63 61 6c 4d 6f ta.pressEventCamera,.out.localMo
fa00 75 73 65 50 6f 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 72 65 74 53 65 usePos);.................caretSe
fa20 6c 65 63 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 3d 20 63 61 72 65 74 50 6f 73 69 lectPositionInternal.=.caretPosi
fa40 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 3d 20 47 65 74 43 68 61 72 61 63 74 65 72 49 6e 64 65 78 tionInternal.=.GetCharacterIndex
fa60 46 72 6f 6d 50 6f 73 69 74 69 6f 6e 28 6c 6f 63 61 6c 4d 6f 75 73 65 50 6f 73 29 20 2b 20 6d 5f FromPosition(localMousePos).+.m_
fa80 44 72 61 77 53 74 61 72 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 DrawStart;.............}........
faa0 20 20 20 20 20 20 55 70 64 61 74 65 4c 61 62 65 6c 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ......UpdateLabel();............
fac0 20 65 76 65 6e 74 44 61 74 61 2e 55 73 65 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 .eventData.Use();.........}.....
fae0 20 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 65 6e 75 6d 20 45 64 69 74 53 74 61 74 65 0a 20 20 .....protected.enum.EditState...
fb00 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 43 6f 6e 74 69 6e 75 65 2c 0a 20 20 ......{.............Continue,...
fb20 20 20 20 20 20 20 20 20 20 20 46 69 6e 69 73 68 0a 20 20 20 20 20 20 20 20 7d 0a 0a 0a 20 20 20 ..........Finish.........}......
fb40 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 50 .....///.<summary>.........///.P
fb60 72 6f 63 65 73 73 20 74 68 65 20 45 76 65 6e 74 20 61 6e 64 20 70 65 72 66 6f 72 6d 20 74 68 65 rocess.the.Event.and.perform.the
fb80 20 61 70 70 72 6f 70 72 69 61 74 65 20 61 63 74 69 6f 6e 20 66 6f 72 20 74 68 61 74 20 6b 65 79 .appropriate.action.for.that.key
fba0 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 ..........///.</summary>........
fbc0 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 65 76 74 22 3e 54 68 65 20 45 76 65 6e 74 .///.<param.name="evt">The.Event
fbe0 20 74 68 61 74 20 69 73 20 63 75 72 72 65 6e 74 6c 79 20 62 65 69 6e 67 20 70 72 6f 63 65 73 73 .that.is.currently.being.process
fc00 65 64 2e 3c 2f 70 61 72 61 6d 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 74 75 72 6e 73 ed.</param>.........///.<returns
fc20 3e 49 66 20 77 65 20 73 68 6f 75 6c 64 20 63 6f 6e 74 69 6e 75 65 20 70 72 6f 63 65 73 73 69 6e >If.we.should.continue.processin
fc40 67 20 65 76 65 6e 74 73 20 6f 72 20 77 65 20 68 61 76 65 20 68 69 74 20 61 6e 20 65 6e 64 20 63 g.events.or.we.have.hit.an.end.c
fc60 6f 6e 64 69 74 69 6f 6e 2e 3c 2f 72 65 74 75 72 6e 73 3e 0a 20 20 20 20 20 20 20 20 70 72 6f 74 ondition.</returns>.........prot
fc80 65 63 74 65 64 20 45 64 69 74 53 74 61 74 65 20 4b 65 79 50 72 65 73 73 65 64 28 45 76 65 6e 74 ected.EditState.KeyPressed(Event
fca0 20 65 76 74 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 .evt).........{.............var.
fcc0 63 75 72 72 65 6e 74 45 76 65 6e 74 4d 6f 64 69 66 69 65 72 73 20 3d 20 65 76 74 2e 6d 6f 64 69 currentEventModifiers.=.evt.modi
fce0 66 69 65 72 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 6f 6c 20 63 74 72 6c 20 3d 20 53 fiers;.............bool.ctrl.=.S
fd00 79 73 74 65 6d 49 6e 66 6f 2e 6f 70 65 72 61 74 69 6e 67 53 79 73 74 65 6d 46 61 6d 69 6c 79 20 ystemInfo.operatingSystemFamily.
fd20 3d 3d 20 4f 70 65 72 61 74 69 6e 67 53 79 73 74 65 6d 46 61 6d 69 6c 79 2e 4d 61 63 4f 53 58 20 ==.OperatingSystemFamily.MacOSX.
fd40 3f 20 28 63 75 72 72 65 6e 74 45 76 65 6e 74 4d 6f 64 69 66 69 65 72 73 20 26 20 45 76 65 6e 74 ?.(currentEventModifiers.&.Event
fd60 4d 6f 64 69 66 69 65 72 73 2e 43 6f 6d 6d 61 6e 64 29 20 21 3d 20 30 20 3a 20 28 63 75 72 72 65 Modifiers.Command).!=.0.:.(curre
fd80 6e 74 45 76 65 6e 74 4d 6f 64 69 66 69 65 72 73 20 26 20 45 76 65 6e 74 4d 6f 64 69 66 69 65 72 ntEventModifiers.&.EventModifier
fda0 73 2e 43 6f 6e 74 72 6f 6c 29 20 21 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 6f s.Control).!=.0;.............boo
fdc0 6c 20 73 68 69 66 74 20 3d 20 28 63 75 72 72 65 6e 74 45 76 65 6e 74 4d 6f 64 69 66 69 65 72 73 l.shift.=.(currentEventModifiers
fde0 20 26 20 45 76 65 6e 74 4d 6f 64 69 66 69 65 72 73 2e 53 68 69 66 74 29 20 21 3d 20 30 3b 0a 20 .&.EventModifiers.Shift).!=.0;..
fe00 20 20 20 20 20 20 20 20 20 20 20 62 6f 6f 6c 20 61 6c 74 20 3d 20 28 63 75 72 72 65 6e 74 45 76 ...........bool.alt.=.(currentEv
fe20 65 6e 74 4d 6f 64 69 66 69 65 72 73 20 26 20 45 76 65 6e 74 4d 6f 64 69 66 69 65 72 73 2e 41 6c entModifiers.&.EventModifiers.Al
fe40 74 29 20 21 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 6f 6c 20 63 74 72 6c 4f 6e t).!=.0;.............bool.ctrlOn
fe60 6c 79 20 3d 20 63 74 72 6c 20 26 26 20 21 61 6c 74 20 26 26 20 21 73 68 69 66 74 3b 0a 0a 20 20 ly.=.ctrl.&&.!alt.&&.!shift;....
fe80 20 20 20 20 20 20 20 20 20 20 73 77 69 74 63 68 20 28 65 76 74 2e 6b 65 79 43 6f 64 65 29 0a 20 ..........switch.(evt.keyCode)..
fea0 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 ...........{.................cas
fec0 65 20 4b 65 79 43 6f 64 65 2e 42 61 63 6b 73 70 61 63 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 e.KeyCode.Backspace:............
fee0 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 61 63 6b 73 .....{.....................Backs
ff00 70 61 63 65 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 pace();.....................retu
ff20 72 6e 20 45 64 69 74 53 74 61 74 65 2e 43 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 20 20 20 rn.EditState.Continue;..........
ff40 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 4b .......}..................case.K
ff60 65 79 43 6f 64 65 2e 44 65 6c 65 74 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b eyCode.Delete:.................{
ff80 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 6f 72 77 61 72 64 53 70 61 63 .....................ForwardSpac
ffa0 65 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 e();.....................return.
ffc0 45 64 69 74 53 74 61 74 65 2e 43 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 EditState.Continue;.............
ffe0 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 4b 65 79 43 ....}..................case.KeyC
10000 6f 64 65 2e 48 6f 6d 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 ode.Home:.................{.....
10020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 6f 76 65 54 65 78 74 53 74 61 72 74 28 73 68 ................MoveTextStart(sh
10040 69 66 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e ift);.....................return
10060 20 45 64 69 74 53 74 61 74 65 2e 43 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 .EditState.Continue;............
10080 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 4b 65 79 .....}..................case.Key
100a0 43 6f 64 65 2e 45 6e 64 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 Code.End:.................{.....
100c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 6f 76 65 54 65 78 74 45 6e 64 28 73 68 69 66 ................MoveTextEnd(shif
100e0 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 45 t);.....................return.E
10100 64 69 74 53 74 61 74 65 2e 43 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ditState.Continue;..............
10120 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 53 65 6c 65 63 74 20 ...}..................//.Select.
10140 41 6c 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 4b 65 79 43 6f 64 65 All.................case.KeyCode
10160 2e 41 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 .A:.................{...........
10180 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 74 72 6c 4f 6e 6c 79 29 0a 20 20 20 20 20 20 20 20 ..........if.(ctrlOnly).........
101a0 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ............{...................
101c0 20 20 20 20 20 20 53 65 6c 65 63 74 41 6c 6c 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ......SelectAll();..............
101e0 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 45 64 69 74 53 74 61 74 65 2e 43 6f 6e 74 ...........return.EditState.Cont
10200 69 6e 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 inue;.....................}.....
10220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 ................break;..........
10240 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 43 6f 70 .......}..................//.Cop
10260 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 4b 65 79 43 6f 64 65 2e 43 y.................case.KeyCode.C
10280 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 :.................{.............
102a0 20 20 20 20 20 20 20 20 69 66 20 28 63 74 72 6c 4f 6e 6c 79 29 0a 20 20 20 20 20 20 20 20 20 20 ........if.(ctrlOnly)...........
102c0 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........{.....................
102e0 20 20 20 20 69 66 20 28 69 6e 70 75 74 54 79 70 65 20 21 3d 20 49 6e 70 75 74 54 79 70 65 2e 50 ....if.(inputType.!=.InputType.P
10300 61 73 73 77 6f 72 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 assword)........................
10320 20 20 20 20 20 63 6c 69 70 62 6f 61 72 64 20 3d 20 47 65 74 53 65 6c 65 63 74 65 64 53 74 72 69 .....clipboard.=.GetSelectedStri
10340 6e 67 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c ng();.........................el
10360 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 se.............................c
10380 6c 69 70 62 6f 61 72 64 20 3d 20 22 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lipboard.=."";..................
103a0 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 45 64 69 74 53 74 61 74 65 2e 43 6f 6e 74 69 6e 75 65 .......return.EditState.Continue
103c0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 ;.....................}.........
103e0 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ............break;..............
10400 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 50 61 73 74 65 0a 20 ...}..................//.Paste..
10420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 4b 65 79 43 6f 64 65 2e 56 3a 0a 20 ...............case.KeyCode.V:..
10440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............{................
10460 20 20 20 20 20 69 66 20 28 63 74 72 6c 4f 6e 6c 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .....if.(ctrlOnly)..............
10480 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......{........................
104a0 20 41 70 70 65 6e 64 28 63 6c 69 70 62 6f 61 72 64 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 .Append(clipboard);.............
104c0 20 20 20 20 20 20 20 20 20 20 20 20 55 70 64 61 74 65 4c 61 62 65 6c 28 29 3b 0a 20 20 20 20 20 ............UpdateLabel();......
104e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 45 64 69 74 53 74 ...................return.EditSt
10500 61 74 65 2e 43 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ate.Continue;...................
10520 20 20 7d 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 0a 20 ..}.....................break;..
10540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............}................
10560 20 20 2f 2f 20 43 75 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 4b 65 ..//.Cut.................case.Ke
10580 79 43 6f 64 65 2e 58 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 yCode.X:.................{......
105a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 74 72 6c 4f 6e 6c 79 29 0a 20 20 20 ...............if.(ctrlOnly)....
105c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .................{..............
105e0 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 6e 70 75 74 54 79 70 65 20 21 3d 20 49 6e 70 75 ...........if.(inputType.!=.Inpu
10600 74 54 79 70 65 2e 50 61 73 73 77 6f 72 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tType.Password).................
10620 20 20 20 20 20 20 20 20 20 20 20 20 63 6c 69 70 62 6f 61 72 64 20 3d 20 47 65 74 53 65 6c 65 63 ............clipboard.=.GetSelec
10640 74 65 64 53 74 72 69 6e 67 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tedString();....................
10660 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....else.......................
10680 20 20 20 20 20 20 63 6c 69 70 62 6f 61 72 64 20 3d 20 22 22 3b 0a 0a 20 20 20 20 20 20 20 20 20 ......clipboard.=."";...........
106a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 6c 65 74 65 28 29 3b 0a 20 20 20 20 20 20 20 ...............Delete();........
106c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 70 64 61 74 65 54 6f 75 63 68 4b 65 79 62 .................UpdateTouchKeyb
106e0 6f 61 72 64 46 72 6f 6d 45 64 69 74 43 68 61 6e 67 65 73 28 29 3b 0a 20 20 20 20 20 20 20 20 20 oardFromEditChanges();..........
10700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 6e 64 4f 6e 56 61 6c 75 65 43 68 61 6e 67 65 ...............SendOnValueChange
10720 64 41 6e 64 55 70 64 61 74 65 4c 61 62 65 6c 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 dAndUpdateLabel();..............
10740 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 45 64 69 74 53 74 61 74 65 2e 43 6f 6e 74 ...........return.EditState.Cont
10760 69 6e 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 inue;.....................}.....
10780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 ................break;..........
107a0 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 4b .......}..................case.K
107c0 65 79 43 6f 64 65 2e 4c 65 66 74 41 72 72 6f 77 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 eyCode.LeftArrow:...............
107e0 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 6f 76 65 4c 65 66 74 ..{.....................MoveLeft
10800 28 73 68 69 66 74 2c 20 63 74 72 6c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (shift,.ctrl);..................
10820 20 20 20 72 65 74 75 72 6e 20 45 64 69 74 53 74 61 74 65 2e 43 6f 6e 74 69 6e 75 65 3b 0a 20 20 ...return.EditState.Continue;...
10840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............}.................
10860 20 63 61 73 65 20 4b 65 79 43 6f 64 65 2e 52 69 67 68 74 41 72 72 6f 77 3a 0a 20 20 20 20 20 20 .case.KeyCode.RightArrow:.......
10880 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........{.....................
108a0 4d 6f 76 65 52 69 67 68 74 28 73 68 69 66 74 2c 20 63 74 72 6c 29 3b 0a 20 20 20 20 20 20 20 20 MoveRight(shift,.ctrl);.........
108c0 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 45 64 69 74 53 74 61 74 65 2e 43 6f 6e ............return.EditState.Con
108e0 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 tinue;.................}........
10900 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 4b 65 79 43 6f 64 65 2e 55 70 41 72 72 6f 77 3a 0a ..........case.KeyCode.UpArrow:.
10920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................{...............
10940 20 20 20 20 20 20 4d 6f 76 65 55 70 28 73 68 69 66 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ......MoveUp(shift);............
10960 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 45 64 69 74 53 74 61 74 65 2e 43 6f 6e 74 69 6e .........return.EditState.Contin
10980 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 ue;.................}...........
109a0 20 20 20 20 20 20 20 63 61 73 65 20 4b 65 79 43 6f 64 65 2e 44 6f 77 6e 41 72 72 6f 77 3a 0a 20 .......case.KeyCode.DownArrow:..
109c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............{................
109e0 20 20 20 20 20 4d 6f 76 65 44 6f 77 6e 28 73 68 69 66 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 .....MoveDown(shift);...........
10a00 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 45 64 69 74 53 74 61 74 65 2e 43 6f 6e 74 69 ..........return.EditState.Conti
10a20 6e 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 nue;.................}..........
10a40 20 20 20 20 20 20 20 20 2f 2f 20 53 75 62 6d 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........//.Submit...............
10a60 20 20 63 61 73 65 20 4b 65 79 43 6f 64 65 2e 52 65 74 75 72 6e 3a 0a 20 20 20 20 20 20 20 20 20 ..case.KeyCode.Return:..........
10a80 20 20 20 20 20 20 20 63 61 73 65 20 4b 65 79 43 6f 64 65 2e 4b 65 79 70 61 64 45 6e 74 65 72 3a .......case.KeyCode.KeypadEnter:
10aa0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .................{..............
10ac0 20 20 20 20 20 20 20 69 66 20 28 6c 69 6e 65 54 79 70 65 20 21 3d 20 4c 69 6e 65 54 79 70 65 2e .......if.(lineType.!=.LineType.
10ae0 4d 75 6c 74 69 4c 69 6e 65 4e 65 77 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 MultiLineNewline)...............
10b00 20 20 20 20 20 20 7b 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 ......{.........................
10b20 72 65 74 75 72 6e 20 45 64 69 74 53 74 61 74 65 2e 46 69 6e 69 73 68 3b 0a 20 20 20 20 20 20 20 return.EditState.Finish;........
10b40 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............}..................
10b60 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 ...break;.................}.....
10b80 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 4b 65 79 43 6f 64 65 2e 45 73 63 61 70 65 .............case.KeyCode.Escape
10ba0 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 :.................{.............
10bc0 20 20 20 20 20 20 20 20 6d 5f 57 61 73 43 61 6e 63 65 6c 65 64 20 3d 20 74 72 75 65 3b 0a 20 20 ........m_WasCanceled.=.true;...
10be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 45 64 69 74 53 74 61 ..................return.EditSta
10c00 74 65 2e 46 69 6e 69 73 68 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 te.Finish;.................}....
10c20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 68 61 72 20 63 20 3d .........}..............char.c.=
10c40 20 65 76 74 2e 63 68 61 72 61 63 74 65 72 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 44 .evt.character;.............//.D
10c60 6f 6e 27 74 20 61 6c 6c 6f 77 20 72 65 74 75 72 6e 20 63 68 61 72 73 20 6f 72 20 74 61 62 75 6c on't.allow.return.chars.or.tabul
10c80 61 74 6f 72 20 6b 65 79 20 74 6f 20 62 65 20 65 6e 74 65 72 65 64 20 69 6e 74 6f 20 73 69 6e 67 ator.key.to.be.entered.into.sing
10ca0 6c 65 20 6c 69 6e 65 20 66 69 65 6c 64 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 le.line.fields..............if.(
10cc0 21 6d 75 6c 74 69 4c 69 6e 65 20 26 26 20 28 63 20 3d 3d 20 27 5c 74 27 20 7c 7c 20 63 20 3d 3d !multiLine.&&.(c.==.'\t'.||.c.==
10ce0 20 27 5c 72 27 20 7c 7c 20 63 20 3d 3d 20 31 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .'\r'.||.c.==.10))..............
10d00 20 20 20 72 65 74 75 72 6e 20 45 64 69 74 53 74 61 74 65 2e 43 6f 6e 74 69 6e 75 65 3b 0a 0a 20 ...return.EditState.Continue;...
10d20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 43 6f 6e 76 65 72 74 20 63 61 72 72 69 61 67 65 20 72 ...........//.Convert.carriage.r
10d40 65 74 75 72 6e 20 61 6e 64 20 65 6e 64 2d 6f 66 2d 74 65 78 74 20 63 68 61 72 61 63 74 65 72 73 eturn.and.end-of-text.characters
10d60 20 74 6f 20 6e 65 77 6c 69 6e 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 20 3d .to.newline..............if.(c.=
10d80 3d 20 27 5c 72 27 20 7c 7c 20 28 69 6e 74 29 63 20 3d 3d 20 33 29 0a 20 20 20 20 20 20 20 20 20 =.'\r'.||.(int)c.==.3)..........
10da0 20 20 20 20 20 20 20 63 20 3d 20 27 5c 6e 27 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 .......c.=.'\n';..............if
10dc0 20 28 49 73 56 61 6c 69 64 43 68 61 72 28 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a .(IsValidChar(c)).............{.
10de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 70 70 65 6e 64 28 63 29 3b 0a 20 20 20 20 20 ................Append(c);......
10e00 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 20 3d 3d 20 30 .......}..............if.(c.==.0
10e20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).............{.................
10e40 69 66 20 28 63 6f 6d 70 6f 73 69 74 69 6f 6e 53 74 72 69 6e 67 2e 4c 65 6e 67 74 68 20 3e 20 30 if.(compositionString.Length.>.0
10e60 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ).................{.............
10e80 20 20 20 20 20 20 20 20 55 70 64 61 74 65 4c 61 62 65 6c 28 29 3b 0a 20 20 20 20 20 20 20 20 20 ........UpdateLabel();..........
10ea0 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 .......}.............}..........
10ec0 20 20 20 72 65 74 75 72 6e 20 45 64 69 74 53 74 61 74 65 2e 43 6f 6e 74 69 6e 75 65 3b 0a 20 20 ...return.EditState.Continue;...
10ee0 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 62 6f 6f 6c 20 49 73 ......}..........private.bool.Is
10f00 56 61 6c 69 64 43 68 61 72 28 63 68 61 72 20 63 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 ValidChar(char.c).........{.....
10f20 20 20 20 20 20 20 20 20 2f 2f 20 44 65 6c 65 74 65 20 6b 65 79 20 6f 6e 20 6d 61 63 0a 20 20 20 ........//.Delete.key.on.mac....
10f40 20 20 20 20 20 20 20 20 20 69 66 20 28 28 69 6e 74 29 63 20 3d 3d 20 31 32 37 29 0a 20 20 20 20 .........if.((int)c.==.127).....
10f60 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 ............return.false;.......
10f80 20 20 20 20 20 20 2f 2f 20 41 63 63 65 70 74 20 6e 65 77 6c 69 6e 65 20 61 6e 64 20 74 61 62 0a ......//.Accept.newline.and.tab.
10fa0 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 20 3d 3d 20 27 5c 74 27 20 7c 7c 20 63 20 3d ............if.(c.==.'\t'.||.c.=
10fc0 3d 20 27 5c 6e 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 =.'\n').................return.t
10fe0 72 75 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 5f 54 65 78 74 43 rue;..............return.m_TextC
11000 6f 6d 70 6f 6e 65 6e 74 2e 66 6f 6e 74 2e 48 61 73 43 68 61 72 61 63 74 65 72 28 63 29 3b 0a 20 omponent.font.HasCharacter(c);..
11020 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a .......}..........///.<summary>.
11040 20 20 20 20 20 20 20 20 2f 2f 2f 20 48 61 6e 64 6c 65 20 74 68 65 20 73 70 65 63 69 66 69 65 64 ........///.Handle.the.specified
11060 20 65 76 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 .event..........///.</summary>..
11080 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 45 76 65 6e 74 20 6d 5f 50 72 6f 63 65 73 73 69 6e .......private.Event.m_Processin
110a0 67 45 76 65 6e 74 20 3d 20 6e 65 77 20 45 76 65 6e 74 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 2f gEvent.=.new.Event();........../
110c0 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 48 65 6c 70 65 72 20 //.<summary>.........///.Helper.
110e0 66 75 6e 63 74 69 6f 6e 20 74 6f 20 61 6c 6c 6f 77 20 73 65 70 61 72 61 74 65 20 65 76 65 6e 74 function.to.allow.separate.event
11100 73 20 74 6f 20 62 65 20 70 72 6f 63 65 73 73 65 64 20 62 79 20 74 68 65 20 49 6e 70 75 74 46 69 s.to.be.processed.by.the.InputFi
11120 65 6c 64 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 eld..........///.</summary>.....
11140 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 65 22 3e 54 68 65 20 45 76 65 6e ....///.<param.name="e">The.Even
11160 74 20 74 6f 20 70 72 6f 63 65 73 73 3c 2f 70 61 72 61 6d 3e 0a 20 20 20 20 20 20 20 20 70 75 62 t.to.process</param>.........pub
11180 6c 69 63 20 76 6f 69 64 20 50 72 6f 63 65 73 73 45 76 65 6e 74 28 45 76 65 6e 74 20 65 29 0a 20 lic.void.ProcessEvent(Event.e)..
111a0 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 4b 65 79 50 72 65 73 73 65 64 28 .......{.............KeyPressed(
111c0 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d e);.........}..........///.<summ
111e0 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 57 68 61 74 20 74 6f 20 64 6f 20 77 68 65 6e ary>.........///.What.to.do.when
11200 20 74 68 65 20 65 76 65 6e 74 20 73 79 73 74 65 6d 20 73 65 6e 64 73 20 61 20 55 70 64 61 74 65 .the.event.system.sends.a.Update
11220 20 73 65 6c 65 63 74 65 64 20 45 76 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 .selected.Event..........///.</s
11240 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d ummary>.........///.<param.name=
11260 22 65 76 65 6e 74 44 61 74 61 22 3e 54 68 65 20 64 61 74 61 20 6f 6e 20 77 68 69 63 68 20 74 6f "eventData">The.data.on.which.to
11280 20 70 72 6f 63 65 73 73 2e 3c 2f 70 61 72 61 6d 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 .process.</param>.........public
112a0 20 76 69 72 74 75 61 6c 20 76 6f 69 64 20 4f 6e 55 70 64 61 74 65 53 65 6c 65 63 74 65 64 28 42 .virtual.void.OnUpdateSelected(B
112c0 61 73 65 45 76 65 6e 74 44 61 74 61 20 65 76 65 6e 74 44 61 74 61 29 0a 20 20 20 20 20 20 20 20 aseEventData.eventData).........
112e0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 46 6f 63 75 73 65 64 29 0a 20 20 {.............if.(!isFocused)...
11300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 0a 20 20 20 20 20 20 20 20 20 ..............return;...........
11320 20 20 20 62 6f 6f 6c 20 63 6f 6e 73 75 6d 65 64 45 76 65 6e 74 20 3d 20 66 61 6c 73 65 3b 0a 20 ...bool.consumedEvent.=.false;..
11340 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 45 76 65 6e 74 2e 50 6f 70 45 76 65 6e 74 ...........while.(Event.PopEvent
11360 28 6d 5f 50 72 6f 63 65 73 73 69 6e 67 45 76 65 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 (m_ProcessingEvent))............
11380 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 50 72 6f 63 65 73 73 .{.................if.(m_Process
113a0 69 6e 67 45 76 65 6e 74 2e 72 61 77 54 79 70 65 20 3d 3d 20 45 76 65 6e 74 54 79 70 65 2e 4b 65 ingEvent.rawType.==.EventType.Ke
113c0 79 44 6f 77 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 yDown).................{........
113e0 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 75 6d 65 64 45 76 65 6e 74 20 3d 20 74 72 75 .............consumedEvent.=.tru
11400 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 73 68 6f 75 6c e;.....................var.shoul
11420 64 43 6f 6e 74 69 6e 75 65 20 3d 20 4b 65 79 50 72 65 73 73 65 64 28 6d 5f 50 72 6f 63 65 73 73 dContinue.=.KeyPressed(m_Process
11440 69 6e 67 45 76 65 6e 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 ingEvent);.....................i
11460 66 20 28 73 68 6f 75 6c 64 43 6f 6e 74 69 6e 75 65 20 3d 3d 20 45 64 69 74 53 74 61 74 65 2e 46 f.(shouldContinue.==.EditState.F
11480 69 6e 69 73 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 inish).....................{....
114a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 61 63 74 69 76 61 74 65 49 .....................DeactivateI
114c0 6e 70 75 74 46 69 65 6c 64 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nputField();....................
114e0 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....break;.....................
11500 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 }.................}.............
11520 20 20 20 20 20 73 77 69 74 63 68 20 28 6d 5f 50 72 6f 63 65 73 73 69 6e 67 45 76 65 6e 74 2e 74 .....switch.(m_ProcessingEvent.t
11540 79 70 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 ype).................{..........
11560 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 45 76 65 6e 74 54 79 70 65 2e 56 61 6c 69 64 61 ...........case.EventType.Valida
11580 74 65 43 6f 6d 6d 61 6e 64 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 teCommand:.....................c
115a0 61 73 65 20 45 76 65 6e 74 54 79 70 65 2e 45 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 3a 0a 20 20 ase.EventType.ExecuteCommand:...
115c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 77 69 74 63 68 20 28 6d 5f ......................switch.(m_
115e0 50 72 6f 63 65 73 73 69 6e 67 45 76 65 6e 74 2e 63 6f 6d 6d 61 6e 64 4e 61 6d 65 29 0a 20 20 20 ProcessingEvent.commandName)....
11600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 .....................{..........
11620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 22 53 65 6c 65 63 74 41 ...................case."SelectA
11640 6c 6c 22 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ll":............................
11660 20 20 20 20 20 53 65 6c 65 63 74 41 6c 6c 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....SelectAll();...............
11680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 75 6d 65 64 45 76 65 6e 74 20 ..................consumedEvent.
116a0 3d 20 74 72 75 65 3b 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 =.true;.........................
116c0 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........break;..................
116e0 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......}........................
11700 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 .break;.................}.......
11720 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 6f 6e 73 75 6d 65 ......}..............if.(consume
11740 64 45 76 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 70 64 61 74 65 4c 61 dEvent).................UpdateLa
11760 62 65 6c 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 76 65 6e 74 44 61 74 61 2e 55 73 bel();..............eventData.Us
11780 65 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 e();.........}..........private.
117a0 73 74 72 69 6e 67 20 47 65 74 53 65 6c 65 63 74 65 64 53 74 72 69 6e 67 28 29 0a 20 20 20 20 20 string.GetSelectedString()......
117c0 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 68 61 73 53 65 6c 65 63 74 69 ...{.............if.(!hasSelecti
117e0 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 22 22 3b 0a 0a on).................return."";..
11800 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 73 74 61 72 74 50 6f 73 20 3d 20 63 61 72 65 74 ............int.startPos.=.caret
11820 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e PositionInternal;.............in
11840 74 20 65 6e 64 50 6f 73 20 3d 20 63 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 49 6e t.endPos.=.caretSelectPositionIn
11860 74 65 72 6e 61 6c 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 45 6e 73 75 72 65 20 73 ternal;..............//.Ensure.s
11880 74 61 72 74 50 6f 73 20 69 73 20 61 6c 77 61 79 73 20 6c 65 73 73 20 74 68 65 6e 20 65 6e 64 50 tartPos.is.always.less.then.endP
118a0 6f 73 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 63 6f 64 65 20 73 69 6d 70 6c 65 72 0a 20 20 20 20 os.to.make.the.code.simpler.....
118c0 20 20 20 20 20 20 20 20 69 66 20 28 73 74 61 72 74 50 6f 73 20 3e 20 65 6e 64 50 6f 73 29 0a 20 ........if.(startPos.>.endPos)..
118e0 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 ...........{.................int
11900 20 74 65 6d 70 20 3d 20 73 74 61 72 74 50 6f 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .temp.=.startPos;...............
11920 20 20 73 74 61 72 74 50 6f 73 20 3d 20 65 6e 64 50 6f 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ..startPos.=.endPos;............
11940 20 20 20 20 20 65 6e 64 50 6f 73 20 3d 20 74 65 6d 70 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 .....endPos.=.temp;.............
11960 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 65 78 74 2e 53 75 62 73 74 }..............return.text.Subst
11980 72 69 6e 67 28 73 74 61 72 74 50 6f 73 2c 20 65 6e 64 50 6f 73 20 2d 20 73 74 61 72 74 50 6f 73 ring(startPos,.endPos.-.startPos
119a0 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 69 6e );.........}..........private.in
119c0 74 20 46 69 6e 64 74 4e 65 78 74 57 6f 72 64 42 65 67 69 6e 28 29 0a 20 20 20 20 20 20 20 20 7b t.FindtNextWordBegin().........{
119e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 .............if.(caretSelectPosi
11a00 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 2b 20 31 20 3e 3d 20 74 65 78 74 2e 4c 65 6e 67 74 68 29 tionInternal.+.1.>=.text.Length)
11a20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 65 78 74 2e 4c 65 6e .................return.text.Len
11a40 67 74 68 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 73 70 61 63 65 4c 6f 63 20 3d gth;..............int.spaceLoc.=
11a60 20 74 65 78 74 2e 49 6e 64 65 78 4f 66 41 6e 79 28 6b 53 65 70 61 72 61 74 6f 72 73 2c 20 63 61 .text.IndexOfAny(kSeparators,.ca
11a80 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 2b 20 31 29 3b 0a retSelectPositionInternal.+.1);.
11aa0 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 70 61 63 65 4c 6f 63 20 3d 3d 20 2d 31 29 .............if.(spaceLoc.==.-1)
11ac0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 70 61 63 65 4c 6f 63 20 3d 20 74 65 78 74 .................spaceLoc.=.text
11ae0 2e 4c 65 6e 67 74 68 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 .Length;.............else.......
11b00 20 20 20 20 20 20 20 20 20 20 73 70 61 63 65 4c 6f 63 2b 2b 3b 0a 0a 20 20 20 20 20 20 20 20 20 ..........spaceLoc++;...........
11b20 20 20 20 72 65 74 75 72 6e 20 73 70 61 63 65 4c 6f 63 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 ...return.spaceLoc;.........}...
11b40 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 76 6f 69 64 20 4d 6f 76 65 52 69 67 68 74 28 62 6f .......private.void.MoveRight(bo
11b60 6f 6c 20 73 68 69 66 74 2c 20 62 6f 6f 6c 20 63 74 72 6c 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 ol.shift,.bool.ctrl).........{..
11b80 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 68 61 73 53 65 6c 65 63 74 69 6f 6e 20 26 26 20 21 ...........if.(hasSelection.&&.!
11ba0 73 68 69 66 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 shift).............{............
11bc0 20 20 20 20 20 2f 2f 20 42 79 20 63 6f 6e 76 65 6e 74 69 6f 6e 2c 20 69 66 20 77 65 20 68 61 76 .....//.By.convention,.if.we.hav
11be0 65 20 61 20 73 65 6c 65 63 74 69 6f 6e 20 61 6e 64 20 6d 6f 76 65 20 72 69 67 68 74 20 77 69 74 e.a.selection.and.move.right.wit
11c00 68 6f 75 74 20 68 6f 6c 64 69 6e 67 20 73 68 69 66 74 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 hout.holding.shift,.............
11c20 20 20 20 20 2f 2f 20 77 65 20 6a 75 73 74 20 70 6c 61 63 65 20 74 68 65 20 63 75 72 73 6f 72 20 ....//.we.just.place.the.cursor.
11c40 61 74 20 74 68 65 20 65 6e 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 72 65 at.the.end..................care
11c60 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 3d 20 63 61 72 65 74 53 65 6c 65 63 74 50 tPositionInternal.=.caretSelectP
11c80 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 3d 20 4d 61 74 68 66 2e 4d 61 78 28 63 61 72 65 ositionInternal.=.Mathf.Max(care
11ca0 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 2c 20 63 61 72 65 74 53 65 6c 65 63 74 50 6f tPositionInternal,.caretSelectPo
11cc0 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 sitionInternal);................
11ce0 20 72 65 74 75 72 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 .return;.............}..........
11d00 20 20 20 20 69 6e 74 20 70 6f 73 69 74 69 6f 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 ....int.position;.............if
11d20 20 28 63 74 72 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 73 69 74 69 6f 6e .(ctrl).................position
11d40 20 3d 20 46 69 6e 64 74 4e 65 78 74 57 6f 72 64 42 65 67 69 6e 28 29 3b 0a 20 20 20 20 20 20 20 .=.FindtNextWordBegin();........
11d60 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 73 69 74 69 .....else.................positi
11d80 6f 6e 20 3d 20 63 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c on.=.caretSelectPositionInternal
11da0 20 2b 20 31 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 68 69 66 74 29 0a 20 20 .+.1;..............if.(shift)...
11dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f ..............caretSelectPositio
11de0 6e 49 6e 74 65 72 6e 61 6c 20 3d 20 70 6f 73 69 74 69 6f 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 nInternal.=.position;...........
11e00 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 72 65 74 53 65 6c 65 ..else.................caretSele
11e20 63 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 3d 20 63 61 72 65 74 50 6f 73 69 74 69 ctPositionInternal.=.caretPositi
11e40 6f 6e 49 6e 74 65 72 6e 61 6c 20 3d 20 70 6f 73 69 74 69 6f 6e 3b 0a 20 20 20 20 20 20 20 20 7d onInternal.=.position;.........}
11e60 0a 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 74 50 72 65 76 57 ..........private.int.FindtPrevW
11e80 6f 72 64 42 65 67 69 6e 28 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ordBegin().........{............
11ea0 20 69 66 20 28 63 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c .if.(caretSelectPositionInternal
11ec0 20 2d 20 32 20 3c 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e .-.2.<.0).................return
11ee0 20 30 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 73 70 61 63 65 4c 6f 63 20 3d 20 .0;..............int.spaceLoc.=.
11f00 74 65 78 74 2e 4c 61 73 74 49 6e 64 65 78 4f 66 41 6e 79 28 6b 53 65 70 61 72 61 74 6f 72 73 2c text.LastIndexOfAny(kSeparators,
11f20 20 63 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 2d 20 32 .caretSelectPositionInternal.-.2
11f40 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 70 61 63 65 4c 6f 63 20 3d 3d 20 );..............if.(spaceLoc.==.
11f60 2d 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 70 61 63 65 4c 6f 63 20 3d 20 30 -1).................spaceLoc.=.0
11f80 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ;.............else..............
11fa0 20 20 20 73 70 61 63 65 4c 6f 63 2b 2b 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 ...spaceLoc++;..............retu
11fc0 72 6e 20 73 70 61 63 65 4c 6f 63 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 rn.spaceLoc;.........}..........
11fe0 70 72 69 76 61 74 65 20 76 6f 69 64 20 4d 6f 76 65 4c 65 66 74 28 62 6f 6f 6c 20 73 68 69 66 74 private.void.MoveLeft(bool.shift
12000 2c 20 62 6f 6f 6c 20 63 74 72 6c 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 ,.bool.ctrl).........{..........
12020 20 20 20 69 66 20 28 68 61 73 53 65 6c 65 63 74 69 6f 6e 20 26 26 20 21 73 68 69 66 74 29 0a 20 ...if.(hasSelection.&&.!shift)..
12040 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 ...........{.................//.
12060 42 79 20 63 6f 6e 76 65 6e 74 69 6f 6e 2c 20 69 66 20 77 65 20 68 61 76 65 20 61 20 73 65 6c 65 By.convention,.if.we.have.a.sele
12080 63 74 69 6f 6e 20 61 6e 64 20 6d 6f 76 65 20 6c 65 66 74 20 77 69 74 68 6f 75 74 20 68 6f 6c 64 ction.and.move.left.without.hold
120a0 69 6e 67 20 73 68 69 66 74 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 77 65 ing.shift,.................//.we
120c0 20 6a 75 73 74 20 70 6c 61 63 65 20 74 68 65 20 63 75 72 73 6f 72 20 61 74 20 74 68 65 20 73 74 .just.place.the.cursor.at.the.st
120e0 61 72 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 72 65 74 50 6f 73 69 74 69 art..................caretPositi
12100 6f 6e 49 6e 74 65 72 6e 61 6c 20 3d 20 63 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e onInternal.=.caretSelectPosition
12120 49 6e 74 65 72 6e 61 6c 20 3d 20 4d 61 74 68 66 2e 4d 69 6e 28 63 61 72 65 74 50 6f 73 69 74 69 Internal.=.Mathf.Min(caretPositi
12140 6f 6e 49 6e 74 65 72 6e 61 6c 2c 20 63 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 49 onInternal,.caretSelectPositionI
12160 6e 74 65 72 6e 61 6c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e nternal);.................return
12180 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 ;.............}..............int
121a0 20 70 6f 73 69 74 69 6f 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 74 72 6c 29 .position;.............if.(ctrl)
121c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 73 69 74 69 6f 6e 20 3d 20 46 69 6e 64 .................position.=.Find
121e0 74 50 72 65 76 57 6f 72 64 42 65 67 69 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c tPrevWordBegin();.............el
12200 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 73 69 74 69 6f 6e 20 3d 20 63 61 se.................position.=.ca
12220 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 2d 20 31 3b 0a 0a retSelectPositionInternal.-.1;..
12240 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 68 69 66 74 29 0a 20 20 20 20 20 20 20 20 20 ............if.(shift)..........
12260 20 20 20 20 20 20 20 63 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e .......caretSelectPositionIntern
12280 61 6c 20 3d 20 70 6f 73 69 74 69 6f 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a al.=.position;.............else.
122a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 ................caretSelectPosit
122c0 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 3d 20 63 61 72 65 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 ionInternal.=.caretPositionInter
122e0 6e 61 6c 20 3d 20 70 6f 73 69 74 69 6f 6e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 nal.=.position;.........}.......
12300 20 20 20 70 72 69 76 61 74 65 20 69 6e 74 20 44 65 74 65 72 6d 69 6e 65 43 68 61 72 61 63 74 65 ...private.int.DetermineCharacte
12320 72 4c 69 6e 65 28 69 6e 74 20 63 68 61 72 50 6f 73 2c 20 54 65 78 74 47 65 6e 65 72 61 74 6f 72 rLine(int.charPos,.TextGenerator
12340 20 67 65 6e 65 72 61 74 6f 72 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 .generator).........{...........
12360 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 67 65 6e 65 72 61 74 6f 72 2e ..for.(int.i.=.0;.i.<.generator.
12380 6c 69 6e 65 43 6f 75 6e 74 20 2d 20 31 3b 20 2b 2b 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 lineCount.-.1;.++i).............
123a0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 67 65 6e 65 72 61 74 6f 72 2e {.................if.(generator.
123c0 6c 69 6e 65 73 5b 69 20 2b 20 31 5d 2e 73 74 61 72 74 43 68 61 72 49 64 78 20 3e 20 63 68 61 72 lines[i.+.1].startCharIdx.>.char
123e0 50 6f 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 Pos).....................return.
12400 69 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 i;.............}..............re
12420 74 75 72 6e 20 67 65 6e 65 72 61 74 6f 72 2e 6c 69 6e 65 43 6f 75 6e 74 20 2d 20 31 3b 0a 20 20 turn.generator.lineCount.-.1;...
12440 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 ......}..........///.<summary>..
12460 20 20 20 20 20 20 20 2f 2f 2f 20 20 55 73 65 20 63 61 63 68 65 64 49 6e 70 75 74 54 65 78 74 47 .......///..Use.cachedInputTextG
12480 65 6e 65 72 61 74 6f 72 20 61 73 20 74 68 65 20 79 20 63 6f 6d 70 6f 6e 65 6e 74 20 66 6f 72 20 enerator.as.the.y.component.for.
124a0 74 68 65 20 55 49 43 68 61 72 49 6e 66 6f 20 69 73 20 6e 6f 74 20 72 65 71 75 69 72 65 64 0a 20 the.UICharInfo.is.not.required..
124c0 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 0a 20 20 20 20 20 20 20 20 70 .......///.</summary>..........p
124e0 72 69 76 61 74 65 20 69 6e 74 20 4c 69 6e 65 55 70 43 68 61 72 61 63 74 65 72 50 6f 73 69 74 69 rivate.int.LineUpCharacterPositi
12500 6f 6e 28 69 6e 74 20 6f 72 69 67 69 6e 61 6c 50 6f 73 2c 20 62 6f 6f 6c 20 67 6f 54 6f 46 69 72 on(int.originalPos,.bool.goToFir
12520 73 74 43 68 61 72 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 stChar).........{.............if
12540 20 28 6f 72 69 67 69 6e 61 6c 50 6f 73 20 3e 3d 20 63 61 63 68 65 64 49 6e 70 75 74 54 65 78 74 .(originalPos.>=.cachedInputText
12560 47 65 6e 65 72 61 74 6f 72 2e 63 68 61 72 61 63 74 65 72 73 2e 43 6f 75 6e 74 29 0a 20 20 20 20 Generator.characters.Count).....
12580 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0a 0a 20 20 20 20 20 20 20 20 20 ............return.0;...........
125a0 20 20 20 55 49 43 68 61 72 49 6e 66 6f 20 6f 72 69 67 69 6e 43 68 61 72 20 3d 20 63 61 63 68 65 ...UICharInfo.originChar.=.cache
125c0 64 49 6e 70 75 74 54 65 78 74 47 65 6e 65 72 61 74 6f 72 2e 63 68 61 72 61 63 74 65 72 73 5b 6f dInputTextGenerator.characters[o
125e0 72 69 67 69 6e 61 6c 50 6f 73 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 6f 72 69 riginalPos];.............int.ori
12600 67 69 6e 4c 69 6e 65 20 3d 20 44 65 74 65 72 6d 69 6e 65 43 68 61 72 61 63 74 65 72 4c 69 6e 65 ginLine.=.DetermineCharacterLine
12620 28 6f 72 69 67 69 6e 61 6c 50 6f 73 2c 20 63 61 63 68 65 64 49 6e 70 75 74 54 65 78 74 47 65 6e (originalPos,.cachedInputTextGen
12640 65 72 61 74 6f 72 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 57 65 20 61 72 65 20 erator);..............//.We.are.
12660 6f 6e 20 74 68 65 20 66 69 72 73 74 20 6c 69 6e 65 20 72 65 74 75 72 6e 20 66 69 72 73 74 20 63 on.the.first.line.return.first.c
12680 68 61 72 61 63 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6f 72 69 67 69 6e 4c haracter.............if.(originL
126a0 69 6e 65 20 3c 3d 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e ine.<=.0).................return
126c0 20 67 6f 54 6f 46 69 72 73 74 43 68 61 72 20 3f 20 30 20 3a 20 6f 72 69 67 69 6e 61 6c 50 6f 73 .goToFirstChar.?.0.:.originalPos
126e0 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 65 6e 64 43 68 61 72 49 64 78 20 3d 20 ;..............int.endCharIdx.=.
12700 63 61 63 68 65 64 49 6e 70 75 74 54 65 78 74 47 65 6e 65 72 61 74 6f 72 2e 6c 69 6e 65 73 5b 6f cachedInputTextGenerator.lines[o
12720 72 69 67 69 6e 4c 69 6e 65 5d 2e 73 74 61 72 74 43 68 61 72 49 64 78 20 2d 20 31 3b 0a 0a 20 20 riginLine].startCharIdx.-.1;....
12740 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 63 61 63 68 65 64 49 6e 70 ..........for.(int.i.=.cachedInp
12760 75 74 54 65 78 74 47 65 6e 65 72 61 74 6f 72 2e 6c 69 6e 65 73 5b 6f 72 69 67 69 6e 4c 69 6e 65 utTextGenerator.lines[originLine
12780 20 2d 20 31 5d 2e 73 74 61 72 74 43 68 61 72 49 64 78 3b 20 69 20 3c 20 65 6e 64 43 68 61 72 49 .-.1].startCharIdx;.i.<.endCharI
127a0 64 78 3b 20 2b 2b 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 dx;.++i).............{..........
127c0 20 20 20 20 20 20 20 69 66 20 28 63 61 63 68 65 64 49 6e 70 75 74 54 65 78 74 47 65 6e 65 72 61 .......if.(cachedInputTextGenera
127e0 74 6f 72 2e 63 68 61 72 61 63 74 65 72 73 5b 69 5d 2e 63 75 72 73 6f 72 50 6f 73 2e 78 20 3e 3d tor.characters[i].cursorPos.x.>=
12800 20 6f 72 69 67 69 6e 43 68 61 72 2e 63 75 72 73 6f 72 50 6f 73 2e 78 29 0a 20 20 20 20 20 20 20 .originChar.cursorPos.x)........
12820 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 69 3b 0a 20 20 20 20 20 20 20 20 20 .............return.i;..........
12840 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 65 6e 64 43 68 61 72 49 ...}.............return.endCharI
12860 64 78 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d dx;.........}..........///.<summ
12880 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 55 73 65 20 63 61 63 68 65 64 49 6e 70 75 ary>.........///..Use.cachedInpu
128a0 74 54 65 78 74 47 65 6e 65 72 61 74 6f 72 20 61 73 20 74 68 65 20 79 20 63 6f 6d 70 6f 6e 65 6e tTextGenerator.as.the.y.componen
128c0 74 20 66 6f 72 20 74 68 65 20 55 49 43 68 61 72 49 6e 66 6f 20 69 73 20 6e 6f 74 20 72 65 71 75 t.for.the.UICharInfo.is.not.requ
128e0 69 72 65 64 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 0a 20 20 20 ired.........///.</summary>.....
12900 20 20 20 20 20 70 72 69 76 61 74 65 20 69 6e 74 20 4c 69 6e 65 44 6f 77 6e 43 68 61 72 61 63 74 .....private.int.LineDownCharact
12920 65 72 50 6f 73 69 74 69 6f 6e 28 69 6e 74 20 6f 72 69 67 69 6e 61 6c 50 6f 73 2c 20 62 6f 6f 6c erPosition(int.originalPos,.bool
12940 20 67 6f 54 6f 4c 61 73 74 43 68 61 72 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 .goToLastChar).........{........
12960 20 20 20 20 20 69 66 20 28 6f 72 69 67 69 6e 61 6c 50 6f 73 20 3e 3d 20 63 61 63 68 65 64 49 6e .....if.(originalPos.>=.cachedIn
12980 70 75 74 54 65 78 74 47 65 6e 65 72 61 74 6f 72 2e 63 68 61 72 61 63 74 65 72 43 6f 75 6e 74 56 putTextGenerator.characterCountV
129a0 69 73 69 62 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 isible).................return.t
129c0 65 78 74 2e 4c 65 6e 67 74 68 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 55 49 43 68 61 72 49 ext.Length;..............UICharI
129e0 6e 66 6f 20 6f 72 69 67 69 6e 43 68 61 72 20 3d 20 63 61 63 68 65 64 49 6e 70 75 74 54 65 78 74 nfo.originChar.=.cachedInputText
12a00 47 65 6e 65 72 61 74 6f 72 2e 63 68 61 72 61 63 74 65 72 73 5b 6f 72 69 67 69 6e 61 6c 50 6f 73 Generator.characters[originalPos
12a20 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 6f 72 69 67 69 6e 4c 69 6e 65 20 3d 20 ];.............int.originLine.=.
12a40 44 65 74 65 72 6d 69 6e 65 43 68 61 72 61 63 74 65 72 4c 69 6e 65 28 6f 72 69 67 69 6e 61 6c 50 DetermineCharacterLine(originalP
12a60 6f 73 2c 20 63 61 63 68 65 64 49 6e 70 75 74 54 65 78 74 47 65 6e 65 72 61 74 6f 72 29 3b 0a 0a os,.cachedInputTextGenerator);..
12a80 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 57 65 20 61 72 65 20 6f 6e 20 74 68 65 20 6c 61 73 ............//.We.are.on.the.las
12aa0 74 20 6c 69 6e 65 20 72 65 74 75 72 6e 20 6c 61 73 74 20 63 68 61 72 61 63 74 65 72 0a 20 20 20 t.line.return.last.character....
12ac0 20 20 20 20 20 20 20 20 20 69 66 20 28 6f 72 69 67 69 6e 4c 69 6e 65 20 2b 20 31 20 3e 3d 20 63 .........if.(originLine.+.1.>=.c
12ae0 61 63 68 65 64 49 6e 70 75 74 54 65 78 74 47 65 6e 65 72 61 74 6f 72 2e 6c 69 6e 65 43 6f 75 6e achedInputTextGenerator.lineCoun
12b00 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 67 6f 54 6f 4c 61 t).................return.goToLa
12b20 73 74 43 68 61 72 20 3f 20 74 65 78 74 2e 4c 65 6e 67 74 68 20 3a 20 6f 72 69 67 69 6e 61 6c 50 stChar.?.text.Length.:.originalP
12b40 6f 73 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 4e 65 65 64 20 74 6f 20 64 65 74 65 os;..............//.Need.to.dete
12b60 72 6d 69 6e 65 20 65 6e 64 20 6c 69 6e 65 20 66 6f 72 20 6e 65 78 74 20 6c 69 6e 65 2e 0a 20 20 rmine.end.line.for.next.line....
12b80 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 65 6e 64 43 68 61 72 49 64 78 20 3d 20 47 65 74 4c 69 ..........int.endCharIdx.=.GetLi
12ba0 6e 65 45 6e 64 50 6f 73 69 74 69 6f 6e 28 63 61 63 68 65 64 49 6e 70 75 74 54 65 78 74 47 65 6e neEndPosition(cachedInputTextGen
12bc0 65 72 61 74 6f 72 2c 20 6f 72 69 67 69 6e 4c 69 6e 65 20 2b 20 31 29 3b 0a 0a 20 20 20 20 20 20 erator,.originLine.+.1);........
12be0 20 20 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 63 61 63 68 65 64 49 6e 70 75 74 54 65 ......for.(int.i.=.cachedInputTe
12c00 78 74 47 65 6e 65 72 61 74 6f 72 2e 6c 69 6e 65 73 5b 6f 72 69 67 69 6e 4c 69 6e 65 20 2b 20 31 xtGenerator.lines[originLine.+.1
12c20 5d 2e 73 74 61 72 74 43 68 61 72 49 64 78 3b 20 69 20 3c 20 65 6e 64 43 68 61 72 49 64 78 3b 20 ].startCharIdx;.i.<.endCharIdx;.
12c40 2b 2b 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ++i).............{..............
12c60 20 20 20 69 66 20 28 63 61 63 68 65 64 49 6e 70 75 74 54 65 78 74 47 65 6e 65 72 61 74 6f 72 2e ...if.(cachedInputTextGenerator.
12c80 63 68 61 72 61 63 74 65 72 73 5b 69 5d 2e 63 75 72 73 6f 72 50 6f 73 2e 78 20 3e 3d 20 6f 72 69 characters[i].cursorPos.x.>=.ori
12ca0 67 69 6e 43 68 61 72 2e 63 75 72 73 6f 72 50 6f 73 2e 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 ginChar.cursorPos.x)............
12cc0 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 69 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d .........return.i;.............}
12ce0 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 65 6e 64 43 68 61 72 49 64 78 3b 0a .............return.endCharIdx;.
12d00 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 76 6f 69 64 20 ........}..........private.void.
12d20 4d 6f 76 65 44 6f 77 6e 28 62 6f 6f 6c 20 73 68 69 66 74 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 MoveDown(bool.shift).........{..
12d40 20 20 20 20 20 20 20 20 20 20 20 4d 6f 76 65 44 6f 77 6e 28 73 68 69 66 74 2c 20 74 72 75 65 29 ...........MoveDown(shift,.true)
12d60 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 76 6f 69 ;.........}..........private.voi
12d80 64 20 4d 6f 76 65 44 6f 77 6e 28 62 6f 6f 6c 20 73 68 69 66 74 2c 20 62 6f 6f 6c 20 67 6f 54 6f d.MoveDown(bool.shift,.bool.goTo
12da0 4c 61 73 74 43 68 61 72 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 LastChar).........{.............
12dc0 69 66 20 28 68 61 73 53 65 6c 65 63 74 69 6f 6e 20 26 26 20 21 73 68 69 66 74 29 0a 20 20 20 20 if.(hasSelection.&&.!shift).....
12de0 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 66 20 ........{.................//.If.
12e00 77 65 20 68 61 76 65 20 61 20 73 65 6c 65 63 74 69 6f 6e 20 61 6e 64 20 70 72 65 73 73 20 64 6f we.have.a.selection.and.press.do
12e20 77 6e 20 77 69 74 68 6f 75 74 20 73 68 69 66 74 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 wn.without.shift,...............
12e40 20 20 2f 2f 20 73 65 74 20 63 61 72 65 74 20 70 6f 73 69 74 69 6f 6e 20 74 6f 20 65 6e 64 20 6f ..//.set.caret.position.to.end.o
12e60 66 20 73 65 6c 65 63 74 69 6f 6e 20 62 65 66 6f 72 65 20 77 65 20 6d 6f 76 65 20 69 74 20 64 6f f.selection.before.we.move.it.do
12e80 77 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 72 65 74 50 6f 73 69 74 69 6f wn..................caretPositio
12ea0 6e 49 6e 74 65 72 6e 61 6c 20 3d 20 63 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 49 nInternal.=.caretSelectPositionI
12ec0 6e 74 65 72 6e 61 6c 20 3d 20 4d 61 74 68 66 2e 4d 61 78 28 63 61 72 65 74 50 6f 73 69 74 69 6f nternal.=.Mathf.Max(caretPositio
12ee0 6e 49 6e 74 65 72 6e 61 6c 2c 20 63 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 49 6e nInternal,.caretSelectPositionIn
12f00 74 65 72 6e 61 6c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 ternal);.............}..........
12f20 20 20 20 20 69 6e 74 20 70 6f 73 69 74 69 6f 6e 20 3d 20 6d 75 6c 74 69 4c 69 6e 65 20 3f 20 4c ....int.position.=.multiLine.?.L
12f40 69 6e 65 44 6f 77 6e 43 68 61 72 61 63 74 65 72 50 6f 73 69 74 69 6f 6e 28 63 61 72 65 74 53 65 ineDownCharacterPosition(caretSe
12f60 6c 65 63 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 2c 20 67 6f 54 6f 4c 61 73 74 43 68 lectPositionInternal,.goToLastCh
12f80 61 72 29 20 3a 20 74 65 78 74 2e 4c 65 6e 67 74 68 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 ar).:.text.Length;..............
12fa0 69 66 20 28 73 68 69 66 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 72 65 74 if.(shift).................caret
12fc0 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 3d 20 70 6f 73 69 74 69 6f SelectPositionInternal.=.positio
12fe0 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 n;.............else.............
13000 20 20 20 20 63 61 72 65 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 3d 20 63 61 72 65 ....caretPositionInternal.=.care
13020 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 3d 20 70 6f 73 69 74 69 tSelectPositionInternal.=.positi
13040 6f 6e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 76 on;.........}..........private.v
13060 6f 69 64 20 4d 6f 76 65 55 70 28 62 6f 6f 6c 20 73 68 69 66 74 29 0a 20 20 20 20 20 20 20 20 7b oid.MoveUp(bool.shift).........{
13080 0a 20 20 20 20 20 20 20 20 20 20 20 20 4d 6f 76 65 55 70 28 73 68 69 66 74 2c 20 74 72 75 65 29 .............MoveUp(shift,.true)
130a0 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 76 6f 69 ;.........}..........private.voi
130c0 64 20 4d 6f 76 65 55 70 28 62 6f 6f 6c 20 73 68 69 66 74 2c 20 62 6f 6f 6c 20 67 6f 54 6f 46 69 d.MoveUp(bool.shift,.bool.goToFi
130e0 72 73 74 43 68 61 72 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 rstChar).........{.............i
13100 66 20 28 68 61 73 53 65 6c 65 63 74 69 6f 6e 20 26 26 20 21 73 68 69 66 74 29 0a 20 20 20 20 20 f.(hasSelection.&&.!shift)......
13120 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 66 20 77 .......{.................//.If.w
13140 65 20 68 61 76 65 20 61 20 73 65 6c 65 63 74 69 6f 6e 20 61 6e 64 20 70 72 65 73 73 20 75 70 20 e.have.a.selection.and.press.up.
13160 77 69 74 68 6f 75 74 20 73 68 69 66 74 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f without.shift,................./
13180 2f 20 73 65 74 20 63 61 72 65 74 20 70 6f 73 69 74 69 6f 6e 20 74 6f 20 73 74 61 72 74 20 6f 66 /.set.caret.position.to.start.of
131a0 20 73 65 6c 65 63 74 69 6f 6e 20 62 65 66 6f 72 65 20 77 65 20 6d 6f 76 65 20 69 74 20 75 70 2e .selection.before.we.move.it.up.
131c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 72 65 74 50 6f 73 69 74 69 6f 6e 49 6e .................caretPositionIn
131e0 74 65 72 6e 61 6c 20 3d 20 63 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 ternal.=.caretSelectPositionInte
13200 72 6e 61 6c 20 3d 20 4d 61 74 68 66 2e 4d 69 6e 28 63 61 72 65 74 50 6f 73 69 74 69 6f 6e 49 6e rnal.=.Mathf.Min(caretPositionIn
13220 74 65 72 6e 61 6c 2c 20 63 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 ternal,.caretSelectPositionInter
13240 6e 61 6c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 nal);.............}.............
13260 20 69 6e 74 20 70 6f 73 69 74 69 6f 6e 20 3d 20 6d 75 6c 74 69 4c 69 6e 65 20 3f 20 4c 69 6e 65 .int.position.=.multiLine.?.Line
13280 55 70 43 68 61 72 61 63 74 65 72 50 6f 73 69 74 69 6f 6e 28 63 61 72 65 74 53 65 6c 65 63 74 50 UpCharacterPosition(caretSelectP
132a0 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 2c 20 67 6f 54 6f 46 69 72 73 74 43 68 61 72 29 20 ositionInternal,.goToFirstChar).
132c0 3a 20 30 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 68 69 66 74 29 0a 20 20 20 :.0;..............if.(shift)....
132e0 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e .............caretSelectPosition
13300 49 6e 74 65 72 6e 61 6c 20 3d 20 70 6f 73 69 74 69 6f 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 Internal.=.position;............
13320 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 72 65 74 53 65 6c 65 63 .else.................caretSelec
13340 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 3d 20 63 61 72 65 74 50 6f 73 69 74 69 6f tPositionInternal.=.caretPositio
13360 6e 49 6e 74 65 72 6e 61 6c 20 3d 20 70 6f 73 69 74 69 6f 6e 3b 0a 20 20 20 20 20 20 20 20 7d 0a nInternal.=.position;.........}.
13380 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 76 6f 69 64 20 44 65 6c 65 74 65 28 29 0a 20 .........private.void.Delete()..
133a0 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 52 65 61 64 4f .......{.............if.(m_ReadO
133c0 6e 6c 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 0a 20 20 nly).................return;....
133e0 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 61 72 65 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 ..........if.(caretPositionInter
13400 6e 61 6c 20 3d 3d 20 63 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e nal.==.caretSelectPositionIntern
13420 61 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 0a 20 20 20 al).................return;.....
13440 20 20 20 20 20 20 20 20 20 69 66 20 28 63 61 72 65 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e .........if.(caretPositionIntern
13460 61 6c 20 3c 20 63 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c al.<.caretSelectPositionInternal
13480 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).............{.................
134a0 6d 5f 54 65 78 74 20 3d 20 74 65 78 74 2e 53 75 62 73 74 72 69 6e 67 28 30 2c 20 63 61 72 65 74 m_Text.=.text.Substring(0,.caret
134c0 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 29 20 2b 20 74 65 78 74 2e 53 75 62 73 74 72 69 PositionInternal).+.text.Substri
134e0 6e 67 28 63 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 2c 20 ng(caretSelectPositionInternal,.
13500 74 65 78 74 2e 4c 65 6e 67 74 68 20 2d 20 63 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f text.Length.-.caretSelectPositio
13520 6e 49 6e 74 65 72 6e 61 6c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 72 65 nInternal);.................care
13540 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 3d 20 63 61 72 65 74 50 tSelectPositionInternal.=.caretP
13560 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 ositionInternal;.............}..
13580 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 ...........else.............{...
135a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 54 65 78 74 20 3d 20 74 65 78 74 2e 53 75 62 73 ..............m_Text.=.text.Subs
135c0 74 72 69 6e 67 28 30 2c 20 63 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 tring(0,.caretSelectPositionInte
135e0 72 6e 61 6c 29 20 2b 20 74 65 78 74 2e 53 75 62 73 74 72 69 6e 67 28 63 61 72 65 74 50 6f 73 69 rnal).+.text.Substring(caretPosi
13600 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 2c 20 74 65 78 74 2e 4c 65 6e 67 74 68 20 2d 20 63 61 72 65 tionInternal,.text.Length.-.care
13620 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 tPositionInternal);.............
13640 20 20 20 20 63 61 72 65 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 3d 20 63 61 72 65 ....caretPositionInternal.=.care
13660 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 3b 0a 20 20 20 20 20 20 20 tSelectPositionInternal;........
13680 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 .....}.........}..........privat
136a0 65 20 76 6f 69 64 20 46 6f 72 77 61 72 64 53 70 61 63 65 28 29 0a 20 20 20 20 20 20 20 20 7b 0a e.void.ForwardSpace().........{.
136c0 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 52 65 61 64 4f 6e 6c 79 29 0a 20 20 20 20 ............if.(m_ReadOnly).....
136e0 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 ............return;.............
13700 20 69 66 20 28 68 61 73 53 65 6c 65 63 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b .if.(hasSelection).............{
13720 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 6c 65 74 65 28 29 3b 0a 20 20 20 20 20 .................Delete();......
13740 20 20 20 20 20 20 20 20 20 20 20 55 70 64 61 74 65 54 6f 75 63 68 4b 65 79 62 6f 61 72 64 46 72 ...........UpdateTouchKeyboardFr
13760 6f 6d 45 64 69 74 43 68 61 6e 67 65 73 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 omEditChanges();................
13780 20 53 65 6e 64 4f 6e 56 61 6c 75 65 43 68 61 6e 67 65 64 41 6e 64 55 70 64 61 74 65 4c 61 62 65 .SendOnValueChangedAndUpdateLabe
137a0 6c 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 l();.............}.............e
137c0 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lse.............{...............
137e0 20 20 69 66 20 28 63 61 72 65 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 3c 20 74 65 ..if.(caretPositionInternal.<.te
13800 78 74 2e 4c 65 6e 67 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 xt.Length).................{....
13820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 54 65 78 74 20 3d 20 74 65 78 74 2e 52 .................m_Text.=.text.R
13840 65 6d 6f 76 65 28 63 61 72 65 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 2c 20 31 29 3b emove(caretPositionInternal,.1);
13860 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 70 64 61 74 65 54 6f 75 63 ......................UpdateTouc
13880 68 4b 65 79 62 6f 61 72 64 46 72 6f 6d 45 64 69 74 43 68 61 6e 67 65 73 28 29 3b 0a 20 20 20 20 hKeyboardFromEditChanges();.....
138a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 6e 64 4f 6e 56 61 6c 75 65 43 68 61 6e 67 ................SendOnValueChang
138c0 65 64 41 6e 64 55 70 64 61 74 65 4c 61 62 65 6c 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 edAndUpdateLabel();.............
138e0 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 ....}.............}.........}...
13900 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 76 6f 69 64 20 42 61 63 6b 73 70 61 63 65 28 29 0a .......private.void.Backspace().
13920 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 52 65 61 64 ........{.............if.(m_Read
13940 4f 6e 6c 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 0a 20 Only).................return;...
13960 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 68 61 73 53 65 6c 65 63 74 69 6f 6e 29 0a 20 20 20 ...........if.(hasSelection)....
13980 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 6c 65 74 .........{.................Delet
139a0 65 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 70 64 61 74 65 54 6f 75 63 68 e();.................UpdateTouch
139c0 4b 65 79 62 6f 61 72 64 46 72 6f 6d 45 64 69 74 43 68 61 6e 67 65 73 28 29 3b 0a 20 20 20 20 20 KeyboardFromEditChanges();......
139e0 20 20 20 20 20 20 20 20 20 20 20 53 65 6e 64 4f 6e 56 61 6c 75 65 43 68 61 6e 67 65 64 41 6e 64 ...........SendOnValueChangedAnd
13a00 55 70 64 61 74 65 4c 61 62 65 6c 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 UpdateLabel();.............}....
13a20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 .........else.............{.....
13a40 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 61 72 65 74 50 6f 73 69 74 69 6f 6e 49 6e 74 ............if.(caretPositionInt
13a60 65 72 6e 61 6c 20 3e 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 ernal.>.0).................{....
13a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 54 65 78 74 20 3d 20 74 65 78 74 2e 52 .................m_Text.=.text.R
13aa0 65 6d 6f 76 65 28 63 61 72 65 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 2d 20 31 2c emove(caretPositionInternal.-.1,
13ac0 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 72 65 74 53 65 .1);.....................caretSe
13ae0 6c 65 63 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 3d 20 63 61 72 65 74 50 6f 73 69 lectPositionInternal.=.caretPosi
13b00 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 3d 20 63 61 72 65 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 tionInternal.=.caretPositionInte
13b20 72 6e 61 6c 20 2d 20 31 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 rnal.-.1;......................U
13b40 70 64 61 74 65 54 6f 75 63 68 4b 65 79 62 6f 61 72 64 46 72 6f 6d 45 64 69 74 43 68 61 6e 67 65 pdateTouchKeyboardFromEditChange
13b60 73 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 6e 64 4f 6e 56 s();.....................SendOnV
13b80 61 6c 75 65 43 68 61 6e 67 65 64 41 6e 64 55 70 64 61 74 65 4c 61 62 65 6c 28 29 3b 0a 20 20 20 alueChangedAndUpdateLabel();....
13ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 .............}.............}....
13bc0 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 49 6e 73 65 72 74 20 74 68 65 20 63 68 .....}..........//.Insert.the.ch
13be0 61 72 61 63 74 65 72 20 61 6e 64 20 75 70 64 61 74 65 20 74 68 65 20 6c 61 62 65 6c 2e 0a 20 20 aracter.and.update.the.label....
13c00 20 20 20 20 20 20 70 72 69 76 61 74 65 20 76 6f 69 64 20 49 6e 73 65 72 74 28 63 68 61 72 20 63 ......private.void.Insert(char.c
13c20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 52 65 ).........{.............if.(m_Re
13c40 61 64 4f 6e 6c 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a adOnly).................return;.
13c60 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 20 72 65 70 6c 61 63 65 53 74 72 69 6e .............string.replaceStrin
13c80 67 20 3d 20 63 2e 54 6f 53 74 72 69 6e 67 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 g.=.c.ToString();.............De
13ca0 6c 65 74 65 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 43 61 6e 27 74 20 67 6f lete();..............//.Can't.go
13cc0 20 70 61 73 74 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 6c 69 6d 69 74 0a 20 20 20 20 20 20 .past.the.character.limit.......
13ce0 20 20 20 20 20 20 69 66 20 28 63 68 61 72 61 63 74 65 72 4c 69 6d 69 74 20 3e 20 30 20 26 26 20 ......if.(characterLimit.>.0.&&.
13d00 74 65 78 74 2e 4c 65 6e 67 74 68 20 3e 3d 20 63 68 61 72 61 63 74 65 72 4c 69 6d 69 74 29 0a 20 text.Length.>=.characterLimit)..
13d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 0a 20 20 20 20 20 20 20 20 ...............return;..........
13d40 20 20 20 20 6d 5f 54 65 78 74 20 3d 20 74 65 78 74 2e 49 6e 73 65 72 74 28 6d 5f 43 61 72 65 74 ....m_Text.=.text.Insert(m_Caret
13d60 50 6f 73 69 74 69 6f 6e 2c 20 72 65 70 6c 61 63 65 53 74 72 69 6e 67 29 3b 0a 20 20 20 20 20 20 Position,.replaceString);.......
13d80 20 20 20 20 20 20 63 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 ......caretSelectPositionInterna
13da0 6c 20 3d 20 63 61 72 65 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 2b 3d 20 72 65 70 l.=.caretPositionInternal.+=.rep
13dc0 6c 61 63 65 53 74 72 69 6e 67 2e 4c 65 6e 67 74 68 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 laceString.Length;..............
13de0 55 70 64 61 74 65 54 6f 75 63 68 4b 65 79 62 6f 61 72 64 46 72 6f 6d 45 64 69 74 43 68 61 6e 67 UpdateTouchKeyboardFromEditChang
13e00 65 73 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 53 65 6e 64 4f 6e 56 61 6c 75 65 43 68 61 es();.............SendOnValueCha
13e20 6e 67 65 64 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 nged();.........}..........priva
13e40 74 65 20 76 6f 69 64 20 55 70 64 61 74 65 54 6f 75 63 68 4b 65 79 62 6f 61 72 64 46 72 6f 6d 45 te.void.UpdateTouchKeyboardFromE
13e60 64 69 74 43 68 61 6e 67 65 73 28 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 ditChanges().........{..........
13e80 20 20 20 2f 2f 20 55 70 64 61 74 65 20 74 68 65 20 54 6f 75 63 68 4b 65 79 62 6f 61 72 64 27 73 ...//.Update.the.TouchKeyboard's
13ea0 20 74 65 78 74 20 66 72 6f 6d 20 65 64 69 74 20 63 68 61 6e 67 65 73 0a 20 20 20 20 20 20 20 20 .text.from.edit.changes.........
13ec0 20 20 20 20 2f 2f 20 69 66 20 69 6e 2d 70 6c 61 63 65 20 65 64 69 74 69 6e 67 20 69 73 20 61 6c ....//.if.in-place.editing.is.al
13ee0 6c 6f 77 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 4b 65 79 62 6f 61 72 64 lowed.............if.(m_Keyboard
13f00 20 21 3d 20 6e 75 6c 6c 20 26 26 20 49 6e 50 6c 61 63 65 45 64 69 74 69 6e 67 28 29 29 0a 20 20 .!=.null.&&.InPlaceEditing())...
13f20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 4b 65 ..........{.................m_Ke
13f40 79 62 6f 61 72 64 2e 74 65 78 74 20 3d 20 6d 5f 54 65 78 74 3b 0a 20 20 20 20 20 20 20 20 20 20 yboard.text.=.m_Text;...........
13f60 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 76 ..}.........}..........private.v
13f80 6f 69 64 20 53 65 6e 64 4f 6e 56 61 6c 75 65 43 68 61 6e 67 65 64 41 6e 64 55 70 64 61 74 65 4c oid.SendOnValueChangedAndUpdateL
13fa0 61 62 65 6c 28 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 53 65 6e abel().........{.............Sen
13fc0 64 4f 6e 56 61 6c 75 65 43 68 61 6e 67 65 64 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 55 dOnValueChanged();.............U
13fe0 70 64 61 74 65 4c 61 62 65 6c 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 pdateLabel();.........}.........
14000 20 70 72 69 76 61 74 65 20 76 6f 69 64 20 53 65 6e 64 4f 6e 56 61 6c 75 65 43 68 61 6e 67 65 64 .private.void.SendOnValueChanged
14020 28 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 55 49 53 79 73 74 65 ().........{.............UISyste
14040 6d 50 72 6f 66 69 6c 65 72 41 70 69 2e 41 64 64 4d 61 72 6b 65 72 28 22 49 6e 70 75 74 46 69 65 mProfilerApi.AddMarker("InputFie
14060 6c 64 2e 76 61 6c 75 65 22 2c 20 74 68 69 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 ld.value",.this);.............if
14080 20 28 6f 6e 56 61 6c 75 65 43 68 61 6e 67 65 64 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 .(onValueChanged.!=.null).......
140a0 20 20 20 20 20 20 20 20 20 20 6f 6e 56 61 6c 75 65 43 68 61 6e 67 65 64 2e 49 6e 76 6f 6b 65 28 ..........onValueChanged.Invoke(
140c0 74 65 78 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 text);.........}..........///.<s
140e0 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 43 6f 6e 76 65 6e 69 65 6e 63 65 20 ummary>.........///.Convenience.
14100 66 75 6e 63 74 69 6f 6e 20 74 6f 20 6d 61 6b 65 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 74 function.to.make.functionality.t
14120 6f 20 73 65 6e 64 20 74 68 65 20 3a 3a 72 65 66 3a 3a 53 75 62 6d 69 74 45 76 65 6e 74 20 65 61 o.send.the.::ref::SubmitEvent.ea
14140 73 69 65 72 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 sier..........///.</summary>....
14160 20 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 76 6f 69 64 20 53 65 6e 64 4f 6e 53 75 62 6d 69 74 .....protected.void.SendOnSubmit
14180 28 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 55 49 53 79 73 74 65 ().........{.............UISyste
141a0 6d 50 72 6f 66 69 6c 65 72 41 70 69 2e 41 64 64 4d 61 72 6b 65 72 28 22 49 6e 70 75 74 46 69 65 mProfilerApi.AddMarker("InputFie
141c0 6c 64 2e 6f 6e 53 75 62 6d 69 74 22 2c 20 74 68 69 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ld.onSubmit",.this);............
141e0 20 69 66 20 28 6f 6e 45 6e 64 45 64 69 74 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 .if.(onEndEdit.!=.null).........
14200 20 20 20 20 20 20 20 20 6f 6e 45 6e 64 45 64 69 74 2e 49 6e 76 6f 6b 65 28 6d 5f 54 65 78 74 29 ........onEndEdit.Invoke(m_Text)
14220 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 ;.........}..........///.<summar
14240 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 41 70 70 65 6e 64 20 74 68 65 20 73 70 65 63 69 66 y>.........///.Append.the.specif
14260 69 65 64 20 74 65 78 74 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 63 75 72 72 65 ied.text.to.the.end.of.the.curre
14280 6e 74 20 74 65 78 74 20 73 74 72 69 6e 67 2e 20 41 70 70 65 6e 64 73 20 63 68 61 72 61 63 74 65 nt.text.string..Appends.characte
142a0 72 20 62 79 20 63 68 61 72 61 63 74 65 72 20 74 65 73 74 69 6e 67 20 76 61 6c 69 64 61 74 69 6f r.by.character.testing.validatio
142c0 6e 20 63 72 69 74 65 72 69 61 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 n.criteria..........///.</summar
142e0 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 69 6e 70 75 y>.........///.<param.name="inpu
14300 74 22 3e 54 68 65 20 53 74 72 69 6e 67 20 74 6f 20 61 70 70 65 6e 64 2e 3c 2f 70 61 72 61 6d 3e t">The.String.to.append.</param>
14320 0a 20 20 20 20 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 76 69 72 74 75 61 6c 20 76 6f 69 64 20 .........protected.virtual.void.
14340 41 70 70 65 6e 64 28 73 74 72 69 6e 67 20 69 6e 70 75 74 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 Append(string.input).........{..
14360 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 52 65 61 64 4f 6e 6c 79 29 0a 20 20 20 20 20 ...........if.(m_ReadOnly)......
14380 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...........return;..............
143a0 69 66 20 28 21 49 6e 50 6c 61 63 65 45 64 69 74 69 6e 67 28 29 29 0a 20 20 20 20 20 20 20 20 20 if.(!InPlaceEditing())..........
143c0 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 .......return;..............for.
143e0 28 69 6e 74 20 69 20 3d 20 30 2c 20 69 6d 61 78 20 3d 20 69 6e 70 75 74 2e 4c 65 6e 67 74 68 3b (int.i.=.0,.imax.=.input.Length;
14400 20 69 20 3c 20 69 6d 61 78 3b 20 2b 2b 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 .i.<.imax;.++i).............{...
14420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 68 61 72 20 63 20 3d 20 69 6e 70 75 74 5b 69 5d 3b ..............char.c.=.input[i];
14440 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 20 3e 3d 20 27 20 27 20 7c ..................if.(c.>=.'.'.|
14460 7c 20 63 20 3d 3d 20 27 5c 74 27 20 7c 7c 20 63 20 3d 3d 20 27 5c 72 27 20 7c 7c 20 63 20 3d 3d |.c.==.'\t'.||.c.==.'\r'.||.c.==
14480 20 31 30 20 7c 7c 20 63 20 3d 3d 20 27 5c 6e 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .10.||.c.==.'\n')...............
144a0 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 70 70 65 6e 64 28 63 ..{.....................Append(c
144c0 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 );.................}............
144e0 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 63 66 2e 20 54 65 78 .}.........}..........//.cf..Tex
14500 74 47 65 6e 65 72 61 74 6f 72 2e 63 70 70 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 63 tGenerator.cpp.........private.c
14520 6f 6e 73 74 20 69 6e 74 20 6b 5f 4d 61 78 54 65 78 74 4c 65 6e 67 74 68 20 3d 20 55 49 6e 74 31 onst.int.k_MaxTextLength.=.UInt1
14540 36 2e 4d 61 78 56 61 6c 75 65 20 2f 20 34 20 2d 20 31 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 6.MaxValue./.4.-.1;..........///
14560 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 41 70 70 65 6e 64 20 61 20 .<summary>.........///.Append.a.
14580 63 68 61 72 61 63 74 65 72 20 74 6f 20 74 68 65 20 69 6e 70 75 74 20 66 69 65 6c 64 2c 20 74 61 character.to.the.input.field,.ta
145a0 6b 69 6e 67 20 69 6e 74 6f 20 61 63 63 6f 75 6e 74 20 74 68 65 20 76 61 6c 69 64 61 74 69 6f 6e king.into.account.the.validation
145c0 20 6f 66 20 65 61 63 68 20 63 68 61 72 61 63 74 65 72 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 .of.each.character..........///.
145e0 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 </summary>.........///.<param.na
14600 6d 65 3d 22 69 6e 70 75 74 22 3e 43 68 61 72 61 63 74 65 72 20 74 6f 20 61 70 70 65 6e 64 2e 3c me="input">Character.to.append.<
14620 2f 70 61 72 61 6d 3e 0a 20 20 20 20 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 76 69 72 74 75 61 /param>.........protected.virtua
14640 6c 20 76 6f 69 64 20 41 70 70 65 6e 64 28 63 68 61 72 20 69 6e 70 75 74 29 0a 20 20 20 20 20 20 l.void.Append(char.input).......
14660 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 57 65 20 64 6f 20 6e 6f 74 20 63 75 72 ..{.............//.We.do.not.cur
14680 72 65 6e 74 6c 79 20 73 75 70 70 6f 72 74 20 73 75 72 72 6f 67 61 74 65 20 70 61 69 72 73 0a 20 rently.support.surrogate.pairs..
146a0 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 68 61 72 2e 49 73 53 75 72 72 6f 67 61 74 65 28 ...........if.(char.IsSurrogate(
146c0 69 6e 70 75 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a input)).................return;.
146e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 52 65 61 64 4f 6e 6c 79 20 7c 7c 20 74 .............if.(m_ReadOnly.||.t
14700 65 78 74 2e 4c 65 6e 67 74 68 20 3e 3d 20 6b 5f 4d 61 78 54 65 78 74 4c 65 6e 67 74 68 29 0a 20 ext.Length.>=.k_MaxTextLength)..
14720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 0a 20 20 20 20 20 20 20 20 ...............return;..........
14740 20 20 20 20 69 66 20 28 21 49 6e 50 6c 61 63 65 45 64 69 74 69 6e 67 28 29 29 0a 20 20 20 20 20 ....if.(!InPlaceEditing())......
14760 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...........return;..............
14780 2f 2f 20 49 66 20 77 65 20 68 61 76 65 20 61 6e 20 69 6e 70 75 74 20 76 61 6c 69 64 61 74 6f 72 //.If.we.have.an.input.validator
147a0 2c 20 76 61 6c 69 64 61 74 65 20 74 68 65 20 69 6e 70 75 74 20 66 69 72 73 74 0a 20 20 20 20 20 ,.validate.the.input.first......
147c0 20 20 20 20 20 20 20 69 6e 74 20 69 6e 73 65 72 74 69 6f 6e 50 6f 69 6e 74 20 3d 20 4d 61 74 68 .......int.insertionPoint.=.Math
147e0 2e 4d 69 6e 28 73 65 6c 65 63 74 69 6f 6e 46 6f 63 75 73 50 6f 73 69 74 69 6f 6e 2c 20 73 65 6c .Min(selectionFocusPosition,.sel
14800 65 63 74 69 6f 6e 41 6e 63 68 6f 72 50 6f 73 69 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 20 ectionAnchorPosition);..........
14820 20 20 20 69 66 20 28 6f 6e 56 61 6c 69 64 61 74 65 49 6e 70 75 74 20 21 3d 20 6e 75 6c 6c 29 0a ...if.(onValidateInput.!=.null).
14840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 20 3d 20 6f 6e 56 61 6c 69 64 61 ................input.=.onValida
14860 74 65 49 6e 70 75 74 28 74 65 78 74 2c 20 69 6e 73 65 72 74 69 6f 6e 50 6f 69 6e 74 2c 20 69 6e teInput(text,.insertionPoint,.in
14880 70 75 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 63 68 61 72 61 put);.............else.if.(chara
148a0 63 74 65 72 56 61 6c 69 64 61 74 69 6f 6e 20 21 3d 20 43 68 61 72 61 63 74 65 72 56 61 6c 69 64 cterValidation.!=.CharacterValid
148c0 61 74 69 6f 6e 2e 4e 6f 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 ation.None).................inpu
148e0 74 20 3d 20 56 61 6c 69 64 61 74 65 28 74 65 78 74 2c 20 69 6e 73 65 72 74 69 6f 6e 50 6f 69 6e t.=.Validate(text,.insertionPoin
14900 74 2c 20 69 6e 70 75 74 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 66 20 74 68 t,.input);..............//.If.th
14920 65 20 69 6e 70 75 74 20 69 73 20 69 6e 76 61 6c 69 64 2c 20 73 6b 69 70 20 69 74 0a 20 20 20 20 e.input.is.invalid,.skip.it.....
14940 20 20 20 20 20 20 20 20 69 66 20 28 69 6e 70 75 74 20 3d 3d 20 30 29 0a 20 20 20 20 20 20 20 20 ........if.(input.==.0).........
14960 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 ........return;..............//.
14980 41 70 70 65 6e 64 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 61 6e 64 20 75 70 64 61 74 65 20 Append.the.character.and.update.
149a0 74 68 65 20 6c 61 62 65 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 73 65 72 74 28 69 6e 70 the.label.............Insert(inp
149c0 75 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d ut);.........}..........///.<sum
149e0 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 55 70 64 61 74 65 20 74 68 65 20 54 65 78 mary>.........///.Update.the.Tex
14a00 74 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 69 73 20 69 6e 70 75 74 20 66 69 65 t.associated.with.this.input.fie
14a20 6c 64 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 ld..........///.</summary>......
14a40 20 20 20 70 72 6f 74 65 63 74 65 64 20 76 6f 69 64 20 55 70 64 61 74 65 4c 61 62 65 6c 28 29 0a ...protected.void.UpdateLabel().
14a60 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 54 65 78 74 ........{.............if.(m_Text
14a80 43 6f 6d 70 6f 6e 65 6e 74 20 21 3d 20 6e 75 6c 6c 20 26 26 20 6d 5f 54 65 78 74 43 6f 6d 70 6f Component.!=.null.&&.m_TextCompo
14aa0 6e 65 6e 74 2e 66 6f 6e 74 20 21 3d 20 6e 75 6c 6c 20 26 26 20 21 6d 5f 50 72 65 76 65 6e 74 46 nent.font.!=.null.&&.!m_PreventF
14ac0 6f 6e 74 43 61 6c 6c 62 61 63 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 ontCallback).............{......
14ae0 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 54 65 78 74 47 65 6e 65 72 61 74 6f 72 2e 50 6f 70 75 ...........//.TextGenerator.Popu
14b00 6c 61 74 65 20 69 6e 76 6f 6b 65 73 20 61 20 63 61 6c 6c 62 61 63 6b 20 74 68 61 74 27 73 20 63 late.invokes.a.callback.that's.c
14b20 61 6c 6c 65 64 20 66 6f 72 20 61 6e 79 74 68 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 alled.for.anything..............
14b40 20 20 20 2f 2f 20 74 68 61 74 20 6e 65 65 64 73 20 74 6f 20 62 65 20 75 70 64 61 74 65 64 20 77 ...//.that.needs.to.be.updated.w
14b60 68 65 6e 20 74 68 65 20 64 61 74 61 20 66 6f 72 20 74 68 61 74 20 66 6f 6e 74 20 68 61 73 20 63 hen.the.data.for.that.font.has.c
14b80 68 61 6e 67 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 54 68 69 73 20 hanged..................//.This.
14ba0 6d 61 6b 65 73 20 61 6c 6c 20 54 65 78 74 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 74 68 61 74 20 75 makes.all.Text.components.that.u
14bc0 73 65 20 74 68 61 74 20 66 6f 6e 74 20 75 70 64 61 74 65 20 74 68 65 69 72 20 76 65 72 74 69 63 se.that.font.update.their.vertic
14be0 65 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 6e 20 74 75 72 6e 2c 20 es..................//.In.turn,.
14c00 74 68 69 73 20 6d 61 6b 65 73 20 74 68 65 20 49 6e 70 75 74 46 69 65 6c 64 20 74 68 61 74 27 73 this.makes.the.InputField.that's
14c20 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 61 74 20 54 65 78 74 20 63 6f 6d 70 6f .associated.with.that.Text.compo
14c40 6e 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 75 70 64 61 74 65 20 69 nent.................//.update.i
14c60 74 73 20 6c 61 62 65 6c 20 62 79 20 63 61 6c 6c 69 6e 67 20 74 68 69 73 20 55 70 64 61 74 65 4c ts.label.by.calling.this.UpdateL
14c80 61 62 65 6c 20 6d 65 74 68 6f 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 abel.method..................//.
14ca0 54 68 69 73 20 69 73 20 61 20 72 65 63 75 72 73 69 76 65 20 63 61 6c 6c 20 77 65 20 77 61 6e 74 This.is.a.recursive.call.we.want
14cc0 20 74 6f 20 70 72 65 76 65 6e 74 2c 20 73 69 6e 63 65 20 69 74 20 6d 61 6b 65 73 20 74 68 65 20 .to.prevent,.since.it.makes.the.
14ce0 49 6e 70 75 74 46 69 65 6c 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 75 70 InputField.................//.up
14d00 64 61 74 65 20 62 61 73 65 64 20 6f 6e 20 66 6f 6e 74 20 64 61 74 61 20 74 68 61 74 20 64 69 64 date.based.on.font.data.that.did
14d20 6e 27 74 20 79 65 74 20 66 69 6e 69 73 68 20 65 78 65 63 75 74 69 6e 67 2c 20 6f 72 20 61 6c 74 n't.yet.finish.executing,.or.alt
14d40 65 72 6e 61 74 69 76 65 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 68 61 ernatively.................//.ha
14d60 6e 67 20 6f 6e 20 69 6e 66 69 6e 69 74 65 20 72 65 63 75 72 73 69 6f 6e 2c 20 64 65 70 65 6e 64 ng.on.infinite.recursion,.depend
14d80 69 6e 67 20 6f 6e 20 77 68 65 74 68 65 72 20 74 68 65 20 63 61 63 68 65 64 20 76 61 6c 75 65 20 ing.on.whether.the.cached.value.
14da0 69 73 20 63 61 63 68 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 62 65 66 is.cached.................//.bef
14dc0 6f 72 65 20 6f 72 20 61 66 74 65 72 20 74 68 65 20 63 61 6c 63 75 6c 61 74 69 6f 6e 2e 0a 20 20 ore.or.after.the.calculation....
14de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............//................
14e00 20 2f 2f 20 54 68 69 73 20 63 61 6c 6c 62 61 63 6b 20 61 6c 73 6f 20 6f 63 63 75 72 73 20 77 68 .//.This.callback.also.occurs.wh
14e20 65 6e 20 61 73 73 69 67 6e 69 6e 67 20 74 65 78 74 20 74 6f 20 6f 75 72 20 54 65 78 74 20 63 6f en.assigning.text.to.our.Text.co
14e40 6d 70 6f 6e 65 6e 74 2c 20 69 2e 65 2e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f mponent,.i.e.,................./
14e60 2f 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 74 65 78 74 20 3d 20 70 72 6f 63 65 73 73 /.m_TextComponent.text.=.process
14e80 65 64 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 50 72 65 76 65 6e 74 46 6f ed;..................m_PreventFo
14ea0 6e 74 43 61 6c 6c 62 61 63 6b 20 3d 20 74 72 75 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 ntCallback.=.true;..............
14ec0 20 20 20 20 73 74 72 69 6e 67 20 66 75 6c 6c 54 65 78 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ....string.fullText;............
14ee0 20 20 20 20 20 69 66 20 28 45 76 65 6e 74 53 79 73 74 65 6d 2e 63 75 72 72 65 6e 74 20 21 3d 20 .....if.(EventSystem.current.!=.
14f00 6e 75 6c 6c 20 26 26 20 67 61 6d 65 4f 62 6a 65 63 74 20 3d 3d 20 45 76 65 6e 74 53 79 73 74 65 null.&&.gameObject.==.EventSyste
14f20 6d 2e 63 75 72 72 65 6e 74 2e 63 75 72 72 65 6e 74 53 65 6c 65 63 74 65 64 47 61 6d 65 4f 62 6a m.current.currentSelectedGameObj
14f40 65 63 74 20 26 26 20 63 6f 6d 70 6f 73 69 74 69 6f 6e 53 74 72 69 6e 67 2e 4c 65 6e 67 74 68 20 ect.&&.compositionString.Length.
14f60 3e 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 75 6c 6c 54 65 78 >.0).....................fullTex
14f80 74 20 3d 20 74 65 78 74 2e 53 75 62 73 74 72 69 6e 67 28 30 2c 20 6d 5f 43 61 72 65 74 50 6f 73 t.=.text.Substring(0,.m_CaretPos
14fa0 69 74 69 6f 6e 29 20 2b 20 63 6f 6d 70 6f 73 69 74 69 6f 6e 53 74 72 69 6e 67 20 2b 20 74 65 78 ition).+.compositionString.+.tex
14fc0 74 2e 53 75 62 73 74 72 69 6e 67 28 6d 5f 43 61 72 65 74 50 6f 73 69 74 69 6f 6e 29 3b 0a 20 20 t.Substring(m_CaretPosition);...
14fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............else..............
15000 20 20 20 20 20 20 20 66 75 6c 6c 54 65 78 74 20 3d 20 74 65 78 74 3b 0a 0a 20 20 20 20 20 20 20 .......fullText.=.text;.........
15020 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 20 70 72 6f 63 65 73 73 65 64 3b 0a 20 20 20 20 20 .........string.processed;......
15040 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 6e 70 75 74 54 79 70 65 20 3d 3d 20 49 6e 70 75 ...........if.(inputType.==.Inpu
15060 74 54 79 70 65 2e 50 61 73 73 77 6f 72 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tType.Password).................
15080 20 20 20 20 70 72 6f 63 65 73 73 65 64 20 3d 20 6e 65 77 20 73 74 72 69 6e 67 28 61 73 74 65 72 ....processed.=.new.string(aster
150a0 69 73 6b 43 68 61 72 2c 20 66 75 6c 6c 54 65 78 74 2e 4c 65 6e 67 74 68 29 3b 0a 20 20 20 20 20 iskChar,.fullText.Length);......
150c0 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........else.................
150e0 20 20 20 20 70 72 6f 63 65 73 73 65 64 20 3d 20 66 75 6c 6c 54 65 78 74 3b 0a 0a 20 20 20 20 20 ....processed.=.fullText;.......
15100 20 20 20 20 20 20 20 20 20 20 20 62 6f 6f 6c 20 69 73 45 6d 70 74 79 20 3d 20 73 74 72 69 6e 67 ...........bool.isEmpty.=.string
15120 2e 49 73 4e 75 6c 6c 4f 72 45 6d 70 74 79 28 66 75 6c 6c 54 65 78 74 29 3b 0a 0a 20 20 20 20 20 .IsNullOrEmpty(fullText);.......
15140 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 50 6c 61 63 65 68 6f 6c 64 65 72 20 21 3d 20 ...........if.(m_Placeholder.!=.
15160 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 50 6c 61 63 null).....................m_Plac
15180 65 68 6f 6c 64 65 72 2e 65 6e 61 62 6c 65 64 20 3d 20 69 73 45 6d 70 74 79 3b 0a 0a 20 20 20 20 eholder.enabled.=.isEmpty;......
151a0 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 66 20 6e 6f 74 20 63 75 72 72 65 6e 74 6c 79 20 ............//.If.not.currently.
151c0 65 64 69 74 69 6e 67 20 74 68 65 20 74 65 78 74 2c 20 73 65 74 20 74 68 65 20 76 69 73 69 62 6c editing.the.text,.set.the.visibl
151e0 65 20 72 61 6e 67 65 20 74 6f 20 74 68 65 20 77 68 6f 6c 65 20 74 65 78 74 2e 0a 20 20 20 20 20 e.range.to.the.whole.text.......
15200 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 54 68 65 20 55 70 64 61 74 65 4c 61 62 65 6c 20 6d 65 ...........//.The.UpdateLabel.me
15220 74 68 6f 64 20 77 69 6c 6c 20 74 68 65 6e 20 74 72 75 6e 63 61 74 65 20 69 74 20 74 6f 20 74 68 thod.will.then.truncate.it.to.th
15240 65 20 70 61 72 74 20 74 68 61 74 20 66 69 74 73 20 69 6e 73 69 64 65 20 74 68 65 20 54 65 78 74 e.part.that.fits.inside.the.Text
15260 20 61 72 65 61 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 57 65 20 63 61 6e .area..................//.We.can
15280 27 74 20 64 6f 20 74 68 69 73 20 77 68 65 6e 20 74 65 78 74 20 69 73 20 62 65 69 6e 67 20 65 64 't.do.this.when.text.is.being.ed
152a0 69 74 65 64 20 73 69 6e 63 65 20 69 74 20 77 6f 75 6c 64 20 64 69 73 63 61 72 64 20 74 68 65 20 ited.since.it.would.discard.the.
152c0 63 75 72 72 65 6e 74 20 73 63 72 6f 6c 6c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 current.scroll,.................
152e0 2f 2f 20 77 68 69 63 68 20 69 73 20 64 65 66 69 6e 65 64 20 62 79 20 6d 65 61 6e 73 20 6f 66 20 //.which.is.defined.by.means.of.
15300 74 68 65 20 6d 5f 44 72 61 77 53 74 61 72 74 20 61 6e 64 20 6d 5f 44 72 61 77 45 6e 64 20 69 6e the.m_DrawStart.and.m_DrawEnd.in
15320 64 69 63 65 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 6d 5f 41 6c dices..................if.(!m_Al
15340 6c 6f 77 49 6e 70 75 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 lowInput).................{.....
15360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 44 72 61 77 53 74 61 72 74 20 3d 20 30 3b ................m_DrawStart.=.0;
15380 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 44 72 61 77 45 6e 64 20 3d .....................m_DrawEnd.=
153a0 20 6d 5f 54 65 78 74 2e 4c 65 6e 67 74 68 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .m_Text.Length;.................
153c0 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 45 6d 70 74 79 29 }..................if.(!isEmpty)
153e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .................{..............
15400 20 20 20 20 20 20 20 2f 2f 20 44 65 74 65 72 6d 69 6e 65 20 77 68 61 74 20 77 69 6c 6c 20 61 63 .......//.Determine.what.will.ac
15420 74 75 61 6c 6c 79 20 66 69 74 20 69 6e 74 6f 20 74 68 65 20 67 69 76 65 6e 20 6c 69 6e 65 0a 20 tually.fit.into.the.given.line..
15440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 56 65 63 74 6f 72 32 20 65 78 74 65 6e ...................Vector2.exten
15460 74 73 20 3d 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 72 65 63 74 54 72 61 6e 73 66 6f ts.=.m_TextComponent.rectTransfo
15480 72 6d 2e 72 65 63 74 2e 73 69 7a 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rm.rect.size;...................
154a0 20 20 20 76 61 72 20 73 65 74 74 69 6e 67 73 20 3d 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e ...var.settings.=.m_TextComponen
154c0 74 2e 47 65 74 47 65 6e 65 72 61 74 69 6f 6e 53 65 74 74 69 6e 67 73 28 65 78 74 65 6e 74 73 29 t.GetGenerationSettings(extents)
154e0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 74 69 6e 67 73 2e 67 ;.....................settings.g
15500 65 6e 65 72 61 74 65 4f 75 74 4f 66 42 6f 75 6e 64 73 20 3d 20 74 72 75 65 3b 0a 0a 20 20 20 20 enerateOutOfBounds.=.true;......
15520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 63 68 65 64 49 6e 70 75 74 54 65 78 74 47 ................cachedInputTextG
15540 65 6e 65 72 61 74 6f 72 2e 50 6f 70 75 6c 61 74 65 57 69 74 68 45 72 72 6f 72 73 28 70 72 6f 63 enerator.PopulateWithErrors(proc
15560 65 73 73 65 64 2c 20 73 65 74 74 69 6e 67 73 2c 20 67 61 6d 65 4f 62 6a 65 63 74 29 3b 0a 0a 20 essed,.settings,.gameObject);...
15580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 74 44 72 61 77 52 61 6e 67 65 54 ...................SetDrawRangeT
155a0 6f 43 6f 6e 74 61 69 6e 43 61 72 65 74 50 6f 73 69 74 69 6f 6e 28 63 61 72 65 74 53 65 6c 65 63 oContainCaretPosition(caretSelec
155c0 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 tPositionInternal);.............
155e0 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 65 64 20 3d 20 70 72 6f 63 65 73 73 65 64 2e 53 .........processed.=.processed.S
15600 75 62 73 74 72 69 6e 67 28 6d 5f 44 72 61 77 53 74 61 72 74 2c 20 4d 61 74 68 66 2e 4d 69 6e 28 ubstring(m_DrawStart,.Mathf.Min(
15620 6d 5f 44 72 61 77 45 6e 64 2c 20 70 72 6f 63 65 73 73 65 64 2e 4c 65 6e 67 74 68 29 20 2d 20 6d m_DrawEnd,.processed.Length).-.m
15640 5f 44 72 61 77 53 74 61 72 74 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 _DrawStart);....................
15660 20 20 53 65 74 43 61 72 65 74 56 69 73 69 62 6c 65 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ..SetCaretVisible();............
15680 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 54 65 78 74 43 6f 6d .....}.................m_TextCom
156a0 70 6f 6e 65 6e 74 2e 74 65 78 74 20 3d 20 70 72 6f 63 65 73 73 65 64 3b 0a 20 20 20 20 20 20 20 ponent.text.=.processed;........
156c0 20 20 20 20 20 20 20 20 20 4d 61 72 6b 47 65 6f 6d 65 74 72 79 41 73 44 69 72 74 79 28 29 3b 0a .........MarkGeometryAsDirty();.
156e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 50 72 65 76 65 6e 74 46 6f 6e 74 43 61 6c ................m_PreventFontCal
15700 6c 62 61 63 6b 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 lback.=.false;.............}....
15720 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 62 6f 6f 6c 20 49 73 53 .....}..........private.bool.IsS
15740 65 6c 65 63 74 69 6f 6e 56 69 73 69 62 6c 65 28 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 electionVisible().........{.....
15760 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 44 72 61 77 53 74 61 72 74 20 3e 20 63 61 72 65 74 50 ........if.(m_DrawStart.>.caretP
15780 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 7c 7c 20 6d 5f 44 72 61 77 53 74 61 72 74 20 3e ositionInternal.||.m_DrawStart.>
157a0 20 63 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 29 0a 20 20 .caretSelectPositionInternal)...
157c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 0a 20 20 20 ..............return.false;.....
157e0 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 44 72 61 77 45 6e 64 20 3c 20 63 61 72 65 74 50 6f .........if.(m_DrawEnd.<.caretPo
15800 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 7c 7c 20 6d 5f 44 72 61 77 45 6e 64 20 3c 20 63 61 sitionInternal.||.m_DrawEnd.<.ca
15820 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 29 0a 20 20 20 20 20 retSelectPositionInternal)......
15840 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 20 20 ...........return.false;........
15860 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 ......return.true;.........}....
15880 20 20 20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 69 6e 74 20 47 65 74 4c 69 6e 65 ......private.static.int.GetLine
158a0 53 74 61 72 74 50 6f 73 69 74 69 6f 6e 28 54 65 78 74 47 65 6e 65 72 61 74 6f 72 20 67 65 6e 2c StartPosition(TextGenerator.gen,
158c0 20 69 6e 74 20 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 .int.line).........{............
158e0 20 6c 69 6e 65 20 3d 20 4d 61 74 68 66 2e 43 6c 61 6d 70 28 6c 69 6e 65 2c 20 30 2c 20 67 65 6e .line.=.Mathf.Clamp(line,.0,.gen
15900 2e 6c 69 6e 65 73 2e 43 6f 75 6e 74 20 2d 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 .lines.Count.-.1);.............r
15920 65 74 75 72 6e 20 67 65 6e 2e 6c 69 6e 65 73 5b 6c 69 6e 65 5d 2e 73 74 61 72 74 43 68 61 72 49 eturn.gen.lines[line].startCharI
15940 64 78 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 73 dx;.........}..........private.s
15960 74 61 74 69 63 20 69 6e 74 20 47 65 74 4c 69 6e 65 45 6e 64 50 6f 73 69 74 69 6f 6e 28 54 65 78 tatic.int.GetLineEndPosition(Tex
15980 74 47 65 6e 65 72 61 74 6f 72 20 67 65 6e 2c 20 69 6e 74 20 6c 69 6e 65 29 0a 20 20 20 20 20 20 tGenerator.gen,.int.line).......
159a0 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 6e 65 20 3d 20 4d 61 74 68 66 2e 4d 61 78 ..{.............line.=.Mathf.Max
159c0 28 6c 69 6e 65 2c 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6c 69 6e 65 20 (line,.0);.............if.(line.
159e0 2b 20 31 20 3c 20 67 65 6e 2e 6c 69 6e 65 73 2e 43 6f 75 6e 74 29 0a 20 20 20 20 20 20 20 20 20 +.1.<.gen.lines.Count)..........
15a00 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 67 65 6e 2e 6c 69 6e 65 73 5b 6c 69 6e 65 20 2b 20 31 .......return.gen.lines[line.+.1
15a20 5d 2e 73 74 61 72 74 43 68 61 72 49 64 78 20 2d 20 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ].startCharIdx.-.1;.............
15a40 72 65 74 75 72 6e 20 67 65 6e 2e 63 68 61 72 61 63 74 65 72 43 6f 75 6e 74 56 69 73 69 62 6c 65 return.gen.characterCountVisible
15a60 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 76 6f 69 ;.........}..........private.voi
15a80 64 20 53 65 74 44 72 61 77 52 61 6e 67 65 54 6f 43 6f 6e 74 61 69 6e 43 61 72 65 74 50 6f 73 69 d.SetDrawRangeToContainCaretPosi
15aa0 74 69 6f 6e 28 69 6e 74 20 63 61 72 65 74 50 6f 73 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 tion(int.caretPos).........{....
15ac0 20 20 20 20 20 20 20 20 20 2f 2f 20 57 65 20 64 6f 6e 27 74 20 68 61 76 65 20 61 6e 79 20 67 65 .........//.We.don't.have.any.ge
15ae0 6e 65 72 61 74 65 64 20 6c 69 6e 65 73 20 67 65 6e 65 72 61 74 69 6f 6e 20 69 73 20 6e 6f 74 20 nerated.lines.generation.is.not.
15b00 76 61 6c 69 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 61 63 68 65 64 49 6e 70 valid..............if.(cachedInp
15b20 75 74 54 65 78 74 47 65 6e 65 72 61 74 6f 72 2e 6c 69 6e 65 43 6f 75 6e 74 20 3c 3d 20 30 29 0a utTextGenerator.lineCount.<=.0).
15b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 0a 20 20 20 20 20 20 20 ................return;.........
15b60 20 20 20 20 20 2f 2f 20 74 68 65 20 65 78 74 65 6e 74 73 20 67 65 74 73 20 6d 6f 64 69 66 69 65 .....//.the.extents.gets.modifie
15b80 64 20 62 79 20 74 68 65 20 70 69 78 65 6c 20 64 65 6e 73 69 74 79 2c 20 73 6f 20 77 65 20 6e 65 d.by.the.pixel.density,.so.we.ne
15ba0 65 64 20 74 6f 20 75 73 65 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 65 78 74 65 6e 74 73 20 ed.to.use.the.generated.extents.
15bc0 73 69 6e 63 65 20 74 68 61 74 20 77 69 6c 6c 20 62 65 20 69 6e 20 74 68 65 20 73 61 6d 65 20 27 since.that.will.be.in.the.same.'
15be0 73 70 61 63 65 27 20 61 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 74 68 65 20 76 61 6c space'.as.............//.the.val
15c00 75 65 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 54 65 78 74 47 65 6e 65 72 61 74 6f ues.returned.by.the.TextGenerato
15c20 72 2e 6c 69 6e 65 73 5b 78 5d 2e 68 65 69 67 68 74 20 66 6f 72 20 69 6e 73 74 61 6e 63 65 2e 0a r.lines[x].height.for.instance..
15c40 20 20 20 20 20 20 20 20 20 20 20 20 56 65 63 74 6f 72 32 20 65 78 74 65 6e 74 73 20 3d 20 63 61 ............Vector2.extents.=.ca
15c60 63 68 65 64 49 6e 70 75 74 54 65 78 74 47 65 6e 65 72 61 74 6f 72 2e 72 65 63 74 45 78 74 65 6e chedInputTextGenerator.rectExten
15c80 74 73 2e 73 69 7a 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 75 6c 74 69 4c ts.size;..............if.(multiL
15ca0 69 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ine).............{..............
15cc0 20 20 20 76 61 72 20 6c 69 6e 65 73 20 3d 20 63 61 63 68 65 64 49 6e 70 75 74 54 65 78 74 47 65 ...var.lines.=.cachedInputTextGe
15ce0 6e 65 72 61 74 6f 72 2e 6c 69 6e 65 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 nerator.lines;.................i
15d00 6e 74 20 63 61 72 65 74 4c 69 6e 65 20 3d 20 44 65 74 65 72 6d 69 6e 65 43 68 61 72 61 63 74 65 nt.caretLine.=.DetermineCharacte
15d20 72 4c 69 6e 65 28 63 61 72 65 74 50 6f 73 2c 20 63 61 63 68 65 64 49 6e 70 75 74 54 65 78 74 47 rLine(caretPos,.cachedInputTextG
15d40 65 6e 65 72 61 74 6f 72 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 enerator);..................if.(
15d60 63 61 72 65 74 50 6f 73 20 3e 20 6d 5f 44 72 61 77 45 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 caretPos.>.m_DrawEnd)...........
15d80 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 43 ......{.....................//.C
15da0 61 72 65 74 20 63 6f 6d 65 73 20 61 66 74 65 72 20 64 72 61 77 45 6e 64 2c 20 73 6f 20 77 65 20 aret.comes.after.drawEnd,.so.we.
15dc0 6e 65 65 64 20 74 6f 20 6d 6f 76 65 20 64 72 61 77 45 6e 64 20 74 6f 20 74 68 65 20 65 6e 64 20 need.to.move.drawEnd.to.the.end.
15de0 6f 66 20 74 68 65 20 6c 69 6e 65 20 77 69 74 68 20 74 68 65 20 63 61 72 65 74 0a 20 20 20 20 20 of.the.line.with.the.caret......
15e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 44 72 61 77 45 6e 64 20 3d 20 47 65 74 4c 69 ...............m_DrawEnd.=.GetLi
15e20 6e 65 45 6e 64 50 6f 73 69 74 69 6f 6e 28 63 61 63 68 65 64 49 6e 70 75 74 54 65 78 74 47 65 6e neEndPosition(cachedInputTextGen
15e40 65 72 61 74 6f 72 2c 20 63 61 72 65 74 4c 69 6e 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 erator,.caretLine);.............
15e60 20 20 20 20 20 20 20 20 66 6c 6f 61 74 20 62 6f 74 74 6f 6d 59 20 3d 20 6c 69 6e 65 73 5b 63 61 ........float.bottomY.=.lines[ca
15e80 72 65 74 4c 69 6e 65 5d 2e 74 6f 70 59 20 2d 20 6c 69 6e 65 73 5b 63 61 72 65 74 4c 69 6e 65 5d retLine].topY.-.lines[caretLine]
15ea0 2e 68 65 69 67 68 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 .height;.....................if.
15ec0 28 63 61 72 65 74 4c 69 6e 65 20 3d 3d 20 6c 69 6e 65 73 2e 43 6f 75 6e 74 20 2d 20 31 29 0a 20 (caretLine.==.lines.Count.-.1)..
15ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ...................{............
15f00 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 52 65 6d 6f 76 65 20 69 6e 74 65 72 6c 69 6e 65 .............//.Remove.interline
15f20 20 73 70 61 63 69 6e 67 20 6f 6e 20 6c 61 73 74 20 6c 69 6e 65 2e 0a 20 20 20 20 20 20 20 20 20 .spacing.on.last.line...........
15f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 74 74 6f 6d 59 20 2b 3d 20 6c 69 6e 65 73 5b ...............bottomY.+=.lines[
15f60 63 61 72 65 74 4c 69 6e 65 5d 2e 6c 65 61 64 69 6e 67 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 caretLine].leading;.............
15f80 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e ........}.....................in
15fa0 74 20 73 74 61 72 74 4c 69 6e 65 20 3d 20 63 61 72 65 74 4c 69 6e 65 3b 0a 20 20 20 20 20 20 20 t.startLine.=.caretLine;........
15fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 73 74 61 72 74 4c 69 6e 65 20 3e 20 .............while.(startLine.>.
15fe0 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 0).....................{........
16000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6c 6f 61 74 20 74 6f 70 59 20 3d 20 6c 69 .................float.topY.=.li
16020 6e 65 73 5b 73 74 61 72 74 4c 69 6e 65 20 2d 20 31 5d 2e 74 6f 70 59 3b 0a 20 20 20 20 20 20 20 nes[startLine.-.1].topY;........
16040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 6f 70 59 20 2d 20 62 6f 74 74 .................if.(topY.-.bott
16060 6f 6d 59 20 3e 20 65 78 74 65 6e 74 73 2e 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 omY.>.extents.y)................
16080 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 .............break;.............
160a0 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 72 74 4c 69 6e 65 2d 2d 3b 0a 20 20 20 20 20 20 20 ............startLine--;........
160c0 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............}..................
160e0 20 20 20 6d 5f 44 72 61 77 53 74 61 72 74 20 3d 20 47 65 74 4c 69 6e 65 53 74 61 72 74 50 6f 73 ...m_DrawStart.=.GetLineStartPos
16100 69 74 69 6f 6e 28 63 61 63 68 65 64 49 6e 70 75 74 54 65 78 74 47 65 6e 65 72 61 74 6f 72 2c 20 ition(cachedInputTextGenerator,.
16120 73 74 61 72 74 4c 69 6e 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 startLine);.................}...
16140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............else..............
16160 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 61 72 ...{.....................if.(car
16180 65 74 50 6f 73 20 3c 20 6d 5f 44 72 61 77 53 74 61 72 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 etPos.<.m_DrawStart)............
161a0 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........{......................
161c0 20 20 20 2f 2f 20 43 61 72 65 74 20 63 6f 6d 65 73 20 62 65 66 6f 72 65 20 64 72 61 77 53 74 61 ...//.Caret.comes.before.drawSta
161e0 72 74 2c 20 73 6f 20 77 65 20 6e 65 65 64 20 74 6f 20 6d 6f 76 65 20 64 72 61 77 53 74 61 72 74 rt,.so.we.need.to.move.drawStart
16200 20 74 6f 20 61 6e 20 65 61 72 6c 69 65 72 20 6c 69 6e 65 20 73 74 61 72 74 20 74 68 61 74 20 63 .to.an.earlier.line.start.that.c
16220 6f 6d 65 73 20 62 65 66 6f 72 65 20 63 61 72 65 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 omes.before.caret...............
16240 20 20 20 20 20 20 20 20 20 20 20 6d 5f 44 72 61 77 53 74 61 72 74 20 3d 20 47 65 74 4c 69 6e 65 ...........m_DrawStart.=.GetLine
16260 53 74 61 72 74 50 6f 73 69 74 69 6f 6e 28 63 61 63 68 65 64 49 6e 70 75 74 54 65 78 74 47 65 6e StartPosition(cachedInputTextGen
16280 65 72 61 74 6f 72 2c 20 63 61 72 65 74 4c 69 6e 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 erator,.caretLine);.............
162a0 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 ........}......................i
162c0 6e 74 20 73 74 61 72 74 4c 69 6e 65 20 3d 20 44 65 74 65 72 6d 69 6e 65 43 68 61 72 61 63 74 65 nt.startLine.=.DetermineCharacte
162e0 72 4c 69 6e 65 28 6d 5f 44 72 61 77 53 74 61 72 74 2c 20 63 61 63 68 65 64 49 6e 70 75 74 54 65 rLine(m_DrawStart,.cachedInputTe
16300 78 74 47 65 6e 65 72 61 74 6f 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 xtGenerator);...................
16320 20 20 69 6e 74 20 65 6e 64 4c 69 6e 65 20 3d 20 73 74 61 72 74 4c 69 6e 65 3b 0a 0a 20 20 20 20 ..int.endLine.=.startLine;......
16340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6c 6f 61 74 20 74 6f 70 59 20 3d 20 6c 69 6e ................float.topY.=.lin
16360 65 73 5b 73 74 61 72 74 4c 69 6e 65 5d 2e 74 6f 70 59 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 es[startLine].topY;.............
16380 20 20 20 20 20 20 20 20 66 6c 6f 61 74 20 62 6f 74 74 6f 6d 59 20 3d 20 6c 69 6e 65 73 5b 65 6e ........float.bottomY.=.lines[en
163a0 64 4c 69 6e 65 5d 2e 74 6f 70 59 20 2d 20 6c 69 6e 65 73 5b 65 6e 64 4c 69 6e 65 5d 2e 68 65 69 dLine].topY.-.lines[endLine].hei
163c0 67 68 74 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 65 6e ght;......................if.(en
163e0 64 4c 69 6e 65 20 3d 3d 20 6c 69 6e 65 73 2e 43 6f 75 6e 74 20 2d 20 31 29 0a 20 20 20 20 20 20 dLine.==.lines.Count.-.1).......
16400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............{.................
16420 20 20 20 20 20 20 20 20 2f 2f 20 52 65 6d 6f 76 65 20 69 6e 74 65 72 6c 69 6e 65 20 73 70 61 63 ........//.Remove.interline.spac
16440 69 6e 67 20 6f 6e 20 6c 61 73 74 20 6c 69 6e 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ing.on.last.line................
16460 20 20 20 20 20 20 20 20 20 20 62 6f 74 74 6f 6d 59 20 2b 3d 20 6c 69 6e 65 73 5b 65 6e 64 4c 69 ..........bottomY.+=.lines[endLi
16480 6e 65 5d 2e 6c 65 61 64 69 6e 67 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ne].leading;....................
164a0 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 65 .}......................while.(e
164c0 6e 64 4c 69 6e 65 20 3c 20 6c 69 6e 65 73 2e 43 6f 75 6e 74 20 2d 20 31 29 0a 20 20 20 20 20 20 ndLine.<.lines.Count.-.1).......
164e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............{.................
16500 20 20 20 20 20 20 20 20 62 6f 74 74 6f 6d 59 20 3d 20 6c 69 6e 65 73 5b 65 6e 64 4c 69 6e 65 20 ........bottomY.=.lines[endLine.
16520 2b 20 31 5d 2e 74 6f 70 59 20 2d 20 6c 69 6e 65 73 5b 65 6e 64 4c 69 6e 65 20 2b 20 31 5d 2e 68 +.1].topY.-.lines[endLine.+.1].h
16540 65 69 67 68 74 3b 0a 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 eight;..........................
16560 69 66 20 28 65 6e 64 4c 69 6e 65 20 2b 20 31 20 3d 3d 20 6c 69 6e 65 73 2e 43 6f 75 6e 74 20 2d if.(endLine.+.1.==.lines.Count.-
16580 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 .1).........................{...
165a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 52 65 6d ..........................//.Rem
165c0 6f 76 65 20 69 6e 74 65 72 6c 69 6e 65 20 73 70 61 63 69 6e 67 20 6f 6e 20 6c 61 73 74 20 6c 69 ove.interline.spacing.on.last.li
165e0 6e 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ne..............................
16600 62 6f 74 74 6f 6d 59 20 2b 3d 20 6c 69 6e 65 73 5b 65 6e 64 4c 69 6e 65 20 2b 20 31 5d 2e 6c 65 bottomY.+=.lines[endLine.+.1].le
16620 61 64 69 6e 67 3b 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 ading;.........................}
16640 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 6f ..........................if.(to
16660 70 59 20 2d 20 62 6f 74 74 6f 6d 59 20 3e 20 65 78 74 65 6e 74 73 2e 79 29 0a 20 20 20 20 20 20 pY.-.bottomY.>.extents.y).......
16680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 ......................break;....
166a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2b 2b 65 6e 64 4c 69 6e 65 3b 0a .....................++endLine;.
166c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 ....................}...........
166e0 20 20 20 20 20 20 20 20 20 20 20 6d 5f 44 72 61 77 45 6e 64 20 3d 20 47 65 74 4c 69 6e 65 45 6e ...........m_DrawEnd.=.GetLineEn
16700 64 50 6f 73 69 74 69 6f 6e 28 63 61 63 68 65 64 49 6e 70 75 74 54 65 78 74 47 65 6e 65 72 61 74 dPosition(cachedInputTextGenerat
16720 6f 72 2c 20 65 6e 64 4c 69 6e 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 or,.endLine);...................
16740 20 20 20 77 68 69 6c 65 20 28 73 74 61 72 74 4c 69 6e 65 20 3e 20 30 29 0a 20 20 20 20 20 20 20 ...while.(startLine.>.0)........
16760 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............{..................
16780 20 20 20 20 20 20 20 74 6f 70 59 20 3d 20 6c 69 6e 65 73 5b 73 74 61 72 74 4c 69 6e 65 20 2d 20 .......topY.=.lines[startLine.-.
167a0 31 5d 2e 74 6f 70 59 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 1].topY;........................
167c0 20 69 66 20 28 74 6f 70 59 20 2d 20 62 6f 74 74 6f 6d 59 20 3e 20 65 78 74 65 6e 74 73 2e 79 29 .if.(topY.-.bottomY.>.extents.y)
167e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 .............................bre
16800 61 6b 3b 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 73 74 61 72 ak;.........................star
16820 74 4c 69 6e 65 2d 2d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 tLine--;.....................}..
16840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 44 72 61 77 53 74 61 72 74 20 3d ...................m_DrawStart.=
16860 20 47 65 74 4c 69 6e 65 53 74 61 72 74 50 6f 73 69 74 69 6f 6e 28 63 61 63 68 65 64 49 6e 70 75 .GetLineStartPosition(cachedInpu
16880 74 54 65 78 74 47 65 6e 65 72 61 74 6f 72 2c 20 73 74 61 72 74 4c 69 6e 65 29 3b 0a 20 20 20 20 tTextGenerator,.startLine);.....
168a0 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 ............}.............}.....
168c0 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 ........else.............{......
168e0 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 68 61 72 61 63 74 65 72 73 20 3d 20 63 61 63 68 ...........var.characters.=.cach
16900 65 64 49 6e 70 75 74 54 65 78 74 47 65 6e 65 72 61 74 6f 72 2e 63 68 61 72 61 63 74 65 72 73 3b edInputTextGenerator.characters;
16920 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 44 72 61 77 45 6e 64 20 3e .................if.(m_DrawEnd.>
16940 20 63 61 63 68 65 64 49 6e 70 75 74 54 65 78 74 47 65 6e 65 72 61 74 6f 72 2e 63 68 61 72 61 63 .cachedInputTextGenerator.charac
16960 74 65 72 43 6f 75 6e 74 56 69 73 69 62 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 terCountVisible)................
16980 20 20 20 20 20 6d 5f 44 72 61 77 45 6e 64 20 3d 20 63 61 63 68 65 64 49 6e 70 75 74 54 65 78 74 .....m_DrawEnd.=.cachedInputText
169a0 47 65 6e 65 72 61 74 6f 72 2e 63 68 61 72 61 63 74 65 72 43 6f 75 6e 74 56 69 73 69 62 6c 65 3b Generator.characterCountVisible;
169c0 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6c 6f 61 74 20 77 69 64 74 68 20 3d 20 ..................float.width.=.
169e0 30 2e 30 66 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 61 72 65 74 50 0.0f;.................if.(caretP
16a00 6f 73 20 3e 20 6d 5f 44 72 61 77 45 6e 64 20 7c 7c 20 28 63 61 72 65 74 50 6f 73 20 3d 3d 20 6d os.>.m_DrawEnd.||.(caretPos.==.m
16a20 5f 44 72 61 77 45 6e 64 20 26 26 20 6d 5f 44 72 61 77 53 74 61 72 74 20 3e 20 30 29 29 0a 20 20 _DrawEnd.&&.m_DrawStart.>.0))...
16a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............{.................
16a60 20 20 20 20 2f 2f 20 66 69 74 20 63 68 61 72 61 63 74 65 72 73 20 66 72 6f 6d 20 74 68 65 20 63 ....//.fit.characters.from.the.c
16a80 61 72 65 74 50 6f 73 20 6c 65 66 74 77 61 72 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 aretPos.leftward................
16aa0 20 20 20 20 20 6d 5f 44 72 61 77 45 6e 64 20 3d 20 63 61 72 65 74 50 6f 73 3b 0a 20 20 20 20 20 .....m_DrawEnd.=.caretPos;......
16ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 6d 5f 44 72 61 77 53 74 61 72 74 20 ...............for.(m_DrawStart.
16ae0 3d 20 6d 5f 44 72 61 77 45 6e 64 20 2d 20 31 3b 20 6d 5f 44 72 61 77 53 74 61 72 74 20 3e 3d 20 =.m_DrawEnd.-.1;.m_DrawStart.>=.
16b00 30 3b 20 2d 2d 6d 5f 44 72 61 77 53 74 61 72 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0;.--m_DrawStart)...............
16b20 20 20 20 20 20 20 7b 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 ......{.........................
16b40 69 66 20 28 77 69 64 74 68 20 2b 20 63 68 61 72 61 63 74 65 72 73 5b 6d 5f 44 72 61 77 53 74 61 if.(width.+.characters[m_DrawSta
16b60 72 74 5d 2e 63 68 61 72 57 69 64 74 68 20 3e 20 65 78 74 65 6e 74 73 2e 78 29 0a 20 20 20 20 20 rt].charWidth.>.extents.x)......
16b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 0a 20 .......................break;...
16ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 69 64 74 68 20 2b 3d 20 .......................width.+=.
16bc0 63 68 61 72 61 63 74 65 72 73 5b 6d 5f 44 72 61 77 53 74 61 72 74 5d 2e 63 68 61 72 57 69 64 74 characters[m_DrawStart].charWidt
16be0 68 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 h;.....................}........
16c00 20 20 20 20 20 20 20 20 20 20 20 20 20 2b 2b 6d 5f 44 72 61 77 53 74 61 72 74 3b 20 20 2f 2f 20 .............++m_DrawStart;..//.
16c20 6d 6f 76 65 20 72 69 67 68 74 20 6f 6e 65 20 74 6f 20 74 68 65 20 6c 61 73 74 20 63 68 61 72 61 move.right.one.to.the.last.chara
16c40 63 74 65 72 20 77 65 20 63 6f 75 6c 64 20 66 69 74 20 6f 6e 20 74 68 65 20 6c 65 66 74 0a 20 20 cter.we.could.fit.on.the.left...
16c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............}.................
16c80 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 else.................{..........
16ca0 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 61 72 65 74 50 6f 73 20 3c 20 6d 5f 44 72 61 77 ...........if.(caretPos.<.m_Draw
16cc0 53 74 61 72 74 29 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 Start).........................m
16ce0 5f 44 72 61 77 53 74 61 72 74 20 3d 20 63 61 72 65 74 50 6f 73 3b 0a 0a 20 20 20 20 20 20 20 20 _DrawStart.=.caretPos;..........
16d00 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 44 72 61 77 45 6e 64 20 3d 20 6d 5f 44 72 61 77 53 74 ............m_DrawEnd.=.m_DrawSt
16d20 61 72 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 art;.................}..........
16d40 20 20 20 20 20 20 20 20 2f 2f 20 66 69 74 20 63 68 61 72 61 63 74 65 72 73 20 72 69 67 68 74 77 ........//.fit.characters.rightw
16d60 61 72 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 3b 20 6d 5f 44 72 61 ard.................for.(;.m_Dra
16d80 77 45 6e 64 20 3c 20 63 61 63 68 65 64 49 6e 70 75 74 54 65 78 74 47 65 6e 65 72 61 74 6f 72 2e wEnd.<.cachedInputTextGenerator.
16da0 63 68 61 72 61 63 74 65 72 43 6f 75 6e 74 56 69 73 69 62 6c 65 3b 20 2b 2b 6d 5f 44 72 61 77 45 characterCountVisible;.++m_DrawE
16dc0 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 nd).................{...........
16de0 20 20 20 20 20 20 20 20 20 20 77 69 64 74 68 20 2b 3d 20 63 68 61 72 61 63 74 65 72 73 5b 6d 5f ..........width.+=.characters[m_
16e00 44 72 61 77 45 6e 64 5d 2e 63 68 61 72 57 69 64 74 68 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 DrawEnd].charWidth;.............
16e20 20 20 20 20 20 20 20 20 69 66 20 28 77 69 64 74 68 20 3e 20 65 78 74 65 6e 74 73 2e 78 29 0a 20 ........if.(width.>.extents.x)..
16e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 .......................break;...
16e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 ..............}.............}...
16e80 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 ......}..........///.<summary>..
16ea0 20 20 20 20 20 20 20 2f 2f 2f 20 46 6f 72 63 65 20 74 68 65 20 6c 61 62 65 6c 20 74 6f 20 75 70 .......///.Force.the.label.to.up
16ec0 64 61 74 65 20 69 6d 6d 65 64 69 61 74 6c 79 2e 20 54 68 69 73 20 77 69 6c 6c 20 72 65 63 61 6c date.immediatly..This.will.recal
16ee0 63 75 6c 61 74 65 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 69 6e 67 20 6f 66 20 74 68 65 20 63 61 culate.the.positioning.of.the.ca
16f00 72 65 74 20 61 6e 64 20 74 68 65 20 76 69 73 69 62 6c 65 20 74 65 78 74 2e 0a 20 20 20 20 20 20 ret.and.the.visible.text........
16f20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 ..///.</summary>.........public.
16f40 76 6f 69 64 20 46 6f 72 63 65 4c 61 62 65 6c 55 70 64 61 74 65 28 29 0a 20 20 20 20 20 20 20 20 void.ForceLabelUpdate().........
16f60 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 55 70 64 61 74 65 4c 61 62 65 6c 28 29 3b 0a 20 20 20 {.............UpdateLabel();....
16f80 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 76 6f 69 64 20 4d 61 72 .....}..........private.void.Mar
16fa0 6b 47 65 6f 6d 65 74 72 79 41 73 44 69 72 74 79 28 29 0a 20 20 20 20 20 20 20 20 7b 0a 23 69 66 kGeometryAsDirty().........{.#if
16fc0 20 55 4e 49 54 59 5f 45 44 49 54 4f 52 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 41 .UNITY_EDITOR.............if.(!A
16fe0 70 70 6c 69 63 61 74 69 6f 6e 2e 69 73 50 6c 61 79 69 6e 67 20 7c 7c 20 55 6e 69 74 79 45 64 69 pplication.isPlaying.||.UnityEdi
17000 74 6f 72 2e 50 72 65 66 61 62 55 74 69 6c 69 74 79 2e 49 73 50 61 72 74 4f 66 50 72 65 66 61 62 tor.PrefabUtility.IsPartOfPrefab
17020 41 73 73 65 74 28 67 61 6d 65 4f 62 6a 65 63 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 Asset(gameObject))..............
17040 20 20 20 72 65 74 75 72 6e 3b 0a 23 65 6e 64 69 66 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 43 ...return;.#endif..............C
17060 61 6e 76 61 73 55 70 64 61 74 65 52 65 67 69 73 74 72 79 2e 52 65 67 69 73 74 65 72 43 61 6e 76 anvasUpdateRegistry.RegisterCanv
17080 61 73 45 6c 65 6d 65 6e 74 46 6f 72 47 72 61 70 68 69 63 52 65 62 75 69 6c 64 28 74 68 69 73 29 asElementForGraphicRebuild(this)
170a0 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 ;.........}..........///.<summar
170c0 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 52 65 62 75 69 6c 64 20 74 68 65 20 69 6e 70 75 74 y>.........///.Rebuild.the.input
170e0 20 66 69 65 6c 64 73 20 67 65 6f 6d 65 74 72 79 2e 20 28 63 61 72 65 74 20 61 6e 64 20 68 69 67 .fields.geometry..(caret.and.hig
17100 68 6c 69 67 68 74 29 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a hlight)..........///.</summary>.
17120 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 75 70 64 61 74 65 22 ........///.<param.name="update"
17140 3e 57 68 69 63 68 20 75 70 64 61 74 65 20 6c 6f 6f 70 20 77 65 20 61 72 65 20 69 6e 2e 3c 2f 70 >Which.update.loop.we.are.in.</p
17160 61 72 61 6d 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 76 69 72 74 75 61 6c 20 76 6f 69 aram>.........public.virtual.voi
17180 64 20 52 65 62 75 69 6c 64 28 43 61 6e 76 61 73 55 70 64 61 74 65 20 75 70 64 61 74 65 29 0a 20 d.Rebuild(CanvasUpdate.update)..
171a0 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 77 69 74 63 68 20 28 75 70 64 .......{.............switch.(upd
171c0 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ate).............{..............
171e0 20 20 20 63 61 73 65 20 43 61 6e 76 61 73 55 70 64 61 74 65 2e 4c 61 74 65 50 72 65 52 65 6e 64 ...case.CanvasUpdate.LatePreRend
17200 65 72 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 70 64 61 74 65 47 65 er:.....................UpdateGe
17220 6f 6d 65 74 72 79 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 ometry();.....................br
17240 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 eak;.............}.........}....
17260 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 ......///.<summary>.........///.
17280 53 65 65 20 49 43 61 6e 76 61 73 45 6c 65 6d 65 6e 74 2e 4c 61 79 6f 75 74 43 6f 6d 70 6c 65 74 See.ICanvasElement.LayoutComplet
172a0 65 2e 20 44 6f 65 73 20 6e 6f 74 68 69 6e 67 20 62 79 20 64 65 66 61 75 6c 74 2e 0a 20 20 20 20 e..Does.nothing.by.default......
172c0 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 ....///.</summary>.........publi
172e0 63 20 76 69 72 74 75 61 6c 20 76 6f 69 64 20 4c 61 79 6f 75 74 43 6f 6d 70 6c 65 74 65 28 29 0a c.virtual.void.LayoutComplete().
17300 20 20 20 20 20 20 20 20 7b 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 ........{}..........///.<summary
17320 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 53 65 65 20 49 43 61 6e 76 61 73 45 6c 65 6d 65 6e 74 >.........///.See.ICanvasElement
17340 2e 47 72 61 70 68 69 63 55 70 64 61 74 65 43 6f 6d 70 6c 65 74 65 2e 20 44 6f 65 73 20 6e 6f 74 .GraphicUpdateComplete..Does.not
17360 68 69 6e 67 20 62 79 20 64 65 66 61 75 6c 74 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 hing.by.default..........///.</s
17380 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 76 69 72 74 75 61 6c 20 76 ummary>.........public.virtual.v
173a0 6f 69 64 20 47 72 61 70 68 69 63 55 70 64 61 74 65 43 6f 6d 70 6c 65 74 65 28 29 0a 20 20 20 20 oid.GraphicUpdateComplete().....
173c0 20 20 20 20 7b 7d 0a 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 76 6f 69 64 20 55 70 64 ....{}..........private.void.Upd
173e0 61 74 65 47 65 6f 6d 65 74 72 79 28 29 0a 20 20 20 20 20 20 20 20 7b 0a 23 69 66 20 55 4e 49 54 ateGeometry().........{.#if.UNIT
17400 59 5f 45 44 49 54 4f 52 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 41 70 70 6c 69 63 Y_EDITOR.............if.(!Applic
17420 61 74 69 6f 6e 2e 69 73 50 6c 61 79 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ation.isPlaying)................
17440 20 72 65 74 75 72 6e 3b 0a 23 65 6e 64 69 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 4e .return;.#endif.............//.N
17460 6f 20 6e 65 65 64 20 74 6f 20 64 72 61 77 20 61 20 63 75 72 73 6f 72 20 6f 6e 20 6d 6f 62 69 6c o.need.to.draw.a.cursor.on.mobil
17480 65 20 61 73 20 69 74 73 20 68 61 6e 64 6c 65 64 20 62 79 20 74 68 65 20 64 65 76 69 63 65 73 20 e.as.its.handled.by.the.devices.
174a0 6b 65 79 62 6f 61 72 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 73 68 6f 75 6c keyboard..............if.(!shoul
174c0 64 48 69 64 65 4d 6f 62 69 6c 65 49 6e 70 75 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 dHideMobileInput)...............
174e0 20 20 72 65 74 75 72 6e 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 43 61 63 ..return;..............if.(m_Cac
17500 68 65 64 49 6e 70 75 74 52 65 6e 64 65 72 65 72 20 3d 3d 20 6e 75 6c 6c 20 26 26 20 6d 5f 54 65 hedInputRenderer.==.null.&&.m_Te
17520 78 74 43 6f 6d 70 6f 6e 65 6e 74 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 xtComponent.!=.null)............
17540 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 47 61 6d 65 4f 62 6a 65 63 74 20 67 6f .{.................GameObject.go
17560 20 3d 20 6e 65 77 20 47 61 6d 65 4f 62 6a 65 63 74 28 74 72 61 6e 73 66 6f 72 6d 2e 6e 61 6d 65 .=.new.GameObject(transform.name
17580 20 2b 20 22 20 49 6e 70 75 74 20 43 61 72 65 74 22 2c 20 74 79 70 65 6f 66 28 52 65 63 74 54 72 .+.".Input.Caret",.typeof(RectTr
175a0 61 6e 73 66 6f 72 6d 29 2c 20 74 79 70 65 6f 66 28 43 61 6e 76 61 73 52 65 6e 64 65 72 65 72 29 ansform),.typeof(CanvasRenderer)
175c0 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 6f 2e 68 69 64 65 46 6c 61 67 73 20 );.................go.hideFlags.
175e0 3d 20 48 69 64 65 46 6c 61 67 73 2e 44 6f 6e 74 53 61 76 65 3b 0a 20 20 20 20 20 20 20 20 20 20 =.HideFlags.DontSave;...........
17600 20 20 20 20 20 20 67 6f 2e 74 72 61 6e 73 66 6f 72 6d 2e 53 65 74 50 61 72 65 6e 74 28 6d 5f 54 ......go.transform.SetParent(m_T
17620 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 74 72 61 6e 73 66 6f 72 6d 2e 70 61 72 65 6e 74 29 3b 0a extComponent.transform.parent);.
17640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 6f 2e 74 72 61 6e 73 66 6f 72 6d 2e 53 65 74 ................go.transform.Set
17660 41 73 46 69 72 73 74 53 69 62 6c 69 6e 67 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 AsFirstSibling();...............
17680 20 20 67 6f 2e 6c 61 79 65 72 20 3d 20 67 61 6d 65 4f 62 6a 65 63 74 2e 6c 61 79 65 72 3b 0a 0a ..go.layer.=.gameObject.layer;..
176a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 72 65 74 52 65 63 74 54 72 61 6e 73 20 3d ................caretRectTrans.=
176c0 20 67 6f 2e 47 65 74 43 6f 6d 70 6f 6e 65 6e 74 3c 52 65 63 74 54 72 61 6e 73 66 6f 72 6d 3e 28 .go.GetComponent<RectTransform>(
176e0 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 43 61 63 68 65 64 49 6e 70 75 74 );.................m_CachedInput
17700 52 65 6e 64 65 72 65 72 20 3d 20 67 6f 2e 47 65 74 43 6f 6d 70 6f 6e 65 6e 74 3c 43 61 6e 76 61 Renderer.=.go.GetComponent<Canva
17720 73 52 65 6e 64 65 72 65 72 3e 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f sRenderer>();.................m_
17740 43 61 63 68 65 64 49 6e 70 75 74 52 65 6e 64 65 72 65 72 2e 53 65 74 4d 61 74 65 72 69 61 6c 28 CachedInputRenderer.SetMaterial(
17760 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 47 65 74 4d 6f 64 69 66 69 65 64 4d 61 74 65 72 m_TextComponent.GetModifiedMater
17780 69 61 6c 28 47 72 61 70 68 69 63 2e 64 65 66 61 75 6c 74 47 72 61 70 68 69 63 4d 61 74 65 72 69 ial(Graphic.defaultGraphicMateri
177a0 61 6c 29 2c 20 54 65 78 74 75 72 65 32 44 2e 77 68 69 74 65 54 65 78 74 75 72 65 29 3b 0a 0a 20 al),.Texture2D.whiteTexture);...
177c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 4e 65 65 64 65 64 20 61 73 20 69 66 20 61 ...............//.Needed.as.if.a
177e0 6e 79 20 6c 61 79 6f 75 74 20 69 73 20 70 72 65 73 65 6e 74 20 77 65 20 77 61 6e 74 20 74 68 65 ny.layout.is.present.we.want.the
17800 20 63 61 72 65 74 20 74 6f 20 61 6c 77 61 79 73 20 62 65 20 74 68 65 20 73 61 6d 65 20 61 73 20 .caret.to.always.be.the.same.as.
17820 74 68 65 20 74 65 78 74 20 61 72 65 61 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 the.text.area..................g
17840 6f 2e 41 64 64 43 6f 6d 70 6f 6e 65 6e 74 3c 4c 61 79 6f 75 74 45 6c 65 6d 65 6e 74 3e 28 29 2e o.AddComponent<LayoutElement>().
17860 69 67 6e 6f 72 65 4c 61 79 6f 75 74 20 3d 20 74 72 75 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 ignoreLayout.=.true;............
17880 20 20 20 20 20 20 41 73 73 69 67 6e 50 6f 73 69 74 69 6f 6e 69 6e 67 49 66 4e 65 65 64 65 64 28 ......AssignPositioningIfNeeded(
178a0 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 );.............}..............if
178c0 20 28 6d 5f 43 61 63 68 65 64 49 6e 70 75 74 52 65 6e 64 65 72 65 72 20 3d 3d 20 6e 75 6c 6c 29 .(m_CachedInputRenderer.==.null)
178e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 0a 20 20 20 20 20 20 .................return;........
17900 20 20 20 20 20 20 4f 6e 46 69 6c 6c 56 42 4f 28 6d 65 73 68 29 3b 0a 20 20 20 20 20 20 20 20 20 ......OnFillVBO(mesh);..........
17920 20 20 20 6d 5f 43 61 63 68 65 64 49 6e 70 75 74 52 65 6e 64 65 72 65 72 2e 53 65 74 4d 65 73 68 ...m_CachedInputRenderer.SetMesh
17940 28 6d 65 73 68 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 (mesh);.........}..........priva
17960 74 65 20 76 6f 69 64 20 41 73 73 69 67 6e 50 6f 73 69 74 69 6f 6e 69 6e 67 49 66 4e 65 65 64 65 te.void.AssignPositioningIfNeede
17980 64 28 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f d().........{.............if.(m_
179a0 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 20 21 3d 20 6e 75 6c 6c 20 26 26 20 63 61 72 65 74 52 65 TextComponent.!=.null.&&.caretRe
179c0 63 74 54 72 61 6e 73 20 21 3d 20 6e 75 6c 6c 20 26 26 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ctTrans.!=.null.&&..............
179e0 20 20 20 28 63 61 72 65 74 52 65 63 74 54 72 61 6e 73 2e 6c 6f 63 61 6c 50 6f 73 69 74 69 6f 6e ...(caretRectTrans.localPosition
17a00 20 21 3d 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 72 65 63 74 54 72 61 6e 73 66 6f 72 .!=.m_TextComponent.rectTransfor
17a20 6d 2e 6c 6f 63 61 6c 50 6f 73 69 74 69 6f 6e 20 7c 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 m.localPosition.||..............
17a40 20 20 20 20 63 61 72 65 74 52 65 63 74 54 72 61 6e 73 2e 6c 6f 63 61 6c 52 6f 74 61 74 69 6f 6e ....caretRectTrans.localRotation
17a60 20 21 3d 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 72 65 63 74 54 72 61 6e 73 66 6f 72 .!=.m_TextComponent.rectTransfor
17a80 6d 2e 6c 6f 63 61 6c 52 6f 74 61 74 69 6f 6e 20 7c 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 m.localRotation.||..............
17aa0 20 20 20 20 63 61 72 65 74 52 65 63 74 54 72 61 6e 73 2e 6c 6f 63 61 6c 53 63 61 6c 65 20 21 3d ....caretRectTrans.localScale.!=
17ac0 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 72 65 63 74 54 72 61 6e 73 66 6f 72 6d 2e 6c .m_TextComponent.rectTransform.l
17ae0 6f 63 61 6c 53 63 61 6c 65 20 7c 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 ocalScale.||..................ca
17b00 72 65 74 52 65 63 74 54 72 61 6e 73 2e 61 6e 63 68 6f 72 4d 69 6e 20 21 3d 20 6d 5f 54 65 78 74 retRectTrans.anchorMin.!=.m_Text
17b20 43 6f 6d 70 6f 6e 65 6e 74 2e 72 65 63 74 54 72 61 6e 73 66 6f 72 6d 2e 61 6e 63 68 6f 72 4d 69 Component.rectTransform.anchorMi
17b40 6e 20 7c 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 72 65 74 52 65 63 74 54 n.||..................caretRectT
17b60 72 61 6e 73 2e 61 6e 63 68 6f 72 4d 61 78 20 21 3d 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e rans.anchorMax.!=.m_TextComponen
17b80 74 2e 72 65 63 74 54 72 61 6e 73 66 6f 72 6d 2e 61 6e 63 68 6f 72 4d 61 78 20 7c 7c 0a 20 20 20 t.rectTransform.anchorMax.||....
17ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 72 65 74 52 65 63 74 54 72 61 6e 73 2e 61 6e 63 ..............caretRectTrans.anc
17bc0 68 6f 72 65 64 50 6f 73 69 74 69 6f 6e 20 21 3d 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 horedPosition.!=.m_TextComponent
17be0 2e 72 65 63 74 54 72 61 6e 73 66 6f 72 6d 2e 61 6e 63 68 6f 72 65 64 50 6f 73 69 74 69 6f 6e 20 .rectTransform.anchoredPosition.
17c00 7c 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 72 65 74 52 65 63 74 54 72 61 ||..................caretRectTra
17c20 6e 73 2e 73 69 7a 65 44 65 6c 74 61 20 21 3d 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e ns.sizeDelta.!=.m_TextComponent.
17c40 72 65 63 74 54 72 61 6e 73 66 6f 72 6d 2e 73 69 7a 65 44 65 6c 74 61 20 7c 7c 0a 20 20 20 20 20 rectTransform.sizeDelta.||......
17c60 20 20 20 20 20 20 20 20 20 20 20 20 63 61 72 65 74 52 65 63 74 54 72 61 6e 73 2e 70 69 76 6f 74 ............caretRectTrans.pivot
17c80 20 21 3d 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 72 65 63 74 54 72 61 6e 73 66 6f 72 .!=.m_TextComponent.rectTransfor
17ca0 6d 2e 70 69 76 6f 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 m.pivot)).............{.........
17cc0 20 20 20 20 20 20 20 20 63 61 72 65 74 52 65 63 74 54 72 61 6e 73 2e 6c 6f 63 61 6c 50 6f 73 69 ........caretRectTrans.localPosi
17ce0 74 69 6f 6e 20 3d 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 72 65 63 74 54 72 61 6e 73 tion.=.m_TextComponent.rectTrans
17d00 66 6f 72 6d 2e 6c 6f 63 61 6c 50 6f 73 69 74 69 6f 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 form.localPosition;.............
17d20 20 20 20 20 63 61 72 65 74 52 65 63 74 54 72 61 6e 73 2e 6c 6f 63 61 6c 52 6f 74 61 74 69 6f 6e ....caretRectTrans.localRotation
17d40 20 3d 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 72 65 63 74 54 72 61 6e 73 66 6f 72 6d .=.m_TextComponent.rectTransform
17d60 2e 6c 6f 63 61 6c 52 6f 74 61 74 69 6f 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .localRotation;.................
17d80 63 61 72 65 74 52 65 63 74 54 72 61 6e 73 2e 6c 6f 63 61 6c 53 63 61 6c 65 20 3d 20 6d 5f 54 65 caretRectTrans.localScale.=.m_Te
17da0 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 72 65 63 74 54 72 61 6e 73 66 6f 72 6d 2e 6c 6f 63 61 6c 53 xtComponent.rectTransform.localS
17dc0 63 61 6c 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 72 65 74 52 65 63 74 54 cale;.................caretRectT
17de0 72 61 6e 73 2e 61 6e 63 68 6f 72 4d 69 6e 20 3d 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 rans.anchorMin.=.m_TextComponent
17e00 2e 72 65 63 74 54 72 61 6e 73 66 6f 72 6d 2e 61 6e 63 68 6f 72 4d 69 6e 3b 0a 20 20 20 20 20 20 .rectTransform.anchorMin;.......
17e20 20 20 20 20 20 20 20 20 20 20 63 61 72 65 74 52 65 63 74 54 72 61 6e 73 2e 61 6e 63 68 6f 72 4d ..........caretRectTrans.anchorM
17e40 61 78 20 3d 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 72 65 63 74 54 72 61 6e 73 66 6f ax.=.m_TextComponent.rectTransfo
17e60 72 6d 2e 61 6e 63 68 6f 72 4d 61 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 rm.anchorMax;.................ca
17e80 72 65 74 52 65 63 74 54 72 61 6e 73 2e 61 6e 63 68 6f 72 65 64 50 6f 73 69 74 69 6f 6e 20 3d 20 retRectTrans.anchoredPosition.=.
17ea0 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 72 65 63 74 54 72 61 6e 73 66 6f 72 6d 2e 61 6e m_TextComponent.rectTransform.an
17ec0 63 68 6f 72 65 64 50 6f 73 69 74 69 6f 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 choredPosition;.................
17ee0 63 61 72 65 74 52 65 63 74 54 72 61 6e 73 2e 73 69 7a 65 44 65 6c 74 61 20 3d 20 6d 5f 54 65 78 caretRectTrans.sizeDelta.=.m_Tex
17f00 74 43 6f 6d 70 6f 6e 65 6e 74 2e 72 65 63 74 54 72 61 6e 73 66 6f 72 6d 2e 73 69 7a 65 44 65 6c tComponent.rectTransform.sizeDel
17f20 74 61 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 72 65 74 52 65 63 74 54 72 61 ta;.................caretRectTra
17f40 6e 73 2e 70 69 76 6f 74 20 3d 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 72 65 63 74 54 ns.pivot.=.m_TextComponent.rectT
17f60 72 61 6e 73 66 6f 72 6d 2e 70 69 76 6f 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 ransform.pivot;.............}...
17f80 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 76 6f 69 64 20 4f 6e ......}..........private.void.On
17fa0 46 69 6c 6c 56 42 4f 28 4d 65 73 68 20 76 62 6f 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 FillVBO(Mesh.vbo).........{.....
17fc0 20 20 20 20 20 20 20 20 75 73 69 6e 67 20 28 76 61 72 20 68 65 6c 70 65 72 20 3d 20 6e 65 77 20 ........using.(var.helper.=.new.
17fe0 56 65 72 74 65 78 48 65 6c 70 65 72 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 VertexHelper()).............{...
18000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 46 6f 63 75 73 65 64 29 0a 20 20 ..............if.(!isFocused)...
18020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............{.................
18040 20 20 20 20 68 65 6c 70 65 72 2e 46 69 6c 6c 4d 65 73 68 28 76 62 6f 29 3b 0a 20 20 20 20 20 20 ....helper.FillMesh(vbo);.......
18060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 ..............return;...........
18080 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 56 65 63 74 6f 72 32 ......}..................Vector2
180a0 20 72 6f 75 6e 64 69 6e 67 4f 66 66 73 65 74 20 3d 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e .roundingOffset.=.m_TextComponen
180c0 74 2e 50 69 78 65 6c 41 64 6a 75 73 74 50 6f 69 6e 74 28 56 65 63 74 6f 72 32 2e 7a 65 72 6f 29 t.PixelAdjustPoint(Vector2.zero)
180e0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 68 61 73 53 65 6c 65 63 74 ;.................if.(!hasSelect
18100 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 47 65 6e 65 72 61 74 ion).....................Generat
18120 65 43 61 72 65 74 28 68 65 6c 70 65 72 2c 20 72 6f 75 6e 64 69 6e 67 4f 66 66 73 65 74 29 3b 0a eCaret(helper,.roundingOffset);.
18140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 ................else............
18160 20 20 20 20 20 20 20 20 20 47 65 6e 65 72 61 74 65 48 69 67 68 6c 69 67 68 74 28 68 65 6c 70 65 .........GenerateHighlight(helpe
18180 72 2c 20 72 6f 75 6e 64 69 6e 67 4f 66 66 73 65 74 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 r,.roundingOffset);.............
181a0 20 20 20 20 20 68 65 6c 70 65 72 2e 46 69 6c 6c 4d 65 73 68 28 76 62 6f 29 3b 0a 20 20 20 20 20 .....helper.FillMesh(vbo);......
181c0 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 72 69 76 .......}.........}..........priv
181e0 61 74 65 20 76 6f 69 64 20 47 65 6e 65 72 61 74 65 43 61 72 65 74 28 56 65 72 74 65 78 48 65 6c ate.void.GenerateCaret(VertexHel
18200 70 65 72 20 76 62 6f 2c 20 56 65 63 74 6f 72 32 20 72 6f 75 6e 64 69 6e 67 4f 66 66 73 65 74 29 per.vbo,.Vector2.roundingOffset)
18220 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 6d 5f 43 61 .........{.............if.(!m_Ca
18240 72 65 74 56 69 73 69 62 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 retVisible).................retu
18260 72 6e 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 43 75 72 73 6f 72 56 65 72 rn;..............if.(m_CursorVer
18280 74 73 20 3d 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 ts.==.null).............{.......
182a0 20 20 20 20 20 20 20 20 20 20 43 72 65 61 74 65 43 75 72 73 6f 72 56 65 72 74 73 28 29 3b 0a 20 ..........CreateCursorVerts();..
182c0 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6c 6f 61 74 20 ...........}..............float.
182e0 77 69 64 74 68 20 3d 20 6d 5f 43 61 72 65 74 57 69 64 74 68 3b 0a 20 20 20 20 20 20 20 20 20 20 width.=.m_CaretWidth;...........
18300 20 20 69 6e 74 20 61 64 6a 75 73 74 65 64 50 6f 73 20 3d 20 4d 61 74 68 66 2e 4d 61 78 28 30 2c ..int.adjustedPos.=.Mathf.Max(0,
18320 20 63 61 72 65 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 2d 20 6d 5f 44 72 61 77 53 .caretPositionInternal.-.m_DrawS
18340 74 61 72 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 65 78 74 47 65 6e 65 72 61 74 6f 72 tart);.............TextGenerator
18360 20 67 65 6e 20 3d 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 63 61 63 68 65 64 54 65 78 .gen.=.m_TextComponent.cachedTex
18380 74 47 65 6e 65 72 61 74 6f 72 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 67 65 6e tGenerator;..............if.(gen
183a0 20 3d 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e .==.null).................return
183c0 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 67 65 6e 2e 6c 69 6e 65 43 6f 75 6e 74 ;..............if.(gen.lineCount
183e0 20 3d 3d 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 0a .==.0).................return;..
18400 20 20 20 20 20 20 20 20 20 20 20 20 56 65 63 74 6f 72 32 20 73 74 61 72 74 50 6f 73 69 74 69 6f ............Vector2.startPositio
18420 6e 20 3d 20 56 65 63 74 6f 72 32 2e 7a 65 72 6f 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f n.=.Vector2.zero;............../
18440 2f 20 43 61 6c 63 75 6c 61 74 65 20 73 74 61 72 74 50 6f 73 69 74 69 6f 6e 0a 20 20 20 20 20 20 /.Calculate.startPosition.......
18460 20 20 20 20 20 20 69 66 20 28 61 64 6a 75 73 74 65 64 50 6f 73 20 3c 20 67 65 6e 2e 63 68 61 72 ......if.(adjustedPos.<.gen.char
18480 61 63 74 65 72 73 2e 43 6f 75 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 acters.Count).............{.....
184a0 20 20 20 20 20 20 20 20 20 20 20 20 55 49 43 68 61 72 49 6e 66 6f 20 63 75 72 73 6f 72 43 68 61 ............UICharInfo.cursorCha
184c0 72 20 3d 20 67 65 6e 2e 63 68 61 72 61 63 74 65 72 73 5b 61 64 6a 75 73 74 65 64 50 6f 73 5d 3b r.=.gen.characters[adjustedPos];
184e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 72 74 50 6f 73 69 74 69 6f 6e 2e 78 .................startPosition.x
18500 20 3d 20 63 75 72 73 6f 72 43 68 61 72 2e 63 75 72 73 6f 72 50 6f 73 2e 78 3b 0a 20 20 20 20 20 .=.cursorChar.cursorPos.x;......
18520 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 72 74 50 6f 73 69 74 69 .......}.............startPositi
18540 6f 6e 2e 78 20 2f 3d 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 70 69 78 65 6c 73 50 65 on.x./=.m_TextComponent.pixelsPe
18560 72 55 6e 69 74 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 54 4f 44 4f 3a 20 4f 6e 6c rUnit;..............//.TODO:.Onl
18580 79 20 63 6c 61 6d 70 20 77 68 65 6e 20 54 65 78 74 20 75 73 65 73 20 68 6f 72 69 7a 6f 6e 74 61 y.clamp.when.Text.uses.horizonta
185a0 6c 20 77 6f 72 64 20 77 72 61 70 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 74 61 l.word.wrap..............if.(sta
185c0 72 74 50 6f 73 69 74 69 6f 6e 2e 78 20 3e 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 72 rtPosition.x.>.m_TextComponent.r
185e0 65 63 74 54 72 61 6e 73 66 6f 72 6d 2e 72 65 63 74 2e 78 4d 61 78 29 0a 20 20 20 20 20 20 20 20 ectTransform.rect.xMax).........
18600 20 20 20 20 20 20 20 20 73 74 61 72 74 50 6f 73 69 74 69 6f 6e 2e 78 20 3d 20 6d 5f 54 65 78 74 ........startPosition.x.=.m_Text
18620 43 6f 6d 70 6f 6e 65 6e 74 2e 72 65 63 74 54 72 61 6e 73 66 6f 72 6d 2e 72 65 63 74 2e 78 4d 61 Component.rectTransform.rect.xMa
18640 78 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 63 68 61 72 61 63 74 65 72 4c 69 6e x;..............int.characterLin
18660 65 20 3d 20 44 65 74 65 72 6d 69 6e 65 43 68 61 72 61 63 74 65 72 4c 69 6e 65 28 61 64 6a 75 73 e.=.DetermineCharacterLine(adjus
18680 74 65 64 50 6f 73 2c 20 67 65 6e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 72 74 50 tedPos,.gen);.............startP
186a0 6f 73 69 74 69 6f 6e 2e 79 20 3d 20 67 65 6e 2e 6c 69 6e 65 73 5b 63 68 61 72 61 63 74 65 72 4c osition.y.=.gen.lines[characterL
186c0 69 6e 65 5d 2e 74 6f 70 59 20 2f 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 70 69 78 65 ine].topY./.m_TextComponent.pixe
186e0 6c 73 50 65 72 55 6e 69 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6c 6f 61 74 20 68 65 69 lsPerUnit;.............float.hei
18700 67 68 74 20 3d 20 67 65 6e 2e 6c 69 6e 65 73 5b 63 68 61 72 61 63 74 65 72 4c 69 6e 65 5d 2e 68 ght.=.gen.lines[characterLine].h
18720 65 69 67 68 74 20 2f 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 70 69 78 65 6c 73 50 65 eight./.m_TextComponent.pixelsPe
18740 72 55 6e 69 74 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d rUnit;..............for.(int.i.=
18760 20 30 3b 20 69 20 3c 20 6d 5f 43 75 72 73 6f 72 56 65 72 74 73 2e 4c 65 6e 67 74 68 3b 20 69 2b .0;.i.<.m_CursorVerts.Length;.i+
18780 2b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 43 75 72 73 6f 72 56 65 72 74 73 +).................m_CursorVerts
187a0 5b 69 5d 2e 63 6f 6c 6f 72 20 3d 20 63 61 72 65 74 43 6f 6c 6f 72 3b 0a 0a 20 20 20 20 20 20 20 [i].color.=.caretColor;.........
187c0 20 20 20 20 20 6d 5f 43 75 72 73 6f 72 56 65 72 74 73 5b 30 5d 2e 70 6f 73 69 74 69 6f 6e 20 3d .....m_CursorVerts[0].position.=
187e0 20 6e 65 77 20 56 65 63 74 6f 72 33 28 73 74 61 72 74 50 6f 73 69 74 69 6f 6e 2e 78 2c 20 73 74 .new.Vector3(startPosition.x,.st
18800 61 72 74 50 6f 73 69 74 69 6f 6e 2e 79 20 2d 20 68 65 69 67 68 74 2c 20 30 2e 30 66 29 3b 0a 20 artPosition.y.-.height,.0.0f);..
18820 20 20 20 20 20 20 20 20 20 20 20 6d 5f 43 75 72 73 6f 72 56 65 72 74 73 5b 31 5d 2e 70 6f 73 69 ...........m_CursorVerts[1].posi
18840 74 69 6f 6e 20 3d 20 6e 65 77 20 56 65 63 74 6f 72 33 28 73 74 61 72 74 50 6f 73 69 74 69 6f 6e tion.=.new.Vector3(startPosition
18860 2e 78 20 2b 20 77 69 64 74 68 2c 20 73 74 61 72 74 50 6f 73 69 74 69 6f 6e 2e 79 20 2d 20 68 65 .x.+.width,.startPosition.y.-.he
18880 69 67 68 74 2c 20 30 2e 30 66 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 43 75 72 73 6f ight,.0.0f);.............m_Curso
188a0 72 56 65 72 74 73 5b 32 5d 2e 70 6f 73 69 74 69 6f 6e 20 3d 20 6e 65 77 20 56 65 63 74 6f 72 33 rVerts[2].position.=.new.Vector3
188c0 28 73 74 61 72 74 50 6f 73 69 74 69 6f 6e 2e 78 20 2b 20 77 69 64 74 68 2c 20 73 74 61 72 74 50 (startPosition.x.+.width,.startP
188e0 6f 73 69 74 69 6f 6e 2e 79 2c 20 30 2e 30 66 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f osition.y,.0.0f);.............m_
18900 43 75 72 73 6f 72 56 65 72 74 73 5b 33 5d 2e 70 6f 73 69 74 69 6f 6e 20 3d 20 6e 65 77 20 56 65 CursorVerts[3].position.=.new.Ve
18920 63 74 6f 72 33 28 73 74 61 72 74 50 6f 73 69 74 69 6f 6e 2e 78 2c 20 73 74 61 72 74 50 6f 73 69 ctor3(startPosition.x,.startPosi
18940 74 69 6f 6e 2e 79 2c 20 30 2e 30 66 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 tion.y,.0.0f);..............if.(
18960 72 6f 75 6e 64 69 6e 67 4f 66 66 73 65 74 20 21 3d 20 56 65 63 74 6f 72 32 2e 7a 65 72 6f 29 0a roundingOffset.!=.Vector2.zero).
18980 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f ............{.................fo
189a0 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6d 5f 43 75 72 73 6f 72 56 65 72 74 73 2e r.(int.i.=.0;.i.<.m_CursorVerts.
189c0 4c 65 6e 67 74 68 3b 20 69 2b 2b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 Length;.i++).................{..
189e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 49 56 65 72 74 65 78 20 75 69 76 20 ...................UIVertex.uiv.
18a00 3d 20 6d 5f 43 75 72 73 6f 72 56 65 72 74 73 5b 69 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 =.m_CursorVerts[i];.............
18a20 20 20 20 20 20 20 20 20 75 69 76 2e 70 6f 73 69 74 69 6f 6e 2e 78 20 2b 3d 20 72 6f 75 6e 64 69 ........uiv.position.x.+=.roundi
18a40 6e 67 4f 66 66 73 65 74 2e 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ngOffset.x;.....................
18a60 75 69 76 2e 70 6f 73 69 74 69 6f 6e 2e 79 20 2b 3d 20 72 6f 75 6e 64 69 6e 67 4f 66 66 73 65 74 uiv.position.y.+=.roundingOffset
18a80 2e 79 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 .y;.................}...........
18aa0 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 62 6f 2e 41 64 64 55 49 56 65 72 74 65 78 ..}..............vbo.AddUIVertex
18ac0 51 75 61 64 28 6d 5f 43 75 72 73 6f 72 56 65 72 74 73 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 Quad(m_CursorVerts);............
18ae0 20 20 69 6e 74 20 73 63 72 65 65 6e 48 65 69 67 68 74 20 3d 20 53 63 72 65 65 6e 2e 68 65 69 67 ..int.screenHeight.=.Screen.heig
18b00 68 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 4d 75 6c 74 69 70 6c 65 20 64 69 73 70 ht;.............//.Multiple.disp
18b20 6c 61 79 20 73 75 70 70 6f 72 74 20 6f 6e 6c 79 20 77 68 65 6e 20 6e 6f 74 20 74 68 65 20 6d 61 lay.support.only.when.not.the.ma
18b40 69 6e 20 64 69 73 70 6c 61 79 2e 20 46 6f 72 20 64 69 73 70 6c 61 79 20 30 20 74 68 65 20 72 65 in.display..For.display.0.the.re
18b60 70 6f 72 74 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 72 65 73 6f 6c 75 74 69 6f 6e ported.............//.resolution
18b80 20 69 73 20 61 6c 77 61 79 73 20 74 68 65 20 64 65 73 6b 74 6f 70 73 20 72 65 73 6f 6c 75 74 69 .is.always.the.desktops.resoluti
18ba0 6f 6e 20 73 69 6e 63 65 20 69 74 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 64 69 73 70 6c 61 79 on.since.its.part.of.the.display
18bc0 20 41 50 49 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 73 6f 20 77 65 20 75 73 65 20 74 .API,.............//.so.we.use.t
18be0 68 65 20 73 74 61 6e 64 61 72 64 20 6e 6f 6e 65 20 6d 75 6c 74 69 70 6c 65 20 64 69 73 70 6c 61 he.standard.none.multiple.displa
18c00 79 20 6d 65 74 68 6f 64 2e 20 28 63 61 73 65 20 37 34 31 37 35 31 29 0a 20 20 20 20 20 20 20 20 y.method..(case.741751).........
18c20 20 20 20 20 69 6e 74 20 64 69 73 70 6c 61 79 49 6e 64 65 78 20 3d 20 6d 5f 54 65 78 74 43 6f 6d ....int.displayIndex.=.m_TextCom
18c40 70 6f 6e 65 6e 74 2e 63 61 6e 76 61 73 2e 74 61 72 67 65 74 44 69 73 70 6c 61 79 3b 0a 20 20 20 ponent.canvas.targetDisplay;....
18c60 20 20 20 20 20 20 20 20 20 69 66 20 28 64 69 73 70 6c 61 79 49 6e 64 65 78 20 3e 20 30 20 26 26 .........if.(displayIndex.>.0.&&
18c80 20 64 69 73 70 6c 61 79 49 6e 64 65 78 20 3c 20 44 69 73 70 6c 61 79 2e 64 69 73 70 6c 61 79 73 .displayIndex.<.Display.displays
18ca0 2e 4c 65 6e 67 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 63 72 65 65 6e 48 .Length).................screenH
18cc0 65 69 67 68 74 20 3d 20 44 69 73 70 6c 61 79 2e 64 69 73 70 6c 61 79 73 5b 64 69 73 70 6c 61 79 eight.=.Display.displays[display
18ce0 49 6e 64 65 78 5d 2e 72 65 6e 64 65 72 69 6e 67 48 65 69 67 68 74 3b 0a 0a 20 20 20 20 20 20 20 Index].renderingHeight;.........
18d00 20 20 20 20 20 2f 2f 20 43 61 6c 63 75 6c 61 74 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 49 4d .....//.Calculate.position.of.IM
18d20 45 20 57 69 6e 64 6f 77 20 69 6e 20 73 63 72 65 65 6e 20 73 70 61 63 65 2e 0a 20 20 20 20 20 20 E.Window.in.screen.space........
18d40 20 20 20 20 20 20 43 61 6d 65 72 61 20 63 61 6d 65 72 61 52 65 66 3b 0a 20 20 20 20 20 20 20 20 ......Camera.cameraRef;.........
18d60 20 20 20 20 69 66 20 28 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 63 61 6e 76 61 73 2e 72 ....if.(m_TextComponent.canvas.r
18d80 65 6e 64 65 72 4d 6f 64 65 20 3d 3d 20 52 65 6e 64 65 72 4d 6f 64 65 2e 53 63 72 65 65 6e 53 70 enderMode.==.RenderMode.ScreenSp
18da0 61 63 65 4f 76 65 72 6c 61 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6d 65 aceOverlay).................came
18dc0 72 61 52 65 66 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 raRef.=.null;.............else..
18de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6d 65 72 61 52 65 66 20 3d 20 6d 5f 54 65 78 ...............cameraRef.=.m_Tex
18e00 74 43 6f 6d 70 6f 6e 65 6e 74 2e 63 61 6e 76 61 73 2e 77 6f 72 6c 64 43 61 6d 65 72 61 3b 0a 0a tComponent.canvas.worldCamera;..
18e20 20 20 20 20 20 20 20 20 20 20 20 20 56 65 63 74 6f 72 33 20 63 75 72 73 6f 72 50 6f 73 69 74 69 ............Vector3.cursorPositi
18e40 6f 6e 20 3d 20 6d 5f 43 61 63 68 65 64 49 6e 70 75 74 52 65 6e 64 65 72 65 72 2e 67 61 6d 65 4f on.=.m_CachedInputRenderer.gameO
18e60 62 6a 65 63 74 2e 74 72 61 6e 73 66 6f 72 6d 2e 54 72 61 6e 73 66 6f 72 6d 50 6f 69 6e 74 28 6d bject.transform.TransformPoint(m
18e80 5f 43 75 72 73 6f 72 56 65 72 74 73 5b 30 5d 2e 70 6f 73 69 74 69 6f 6e 29 3b 0a 20 20 20 20 20 _CursorVerts[0].position);......
18ea0 20 20 20 20 20 20 20 56 65 63 74 6f 72 32 20 73 63 72 65 65 6e 50 6f 73 69 74 69 6f 6e 20 3d 20 .......Vector2.screenPosition.=.
18ec0 52 65 63 74 54 72 61 6e 73 66 6f 72 6d 55 74 69 6c 69 74 79 2e 57 6f 72 6c 64 54 6f 53 63 72 65 RectTransformUtility.WorldToScre
18ee0 65 6e 50 6f 69 6e 74 28 63 61 6d 65 72 61 52 65 66 2c 20 63 75 72 73 6f 72 50 6f 73 69 74 69 6f enPoint(cameraRef,.cursorPositio
18f00 6e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 63 72 65 65 6e 50 6f 73 69 74 69 6f 6e 2e 79 n);.............screenPosition.y
18f20 20 3d 20 73 63 72 65 65 6e 48 65 69 67 68 74 20 2d 20 73 63 72 65 65 6e 50 6f 73 69 74 69 6f 6e .=.screenHeight.-.screenPosition
18f40 2e 79 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 6e 70 75 74 20 21 3d 20 6e 75 .y;..............if.(input.!=.nu
18f60 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 2e 63 6f 6d 70 6f 73 ll).................input.compos
18f80 69 74 69 6f 6e 43 75 72 73 6f 72 50 6f 73 20 3d 20 73 63 72 65 65 6e 50 6f 73 69 74 69 6f 6e 3b itionCursorPos.=.screenPosition;
18fa0 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 76 6f 69 64 .........}..........private.void
18fc0 20 43 72 65 61 74 65 43 75 72 73 6f 72 56 65 72 74 73 28 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 .CreateCursorVerts().........{..
18fe0 20 20 20 20 20 20 20 20 20 20 20 6d 5f 43 75 72 73 6f 72 56 65 72 74 73 20 3d 20 6e 65 77 20 55 ...........m_CursorVerts.=.new.U
19000 49 56 65 72 74 65 78 5b 34 5d 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 69 6e IVertex[4];..............for.(in
19020 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6d 5f 43 75 72 73 6f 72 56 65 72 74 73 2e 4c 65 6e 67 74 t.i.=.0;.i.<.m_CursorVerts.Lengt
19040 68 3b 20 69 2b 2b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 h;.i++).............{...........
19060 20 20 20 20 20 20 6d 5f 43 75 72 73 6f 72 56 65 72 74 73 5b 69 5d 20 3d 20 55 49 56 65 72 74 65 ......m_CursorVerts[i].=.UIVerte
19080 78 2e 73 69 6d 70 6c 65 56 65 72 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f x.simpleVert;.................m_
190a0 43 75 72 73 6f 72 56 65 72 74 73 5b 69 5d 2e 75 76 30 20 3d 20 56 65 63 74 6f 72 32 2e 7a 65 72 CursorVerts[i].uv0.=.Vector2.zer
190c0 6f 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 o;.............}.........}......
190e0 20 20 20 20 70 72 69 76 61 74 65 20 76 6f 69 64 20 47 65 6e 65 72 61 74 65 48 69 67 68 6c 69 67 ....private.void.GenerateHighlig
19100 68 74 28 56 65 72 74 65 78 48 65 6c 70 65 72 20 76 62 6f 2c 20 56 65 63 74 6f 72 32 20 72 6f 75 ht(VertexHelper.vbo,.Vector2.rou
19120 6e 64 69 6e 67 4f 66 66 73 65 74 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 ndingOffset).........{..........
19140 20 20 20 69 6e 74 20 73 74 61 72 74 43 68 61 72 20 3d 20 4d 61 74 68 66 2e 4d 61 78 28 30 2c 20 ...int.startChar.=.Mathf.Max(0,.
19160 63 61 72 65 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 2d 20 6d 5f 44 72 61 77 53 74 caretPositionInternal.-.m_DrawSt
19180 61 72 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 65 6e 64 43 68 61 72 20 3d 20 art);.............int.endChar.=.
191a0 4d 61 74 68 66 2e 4d 61 78 28 30 2c 20 63 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e Mathf.Max(0,.caretSelectPosition
191c0 49 6e 74 65 72 6e 61 6c 20 2d 20 6d 5f 44 72 61 77 53 74 61 72 74 29 3b 0a 0a 20 20 20 20 20 20 Internal.-.m_DrawStart);........
191e0 20 20 20 20 20 20 2f 2f 20 45 6e 73 75 72 65 20 70 6f 73 20 69 73 20 61 6c 77 61 79 73 20 6c 65 ......//.Ensure.pos.is.always.le
19200 73 73 20 74 68 65 6e 20 73 65 6c 50 6f 73 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 63 6f 64 65 20 ss.then.selPos.to.make.the.code.
19220 73 69 6d 70 6c 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 74 61 72 74 43 68 61 simpler.............if.(startCha
19240 72 20 3e 20 65 6e 64 43 68 61 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 r.>.endChar).............{......
19260 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 74 65 6d 70 20 3d 20 73 74 61 72 74 43 68 61 72 3b ...........int.temp.=.startChar;
19280 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 72 74 43 68 61 72 20 3d 20 65 6e 64 .................startChar.=.end
192a0 43 68 61 72 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 64 43 68 61 72 20 3d 20 Char;.................endChar.=.
192c0 74 65 6d 70 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 temp;.............}.............
192e0 20 65 6e 64 43 68 61 72 20 2d 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 65 78 74 47 .endChar.-=.1;.............TextG
19300 65 6e 65 72 61 74 6f 72 20 67 65 6e 20 3d 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 63 enerator.gen.=.m_TextComponent.c
19320 61 63 68 65 64 54 65 78 74 47 65 6e 65 72 61 74 6f 72 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 achedTextGenerator;.............
19340 20 69 66 20 28 67 65 6e 2e 6c 69 6e 65 43 6f 75 6e 74 20 3c 3d 20 30 29 0a 20 20 20 20 20 20 20 .if.(gen.lineCount.<=.0)........
19360 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e .........return;..............in
19380 74 20 63 75 72 72 65 6e 74 4c 69 6e 65 49 6e 64 65 78 20 3d 20 44 65 74 65 72 6d 69 6e 65 43 68 t.currentLineIndex.=.DetermineCh
193a0 61 72 61 63 74 65 72 4c 69 6e 65 28 73 74 61 72 74 43 68 61 72 2c 20 67 65 6e 29 3b 0a 0a 20 20 aracterLine(startChar,.gen);....
193c0 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 6c 61 73 74 43 68 61 72 49 6e 4c 69 6e 65 49 6e 64 65 ..........int.lastCharInLineInde
193e0 78 20 3d 20 47 65 74 4c 69 6e 65 45 6e 64 50 6f 73 69 74 69 6f 6e 28 67 65 6e 2c 20 63 75 72 72 x.=.GetLineEndPosition(gen,.curr
19400 65 6e 74 4c 69 6e 65 49 6e 64 65 78 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 55 49 56 65 entLineIndex);..............UIVe
19420 72 74 65 78 20 76 65 72 74 20 3d 20 55 49 56 65 72 74 65 78 2e 73 69 6d 70 6c 65 56 65 72 74 3b rtex.vert.=.UIVertex.simpleVert;
19440 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 65 72 74 2e 75 76 30 20 3d 20 56 65 63 74 6f 72 32 2e .............vert.uv0.=.Vector2.
19460 7a 65 72 6f 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 65 72 74 2e 63 6f 6c 6f 72 20 3d 20 73 zero;.............vert.color.=.s
19480 65 6c 65 63 74 69 6f 6e 43 6f 6c 6f 72 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 electionColor;..............int.
194a0 63 75 72 72 65 6e 74 43 68 61 72 20 3d 20 73 74 61 72 74 43 68 61 72 3b 0a 20 20 20 20 20 20 20 currentChar.=.startChar;........
194c0 20 20 20 20 20 77 68 69 6c 65 20 28 63 75 72 72 65 6e 74 43 68 61 72 20 3c 3d 20 65 6e 64 43 68 .....while.(currentChar.<=.endCh
194e0 61 72 20 26 26 20 63 75 72 72 65 6e 74 43 68 61 72 20 3c 20 67 65 6e 2e 63 68 61 72 61 63 74 65 ar.&&.currentChar.<.gen.characte
19500 72 43 6f 75 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 rCount).............{...........
19520 20 20 20 20 20 20 69 66 20 28 63 75 72 72 65 6e 74 43 68 61 72 20 3d 3d 20 6c 61 73 74 43 68 61 ......if.(currentChar.==.lastCha
19540 72 49 6e 4c 69 6e 65 49 6e 64 65 78 20 7c 7c 20 63 75 72 72 65 6e 74 43 68 61 72 20 3d 3d 20 65 rInLineIndex.||.currentChar.==.e
19560 6e 64 43 68 61 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 ndChar).................{.......
19580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 49 43 68 61 72 49 6e 66 6f 20 73 74 61 72 74 43 68 ..............UICharInfo.startCh
195a0 61 72 49 6e 66 6f 20 3d 20 67 65 6e 2e 63 68 61 72 61 63 74 65 72 73 5b 73 74 61 72 74 43 68 61 arInfo.=.gen.characters[startCha
195c0 72 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 49 43 68 61 72 49 6e r];.....................UICharIn
195e0 66 6f 20 65 6e 64 43 68 61 72 49 6e 66 6f 20 3d 20 67 65 6e 2e 63 68 61 72 61 63 74 65 72 73 5b fo.endCharInfo.=.gen.characters[
19600 63 75 72 72 65 6e 74 43 68 61 72 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 currentChar];...................
19620 20 20 56 65 63 74 6f 72 32 20 73 74 61 72 74 50 6f 73 69 74 69 6f 6e 20 3d 20 6e 65 77 20 56 65 ..Vector2.startPosition.=.new.Ve
19640 63 74 6f 72 32 28 73 74 61 72 74 43 68 61 72 49 6e 66 6f 2e 63 75 72 73 6f 72 50 6f 73 2e 78 20 ctor2(startCharInfo.cursorPos.x.
19660 2f 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 70 69 78 65 6c 73 50 65 72 55 6e 69 74 2c /.m_TextComponent.pixelsPerUnit,
19680 20 67 65 6e 2e 6c 69 6e 65 73 5b 63 75 72 72 65 6e 74 4c 69 6e 65 49 6e 64 65 78 5d 2e 74 6f 70 .gen.lines[currentLineIndex].top
196a0 59 20 2f 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 70 69 78 65 6c 73 50 65 72 55 6e 69 Y./.m_TextComponent.pixelsPerUni
196c0 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 56 65 63 74 6f 72 32 20 t);.....................Vector2.
196e0 65 6e 64 50 6f 73 69 74 69 6f 6e 20 3d 20 6e 65 77 20 56 65 63 74 6f 72 32 28 28 65 6e 64 43 68 endPosition.=.new.Vector2((endCh
19700 61 72 49 6e 66 6f 2e 63 75 72 73 6f 72 50 6f 73 2e 78 20 2b 20 65 6e 64 43 68 61 72 49 6e 66 6f arInfo.cursorPos.x.+.endCharInfo
19720 2e 63 68 61 72 57 69 64 74 68 29 20 2f 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 70 69 .charWidth)./.m_TextComponent.pi
19740 78 65 6c 73 50 65 72 55 6e 69 74 2c 20 73 74 61 72 74 50 6f 73 69 74 69 6f 6e 2e 79 20 2d 20 67 xelsPerUnit,.startPosition.y.-.g
19760 65 6e 2e 6c 69 6e 65 73 5b 63 75 72 72 65 6e 74 4c 69 6e 65 49 6e 64 65 78 5d 2e 68 65 69 67 68 en.lines[currentLineIndex].heigh
19780 74 20 2f 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 70 69 78 65 6c 73 50 65 72 55 6e 69 t./.m_TextComponent.pixelsPerUni
197a0 74 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 43 68 65 63 t);......................//.Chec
197c0 6b 69 6e 67 20 78 4d 69 6e 20 61 73 20 77 65 6c 6c 20 64 75 65 20 74 6f 20 74 65 78 74 20 67 65 king.xMin.as.well.due.to.text.ge
197e0 6e 65 72 61 74 6f 72 20 6e 6f 74 20 73 65 74 74 69 6e 67 20 70 6f 73 69 74 69 6f 6e 20 69 66 20 nerator.not.setting.position.if.
19800 63 68 61 72 20 69 73 20 6e 6f 74 20 72 65 6e 64 65 72 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 char.is.not.rendered............
19820 20 20 20 20 20 20 20 20 20 20 69 66 20 28 65 6e 64 50 6f 73 69 74 69 6f 6e 2e 78 20 3e 20 6d 5f ..........if.(endPosition.x.>.m_
19840 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 72 65 63 74 54 72 61 6e 73 66 6f 72 6d 2e 72 65 63 74 TextComponent.rectTransform.rect
19860 2e 78 4d 61 78 20 7c 7c 20 65 6e 64 50 6f 73 69 74 69 6f 6e 2e 78 20 3c 20 6d 5f 54 65 78 74 43 .xMax.||.endPosition.x.<.m_TextC
19880 6f 6d 70 6f 6e 65 6e 74 2e 72 65 63 74 54 72 61 6e 73 66 6f 72 6d 2e 72 65 63 74 2e 78 4d 69 6e omponent.rectTransform.rect.xMin
198a0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 64 50 6f 73 ).........................endPos
198c0 69 74 69 6f 6e 2e 78 20 3d 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 72 65 63 74 54 72 ition.x.=.m_TextComponent.rectTr
198e0 61 6e 73 66 6f 72 6d 2e 72 65 63 74 2e 78 4d 61 78 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 ansform.rect.xMax;..............
19900 20 20 20 20 20 20 20 20 76 61 72 20 73 74 61 72 74 49 6e 64 65 78 20 3d 20 76 62 6f 2e 63 75 72 ........var.startIndex.=.vbo.cur
19920 72 65 6e 74 56 65 72 74 43 6f 75 6e 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rentVertCount;..................
19940 20 20 20 76 65 72 74 2e 70 6f 73 69 74 69 6f 6e 20 3d 20 6e 65 77 20 56 65 63 74 6f 72 33 28 73 ...vert.position.=.new.Vector3(s
19960 74 61 72 74 50 6f 73 69 74 69 6f 6e 2e 78 2c 20 65 6e 64 50 6f 73 69 74 69 6f 6e 2e 79 2c 20 30 tartPosition.x,.endPosition.y,.0
19980 2e 30 66 29 20 2b 20 28 56 65 63 74 6f 72 33 29 72 6f 75 6e 64 69 6e 67 4f 66 66 73 65 74 3b 0a .0f).+.(Vector3)roundingOffset;.
199a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 62 6f 2e 41 64 64 56 65 72 74 28 ....................vbo.AddVert(
199c0 76 65 72 74 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 65 72 74 vert);......................vert
199e0 2e 70 6f 73 69 74 69 6f 6e 20 3d 20 6e 65 77 20 56 65 63 74 6f 72 33 28 65 6e 64 50 6f 73 69 74 .position.=.new.Vector3(endPosit
19a00 69 6f 6e 2e 78 2c 20 65 6e 64 50 6f 73 69 74 69 6f 6e 2e 79 2c 20 30 2e 30 66 29 20 2b 20 28 56 ion.x,.endPosition.y,.0.0f).+.(V
19a20 65 63 74 6f 72 33 29 72 6f 75 6e 64 69 6e 67 4f 66 66 73 65 74 3b 0a 20 20 20 20 20 20 20 20 20 ector3)roundingOffset;..........
19a40 20 20 20 20 20 20 20 20 20 20 20 76 62 6f 2e 41 64 64 56 65 72 74 28 76 65 72 74 29 3b 0a 0a 20 ...........vbo.AddVert(vert);...
19a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 65 72 74 2e 70 6f 73 69 74 69 6f 6e ...................vert.position
19a80 20 3d 20 6e 65 77 20 56 65 63 74 6f 72 33 28 65 6e 64 50 6f 73 69 74 69 6f 6e 2e 78 2c 20 73 74 .=.new.Vector3(endPosition.x,.st
19aa0 61 72 74 50 6f 73 69 74 69 6f 6e 2e 79 2c 20 30 2e 30 66 29 20 2b 20 28 56 65 63 74 6f 72 33 29 artPosition.y,.0.0f).+.(Vector3)
19ac0 72 6f 75 6e 64 69 6e 67 4f 66 66 73 65 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 roundingOffset;.................
19ae0 20 20 20 20 76 62 6f 2e 41 64 64 56 65 72 74 28 76 65 72 74 29 3b 0a 0a 20 20 20 20 20 20 20 20 ....vbo.AddVert(vert);..........
19b00 20 20 20 20 20 20 20 20 20 20 20 20 76 65 72 74 2e 70 6f 73 69 74 69 6f 6e 20 3d 20 6e 65 77 20 ............vert.position.=.new.
19b20 56 65 63 74 6f 72 33 28 73 74 61 72 74 50 6f 73 69 74 69 6f 6e 2e 78 2c 20 73 74 61 72 74 50 6f Vector3(startPosition.x,.startPo
19b40 73 69 74 69 6f 6e 2e 79 2c 20 30 2e 30 66 29 20 2b 20 28 56 65 63 74 6f 72 33 29 72 6f 75 6e 64 sition.y,.0.0f).+.(Vector3)round
19b60 69 6e 67 4f 66 66 73 65 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 ingOffset;.....................v
19b80 62 6f 2e 41 64 64 56 65 72 74 28 76 65 72 74 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 bo.AddVert(vert);...............
19ba0 20 20 20 20 20 20 20 76 62 6f 2e 41 64 64 54 72 69 61 6e 67 6c 65 28 73 74 61 72 74 49 6e 64 65 .......vbo.AddTriangle(startInde
19bc0 78 2c 20 73 74 61 72 74 49 6e 64 65 78 20 2b 20 31 2c 20 73 74 61 72 74 49 6e 64 65 78 20 2b 20 x,.startIndex.+.1,.startIndex.+.
19be0 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 62 6f 2e 41 64 64 54 2);.....................vbo.AddT
19c00 72 69 61 6e 67 6c 65 28 73 74 61 72 74 49 6e 64 65 78 20 2b 20 32 2c 20 73 74 61 72 74 49 6e 64 riangle(startIndex.+.2,.startInd
19c20 65 78 20 2b 20 33 2c 20 73 74 61 72 74 49 6e 64 65 78 20 2b 20 30 29 3b 0a 0a 20 20 20 20 20 20 ex.+.3,.startIndex.+.0);........
19c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 72 74 43 68 61 72 20 3d 20 63 75 72 72 65 6e ..............startChar.=.curren
19c60 74 43 68 61 72 20 2b 20 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 tChar.+.1;.....................c
19c80 75 72 72 65 6e 74 4c 69 6e 65 49 6e 64 65 78 2b 2b 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 urrentLineIndex++;..............
19ca0 20 20 20 20 20 20 20 20 6c 61 73 74 43 68 61 72 49 6e 4c 69 6e 65 49 6e 64 65 78 20 3d 20 47 65 ........lastCharInLineIndex.=.Ge
19cc0 74 4c 69 6e 65 45 6e 64 50 6f 73 69 74 69 6f 6e 28 67 65 6e 2c 20 63 75 72 72 65 6e 74 4c 69 6e tLineEndPosition(gen,.currentLin
19ce0 65 49 6e 64 65 78 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 eIndex);.................}......
19d00 20 20 20 20 20 20 20 20 20 20 20 63 75 72 72 65 6e 74 43 68 61 72 2b 2b 3b 0a 20 20 20 20 20 20 ...........currentChar++;.......
19d20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c ......}.........}..........///.<
19d40 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 50 72 65 64 65 66 69 6e 65 64 20 summary>.........///.Predefined.
19d60 76 61 6c 69 64 61 74 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 66 6f 72 20 64 69 66 validation.functionality.for.dif
19d80 66 65 72 65 6e 74 20 63 68 61 72 61 63 74 65 72 56 61 6c 69 64 61 74 69 6f 6e 20 74 79 70 65 73 ferent.characterValidation.types
19da0 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 ..........///.</summary>........
19dc0 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 74 65 78 74 22 3e 54 68 65 20 77 68 6f 6c .///.<param.name="text">The.whol
19de0 65 20 74 65 78 74 20 73 74 72 69 6e 67 20 74 6f 20 76 61 6c 69 64 61 74 65 2e 3c 2f 70 61 72 61 e.text.string.to.validate.</para
19e00 6d 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 70 6f 73 22 m>.........///.<param.name="pos"
19e20 3e 54 68 65 20 70 6f 73 69 74 69 6f 6e 20 61 74 20 77 68 69 63 68 20 74 68 65 20 63 75 72 72 65 >The.position.at.which.the.curre
19e40 6e 74 20 63 68 61 72 61 63 74 65 72 20 69 73 20 62 65 69 6e 67 20 69 6e 73 65 72 74 65 64 2e 3c nt.character.is.being.inserted.<
19e60 2f 70 61 72 61 6d 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d /param>.........///.<param.name=
19e80 22 63 68 22 3e 54 68 65 20 63 68 61 72 61 63 74 65 72 20 74 68 61 74 20 69 73 20 62 65 69 6e 67 "ch">The.character.that.is.being
19ea0 20 69 6e 73 65 72 74 65 64 3c 2f 70 61 72 61 6d 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 .inserted</param>.........///.<r
19ec0 65 74 75 72 6e 73 3e 54 68 65 20 63 68 61 72 61 63 74 65 72 20 74 68 61 74 20 73 68 6f 75 6c 64 eturns>The.character.that.should
19ee0 20 62 65 20 69 6e 73 65 72 74 65 64 2e 3c 2f 72 65 74 75 72 6e 73 3e 0a 20 20 20 20 20 20 20 20 .be.inserted.</returns>.........
19f00 70 72 6f 74 65 63 74 65 64 20 63 68 61 72 20 56 61 6c 69 64 61 74 65 28 73 74 72 69 6e 67 20 74 protected.char.Validate(string.t
19f20 65 78 74 2c 20 69 6e 74 20 70 6f 73 2c 20 63 68 61 72 20 63 68 29 0a 20 20 20 20 20 20 20 20 7b ext,.int.pos,.char.ch).........{
19f40 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 56 61 6c 69 64 61 74 69 6f 6e 20 69 73 20 64 69 .............//.Validation.is.di
19f60 73 61 62 6c 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 68 61 72 61 63 74 65 72 sabled.............if.(character
19f80 56 61 6c 69 64 61 74 69 6f 6e 20 3d 3d 20 43 68 61 72 61 63 74 65 72 56 61 6c 69 64 61 74 69 6f Validation.==.CharacterValidatio
19fa0 6e 2e 4e 6f 6e 65 20 7c 7c 20 21 65 6e 61 62 6c 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 n.None.||.!enabled).............
19fc0 20 20 20 20 72 65 74 75 72 6e 20 63 68 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 ....return.ch;..............if.(
19fe0 63 68 61 72 61 63 74 65 72 56 61 6c 69 64 61 74 69 6f 6e 20 3d 3d 20 43 68 61 72 61 63 74 65 72 characterValidation.==.Character
1a000 56 61 6c 69 64 61 74 69 6f 6e 2e 49 6e 74 65 67 65 72 20 7c 7c 20 63 68 61 72 61 63 74 65 72 56 Validation.Integer.||.characterV
1a020 61 6c 69 64 61 74 69 6f 6e 20 3d 3d 20 43 68 61 72 61 63 74 65 72 56 61 6c 69 64 61 74 69 6f 6e alidation.==.CharacterValidation
1a040 2e 44 65 63 69 6d 61 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 .Decimal).............{.........
1a060 20 20 20 20 20 20 20 20 2f 2f 20 49 6e 74 65 67 65 72 20 61 6e 64 20 64 65 63 69 6d 61 6c 0a 20 ........//.Integer.and.decimal..
1a080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 6f 6c 20 63 75 72 73 6f 72 42 65 66 6f 72 65 ...............bool.cursorBefore
1a0a0 44 61 73 68 20 3d 20 28 70 6f 73 20 3d 3d 20 30 20 26 26 20 74 65 78 74 2e 4c 65 6e 67 74 68 20 Dash.=.(pos.==.0.&&.text.Length.
1a0c0 3e 20 30 20 26 26 20 74 65 78 74 5b 30 5d 20 3d 3d 20 27 2d 27 29 3b 0a 20 20 20 20 20 20 20 20 >.0.&&.text[0].==.'-');.........
1a0e0 20 20 20 20 20 20 20 20 62 6f 6f 6c 20 64 61 73 68 49 6e 53 65 6c 65 63 74 69 6f 6e 20 3d 20 74 ........bool.dashInSelection.=.t
1a100 65 78 74 2e 4c 65 6e 67 74 68 20 3e 20 30 20 26 26 20 74 65 78 74 5b 30 5d 20 3d 3d 20 27 2d 27 ext.Length.>.0.&&.text[0].==.'-'
1a120 20 26 26 20 28 28 63 61 72 65 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 3d 3d 20 30 .&&.((caretPositionInternal.==.0
1a140 20 26 26 20 63 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 .&&.caretSelectPositionInternal.
1a160 3e 20 30 29 20 7c 7c 20 28 63 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 >.0).||.(caretSelectPositionInte
1a180 72 6e 61 6c 20 3d 3d 20 30 20 26 26 20 63 61 72 65 74 50 6f 73 69 74 69 6f 6e 49 6e 74 65 72 6e rnal.==.0.&&.caretPositionIntern
1a1a0 61 6c 20 3e 20 30 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 6f 6c 20 73 al.>.0));.................bool.s
1a1c0 65 6c 65 63 74 69 6f 6e 41 74 53 74 61 72 74 20 3d 20 63 61 72 65 74 50 6f 73 69 74 69 6f 6e 49 electionAtStart.=.caretPositionI
1a1e0 6e 74 65 72 6e 61 6c 20 3d 3d 20 30 20 7c 7c 20 63 61 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 nternal.==.0.||.caretSelectPosit
1a200 69 6f 6e 49 6e 74 65 72 6e 61 6c 20 3d 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ionInternal.==.0;...............
1a220 20 20 69 66 20 28 21 63 75 72 73 6f 72 42 65 66 6f 72 65 44 61 73 68 20 7c 7c 20 64 61 73 68 49 ..if.(!cursorBeforeDash.||.dashI
1a240 6e 53 65 6c 65 63 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 nSelection).................{...
1a260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 68 20 3e 3d 20 27 30 27 20 ..................if.(ch.>=.'0'.
1a280 26 26 20 63 68 20 3c 3d 20 27 39 27 29 20 72 65 74 75 72 6e 20 63 68 3b 0a 20 20 20 20 20 20 20 &&.ch.<=.'9').return.ch;........
1a2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 68 20 3d 3d 20 27 2d 27 20 26 26 20 28 70 .............if.(ch.==.'-'.&&.(p
1a2c0 6f 73 20 3d 3d 20 30 20 7c 7c 20 73 65 6c 65 63 74 69 6f 6e 41 74 53 74 61 72 74 29 29 20 72 65 os.==.0.||.selectionAtStart)).re
1a2e0 74 75 72 6e 20 63 68 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 turn.ch;.....................if.
1a300 28 28 63 68 20 3d 3d 20 27 2e 27 20 7c 7c 20 63 68 20 3d 3d 20 27 2c 27 29 20 26 26 20 63 68 61 ((ch.==.'.'.||.ch.==.',').&&.cha
1a320 72 61 63 74 65 72 56 61 6c 69 64 61 74 69 6f 6e 20 3d 3d 20 43 68 61 72 61 63 74 65 72 56 61 6c racterValidation.==.CharacterVal
1a340 69 64 61 74 69 6f 6e 2e 44 65 63 69 6d 61 6c 20 26 26 20 74 65 78 74 2e 49 6e 64 65 78 4f 66 41 idation.Decimal.&&.text.IndexOfA
1a360 6e 79 28 6e 65 77 5b 5d 20 7b 20 27 2e 27 2c 20 27 2c 27 20 7d 29 20 3d 3d 20 2d 31 29 20 72 65 ny(new[].{.'.',.','.}).==.-1).re
1a380 74 75 72 6e 20 63 68 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 turn.ch;.................}......
1a3a0 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 63 68 .......}.............else.if.(ch
1a3c0 61 72 61 63 74 65 72 56 61 6c 69 64 61 74 69 6f 6e 20 3d 3d 20 43 68 61 72 61 63 74 65 72 56 61 aracterValidation.==.CharacterVa
1a3e0 6c 69 64 61 74 69 6f 6e 2e 41 6c 70 68 61 6e 75 6d 65 72 69 63 29 0a 20 20 20 20 20 20 20 20 20 lidation.Alphanumeric)..........
1a400 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 41 6c 6c 20 61 6c 70 68 ...{.................//.All.alph
1a420 61 6e 75 6d 65 72 69 63 20 63 68 61 72 61 63 74 65 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 anumeric.characters.............
1a440 20 20 20 20 69 66 20 28 63 68 20 3e 3d 20 27 41 27 20 26 26 20 63 68 20 3c 3d 20 27 5a 27 29 20 ....if.(ch.>=.'A'.&&.ch.<=.'Z').
1a460 72 65 74 75 72 6e 20 63 68 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 return.ch;.................if.(c
1a480 68 20 3e 3d 20 27 61 27 20 26 26 20 63 68 20 3c 3d 20 27 7a 27 29 20 72 65 74 75 72 6e 20 63 68 h.>=.'a'.&&.ch.<=.'z').return.ch
1a4a0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 68 20 3e 3d 20 27 30 27 20 ;.................if.(ch.>=.'0'.
1a4c0 26 26 20 63 68 20 3c 3d 20 27 39 27 29 20 72 65 74 75 72 6e 20 63 68 3b 0a 20 20 20 20 20 20 20 &&.ch.<=.'9').return.ch;........
1a4e0 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 63 68 61 72 .....}.............else.if.(char
1a500 61 63 74 65 72 56 61 6c 69 64 61 74 69 6f 6e 20 3d 3d 20 43 68 61 72 61 63 74 65 72 56 61 6c 69 acterValidation.==.CharacterVali
1a520 64 61 74 69 6f 6e 2e 4e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 dation.Name).............{......
1a540 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 46 49 58 4d 45 3a 20 73 6f 6d 65 20 61 63 74 69 6f 6e ...........//.FIXME:.some.action
1a560 73 20 73 74 69 6c 6c 20 6c 65 61 64 20 74 6f 20 69 6e 76 61 6c 69 64 20 69 6e 70 75 74 3a 0a 20 s.still.lead.to.invalid.input:..
1a580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 20 20 20 20 20 20 20 2d 20 48 69 74 74 69 ...............//........-.Hitti
1a5a0 6e 67 20 64 65 6c 65 74 65 20 69 6e 20 66 72 6f 6e 74 20 6f 66 20 61 6e 20 75 70 70 65 72 63 61 ng.delete.in.front.of.an.upperca
1a5c0 73 65 20 6c 65 74 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 20 20 20 se.letter.................//....
1a5e0 20 20 20 20 2d 20 53 65 6c 65 63 74 69 6e 67 20 61 6e 20 75 70 70 65 72 63 61 73 65 20 6c 65 74 ....-.Selecting.an.uppercase.let
1a600 74 65 72 20 61 6e 64 20 64 65 6c 65 74 69 6e 67 20 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 ter.and.deleting.it.............
1a620 20 20 20 20 2f 2f 20 20 20 20 20 20 20 20 2d 20 54 79 70 69 6e 67 20 73 6f 6d 65 20 74 65 78 74 ....//........-.Typing.some.text
1a640 2c 20 68 69 74 74 69 6e 67 20 48 6f 6d 65 20 61 6e 64 20 74 79 70 69 6e 67 20 6d 6f 72 65 20 74 ,.hitting.Home.and.typing.more.t
1a660 65 78 74 20 28 77 65 20 74 68 65 6e 20 68 61 76 65 20 61 6e 20 75 70 70 65 72 63 61 73 65 20 6c ext.(we.then.have.an.uppercase.l
1a680 65 74 74 65 72 20 69 6e 20 74 68 65 20 6d 69 64 64 6c 65 20 6f 66 20 61 20 77 6f 72 64 29 0a 20 etter.in.the.middle.of.a.word)..
1a6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 20 20 20 20 20 20 20 2d 20 54 79 70 69 6e ...............//........-.Typin
1a6c0 67 20 73 6f 6d 65 20 74 65 78 74 2c 20 68 69 74 74 69 6e 67 20 48 6f 6d 65 20 61 6e 64 20 74 79 g.some.text,.hitting.Home.and.ty
1a6e0 70 69 6e 67 20 61 20 73 70 61 63 65 20 28 77 65 20 74 68 65 6e 20 68 61 76 65 20 61 20 6c 65 61 ping.a.space.(we.then.have.a.lea
1a700 64 69 6e 67 20 73 70 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 20 ding.space).................//..
1a720 20 20 20 20 20 20 2d 20 45 72 61 73 69 6e 67 20 61 20 73 70 61 63 65 20 62 65 74 77 65 65 6e 20 ......-.Erasing.a.space.between.
1a740 74 77 6f 20 77 6f 72 64 73 20 28 77 65 20 74 68 65 6e 20 68 61 76 65 20 61 6e 20 75 70 70 65 72 two.words.(we.then.have.an.upper
1a760 63 61 73 65 20 6c 65 74 74 65 72 20 69 6e 20 74 68 65 20 6d 69 64 64 6c 65 20 6f 66 20 61 20 77 case.letter.in.the.middle.of.a.w
1a780 6f 72 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 20 20 20 20 20 20 20 2d ord).................//........-
1a7a0 20 57 65 20 61 63 63 65 70 74 20 61 20 74 72 61 69 6c 69 6e 67 20 73 70 61 63 65 0a 20 20 20 20 .We.accept.a.trailing.space.....
1a7c0 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 20 20 20 20 20 20 20 2d 20 57 65 20 61 63 63 65 70 ............//........-.We.accep
1a7e0 74 20 74 68 65 20 69 6e 73 65 72 74 69 6f 6e 20 6f 66 20 61 20 73 70 61 63 65 20 62 65 74 77 65 t.the.insertion.of.a.space.betwe
1a800 65 6e 20 74 77 6f 20 6c 6f 77 65 72 63 61 73 65 20 6c 65 74 74 65 72 73 2e 0a 20 20 20 20 20 20 en.two.lowercase.letters........
1a820 20 20 20 20 20 20 20 20 20 20 2f 2f 20 20 20 20 20 20 20 20 2d 20 54 79 70 69 6e 67 20 74 65 78 ..........//........-.Typing.tex
1a840 74 20 69 6e 20 66 72 6f 6e 74 20 6f 66 20 61 6e 20 65 78 69 73 74 69 6e 67 20 75 70 70 65 72 63 t.in.front.of.an.existing.upperc
1a860 61 73 65 20 6c 65 74 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 20 20 ase.letter.................//...
1a880 20 20 20 20 20 2d 20 2e 2e 2e 20 61 6e 64 20 63 65 72 74 61 69 6e 6c 79 20 6d 6f 72 65 0a 20 20 .....-.....and.certainly.more...
1a8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............//................
1a8c0 20 2f 2f 20 54 68 65 20 72 75 6c 65 20 77 65 20 74 72 79 20 74 6f 20 69 6d 70 6c 65 6d 65 6e 74 .//.The.rule.we.try.to.implement
1a8e0 20 61 72 65 20 74 6f 6f 20 63 6f 6d 70 6c 65 78 20 66 6f 72 20 74 68 69 73 20 6b 69 6e 64 20 6f .are.too.complex.for.this.kind.o
1a900 66 20 76 65 72 69 66 69 63 61 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 f.verification..................
1a920 20 69 66 20 28 63 68 61 72 2e 49 73 4c 65 74 74 65 72 28 63 68 29 29 0a 20 20 20 20 20 20 20 20 .if.(char.IsLetter(ch)).........
1a940 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f ........{.....................//
1a960 20 43 68 61 72 61 63 74 65 72 20 66 6f 6c 6c 6f 77 69 6e 67 20 61 20 73 70 61 63 65 20 73 68 6f .Character.following.a.space.sho
1a980 75 6c 64 20 62 65 20 69 6e 20 75 70 70 65 72 63 61 73 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 uld.be.in.uppercase.............
1a9a0 20 20 20 20 20 20 20 20 20 69 66 20 28 63 68 61 72 2e 49 73 4c 6f 77 65 72 28 63 68 29 20 26 26 .........if.(char.IsLower(ch).&&
1a9c0 20 28 28 70 6f 73 20 3d 3d 20 30 29 20 7c 7c 20 28 74 65 78 74 5b 70 6f 73 20 2d 20 31 5d 20 3d .((pos.==.0).||.(text[pos.-.1].=
1a9e0 3d 20 27 20 27 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 =.'.'))).....................{..
1aa00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 63 68 .......................return.ch
1aa20 61 72 2e 54 6f 55 70 70 65 72 28 63 68 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ar.ToUpper(ch);.................
1aa40 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 43 68 ....}......................//.Ch
1aa60 61 72 61 63 74 65 72 20 6e 6f 74 20 66 6f 6c 6c 6f 77 69 6e 67 20 61 20 73 70 61 63 65 20 6f 72 aracter.not.following.a.space.or
1aa80 20 61 6e 20 61 70 6f 73 74 72 6f 70 68 65 20 73 68 6f 75 6c 64 20 62 65 20 69 6e 20 6c 6f 77 65 .an.apostrophe.should.be.in.lowe
1aaa0 72 63 61 73 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 rcase......................if.(c
1aac0 68 61 72 2e 49 73 55 70 70 65 72 28 63 68 29 20 26 26 20 28 70 6f 73 20 3e 20 30 29 20 26 26 20 har.IsUpper(ch).&&.(pos.>.0).&&.
1aae0 28 74 65 78 74 5b 70 6f 73 20 2d 20 31 5d 20 21 3d 20 27 20 27 29 20 26 26 20 28 74 65 78 74 5b (text[pos.-.1].!=.'.').&&.(text[
1ab00 70 6f 73 20 2d 20 31 5d 20 21 3d 20 27 5c 27 27 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 pos.-.1].!=.'\''))..............
1ab20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......{........................
1ab40 20 72 65 74 75 72 6e 20 63 68 61 72 2e 54 6f 4c 6f 77 65 72 28 63 68 29 3b 0a 20 20 20 20 20 20 .return.char.ToLower(ch);.......
1ab60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............}.................
1ab80 20 20 20 20 20 72 65 74 75 72 6e 20 63 68 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....return.ch;.................
1aba0 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 68 20 3d 3d 20 27 5c 27 }..................if.(ch.==.'\'
1abc0 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ').................{............
1abe0 20 20 20 20 20 20 20 20 20 2f 2f 20 44 6f 6e 27 74 20 61 6c 6c 6f 77 20 6d 6f 72 65 20 74 68 61 .........//.Don't.allow.more.tha
1ac00 6e 20 6f 6e 65 20 61 70 6f 73 74 72 6f 70 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n.one.apostrophe................
1ac20 20 20 20 20 20 69 66 20 28 21 74 65 78 74 2e 43 6f 6e 74 61 69 6e 73 28 22 27 22 29 29 0a 20 20 .....if.(!text.Contains("'"))...
1ac40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 44 6f 6e 27 74 20 61 ......................//.Don't.a
1ac60 6c 6c 6f 77 20 63 6f 6e 73 65 63 75 74 69 76 65 20 73 70 61 63 65 73 20 61 6e 64 20 61 70 6f 73 llow.consecutive.spaces.and.apos
1ac80 74 72 6f 70 68 65 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 trophes.........................
1aca0 20 69 66 20 28 21 28 28 28 70 6f 73 20 3e 20 30 29 20 26 26 20 28 28 74 65 78 74 5b 70 6f 73 20 .if.(!(((pos.>.0).&&.((text[pos.
1acc0 2d 20 31 5d 20 3d 3d 20 27 20 27 29 20 7c 7c 20 28 74 65 78 74 5b 70 6f 73 20 2d 20 31 5d 20 3d -.1].==.'.').||.(text[pos.-.1].=
1ace0 3d 20 27 5c 27 27 29 29 29 20 7c 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 =.'\''))).||....................
1ad00 20 20 20 20 20 20 20 20 20 20 20 28 28 70 6f 73 20 3c 20 74 65 78 74 2e 4c 65 6e 67 74 68 29 20 ...........((pos.<.text.Length).
1ad20 26 26 20 28 28 74 65 78 74 5b 70 6f 73 5d 20 3d 3d 20 27 20 27 29 20 7c 7c 20 28 74 65 78 74 5b &&.((text[pos].==.'.').||.(text[
1ad40 70 6f 73 5d 20 3d 3d 20 27 5c 27 27 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pos].==.'\'')))))...............
1ad60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 63 68 3b 0a 20 20 20 20 20 20 20 ..............return.ch;........
1ad80 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 .........}..................if.(
1ada0 63 68 20 3d 3d 20 27 20 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 ch.==.'.').................{....
1adc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 70 6f 73 20 21 3d 20 30 29 20 2f .................if.(pos.!=.0)./
1ade0 2f 20 44 6f 6e 27 74 20 61 6c 6c 6f 77 20 6c 65 61 64 69 6e 67 20 73 70 61 63 65 73 0a 20 20 20 /.Don't.allow.leading.spaces....
1ae00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .................{..............
1ae20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 44 6f 6e 27 74 20 61 6c 6c 6f 77 20 63 6f 6e 73 65 63 ...........//.Don't.allow.consec
1ae40 75 74 69 76 65 20 73 70 61 63 65 73 20 61 6e 64 20 61 70 6f 73 74 72 6f 70 68 65 73 2e 0a 20 20 utive.spaces.and.apostrophes....
1ae60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 28 28 28 70 6f ......................if.(!(((po
1ae80 73 20 3e 20 30 29 20 26 26 20 28 28 74 65 78 74 5b 70 6f 73 20 2d 20 31 5d 20 3d 3d 20 27 20 27 s.>.0).&&.((text[pos.-.1].==.'.'
1aea0 29 20 7c 7c 20 28 74 65 78 74 5b 70 6f 73 20 2d 20 31 5d 20 3d 3d 20 27 5c 27 27 29 29 29 20 7c ).||.(text[pos.-.1].==.'\''))).|
1aec0 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |...............................
1aee0 28 28 70 6f 73 20 3c 20 74 65 78 74 2e 4c 65 6e 67 74 68 29 20 26 26 20 28 28 74 65 78 74 5b 70 ((pos.<.text.Length).&&.((text[p
1af00 6f 73 5d 20 3d 3d 20 27 20 27 29 20 7c 7c 20 28 74 65 78 74 5b 70 6f 73 5d 20 3d 3d 20 27 5c 27 os].==.'.').||.(text[pos].==.'\'
1af20 27 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ')))))..........................
1af40 20 20 20 72 65 74 75 72 6e 20 63 68 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...return.ch;...................
1af60 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 ..}.................}...........
1af80 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 63 68 61 72 61 63 74 ..}.............else.if.(charact
1afa0 65 72 56 61 6c 69 64 61 74 69 6f 6e 20 3d 3d 20 43 68 61 72 61 63 74 65 72 56 61 6c 69 64 61 74 erValidation.==.CharacterValidat
1afc0 69 6f 6e 2e 45 6d 61 69 6c 41 64 64 72 65 73 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a ion.EmailAddress).............{.
1afe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 46 72 6f 6d 20 53 74 61 63 6b 4f 76 65 ................//.From.StackOve
1b000 72 66 6c 6f 77 20 61 62 6f 75 74 20 61 6c 6c 6f 77 65 64 20 63 68 61 72 61 63 74 65 72 73 20 69 rflow.about.allowed.characters.i
1b020 6e 20 65 6d 61 69 6c 20 61 64 64 72 65 73 73 65 73 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 n.email.addresses:..............
1b040 20 20 20 2f 2f 20 55 70 70 65 72 63 61 73 65 20 61 6e 64 20 6c 6f 77 65 72 63 61 73 65 20 45 6e ...//.Uppercase.and.lowercase.En
1b060 67 6c 69 73 68 20 6c 65 74 74 65 72 73 20 28 61 2d 7a 2c 20 41 2d 5a 29 0a 20 20 20 20 20 20 20 glish.letters.(a-z,.A-Z)........
1b080 20 20 20 20 20 20 20 20 20 2f 2f 20 44 69 67 69 74 73 20 30 20 74 6f 20 39 0a 20 20 20 20 20 20 .........//.Digits.0.to.9.......
1b0a0 20 20 20 20 20 20 20 20 20 20 2f 2f 20 43 68 61 72 61 63 74 65 72 73 20 21 20 23 20 24 20 25 20 ..........//.Characters.!.#.$.%.
1b0c0 26 20 27 20 2a 20 2b 20 2d 20 2f 20 3d 20 3f 20 5e 20 5f 20 60 20 7b 20 7c 20 7d 20 7e 0a 20 20 &.'.*.+.-./.=.?.^._.`.{.|.}.~...
1b0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 43 68 61 72 61 63 74 65 72 20 2e 20 28 64 6f ..............//.Character...(do
1b100 74 2c 20 70 65 72 69 6f 64 2c 20 66 75 6c 6c 20 73 74 6f 70 29 20 70 72 6f 76 69 64 65 64 20 74 t,.period,.full.stop).provided.t
1b120 68 61 74 20 69 74 20 69 73 20 6e 6f 74 20 74 68 65 20 66 69 72 73 74 20 6f 72 20 6c 61 73 74 20 hat.it.is.not.the.first.or.last.
1b140 63 68 61 72 61 63 74 65 72 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 61 6e character,.................//.an
1b160 64 20 70 72 6f 76 69 64 65 64 20 61 6c 73 6f 20 74 68 61 74 20 69 74 20 64 6f 65 73 20 6e 6f 74 d.provided.also.that.it.does.not
1b180 20 61 70 70 65 61 72 20 74 77 6f 20 6f 72 20 6d 6f 72 65 20 74 69 6d 65 73 20 63 6f 6e 73 65 63 .appear.two.or.more.times.consec
1b1a0 75 74 69 76 65 6c 79 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 68 utively...................if.(ch
1b1c0 20 3e 3d 20 27 41 27 20 26 26 20 63 68 20 3c 3d 20 27 5a 27 29 20 72 65 74 75 72 6e 20 63 68 3b .>=.'A'.&&.ch.<=.'Z').return.ch;
1b1e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 68 20 3e 3d 20 27 61 27 20 26 .................if.(ch.>=.'a'.&
1b200 26 20 63 68 20 3c 3d 20 27 7a 27 29 20 72 65 74 75 72 6e 20 63 68 3b 0a 20 20 20 20 20 20 20 20 &.ch.<=.'z').return.ch;.........
1b220 20 20 20 20 20 20 20 20 69 66 20 28 63 68 20 3e 3d 20 27 30 27 20 26 26 20 63 68 20 3c 3d 20 27 ........if.(ch.>=.'0'.&&.ch.<=.'
1b240 39 27 29 20 72 65 74 75 72 6e 20 63 68 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 9').return.ch;.................i
1b260 66 20 28 63 68 20 3d 3d 20 27 40 27 20 26 26 20 74 65 78 74 2e 49 6e 64 65 78 4f 66 28 27 40 27 f.(ch.==.'@'.&&.text.IndexOf('@'
1b280 29 20 3d 3d 20 2d 31 29 20 72 65 74 75 72 6e 20 63 68 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ).==.-1).return.ch;.............
1b2a0 20 20 20 20 69 66 20 28 6b 45 6d 61 69 6c 53 70 65 63 69 61 6c 43 68 61 72 61 63 74 65 72 73 2e ....if.(kEmailSpecialCharacters.
1b2c0 49 6e 64 65 78 4f 66 28 63 68 29 20 21 3d 20 2d 31 29 20 72 65 74 75 72 6e 20 63 68 3b 0a 20 20 IndexOf(ch).!=.-1).return.ch;...
1b2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 68 20 3d 3d 20 27 2e 27 29 0a 20 20 20 ..............if.(ch.==.'.')....
1b300 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............{..................
1b320 20 20 20 63 68 61 72 20 6c 61 73 74 43 68 61 72 20 3d 20 28 74 65 78 74 2e 4c 65 6e 67 74 68 20 ...char.lastChar.=.(text.Length.
1b340 3e 20 30 29 20 3f 20 74 65 78 74 5b 4d 61 74 68 66 2e 43 6c 61 6d 70 28 70 6f 73 2c 20 30 2c 20 >.0).?.text[Mathf.Clamp(pos,.0,.
1b360 74 65 78 74 2e 4c 65 6e 67 74 68 20 2d 20 31 29 5d 20 3a 20 27 20 27 3b 0a 20 20 20 20 20 20 20 text.Length.-.1)].:.'.';........
1b380 20 20 20 20 20 20 20 20 20 20 20 20 20 63 68 61 72 20 6e 65 78 74 43 68 61 72 20 3d 20 28 74 65 .............char.nextChar.=.(te
1b3a0 78 74 2e 4c 65 6e 67 74 68 20 3e 20 30 29 20 3f 20 74 65 78 74 5b 4d 61 74 68 66 2e 43 6c 61 6d xt.Length.>.0).?.text[Mathf.Clam
1b3c0 70 28 70 6f 73 20 2b 20 31 2c 20 30 2c 20 74 65 78 74 2e 4c 65 6e 67 74 68 20 2d 20 31 29 5d 20 p(pos.+.1,.0,.text.Length.-.1)].
1b3e0 3a 20 27 5c 6e 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 :.'\n';.....................if.(
1b400 6c 61 73 74 43 68 61 72 20 21 3d 20 27 2e 27 20 26 26 20 6e 65 78 74 43 68 61 72 20 21 3d 20 27 lastChar.!=.'.'.&&.nextChar.!=.'
1b420 2e 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 .').........................retu
1b440 72 6e 20 63 68 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 rn.ch;.................}........
1b460 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 63 68 61 72 29 .....}.............return.(char)
1b480 30 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 0;.........}..........///.<summa
1b4a0 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 46 75 6e 63 74 69 6f 6e 20 74 6f 20 61 63 74 69 ry>.........///.Function.to.acti
1b4c0 76 61 74 65 20 74 68 65 20 49 6e 70 75 74 46 69 65 6c 64 20 74 6f 20 62 65 67 69 6e 20 70 72 6f vate.the.InputField.to.begin.pro
1b4e0 63 65 73 73 69 6e 67 20 45 76 65 6e 74 73 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 cessing.Events..........///.</su
1b500 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e 0a 20 20 20 mmary>.........///.<remarks>....
1b520 20 20 20 20 20 2f 2f 2f 20 57 69 6c 6c 20 6f 6e 6c 79 20 61 63 74 69 76 61 74 65 20 69 66 20 64 .....///.Will.only.activate.if.d
1b540 65 61 63 74 69 76 61 74 65 64 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 6d 61 72 6b eactivated..........///.</remark
1b560 73 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 65 78 61 6d 70 6c 65 3e 0a 20 20 20 20 20 20 20 s>.........///.<example>........
1b580 20 2f 2f 2f 20 3c 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 75 73 69 6e 67 20 55 6e .///.<code>.........///.using.Un
1b5a0 69 74 79 45 6e 67 69 6e 65 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 75 73 69 6e 67 20 53 79 73 ityEngine;.........///.using.Sys
1b5c0 74 65 6d 2e 43 6f 6c 6c 65 63 74 69 6f 6e 73 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 75 73 69 tem.Collections;.........///.usi
1b5e0 6e 67 20 55 6e 69 74 79 45 6e 67 69 6e 65 2e 55 49 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0a 20 ng.UnityEngine.UI;.........///..
1b600 20 20 20 20 20 20 20 2f 2f 2f 20 70 75 62 6c 69 63 20 63 6c 61 73 73 20 45 78 61 6d 70 6c 65 20 .......///.public.class.Example.
1b620 3a 20 4d 6f 6e 6f 42 65 68 61 76 69 6f 75 72 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 7b 0a 20 20 :.MonoBehaviour.........///.{...
1b640 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 70 75 62 6c 69 63 20 49 6e 70 75 74 46 69 65 6c 64 20 ......///.....public.InputField.
1b660 6d 61 69 6e 49 6e 70 75 74 46 69 65 6c 64 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0a 20 20 20 20 mainInputField;.........///.....
1b680 20 20 20 20 2f 2f 2f 20 20 20 20 20 2f 2f 20 41 63 74 69 76 61 74 65 20 74 68 65 20 6d 61 69 6e ....///.....//.Activate.the.main
1b6a0 20 69 6e 70 75 74 20 66 69 65 6c 64 20 77 68 65 6e 20 74 68 65 20 73 63 65 6e 65 20 73 74 61 72 .input.field.when.the.scene.star
1b6c0 74 73 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 76 6f 69 64 20 53 74 61 72 74 28 29 ts..........///.....void.Start()
1b6e0 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 .........///.....{.........///..
1b700 20 20 20 20 20 20 20 6d 61 69 6e 49 6e 70 75 74 46 69 65 6c 64 2e 41 63 74 69 76 61 74 65 49 6e .......mainInputField.ActivateIn
1b720 70 75 74 46 69 65 6c 64 28 29 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 7d 0a 20 20 putField();.........///.....}...
1b740 20 20 20 20 20 20 2f 2f 2f 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 63 6f 64 65 3e 0a ......///.}.........///.</code>.
1b760 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 65 78 61 6d 70 6c 65 3e 0a 20 20 20 20 20 20 20 20 70 ........///.</example>.........p
1b780 75 62 6c 69 63 20 76 6f 69 64 20 41 63 74 69 76 61 74 65 49 6e 70 75 74 46 69 65 6c 64 28 29 0a ublic.void.ActivateInputField().
1b7a0 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 54 65 78 74 ........{.............if.(m_Text
1b7c0 43 6f 6d 70 6f 6e 65 6e 74 20 3d 3d 20 6e 75 6c 6c 20 7c 7c 20 6d 5f 54 65 78 74 43 6f 6d 70 6f Component.==.null.||.m_TextCompo
1b7e0 6e 65 6e 74 2e 66 6f 6e 74 20 3d 3d 20 6e 75 6c 6c 20 7c 7c 20 21 49 73 41 63 74 69 76 65 28 29 nent.font.==.null.||.!IsActive()
1b800 20 7c 7c 20 21 49 73 49 6e 74 65 72 61 63 74 61 62 6c 65 28 29 29 0a 20 20 20 20 20 20 20 20 20 .||.!IsInteractable())..........
1b820 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 .......return;..............if.(
1b840 69 73 46 6f 63 75 73 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 isFocused).............{........
1b860 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 4b 65 79 62 6f 61 72 64 20 21 3d 20 6e 75 6c 6c 20 .........if.(m_Keyboard.!=.null.
1b880 26 26 20 21 6d 5f 4b 65 79 62 6f 61 72 64 2e 61 63 74 69 76 65 29 0a 20 20 20 20 20 20 20 20 20 &&.!m_Keyboard.active)..........
1b8a0 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 4b .......{.....................m_K
1b8c0 65 79 62 6f 61 72 64 2e 61 63 74 69 76 65 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 eyboard.active.=.true;..........
1b8e0 20 20 20 20 20 20 20 20 20 20 20 6d 5f 4b 65 79 62 6f 61 72 64 2e 74 65 78 74 20 3d 20 6d 5f 54 ...........m_Keyboard.text.=.m_T
1b900 65 78 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 ext;.................}..........
1b920 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 53 68 6f 75 6c 64 41 63 74 69 76 61 ...}..............m_ShouldActiva
1b940 74 65 4e 65 78 74 55 70 64 61 74 65 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a teNextUpdate.=.true;.........}..
1b960 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 76 6f 69 64 20 41 63 74 69 76 61 74 65 49 6e 70 ........private.void.ActivateInp
1b980 75 74 46 69 65 6c 64 49 6e 74 65 72 6e 61 6c 28 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 utFieldInternal().........{.....
1b9a0 20 20 20 20 20 20 20 20 69 66 20 28 45 76 65 6e 74 53 79 73 74 65 6d 2e 63 75 72 72 65 6e 74 20 ........if.(EventSystem.current.
1b9c0 3d 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b ==.null).................return;
1b9e0 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 45 76 65 6e 74 53 79 73 74 65 6d 2e 63 75 ..............if.(EventSystem.cu
1ba00 72 72 65 6e 74 2e 63 75 72 72 65 6e 74 53 65 6c 65 63 74 65 64 47 61 6d 65 4f 62 6a 65 63 74 20 rrent.currentSelectedGameObject.
1ba20 21 3d 20 67 61 6d 65 4f 62 6a 65 63 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 !=.gameObject).................E
1ba40 76 65 6e 74 53 79 73 74 65 6d 2e 63 75 72 72 65 6e 74 2e 53 65 74 53 65 6c 65 63 74 65 64 47 61 ventSystem.current.SetSelectedGa
1ba60 6d 65 4f 62 6a 65 63 74 28 67 61 6d 65 4f 62 6a 65 63 74 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 meObject(gameObject);...........
1ba80 20 20 20 69 66 20 28 54 6f 75 63 68 53 63 72 65 65 6e 4b 65 79 62 6f 61 72 64 2e 69 73 53 75 70 ...if.(TouchScreenKeyboard.isSup
1baa0 70 6f 72 74 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ported).............{...........
1bac0 20 20 20 20 20 20 69 66 20 28 69 6e 70 75 74 20 21 3d 20 6e 75 6c 6c 20 26 26 20 69 6e 70 75 74 ......if.(input.!=.null.&&.input
1bae0 2e 74 6f 75 63 68 53 75 70 70 6f 72 74 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .touchSupported)................
1bb00 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 6f 75 63 68 53 63 72 65 .{.....................TouchScre
1bb20 65 6e 4b 65 79 62 6f 61 72 64 2e 68 69 64 65 49 6e 70 75 74 20 3d 20 73 68 6f 75 6c 64 48 69 64 enKeyboard.hideInput.=.shouldHid
1bb40 65 4d 6f 62 69 6c 65 49 6e 70 75 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a eMobileInput;.................}.
1bb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 4b 65 79 62 6f 61 72 64 20 3d 20 28 69 6e ................m_Keyboard.=.(in
1bb80 70 75 74 54 79 70 65 20 3d 3d 20 49 6e 70 75 74 54 79 70 65 2e 50 61 73 73 77 6f 72 64 29 20 3f putType.==.InputType.Password).?
1bba0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 6f 75 63 68 53 63 72 65 65 6e .....................TouchScreen
1bbc0 4b 65 79 62 6f 61 72 64 2e 4f 70 65 6e 28 6d 5f 54 65 78 74 2c 20 6b 65 79 62 6f 61 72 64 54 79 Keyboard.Open(m_Text,.keyboardTy
1bbe0 70 65 2c 20 66 61 6c 73 65 2c 20 6d 75 6c 74 69 4c 69 6e 65 2c 20 74 72 75 65 2c 20 66 61 6c 73 pe,.false,.multiLine,.true,.fals
1bc00 65 2c 20 22 22 2c 20 63 68 61 72 61 63 74 65 72 4c 69 6d 69 74 29 20 3a 0a 20 20 20 20 20 20 20 e,."",.characterLimit).:........
1bc20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 6f 75 63 68 53 63 72 65 65 6e 4b 65 79 62 6f 61 72 64 .............TouchScreenKeyboard
1bc40 2e 4f 70 65 6e 28 6d 5f 54 65 78 74 2c 20 6b 65 79 62 6f 61 72 64 54 79 70 65 2c 20 69 6e 70 75 .Open(m_Text,.keyboardType,.inpu
1bc60 74 54 79 70 65 20 3d 3d 20 49 6e 70 75 74 54 79 70 65 2e 41 75 74 6f 43 6f 72 72 65 63 74 2c 20 tType.==.InputType.AutoCorrect,.
1bc80 6d 75 6c 74 69 4c 69 6e 65 2c 20 66 61 6c 73 65 2c 20 66 61 6c 73 65 2c 20 22 22 2c 20 63 68 61 multiLine,.false,.false,."",.cha
1bca0 72 61 63 74 65 72 4c 69 6d 69 74 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f racterLimit);................../
1bcc0 2f 20 43 61 63 68 65 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 69 73 49 6e 50 6c 61 63 65 45 64 /.Cache.the.value.of.isInPlaceEd
1bce0 69 74 69 6e 67 41 6c 6c 6f 77 65 64 2c 20 62 65 63 61 75 73 65 20 6f 6e 20 55 57 50 20 74 68 69 itingAllowed,.because.on.UWP.thi
1bd00 73 20 69 6e 76 6f 6c 76 65 73 20 63 61 6c 6c 69 6e 67 20 69 6e 74 6f 20 6e 61 74 69 76 65 20 63 s.involves.calling.into.native.c
1bd20 6f 64 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 54 68 65 20 76 61 6c 75 65 ode.................//.The.value
1bd40 20 6f 6e 6c 79 20 6e 65 65 64 73 20 74 6f 20 62 65 20 75 70 64 61 74 65 64 20 6f 6e 63 65 20 77 .only.needs.to.be.updated.once.w
1bd60 68 65 6e 20 74 68 65 20 54 6f 75 63 68 4b 65 79 62 6f 61 72 64 20 69 73 20 6f 70 65 6e 65 64 2e hen.the.TouchKeyboard.is.opened.
1bd80 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 54 6f 75 63 68 4b 65 79 62 6f 61 72 64 .................m_TouchKeyboard
1bda0 41 6c 6c 6f 77 73 49 6e 50 6c 61 63 65 45 64 69 74 69 6e 67 20 3d 20 54 6f 75 63 68 53 63 72 65 AllowsInPlaceEditing.=.TouchScre
1bdc0 65 6e 4b 65 79 62 6f 61 72 64 2e 69 73 49 6e 50 6c 61 63 65 45 64 69 74 69 6e 67 41 6c 6c 6f 77 enKeyboard.isInPlaceEditingAllow
1bde0 65 64 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 66 20 54 6f 75 63 68 ed;..................//.If.Touch
1be00 4b 65 79 62 6f 61 72 64 20 64 6f 65 73 6e 27 74 20 73 75 70 70 6f 72 74 20 49 6e 50 6c 61 63 65 Keyboard.doesn't.support.InPlace
1be20 45 64 69 74 69 6e 67 20 64 6f 6e 27 74 20 63 61 6c 6c 20 4f 6e 46 6f 63 75 73 20 61 73 20 6d 6f Editing.don't.call.OnFocus.as.mo
1be40 62 69 6c 65 20 64 6f 65 73 6e 27 74 20 70 72 6f 70 65 72 6c 79 20 73 75 70 70 6f 72 74 20 73 65 bile.doesn't.properly.support.se
1be60 6c 65 63 74 20 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 4a 75 73 74 lect.all.................//.Just
1be80 20 73 65 74 20 69 74 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 74 65 78 74 20 28 .set.it.to.the.end.of.the.text.(
1bea0 77 68 65 72 65 20 69 74 20 77 6f 75 6c 64 20 6d 6f 76 65 20 77 68 65 6e 20 74 79 70 69 6e 67 20 where.it.would.move.when.typing.
1bec0 73 74 61 72 74 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 6d 5f 54 starts).................if.(!m_T
1bee0 6f 75 63 68 4b 65 79 62 6f 61 72 64 41 6c 6c 6f 77 73 49 6e 50 6c 61 63 65 45 64 69 74 69 6e 67 ouchKeyboardAllowsInPlaceEditing
1bf00 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ).................{.............
1bf20 20 20 20 20 20 20 20 20 4d 6f 76 65 54 65 78 74 45 6e 64 28 66 61 6c 73 65 29 3b 0a 20 20 20 20 ........MoveTextEnd(false);.....
1bf40 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 ............}.............}.....
1bf60 20 20 20 20 20 20 20 20 20 2f 2f 20 50 65 72 66 6f 72 6d 20 6e 6f 72 6d 61 6c 20 4f 6e 46 6f 63 .........//.Perform.normal.OnFoc
1bf80 75 73 20 72 6f 75 74 69 6e 65 20 69 66 20 70 6c 61 74 66 6f 72 6d 20 73 75 70 70 6f 72 74 73 20 us.routine.if.platform.supports.
1bfa0 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 54 6f 75 63 68 53 63 72 65 65 6e 4b it.............if.(!TouchScreenK
1bfc0 65 79 62 6f 61 72 64 2e 69 73 53 75 70 70 6f 72 74 65 64 20 7c 7c 20 6d 5f 54 6f 75 63 68 4b 65 eyboard.isSupported.||.m_TouchKe
1bfe0 79 62 6f 61 72 64 41 6c 6c 6f 77 73 49 6e 50 6c 61 63 65 45 64 69 74 69 6e 67 29 0a 20 20 20 20 yboardAllowsInPlaceEditing).....
1c000 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 6e ........{.................if.(in
1c020 70 75 74 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 put.!=.null)....................
1c040 20 69 6e 70 75 74 2e 69 6d 65 43 6f 6d 70 6f 73 69 74 69 6f 6e 4d 6f 64 65 20 3d 20 49 4d 45 43 .input.imeCompositionMode.=.IMEC
1c060 6f 6d 70 6f 73 69 74 69 6f 6e 4d 6f 64 65 2e 4f 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ompositionMode.On;..............
1c080 20 20 20 4f 6e 46 6f 63 75 73 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 ...OnFocus();.............}.....
1c0a0 20 20 20 20 20 20 20 20 6d 5f 41 6c 6c 6f 77 49 6e 70 75 74 20 3d 20 74 72 75 65 3b 0a 20 20 20 ........m_AllowInput.=.true;....
1c0c0 20 20 20 20 20 20 20 20 20 6d 5f 4f 72 69 67 69 6e 61 6c 54 65 78 74 20 3d 20 74 65 78 74 3b 0a .........m_OriginalText.=.text;.
1c0e0 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 57 61 73 43 61 6e 63 65 6c 65 64 20 3d 20 66 61 6c 73 ............m_WasCanceled.=.fals
1c100 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 53 65 74 43 61 72 65 74 56 69 73 69 62 6c 65 28 29 e;.............SetCaretVisible()
1c120 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 55 70 64 61 74 65 4c 61 62 65 6c 28 29 3b 0a 20 20 20 ;.............UpdateLabel();....
1c140 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 .....}..........///.<summary>...
1c160 20 20 20 20 20 20 2f 2f 2f 20 57 68 61 74 20 74 6f 20 64 6f 20 77 68 65 6e 20 74 68 65 20 65 76 ......///.What.to.do.when.the.ev
1c180 65 6e 74 20 73 79 73 74 65 6d 20 73 65 6e 64 73 20 61 20 73 75 62 6d 69 74 20 45 76 65 6e 74 2e ent.system.sends.a.submit.Event.
1c1a0 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 .........///.</summary>.........
1c1c0 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 65 76 65 6e 74 44 61 74 61 22 3e 54 68 65 20 ///.<param.name="eventData">The.
1c1e0 64 61 74 61 20 6f 6e 20 77 68 69 63 68 20 74 6f 20 70 72 6f 63 65 73 73 3c 2f 70 61 72 61 6d 3e data.on.which.to.process</param>
1c200 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 76 6f 69 64 20 4f 6e .........public.override.void.On
1c220 53 65 6c 65 63 74 28 42 61 73 65 45 76 65 6e 74 44 61 74 61 20 65 76 65 6e 74 44 61 74 61 29 0a Select(BaseEventData.eventData).
1c240 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 61 73 65 2e 4f 6e 53 65 6c ........{.............base.OnSel
1c260 65 63 74 28 65 76 65 6e 74 44 61 74 61 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 ect(eventData);..............if.
1c280 28 73 68 6f 75 6c 64 41 63 74 69 76 61 74 65 4f 6e 53 65 6c 65 63 74 29 0a 20 20 20 20 20 20 20 (shouldActivateOnSelect)........
1c2a0 20 20 20 20 20 20 20 20 20 41 63 74 69 76 61 74 65 49 6e 70 75 74 46 69 65 6c 64 28 29 3b 0a 20 .........ActivateInputField();..
1c2c0 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a .......}..........///.<summary>.
1c2e0 20 20 20 20 20 20 20 20 2f 2f 2f 20 57 68 61 74 20 74 6f 20 64 6f 20 77 68 65 6e 20 74 68 65 20 ........///.What.to.do.when.the.
1c300 65 76 65 6e 74 20 73 79 73 74 65 6d 20 73 65 6e 64 73 20 61 20 70 6f 69 6e 74 65 72 20 63 6c 69 event.system.sends.a.pointer.cli
1c320 63 6b 20 45 76 65 6e 74 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a ck.Event.........///.</summary>.
1c340 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 65 76 65 6e 74 44 61 ........///.<param.name="eventDa
1c360 74 61 22 3e 54 68 65 20 64 61 74 61 20 6f 6e 20 77 68 69 63 68 20 74 6f 20 70 72 6f 63 65 73 73 ta">The.data.on.which.to.process
1c380 3c 2f 70 61 72 61 6d 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 76 69 72 74 75 61 6c 20 </param>.........public.virtual.
1c3a0 76 6f 69 64 20 4f 6e 50 6f 69 6e 74 65 72 43 6c 69 63 6b 28 50 6f 69 6e 74 65 72 45 76 65 6e 74 void.OnPointerClick(PointerEvent
1c3c0 44 61 74 61 20 65 76 65 6e 74 44 61 74 61 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 Data.eventData).........{.......
1c3e0 20 20 20 20 20 20 69 66 20 28 65 76 65 6e 74 44 61 74 61 2e 62 75 74 74 6f 6e 20 21 3d 20 50 6f ......if.(eventData.button.!=.Po
1c400 69 6e 74 65 72 45 76 65 6e 74 44 61 74 61 2e 49 6e 70 75 74 42 75 74 74 6f 6e 2e 4c 65 66 74 29 interEventData.InputButton.Left)
1c420 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 0a 20 20 20 20 20 20 .................return;........
1c440 20 20 20 20 20 20 41 63 74 69 76 61 74 65 49 6e 70 75 74 46 69 65 6c 64 28 29 3b 0a 20 20 20 20 ......ActivateInputField();.....
1c460 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 ....}..........///.<summary>....
1c480 20 20 20 20 20 2f 2f 2f 20 46 75 6e 63 74 69 6f 6e 20 74 6f 20 64 65 61 63 74 69 76 61 74 65 20 .....///.Function.to.deactivate.
1c4a0 74 68 65 20 49 6e 70 75 74 46 69 65 6c 64 20 74 6f 20 73 74 6f 70 20 74 68 65 20 70 72 6f 63 65 the.InputField.to.stop.the.proce
1c4c0 73 73 69 6e 67 20 6f 66 20 45 76 65 6e 74 73 20 61 6e 64 20 73 65 6e 64 20 4f 6e 53 75 62 6d 69 ssing.of.Events.and.send.OnSubmi
1c4e0 74 20 69 66 20 6e 6f 74 20 63 61 6e 63 65 6c 65 64 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c t.if.not.canceled..........///.<
1c500 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 65 78 61 6d 70 6c 65 3e 0a /summary>.........///.<example>.
1c520 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 75 ........///.<code>.........///.u
1c540 73 69 6e 67 20 55 6e 69 74 79 45 6e 67 69 6e 65 3b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 75 73 sing.UnityEngine;.........///.us
1c560 69 6e 67 20 53 79 73 74 65 6d 2e 43 6f 6c 6c 65 63 74 69 6f 6e 73 3b 0a 20 20 20 20 20 20 20 20 ing.System.Collections;.........
1c580 2f 2f 2f 20 75 73 69 6e 67 20 55 6e 69 74 79 45 6e 67 69 6e 65 2e 55 49 3b 20 2f 2f 20 52 65 71 ///.using.UnityEngine.UI;.//.Req
1c5a0 75 69 72 65 64 20 77 68 65 6e 20 55 73 69 6e 67 20 55 49 20 65 6c 65 6d 65 6e 74 73 2e 0a 20 20 uired.when.Using.UI.elements....
1c5c0 20 20 20 20 20 20 2f 2f 2f 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 70 75 62 6c 69 63 20 63 6c 61 ......///.........///.public.cla
1c5e0 73 73 20 45 78 61 6d 70 6c 65 20 3a 20 4d 6f 6e 6f 42 65 68 61 76 69 6f 75 72 0a 20 20 20 20 20 ss.Example.:.MonoBehaviour......
1c600 20 20 20 2f 2f 2f 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 70 75 62 6c 69 63 20 ...///.{.........///.....public.
1c620 49 6e 70 75 74 46 69 65 6c 64 20 6d 61 69 6e 49 6e 70 75 74 46 69 65 6c 64 3b 0a 20 20 20 20 20 InputField.mainInputField;......
1c640 20 20 20 2f 2f 2f 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 2f 2f 20 44 65 61 63 74 69 ...///.........///.....//.Deacti
1c660 76 61 74 65 73 20 74 68 65 20 6d 61 69 6e 20 69 6e 70 75 74 20 66 69 65 6c 64 20 77 68 65 6e 20 vates.the.main.input.field.when.
1c680 74 68 65 20 73 63 65 6e 65 20 73 74 61 72 74 73 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 the.scene.starts..........///...
1c6a0 20 20 76 6f 69 64 20 53 74 61 72 74 28 29 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 7b ..void.Start().........///.....{
1c6c0 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 6d 61 69 6e 49 6e 70 75 74 46 69 .........///.........mainInputFi
1c6e0 65 6c 64 2e 44 65 61 63 74 69 76 61 74 65 49 6e 70 75 74 46 69 65 6c 64 28 29 3b 0a 20 20 20 20 eld.DeactivateInputField();.....
1c700 20 20 20 20 2f 2f 2f 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 7d 0a 20 20 20 20 ....///.....}.........///.}.....
1c720 20 20 20 20 2f 2f 2f 20 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 65 78 ....///.</code>.........///.</ex
1c740 61 6d 70 6c 65 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 76 6f 69 64 20 44 65 61 63 74 ample>.........public.void.Deact
1c760 69 76 61 74 65 49 6e 70 75 74 46 69 65 6c 64 28 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 ivateInputField().........{.....
1c780 20 20 20 20 20 20 20 20 2f 2f 20 4e 6f 74 20 61 63 74 69 76 61 74 65 64 20 64 6f 20 6e 6f 74 68 ........//.Not.activated.do.noth
1c7a0 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 6d 5f 41 6c 6c 6f 77 49 6e 70 ing..............if.(!m_AllowInp
1c7c0 75 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 0a 20 20 20 ut).................return;.....
1c7e0 20 20 20 20 20 20 20 20 20 6d 5f 48 61 73 44 6f 6e 65 46 6f 63 75 73 54 72 61 6e 73 69 74 69 6f .........m_HasDoneFocusTransitio
1c800 6e 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 41 6c 6c 6f 77 49 6e n.=.false;.............m_AllowIn
1c820 70 75 74 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f put.=.false;..............if.(m_
1c840 50 6c 61 63 65 68 6f 6c 64 65 72 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 Placeholder.!=.null)............
1c860 20 20 20 20 20 6d 5f 50 6c 61 63 65 68 6f 6c 64 65 72 2e 65 6e 61 62 6c 65 64 20 3d 20 73 74 72 .....m_Placeholder.enabled.=.str
1c880 69 6e 67 2e 49 73 4e 75 6c 6c 4f 72 45 6d 70 74 79 28 6d 5f 54 65 78 74 29 3b 0a 0a 20 20 20 20 ing.IsNullOrEmpty(m_Text);......
1c8a0 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 20 21 3d 20 6e ........if.(m_TextComponent.!=.n
1c8c0 75 6c 6c 20 26 26 20 49 73 49 6e 74 65 72 61 63 74 61 62 6c 65 28 29 29 0a 20 20 20 20 20 20 20 ull.&&.IsInteractable())........
1c8e0 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 57 61 73 .....{.................if.(m_Was
1c900 43 61 6e 63 65 6c 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 65 Canceled).....................te
1c920 78 74 20 3d 20 6d 5f 4f 72 69 67 69 6e 61 6c 54 65 78 74 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 xt.=.m_OriginalText;............
1c940 20 20 20 20 20 20 53 65 6e 64 4f 6e 53 75 62 6d 69 74 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 ......SendOnSubmit();...........
1c960 20 20 20 20 20 20 20 69 66 20 28 6d 5f 4b 65 79 62 6f 61 72 64 20 21 3d 20 6e 75 6c 6c 29 0a 20 .......if.(m_Keyboard.!=.null)..
1c980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............{................
1c9a0 20 20 20 20 20 6d 5f 4b 65 79 62 6f 61 72 64 2e 61 63 74 69 76 65 20 3d 20 66 61 6c 73 65 3b 0a .....m_Keyboard.active.=.false;.
1c9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 4b 65 79 62 6f 61 72 64 20 3d ....................m_Keyboard.=
1c9e0 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 .null;.................}........
1ca00 20 20 20 20 20 20 20 20 20 20 6d 5f 43 61 72 65 74 50 6f 73 69 74 69 6f 6e 20 3d 20 6d 5f 43 61 ..........m_CaretPosition.=.m_Ca
1ca20 72 65 74 53 65 6c 65 63 74 50 6f 73 69 74 69 6f 6e 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 retSelectPosition.=.0;..........
1ca40 20 20 20 20 20 20 20 69 66 20 28 69 6e 70 75 74 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 .......if.(input.!=.null).......
1ca60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 2e 69 6d 65 43 6f 6d 70 6f 73 69 74 69 ..............input.imeCompositi
1ca80 6f 6e 4d 6f 64 65 20 3d 20 49 4d 45 43 6f 6d 70 6f 73 69 74 69 6f 6e 4d 6f 64 65 2e 41 75 74 6f onMode.=.IMECompositionMode.Auto
1caa0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 4d 61 72 ;.............}..............Mar
1cac0 6b 47 65 6f 6d 65 74 72 79 41 73 44 69 72 74 79 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 kGeometryAsDirty();.........}...
1cae0 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f .......///.<summary>.........///
1cb00 20 57 68 61 74 20 74 6f 20 64 6f 20 77 68 65 6e 20 74 68 65 20 65 76 65 6e 74 20 73 79 73 74 65 .What.to.do.when.the.event.syste
1cb20 6d 20 73 65 6e 64 73 20 61 20 44 65 73 65 6c 65 63 74 20 45 76 65 6e 74 2e 20 44 65 66 61 75 6c m.sends.a.Deselect.Event..Defaul
1cb40 74 73 20 74 6f 20 64 65 61 63 74 69 76 61 74 69 6e 67 20 74 68 65 20 69 6e 70 75 74 66 69 65 6c ts.to.deactivating.the.inputfiel
1cb60 64 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 d..........///.</summary>.......
1cb80 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 65 76 65 6e 74 44 61 74 61 22 3e 54 68 ..///.<param.name="eventData">Th
1cba0 65 20 64 61 74 61 20 73 65 6e 74 20 62 79 20 74 68 65 20 45 76 65 6e 74 53 79 73 74 65 6d 3c 2f e.data.sent.by.the.EventSystem</
1cbc0 70 61 72 61 6d 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 76 param>.........public.override.v
1cbe0 6f 69 64 20 4f 6e 44 65 73 65 6c 65 63 74 28 42 61 73 65 45 76 65 6e 74 44 61 74 61 20 65 76 65 oid.OnDeselect(BaseEventData.eve
1cc00 6e 74 44 61 74 61 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 ntData).........{.............De
1cc20 61 63 74 69 76 61 74 65 49 6e 70 75 74 46 69 65 6c 64 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 activateInputField();...........
1cc40 20 20 62 61 73 65 2e 4f 6e 44 65 73 65 6c 65 63 74 28 65 76 65 6e 74 44 61 74 61 29 3b 0a 20 20 ..base.OnDeselect(eventData);...
1cc60 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 76 69 72 74 75 61 6c 20 ......}..........public.virtual.
1cc80 76 6f 69 64 20 4f 6e 53 75 62 6d 69 74 28 42 61 73 65 45 76 65 6e 74 44 61 74 61 20 65 76 65 6e void.OnSubmit(BaseEventData.even
1cca0 74 44 61 74 61 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 tData).........{.............if.
1ccc0 28 21 49 73 41 63 74 69 76 65 28 29 20 7c 7c 20 21 49 73 49 6e 74 65 72 61 63 74 61 62 6c 65 28 (!IsActive().||.!IsInteractable(
1cce0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 0a 20 20 20 20 )).................return;......
1cd00 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 46 6f 63 75 73 65 64 29 0a 20 20 20 20 20 20 20 20 ........if.(!isFocused).........
1cd20 20 20 20 20 20 20 20 20 6d 5f 53 68 6f 75 6c 64 41 63 74 69 76 61 74 65 4e 65 78 74 55 70 64 61 ........m_ShouldActivateNextUpda
1cd40 74 65 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 72 te.=.true;.........}..........pr
1cd60 69 76 61 74 65 20 76 6f 69 64 20 45 6e 66 6f 72 63 65 43 6f 6e 74 65 6e 74 54 79 70 65 28 29 0a ivate.void.EnforceContentType().
1cd80 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 77 69 74 63 68 20 28 63 6f ........{.............switch.(co
1cda0 6e 74 65 6e 74 54 79 70 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 ntentType).............{........
1cdc0 20 20 20 20 20 20 20 20 20 63 61 73 65 20 43 6f 6e 74 65 6e 74 54 79 70 65 2e 53 74 61 6e 64 61 .........case.ContentType.Standa
1cde0 72 64 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 rd:.................{...........
1ce00 20 20 20 20 20 20 20 20 20 20 2f 2f 20 44 6f 6e 27 74 20 65 6e 66 6f 72 63 65 20 6c 69 6e 65 20 ..........//.Don't.enforce.line.
1ce20 74 79 70 65 20 66 6f 72 20 74 68 69 73 20 63 6f 6e 74 65 6e 74 20 74 79 70 65 2e 0a 20 20 20 20 type.for.this.content.type......
1ce40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 49 6e 70 75 74 54 79 70 65 20 3d 20 49 6e ................m_InputType.=.In
1ce60 70 75 74 54 79 70 65 2e 53 74 61 6e 64 61 72 64 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 putType.Standard;...............
1ce80 20 20 20 20 20 20 6d 5f 4b 65 79 62 6f 61 72 64 54 79 70 65 20 3d 20 54 6f 75 63 68 53 63 72 65 ......m_KeyboardType.=.TouchScre
1cea0 65 6e 4b 65 79 62 6f 61 72 64 54 79 70 65 2e 44 65 66 61 75 6c 74 3b 0a 20 20 20 20 20 20 20 20 enKeyboardType.Default;.........
1cec0 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 43 68 61 72 61 63 74 65 72 56 61 6c 69 64 61 74 69 6f ............m_CharacterValidatio
1cee0 6e 20 3d 20 43 68 61 72 61 63 74 65 72 56 61 6c 69 64 61 74 69 6f 6e 2e 4e 6f 6e 65 3b 0a 20 20 n.=.CharacterValidation.None;...
1cf00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 ..................break;........
1cf20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 .........}.................case.
1cf40 43 6f 6e 74 65 6e 74 54 79 70 65 2e 41 75 74 6f 63 6f 72 72 65 63 74 65 64 3a 0a 20 20 20 20 20 ContentType.Autocorrected:......
1cf60 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........{....................
1cf80 20 2f 2f 20 44 6f 6e 27 74 20 65 6e 66 6f 72 63 65 20 6c 69 6e 65 20 74 79 70 65 20 66 6f 72 20 .//.Don't.enforce.line.type.for.
1cfa0 74 68 69 73 20 63 6f 6e 74 65 6e 74 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 this.content.type...............
1cfc0 20 20 20 20 20 20 20 6d 5f 49 6e 70 75 74 54 79 70 65 20 3d 20 49 6e 70 75 74 54 79 70 65 2e 41 .......m_InputType.=.InputType.A
1cfe0 75 74 6f 43 6f 72 72 65 63 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 utoCorrect;.....................
1d000 6d 5f 4b 65 79 62 6f 61 72 64 54 79 70 65 20 3d 20 54 6f 75 63 68 53 63 72 65 65 6e 4b 65 79 62 m_KeyboardType.=.TouchScreenKeyb
1d020 6f 61 72 64 54 79 70 65 2e 44 65 66 61 75 6c 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 oardType.Default;...............
1d040 20 20 20 20 20 20 6d 5f 43 68 61 72 61 63 74 65 72 56 61 6c 69 64 61 74 69 6f 6e 20 3d 20 43 68 ......m_CharacterValidation.=.Ch
1d060 61 72 61 63 74 65 72 56 61 6c 69 64 61 74 69 6f 6e 2e 4e 6f 6e 65 3b 0a 20 20 20 20 20 20 20 20 aracterValidation.None;.........
1d080 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ............break;..............
1d0a0 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 43 6f 6e 74 65 6e ...}.................case.Conten
1d0c0 74 54 79 70 65 2e 49 6e 74 65 67 65 72 4e 75 6d 62 65 72 3a 0a 20 20 20 20 20 20 20 20 20 20 20 tType.IntegerNumber:............
1d0e0 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 4c 69 6e .....{.....................m_Lin
1d100 65 54 79 70 65 20 3d 20 4c 69 6e 65 54 79 70 65 2e 53 69 6e 67 6c 65 4c 69 6e 65 3b 0a 20 20 20 eType.=.LineType.SingleLine;....
1d120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 49 6e 70 75 74 54 79 70 65 20 3d 20 49 .................m_InputType.=.I
1d140 6e 70 75 74 54 79 70 65 2e 53 74 61 6e 64 61 72 64 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 nputType.Standard;..............
1d160 20 20 20 20 20 20 20 6d 5f 4b 65 79 62 6f 61 72 64 54 79 70 65 20 3d 20 54 6f 75 63 68 53 63 72 .......m_KeyboardType.=.TouchScr
1d180 65 65 6e 4b 65 79 62 6f 61 72 64 54 79 70 65 2e 4e 75 6d 62 65 72 50 61 64 3b 0a 20 20 20 20 20 eenKeyboardType.NumberPad;......
1d1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 43 68 61 72 61 63 74 65 72 56 61 6c 69 64 61 ...............m_CharacterValida
1d1c0 74 69 6f 6e 20 3d 20 43 68 61 72 61 63 74 65 72 56 61 6c 69 64 61 74 69 6f 6e 2e 49 6e 74 65 67 tion.=.CharacterValidation.Integ
1d1e0 65 72 3b 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 0a 20 er;.....................break;..
1d200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............}................
1d220 20 63 61 73 65 20 43 6f 6e 74 65 6e 74 54 79 70 65 2e 44 65 63 69 6d 61 6c 4e 75 6d 62 65 72 3a .case.ContentType.DecimalNumber:
1d240 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .................{..............
1d260 20 20 20 20 20 20 20 6d 5f 4c 69 6e 65 54 79 70 65 20 3d 20 4c 69 6e 65 54 79 70 65 2e 53 69 6e .......m_LineType.=.LineType.Sin
1d280 67 6c 65 4c 69 6e 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 49 gleLine;.....................m_I
1d2a0 6e 70 75 74 54 79 70 65 20 3d 20 49 6e 70 75 74 54 79 70 65 2e 53 74 61 6e 64 61 72 64 3b 0a 20 nputType.=.InputType.Standard;..
1d2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 4b 65 79 62 6f 61 72 64 54 79 70 ...................m_KeyboardTyp
1d2e0 65 20 3d 20 54 6f 75 63 68 53 63 72 65 65 6e 4b 65 79 62 6f 61 72 64 54 79 70 65 2e 4e 75 6d 62 e.=.TouchScreenKeyboardType.Numb
1d300 65 72 73 41 6e 64 50 75 6e 63 74 75 61 74 69 6f 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ersAndPunctuation;..............
1d320 20 20 20 20 20 20 20 6d 5f 43 68 61 72 61 63 74 65 72 56 61 6c 69 64 61 74 69 6f 6e 20 3d 20 43 .......m_CharacterValidation.=.C
1d340 68 61 72 61 63 74 65 72 56 61 6c 69 64 61 74 69 6f 6e 2e 44 65 63 69 6d 61 6c 3b 0a 20 20 20 20 haracterValidation.Decimal;.....
1d360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 ................break;..........
1d380 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 43 6f .......}.................case.Co
1d3a0 6e 74 65 6e 74 54 79 70 65 2e 41 6c 70 68 61 6e 75 6d 65 72 69 63 3a 0a 20 20 20 20 20 20 20 20 ntentType.Alphanumeric:.........
1d3c0 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f ........{.....................m_
1d3e0 4c 69 6e 65 54 79 70 65 20 3d 20 4c 69 6e 65 54 79 70 65 2e 53 69 6e 67 6c 65 4c 69 6e 65 3b 0a LineType.=.LineType.SingleLine;.
1d400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 49 6e 70 75 74 54 79 70 65 20 ....................m_InputType.
1d420 3d 20 49 6e 70 75 74 54 79 70 65 2e 53 74 61 6e 64 61 72 64 3b 0a 20 20 20 20 20 20 20 20 20 20 =.InputType.Standard;...........
1d440 20 20 20 20 20 20 20 20 20 20 6d 5f 4b 65 79 62 6f 61 72 64 54 79 70 65 20 3d 20 54 6f 75 63 68 ..........m_KeyboardType.=.Touch
1d460 53 63 72 65 65 6e 4b 65 79 62 6f 61 72 64 54 79 70 65 2e 41 53 43 49 49 43 61 70 61 62 6c 65 3b ScreenKeyboardType.ASCIICapable;
1d480 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 43 68 61 72 61 63 74 65 72 .....................m_Character
1d4a0 56 61 6c 69 64 61 74 69 6f 6e 20 3d 20 43 68 61 72 61 63 74 65 72 56 61 6c 69 64 61 74 69 6f 6e Validation.=.CharacterValidation
1d4c0 2e 41 6c 70 68 61 6e 75 6d 65 72 69 63 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .Alphanumeric;..................
1d4e0 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 ...break;.................}.....
1d500 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 43 6f 6e 74 65 6e 74 54 79 70 65 2e 4e 61 6d ............case.ContentType.Nam
1d520 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 e:.................{............
1d540 20 20 20 20 20 20 20 20 20 6d 5f 4c 69 6e 65 54 79 70 65 20 3d 20 4c 69 6e 65 54 79 70 65 2e 53 .........m_LineType.=.LineType.S
1d560 69 6e 67 6c 65 4c 69 6e 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d ingleLine;.....................m
1d580 5f 49 6e 70 75 74 54 79 70 65 20 3d 20 49 6e 70 75 74 54 79 70 65 2e 53 74 61 6e 64 61 72 64 3b _InputType.=.InputType.Standard;
1d5a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 4b 65 79 62 6f 61 72 64 54 .....................m_KeyboardT
1d5c0 79 70 65 20 3d 20 54 6f 75 63 68 53 63 72 65 65 6e 4b 65 79 62 6f 61 72 64 54 79 70 65 2e 4e 61 ype.=.TouchScreenKeyboardType.Na
1d5e0 6d 65 50 68 6f 6e 65 50 61 64 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mePhonePad;.....................
1d600 6d 5f 43 68 61 72 61 63 74 65 72 56 61 6c 69 64 61 74 69 6f 6e 20 3d 20 43 68 61 72 61 63 74 65 m_CharacterValidation.=.Characte
1d620 72 56 61 6c 69 64 61 74 69 6f 6e 2e 4e 61 6d 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rValidation.Name;...............
1d640 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 ......break;.................}..
1d660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 43 6f 6e 74 65 6e 74 54 79 70 65 2e ...............case.ContentType.
1d680 45 6d 61 69 6c 41 64 64 72 65 73 73 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a EmailAddress:.................{.
1d6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 4c 69 6e 65 54 79 70 65 20 3d ....................m_LineType.=
1d6c0 20 4c 69 6e 65 54 79 70 65 2e 53 69 6e 67 6c 65 4c 69 6e 65 3b 0a 20 20 20 20 20 20 20 20 20 20 .LineType.SingleLine;...........
1d6e0 20 20 20 20 20 20 20 20 20 20 6d 5f 49 6e 70 75 74 54 79 70 65 20 3d 20 49 6e 70 75 74 54 79 70 ..........m_InputType.=.InputTyp
1d700 65 2e 53 74 61 6e 64 61 72 64 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.Standard;.....................
1d720 6d 5f 4b 65 79 62 6f 61 72 64 54 79 70 65 20 3d 20 54 6f 75 63 68 53 63 72 65 65 6e 4b 65 79 62 m_KeyboardType.=.TouchScreenKeyb
1d740 6f 61 72 64 54 79 70 65 2e 45 6d 61 69 6c 41 64 64 72 65 73 73 3b 0a 20 20 20 20 20 20 20 20 20 oardType.EmailAddress;..........
1d760 20 20 20 20 20 20 20 20 20 20 20 6d 5f 43 68 61 72 61 63 74 65 72 56 61 6c 69 64 61 74 69 6f 6e ...........m_CharacterValidation
1d780 20 3d 20 43 68 61 72 61 63 74 65 72 56 61 6c 69 64 61 74 69 6f 6e 2e 45 6d 61 69 6c 41 64 64 72 .=.CharacterValidation.EmailAddr
1d7a0 65 73 73 3b 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 0a ess;.....................break;.
1d7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................}...............
1d7e0 20 20 63 61 73 65 20 43 6f 6e 74 65 6e 74 54 79 70 65 2e 50 61 73 73 77 6f 72 64 3a 0a 20 20 20 ..case.ContentType.Password:....
1d800 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............{..................
1d820 20 20 20 6d 5f 4c 69 6e 65 54 79 70 65 20 3d 20 4c 69 6e 65 54 79 70 65 2e 53 69 6e 67 6c 65 4c ...m_LineType.=.LineType.SingleL
1d840 69 6e 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 49 6e 70 75 74 ine;.....................m_Input
1d860 54 79 70 65 20 3d 20 49 6e 70 75 74 54 79 70 65 2e 50 61 73 73 77 6f 72 64 3b 0a 20 20 20 20 20 Type.=.InputType.Password;......
1d880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 4b 65 79 62 6f 61 72 64 54 79 70 65 20 3d 20 ...............m_KeyboardType.=.
1d8a0 54 6f 75 63 68 53 63 72 65 65 6e 4b 65 79 62 6f 61 72 64 54 79 70 65 2e 44 65 66 61 75 6c 74 3b TouchScreenKeyboardType.Default;
1d8c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 43 68 61 72 61 63 74 65 72 .....................m_Character
1d8e0 56 61 6c 69 64 61 74 69 6f 6e 20 3d 20 43 68 61 72 61 63 74 65 72 56 61 6c 69 64 61 74 69 6f 6e Validation.=.CharacterValidation
1d900 2e 4e 6f 6e 65 3b 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 .None;.....................break
1d920 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ;.................}.............
1d940 20 20 20 20 63 61 73 65 20 43 6f 6e 74 65 6e 74 54 79 70 65 2e 50 69 6e 3a 0a 20 20 20 20 20 20 ....case.ContentType.Pin:.......
1d960 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........{.....................
1d980 6d 5f 4c 69 6e 65 54 79 70 65 20 3d 20 4c 69 6e 65 54 79 70 65 2e 53 69 6e 67 6c 65 4c 69 6e 65 m_LineType.=.LineType.SingleLine
1d9a0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 49 6e 70 75 74 54 79 70 ;.....................m_InputTyp
1d9c0 65 20 3d 20 49 6e 70 75 74 54 79 70 65 2e 50 61 73 73 77 6f 72 64 3b 0a 20 20 20 20 20 20 20 20 e.=.InputType.Password;.........
1d9e0 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 4b 65 79 62 6f 61 72 64 54 79 70 65 20 3d 20 54 6f 75 ............m_KeyboardType.=.Tou
1da00 63 68 53 63 72 65 65 6e 4b 65 79 62 6f 61 72 64 54 79 70 65 2e 4e 75 6d 62 65 72 50 61 64 3b 0a chScreenKeyboardType.NumberPad;.
1da20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 43 68 61 72 61 63 74 65 72 56 ....................m_CharacterV
1da40 61 6c 69 64 61 74 69 6f 6e 20 3d 20 43 68 61 72 61 63 74 65 72 56 61 6c 69 64 61 74 69 6f 6e 2e alidation.=.CharacterValidation.
1da60 49 6e 74 65 67 65 72 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 Integer;.....................bre
1da80 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 ak;.................}...........
1daa0 20 20 20 20 20 20 64 65 66 61 75 6c 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b ......default:.................{
1dac0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 6e 63 6c 75 64 65 73 .....................//.Includes
1dae0 20 43 75 73 74 6f 6d 20 74 79 70 65 2e 20 4e 6f 74 68 69 6e 67 20 73 68 6f 75 6c 64 20 62 65 20 .Custom.type..Nothing.should.be.
1db00 65 6e 66 6f 72 63 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 enforced......................br
1db20 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 eak;.................}..........
1db40 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 45 6e 66 6f 72 63 65 54 65 78 74 48 4f 76 ...}..............EnforceTextHOv
1db60 65 72 66 6c 6f 77 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 76 6f 69 erflow();.........}..........voi
1db80 64 20 45 6e 66 6f 72 63 65 54 65 78 74 48 4f 76 65 72 66 6c 6f 77 28 29 0a 20 20 20 20 20 20 20 d.EnforceTextHOverflow()........
1dba0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 .{.............if.(m_TextCompone
1dbc0 6e 74 20 21 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 nt.!=.null).................if.(
1dbe0 6d 75 6c 74 69 4c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d multiLine).....................m
1dc00 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 68 6f 72 69 7a 6f 6e 74 61 6c 4f 76 65 72 66 6c 6f _TextComponent.horizontalOverflo
1dc20 77 20 3d 20 48 6f 72 69 7a 6f 6e 74 61 6c 57 72 61 70 4d 6f 64 65 2e 57 72 61 70 3b 0a 20 20 20 w.=.HorizontalWrapMode.Wrap;....
1dc40 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............else...............
1dc60 20 20 20 20 20 20 6d 5f 54 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 68 6f 72 69 7a 6f 6e 74 61 6c ......m_TextComponent.horizontal
1dc80 4f 76 65 72 66 6c 6f 77 20 3d 20 48 6f 72 69 7a 6f 6e 74 61 6c 57 72 61 70 4d 6f 64 65 2e 4f 76 Overflow.=.HorizontalWrapMode.Ov
1dca0 65 72 66 6c 6f 77 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 76 6f 69 64 20 erflow;.........}..........void.
1dcc0 53 65 74 54 6f 43 75 73 74 6f 6d 49 66 43 6f 6e 74 65 6e 74 54 79 70 65 49 73 4e 6f 74 28 70 61 SetToCustomIfContentTypeIsNot(pa
1dce0 72 61 6d 73 20 43 6f 6e 74 65 6e 74 54 79 70 65 5b 5d 20 61 6c 6c 6f 77 65 64 43 6f 6e 74 65 6e rams.ContentType[].allowedConten
1dd00 74 54 79 70 65 73 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 tTypes).........{.............if
1dd20 20 28 63 6f 6e 74 65 6e 74 54 79 70 65 20 3d 3d 20 43 6f 6e 74 65 6e 74 54 79 70 65 2e 43 75 73 .(contentType.==.ContentType.Cus
1dd40 74 6f 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 0a 20 20 tom).................return;....
1dd60 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 61 6c ..........for.(int.i.=.0;.i.<.al
1dd80 6c 6f 77 65 64 43 6f 6e 74 65 6e 74 54 79 70 65 73 2e 4c 65 6e 67 74 68 3b 20 69 2b 2b 29 0a 20 lowedContentTypes.Length;.i++)..
1dda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 6f 6e 74 65 6e 74 54 79 70 65 20 3d ...............if.(contentType.=
1ddc0 3d 20 61 6c 6c 6f 77 65 64 43 6f 6e 74 65 6e 74 54 79 70 65 73 5b 69 5d 29 0a 20 20 20 20 20 20 =.allowedContentTypes[i]).......
1dde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 0a 20 20 20 20 20 20 20 20 20 ..............return;...........
1de00 20 20 20 63 6f 6e 74 65 6e 74 54 79 70 65 20 3d 20 43 6f 6e 74 65 6e 74 54 79 70 65 2e 43 75 73 ...contentType.=.ContentType.Cus
1de20 74 6f 6d 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 76 6f 69 64 20 53 65 74 tom;.........}..........void.Set
1de40 54 6f 43 75 73 74 6f 6d 28 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ToCustom().........{............
1de60 20 69 66 20 28 63 6f 6e 74 65 6e 74 54 79 70 65 20 3d 3d 20 43 6f 6e 74 65 6e 74 54 79 70 65 2e .if.(contentType.==.ContentType.
1de80 43 75 73 74 6f 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a Custom).................return;.
1dea0 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 65 6e 74 54 79 70 65 20 3d 20 43 6f 6e 74 65 .............contentType.=.Conte
1dec0 6e 74 54 79 70 65 2e 43 75 73 74 6f 6d 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 ntType.Custom;.........}........
1dee0 20 20 70 72 6f 74 65 63 74 65 64 20 6f 76 65 72 72 69 64 65 20 76 6f 69 64 20 44 6f 53 74 61 74 ..protected.override.void.DoStat
1df00 65 54 72 61 6e 73 69 74 69 6f 6e 28 53 65 6c 65 63 74 69 6f 6e 53 74 61 74 65 20 73 74 61 74 65 eTransition(SelectionState.state
1df20 2c 20 62 6f 6f 6c 20 69 6e 73 74 61 6e 74 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 ,.bool.instant).........{.......
1df40 20 20 20 20 20 20 69 66 20 28 6d 5f 48 61 73 44 6f 6e 65 46 6f 63 75 73 54 72 61 6e 73 69 74 69 ......if.(m_HasDoneFocusTransiti
1df60 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 20 3d 20 53 65 6c 65 on).................state.=.Sele
1df80 63 74 69 6f 6e 53 74 61 74 65 2e 53 65 6c 65 63 74 65 64 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ctionState.Selected;............
1dfa0 20 65 6c 73 65 20 69 66 20 28 73 74 61 74 65 20 3d 3d 20 53 65 6c 65 63 74 69 6f 6e 53 74 61 74 .else.if.(state.==.SelectionStat
1dfc0 65 2e 50 72 65 73 73 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 5f 48 61 73 e.Pressed).................m_Has
1dfe0 44 6f 6e 65 46 6f 63 75 73 54 72 61 6e 73 69 74 69 6f 6e 20 3d 20 74 72 75 65 3b 0a 0a 20 20 20 DoneFocusTransition.=.true;.....
1e000 20 20 20 20 20 20 20 20 20 62 61 73 65 2e 44 6f 53 74 61 74 65 54 72 61 6e 73 69 74 69 6f 6e 28 .........base.DoStateTransition(
1e020 73 74 61 74 65 2c 20 69 6e 73 74 61 6e 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 state,.instant);.........}......
1e040 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 53 65 ....///.<summary>.........///.Se
1e060 65 20 49 4c 61 79 6f 75 74 45 6c 65 6d 65 6e 74 2e 43 61 6c 63 75 6c 61 74 65 4c 61 79 6f 75 74 e.ILayoutElement.CalculateLayout
1e080 49 6e 70 75 74 48 6f 72 69 7a 6f 6e 74 61 6c 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 InputHorizontal..........///.</s
1e0a0 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 76 69 72 74 75 61 6c 20 76 ummary>.........public.virtual.v
1e0c0 6f 69 64 20 43 61 6c 63 75 6c 61 74 65 4c 61 79 6f 75 74 49 6e 70 75 74 48 6f 72 69 7a 6f 6e 74 oid.CalculateLayoutInputHorizont
1e0e0 61 6c 28 29 20 7b 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 al().{}..........///.<summary>..
1e100 20 20 20 20 20 20 20 2f 2f 2f 20 53 65 65 20 49 4c 61 79 6f 75 74 45 6c 65 6d 65 6e 74 2e 43 61 .......///.See.ILayoutElement.Ca
1e120 6c 63 75 6c 61 74 65 4c 61 79 6f 75 74 49 6e 70 75 74 56 65 72 74 69 63 61 6c 2e 0a 20 20 20 20 lculateLayoutInputVertical......
1e140 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 ....///.</summary>.........publi
1e160 63 20 76 69 72 74 75 61 6c 20 76 6f 69 64 20 43 61 6c 63 75 6c 61 74 65 4c 61 79 6f 75 74 49 6e c.virtual.void.CalculateLayoutIn
1e180 70 75 74 56 65 72 74 69 63 61 6c 28 29 20 7b 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 putVertical().{}..........///.<s
1e1a0 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 53 65 65 20 49 4c 61 79 6f 75 74 45 ummary>.........///.See.ILayoutE
1e1c0 6c 65 6d 65 6e 74 2e 6d 69 6e 57 69 64 74 68 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 lement.minWidth..........///.</s
1e1e0 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 76 69 72 74 75 61 6c 20 66 ummary>.........public.virtual.f
1e200 6c 6f 61 74 20 6d 69 6e 57 69 64 74 68 20 7b 20 67 65 74 20 7b 20 72 65 74 75 72 6e 20 30 3b 20 loat.minWidth.{.get.{.return.0;.
1e220 7d 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 }.}..........///.<summary>......
1e240 20 20 20 2f 2f 2f 20 47 65 74 20 74 68 65 20 64 69 73 70 6c 61 79 65 64 20 77 69 74 68 20 6f 66 ...///.Get.the.displayed.with.of
1e260 20 61 6c 6c 20 69 6e 70 75 74 20 63 68 61 72 61 63 74 65 72 73 2e 0a 20 20 20 20 20 20 20 20 2f .all.input.characters........../
1e280 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 76 69 72 //.</summary>.........public.vir
1e2a0 74 75 61 6c 20 66 6c 6f 61 74 20 70 72 65 66 65 72 72 65 64 57 69 64 74 68 0a 20 20 20 20 20 20 tual.float.preferredWidth.......
1e2c0 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..{.............get.............
1e2e0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 74 65 78 74 43 6f 6d 70 6f 6e {.................if.(textCompon
1e300 65 6e 74 20 3d 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ent.==.null)....................
1e320 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 73 .return.0;.................var.s
1e340 65 74 74 69 6e 67 73 20 3d 20 74 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 47 65 74 47 65 6e 65 72 ettings.=.textComponent.GetGener
1e360 61 74 69 6f 6e 53 65 74 74 69 6e 67 73 28 56 65 63 74 6f 72 32 2e 7a 65 72 6f 29 3b 0a 20 20 20 ationSettings(Vector2.zero);....
1e380 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 65 78 74 43 6f 6d 70 6f 6e 65 6e .............return.textComponen
1e3a0 74 2e 63 61 63 68 65 64 54 65 78 74 47 65 6e 65 72 61 74 6f 72 46 6f 72 4c 61 79 6f 75 74 2e 47 t.cachedTextGeneratorForLayout.G
1e3c0 65 74 50 72 65 66 65 72 72 65 64 57 69 64 74 68 28 6d 5f 54 65 78 74 2c 20 73 65 74 74 69 6e 67 etPreferredWidth(m_Text,.setting
1e3e0 73 29 20 2f 20 74 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 70 69 78 65 6c 73 50 65 72 55 6e 69 74 s)./.textComponent.pixelsPerUnit
1e400 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 ;.............}.........}.......
1e420 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 53 65 65 ...///.<summary>.........///.See
1e440 20 49 4c 61 79 6f 75 74 45 6c 65 6d 65 6e 74 2e 66 6c 65 78 69 62 6c 65 57 69 64 74 68 2e 0a 20 .ILayoutElement.flexibleWidth...
1e460 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 70 75 .......///.</summary>.........pu
1e480 62 6c 69 63 20 76 69 72 74 75 61 6c 20 66 6c 6f 61 74 20 66 6c 65 78 69 62 6c 65 57 69 64 74 68 blic.virtual.float.flexibleWidth
1e4a0 20 7b 20 67 65 74 20 7b 20 72 65 74 75 72 6e 20 2d 31 3b 20 7d 20 7d 0a 0a 20 20 20 20 20 20 20 .{.get.{.return.-1;.}.}.........
1e4c0 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 53 65 65 20 49 .///.<summary>.........///.See.I
1e4e0 4c 61 79 6f 75 74 45 6c 65 6d 65 6e 74 2e 6d 69 6e 48 65 69 67 68 74 2e 0a 20 20 20 20 20 20 20 LayoutElement.minHeight.........
1e500 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 76 .///.</summary>.........public.v
1e520 69 72 74 75 61 6c 20 66 6c 6f 61 74 20 6d 69 6e 48 65 69 67 68 74 20 7b 20 67 65 74 20 7b 20 72 irtual.float.minHeight.{.get.{.r
1e540 65 74 75 72 6e 20 30 3b 20 7d 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 eturn.0;.}.}..........///.<summa
1e560 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 47 65 74 20 74 68 65 20 68 65 69 67 68 74 20 6f ry>.........///.Get.the.height.o
1e580 66 20 61 6c 6c 20 74 68 65 20 74 65 78 74 20 69 66 20 63 6f 6e 73 74 72 61 69 6e 65 64 20 74 6f f.all.the.text.if.constrained.to
1e5a0 20 74 68 65 20 68 65 69 67 68 74 20 6f 66 20 74 68 65 20 52 65 63 74 54 72 61 6e 73 66 6f 72 6d .the.height.of.the.RectTransform
1e5c0 2e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 ..........///.</summary>........
1e5e0 20 70 75 62 6c 69 63 20 76 69 72 74 75 61 6c 20 66 6c 6f 61 74 20 70 72 65 66 65 72 72 65 64 48 .public.virtual.float.preferredH
1e600 65 69 67 68 74 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 0a eight.........{.............get.
1e620 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 ............{.................if
1e640 20 28 74 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 20 3d 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 .(textComponent.==.null)........
1e660 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 20 20 20 20 20 20 20 .............return.0;..........
1e680 20 20 20 20 20 20 20 76 61 72 20 73 65 74 74 69 6e 67 73 20 3d 20 74 65 78 74 43 6f 6d 70 6f 6e .......var.settings.=.textCompon
1e6a0 65 6e 74 2e 47 65 74 47 65 6e 65 72 61 74 69 6f 6e 53 65 74 74 69 6e 67 73 28 6e 65 77 20 56 65 ent.GetGenerationSettings(new.Ve
1e6c0 63 74 6f 72 32 28 74 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 72 65 63 74 54 72 61 6e 73 66 6f 72 ctor2(textComponent.rectTransfor
1e6e0 6d 2e 72 65 63 74 2e 73 69 7a 65 2e 78 2c 20 30 2e 30 66 29 29 3b 0a 20 20 20 20 20 20 20 20 20 m.rect.size.x,.0.0f));..........
1e700 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 63 61 63 68 .......return.textComponent.cach
1e720 65 64 54 65 78 74 47 65 6e 65 72 61 74 6f 72 46 6f 72 4c 61 79 6f 75 74 2e 47 65 74 50 72 65 66 edTextGeneratorForLayout.GetPref
1e740 65 72 72 65 64 48 65 69 67 68 74 28 6d 5f 54 65 78 74 2c 20 73 65 74 74 69 6e 67 73 29 20 2f 20 erredHeight(m_Text,.settings)./.
1e760 74 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 2e 70 69 78 65 6c 73 50 65 72 55 6e 69 74 3b 0a 20 20 20 textComponent.pixelsPerUnit;....
1e780 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f .........}.........}..........//
1e7a0 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 53 65 65 20 49 4c 61 79 /.<summary>.........///.See.ILay
1e7c0 6f 75 74 45 6c 65 6d 65 6e 74 2e 66 6c 65 78 69 62 6c 65 48 65 69 67 68 74 2e 0a 20 20 20 20 20 outElement.flexibleHeight.......
1e7e0 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 ...///.</summary>.........public
1e800 20 76 69 72 74 75 61 6c 20 66 6c 6f 61 74 20 66 6c 65 78 69 62 6c 65 48 65 69 67 68 74 20 7b 20 .virtual.float.flexibleHeight.{.
1e820 67 65 74 20 7b 20 72 65 74 75 72 6e 20 2d 31 3b 20 7d 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f get.{.return.-1;.}.}..........//
1e840 2f 20 3c 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 53 65 65 20 49 4c 61 79 /.<summary>.........///.See.ILay
1e860 6f 75 74 45 6c 65 6d 65 6e 74 2e 6c 61 79 6f 75 74 50 72 69 6f 72 69 74 79 2e 0a 20 20 20 20 20 outElement.layoutPriority.......
1e880 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 ...///.</summary>.........public
1e8a0 20 76 69 72 74 75 61 6c 20 69 6e 74 20 6c 61 79 6f 75 74 50 72 69 6f 72 69 74 79 20 7b 20 67 65 .virtual.int.layoutPriority.{.ge
1e8c0 74 20 7b 20 72 65 74 75 72 6e 20 31 3b 20 7d 20 7d 0a 20 20 20 20 7d 0a 7d 0a 00 00 00 00 00 00 t.{.return.1;.}.}.....}.}.......
1e8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 00 49 6e 70 75 74 46 69 65 6c 64 00 00 ....................InputField..
1e900 0e 00 00 00 55 6e 69 74 79 45 6e 67 69 6e 65 2e 55 49 00 00 ....UnityEngine.UI..