Table of Contents

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

int

Methods

Clear(bool)

表示待ち中のテキスト要素を削除します。

void Clear(bool includeCurrentItem = true)

Parameters

includeCurrentItem bool

true を指定すると、現在表示中のアイテムも削除し、ただちにデフォルト状態になります。既定値は true です。

Remarks

会話を中断して新規の会話を始めたい場合、この関数を用いて既存のテキスト要素をリセットできます。

GetCurrentPlayingItem()

現在表示または処理しているテキスト要素を取得します。処理中の要素がない場合、 null を返します。

ITalkTextItem GetCurrentPlayingItem()

Returns

ITalkTextItem

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 string

ItemDequeued や ItemFinished で渡される Key の値となるキー文字列です。 "" を指定した場合、連番ベースで一意識別子を生成します。既定値は "" です。

Returns

string

key で空ではない場合、その値を返します。 key が空だった場合、自動で生成した一意識別子を返します。

Remarks

この関数の呼び出しによって内部的なキューにテキスト要素が追加され、サブキャラのセリフとして表示されるようになります。 指定したテキストを直ちに表示したい場合は Clear(bool) を併用します。

speed では文字送りのスピードを指定できます。 正の値を指定した場合、位置秒一定のスピードで文字送りを行います。 0以下の値を指定した場合、文字送りは行わず、テキストを一括で表示します。

Wait(float, string)

テキストの表示状態を変化させずに待機するような処理を指示します。

string Wait(float duration, string key = "")

Parameters

duration float

待ち時間

key string

ItemDequeued や 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

Action<ITalkTextItem>

ItemFinished

ShowText(string, float, float, string) 等で指定したテキスト要素の表示を完了したときに発火します。

event Action<ITalkTextItem> ItemFinished

Event Type

Action<ITalkTextItem>