API
IwashiimeManager クラスで公開されている Public API の一覧です。
通常、外部スクリプトから制御する場合は 表示制御 や 入力操作 カテゴリのメソッドを使用します。
プロパティ
IwashiIME の状態取得や、対象へのアクセスを行うための公開プロパティです。
TargetInputField
現在編集対象となっている入力欄(InputField または TMP_InputField)を取得します。
型は Selectable として返されます。
public Selectable TargetInputField { get; }
TargetOpener
現在の入力セッションを開始した KeyboardOpener コンポーネントを取得します。
public KeyboardOpener TargetOpener { get; }
PlaceHolderTarget
_InputKey や _ConvertSelect が実行される際に、入力文字情報を取得するために参照される Transform です(通常は押されたボタンの Transform)。
スクリプトから _InputKey を呼び出す場合は、事前にこのプロパティに適切なオブジェクト(name や Text を持つオブジェクト)をセットする必要があります。
public Transform PlaceHolderTarget { get; set; }
CaretPosition / CaretStartPosition / CaretEndPosition / LinePosition
内部的なカーソル位置や、変換選択範囲を管理するインデックスです。
- CaretPosition: 現在のカーソル位置(行頭からの文字数)。
- CaretStartPosition: 変換対象(未確定文字)の開始位置。
- CaretEndPosition: 変換対象(未確定文字)の終了位置。
- LinePosition: 現在の行番号(0 から始まるインデックス)。
public int CaretPosition { get; set; }
public int CaretStartPosition { get; set; }
public int CaretEndPosition { get; set; }
public int LinePosition { get; set; }
表示制御
キーボードの表示・非表示やモード切替に関するメソッドです。
_Show
キーボードを表示し、指定した入力欄への入力を開始します。
KeyboardOpener.IsPlayerMoveを無効にしている場合、キーボード表示中はプレイヤーの移動が制限されます。
public void _Show(KeyboardOpener opener)
- opener: 呼び出し元の
KeyboardOpenerコンポーネント。
_Hide
キーボードを非表示にします。
入力中の文字列は保持され、次回表示時に再度編集できます。編集中の文字列が空の場合はTargetInputFieldに設定されているInputFieldのテキストが初期値として入力されます。プレイヤーの移動が制限されている場合は解除されます。
public void _Hide()
_SwitchGlobalMode
キーボードの盤面(レイアウト)を切り替えます。
複数のキーボードオブジェクトが登録されている場合、実行するたびに順番に切り替わります(例:日本語配列 ↔ QWERTY配列)。
public void _SwitchGlobalMode()
テキスト入力
文字の入力に関するメソッドです。
_InputStr
現在のカーソル位置(キャレット)に、指定した文字列を挿入します。
外部スクリプトから文字を入力させたい場合はこのメソッドを使用するのが最も確実です。
public void _InputStr(string str)
- str: 挿入したい文字列。改行コードが含まれる場合は自動的に処理されます。
_InputKey
キーボードのボタンが押された際の標準的な入力処理です。
PlaceHolderTarget を参照し、押されたボタンのテキスト情報を取得して入力を行います。
public void _InputKey()
このメソッドは UI のボタンイベントから呼び出されることを想定しており、PlaceHolderTarget に依存しています。
PlaceHolderTarget に UI ボタンをセットする事で呼び出しは可能ですが、スクリプトから直接呼び出す場合は _InputStr の使用を推奨します。
_InputFullSpace / _InputHalfSpace
全角スペース( )、または半角スペース( )を入力します。
入力と同時に、未確定の文字列がある場合は確定(Confirm)処理が走ります。
public void _InputFullSpace()
public void _InputHalfSpace()
編集操作
削除、改行、送信、カーソル移動などの特殊キー操作です。
_InputBackspace
カーソルの直前の文字を1文字削除します。
未確定の文字列(変換中)の場合は、変換の読み仮名を1文字削除して再変換を行います。
public void _InputBackspace()
_InputDelete
入力欄のすべての文字列を削除します。
public void _InputDelete()
_InputEnter
エンターキーの挙動を実行します。
- 変換中: 文字列を確定(Confirm)します。
- 確定後: 改行(
\n)を挿入します。
public void _InputEnter()
_InputSend
送信(Send)処理を実行します。
現在の入力内容をターゲットに反映し、OnSubmit イベントを発火させた後、キーボードを閉じます。
public void _InputSend()
_InputCaretPrev / _InputCaretNext
カーソル(キャレット)を1文字分、前(左)または後(右)に移動します。
public void _InputCaretPrev()
public void _InputCaretNext()
_InputModifier
直前に入力された文字を「濁点付き」「半濁点付き」「小文字(っ、ゃ、ゅ、ょ等)」に変換します。
トグル形式で循環します(例:は → ば → ぱ → は)。
public void _InputModifier()
_InputToggleCase
カーソル位置にあるアルファベットの大文字・小文字を切り替えます。
public void _InputToggleCase()
変換エンジン(内部処理)
IME の変換ロジックに関するメソッドです。通常は自動的に呼び出されますが、特殊なギミックを作る際に使用できる可能性があります。
_Convert
現在の未確定文字列(読み)に基づいて辞書検索を行い、変換候補リストを生成・表示します。
public void _Convert()
_ConvertSelect
変換候補リストから選択された単語を入力欄に適用します。
候補ボタンが押された際に呼び出されます。
public void _ConvertSelect()
このメソッドも _InputKey と同様に、UI のボタンイベントから呼び出されることを想定しており、PlaceHolderTarget に依存しています。
_Confirm
現在入力中の未確定文字列を確定させ、変換モードを終了します。
変換候補ウィンドウは非表示になります。
public void _Confirm()
_UpdateCaret
現在のカーソル位置に合わせて、見た目のキャレット表示や、変換中の下線(ハイライト)表示を更新します。
文字列をプログラムで操作した後、表示がずれている場合に呼び出すと修正される場合があります。
public void _UpdateCaret()