Interface ITalkText
- Namespace
- VMagicMirror.Buddy
ISprite2D 等で表現されたサブキャラの会話テキストを表示するAPIです。
public interface ITalkText
Remarks
このAPIでは ShowText(string, float, float, string) 等の関数を通じて、会話のキューを処理できます。 一連の会話は、一括で ShowText(string, float, float, string) や
Properties
QueueCount
表示または処理待ちしている要素の数を取得します。 この結果には GetCurrentPlayingItem() で取得できる要素の数も含まれます。
int QueueCount { get; }
Property Value
Methods
Clear(bool)
表示待ち中のテキスト要素を削除します。
void Clear(bool includeCurrentItem = true)
Parameters
includeCurrentItem
booltrue
を指定すると、現在表示中のアイテムも削除し、ただちにデフォルト状態になります。既定値はtrue
です。
Remarks
会話を中断して新規の会話を始めたい場合、この関数を用いて既存のテキスト要素をリセットできます。
GetCurrentPlayingItem()
現在表示または処理しているテキスト要素を取得します。処理中の要素がない場合、 null
を返します。
ITalkTextItem GetCurrentPlayingItem()
Returns
ShowText(string, float, float, string)
指定したテキストを表示します。
string ShowText(string text, float speed = 10, float waitAfterCompleted = 8, string key = "")
Parameters
text
string表示するテキストです。
speed
floatテキストを文字送りするときの、1秒あたりの文字数を指定します。ただし、値の符号に応じて挙動が変化します。既定値は
10.0f
です。waitAfterCompleted
floatテキストの表示後に次のテキスト等を表示するまでの時間を秒単位で指定します。既定値は
8.0f
です。key
stringItemDequeued や ItemFinished で渡される Key の値となるキー文字列です。
""
を指定した場合、連番ベースで一意識別子を生成します。既定値は""
です。
Returns
- string
key
で空ではない場合、その値を返します。key
が空だった場合、自動で生成した一意識別子を返します。
Remarks
この関数の呼び出しによって内部的なキューにテキスト要素が追加され、サブキャラのセリフとして表示されるようになります。 指定したテキストを直ちに表示したい場合は Clear(bool) を併用します。
speed
では文字送りのスピードを指定できます。
正の値を指定した場合、位置秒一定のスピードで文字送りを行います。
0以下の値を指定した場合、文字送りは行わず、テキストを一括で表示します。
Wait(float, string)
テキストの表示状態を変化させずに待機するような処理を指示します。
string Wait(float duration, string key = "")
Parameters
duration
float待ち時間
key
stringItemDequeued や ItemFinished で渡される Key の値となるキー文字列です。
""
を指定した場合、連番ベースで一意識別子を生成します。既定値は""
です。
Returns
- string
key
で空ではない場合、その値を返します。key
が空だった場合、自動で生成した一意識別子を返します。
Remarks
このメソッドは、ShowText(string, float, float, string) よりも詳細に待ち時間を管理する際に使用できます。
Events
ItemDequeued
ShowText(string, float, float, string) 等で指定したテキスト要素の表示を開始したときに発火します。
event Action<ITalkTextItem> ItemDequeued
Event Type
ItemFinished
ShowText(string, float, float, string) 等で指定したテキスト要素の表示を完了したときに発火します。
event Action<ITalkTextItem> ItemFinished