Hello,
I've updated NGUI from 3.0.9f7 to 3.5.1.
After update, I cannot input korean character more than a character.
I found below IF condition in UILabel.cs
// There seems to be an inconsistency between IME on Windows, and IME on OSX.
// On Windows, Input.inputString is always empty while IME is active. On the OSX it is not.
if (string.IsNullOrEmpty(ime) && !string.IsNullOrEmpty(Input.inputString))
I examined Input variables, I typef 4 keys in sequence, 'ㄱ', 'ㅏ', 'ㄴ', 'ㅏ'
UIInput.text -> Input.compositionString : Input.inputString
'ㄱ' -> "ㄱ" : "" --- typed 'ㄱ'
'가' -> "가" : "" --- typed 'ㅏ'
'간' -> "간" : "" --- typed 'ㄴ'
'나' (wrong! '가나' is right) -> "나" : "가" --- typed 'ㅏ'
There is a case Input.compositionString != null && Input.inputString != null.
So I removed ime condition.
// There seems to be an inconsistency between IME on Windows, and IME on OSX.
// On Windows, Input.inputString is always empty while IME is active. On the OSX it is not.
if (!string.IsNullOrEmpty(Input.inputString))
It works. I don't know any side effects on this change.
Thanks.