InputFieldコンポーネントについて
卒研でunity使うことになってるので仕方なく
unityをいじっているのですが・・・
inputFieldコンポーネントを使う可能性があるのでメモ書き程度に
inputFieldにはなんかたくさんのめそっどとかありますね
もともとJava専なのでC#のデリゲードとか、get setとかよくわからないの使わなくちゃコード読めない・・・泣
さてonValidateInputですが
void Start () { Debug.Log("text"); inputField.onValueChange.AddListener(OnValueChange); inputField.onEndEdit.AddListener(OnSubmit); inputField.onValidateInput = (string text, int charIndex, char addedChar)=>{ // アルファベット小文字が入力されたら大文字にする char ret = addedChar; /*if(addedChar >= 'a' && addedChar <= 'z') { ret = (char)(addedChar + ('A' - 'a')); } */ Debug.Log(text); Debug.Log(charIndex); Debug.Log(addedChar); return ret; }; } // Update is called once per frame void Update () { } public void OnValueChange(string value) { Debug.Log("Input Field value is " + value); } public void OnSubmit(string value) { Debug.Log("Submit value is " + value); }
こうかくと↓になるんですけど
なにこれ・・・・全角いれると反映されない・・・
onValueChangeはイベントらしですね
あともう一個のほうも
とりあえずaddlistenerでやりたいメソッドをぶち込んどいて
で肝心の意味不明なコレ
inputField.onValidateInput
なんかプロパティっていうらしい
ラムダ式で匿名メソッドいれてるし・・
charを返すデリゲードって書いてあったけど
デリゲード自体実装を持ってるわけじゃないし
意味わからん・・・・・・