あとは顔アイコンのセットと入力の途中キャンセル、改行ができたら見せられるかな。顔アイコンを渡すところを作ってしまおう。テキスト入力Widgetに受け取り用の関数を用意すればいいだろう。今はこの関数をに対してレイアウトWidgetから顔アイコンのテクスチャ渡すようにすればいい。このあたりは画面の初期化処理としてイベントにしておいた方がいいかもしれない。Viewportに追加された段階でデータが渡されていないといけないからだ。データの受け渡しのタイミングはネットワークが絡むと思うようにはコントロールできないことが多い。後でプログラマと相談しよう。追加された瞬間に動き出すやつと、そうでないやつがある。追加された瞬間動きだすのはワンショット的に役目を果たすと消滅するタイプ。エフェクトとか演出系の表示。ない方は、基本的に常駐することになる。細かく分けると、常時表示されていて更新されていくタイプと、適宜必要に応じて呼び出されて表示するタイプに分けられる。これらのタイプを用途に合わせて設計する。プログラマに相談する際にも、この辺の分類を念頭に入れて話すとスムーズに仕様を決めることができる。考えているのだけれど、なかなかこういった話ができるUIデザイナーが周りにいないのはさみしい。わかりやすくコメントをつけておいて、あとで改造しやすくしたところで、次はキャンセル処理か。入力用Widgetの外をクリックしたら入力をキャンセルして閉じるようにしてみよう。感触が良くなかったら、キャンセルボタンを置くことになるかな。レイアウトWidgetに判定させるのがよさそう。関数をオーバーライドしてと、ここに判定用のパーツを持ってくるわけだけど、Widgetのクリック検出は、Visible状態じゃないと判定してくれないので、キャンバスに何も置いていないとこの関数が呼び出されることはない。いうわけで、キャンバスにテキスト入力Widgetを避けて、CanvasPanelを配置する。